098 operationIsPending

This commit is contained in:
msyu
2025-04-23 12:15:57 +03:00
parent 3438e8f80e
commit a97a4422cc
4 changed files with 13 additions and 6 deletions
+1 -1
View File
@@ -51,7 +51,7 @@
//variables.framework.docs={};
variables.framework.docs.APIName="Deck API";
variables.framework.docs.APIVersion="0.097";
variables.framework.docs.APIVersion="0.098";
variables.framework.globalHeaders = structNew();
variables.framework.globalHeaders["Access-Control-Expose-Headers"] = "Location";
+7 -3
View File
@@ -38,8 +38,11 @@
<m:field>u.login as updater_login</m:field>
<m:field>u.shortname as updater_shortname</m:field>
<m:field>(select cast(st.instance_data->>'params' as json)->>'resourceRealm' from instance_state st where st.instance_uid=e.instance_uid order by version desc limit 1) as resourceRealm</m:field>
<m:field formatter=#request.castToBool#>(select (io.dt_start IS NOT NULL AND io.dt_finish IS NULL AND io.submit_result='201') from instance_operation io where io.instance_uid=e.instance_uid order by dt_submit desc limit 1) as operation_is_in_progress</m:field>
<m:field>
<m:field formatter=#request.castToBool#>(select coalesce((io.dt_start IS NOT NULL AND io.dt_finish IS NULL AND io.submit_result='201'),false) from instance_operation io where io.instance_uid=e.instance_uid order by dt_submit desc limit 1) as operation_is_in_progress</m:field>
<m:field formatter=#request.castToBool#>(select coalesce((io.dt_start IS NULL AND io.submit_result='201'),false) from instance_operation io where io.instance_uid=e.instance_uid order by dt_submit desc limit 1) as operation_is_pending</m:field>
<m:field>
(case
when
(select st.instance_data->>'isDeleted' from instance_state st where st.instance_uid=e.instance_uid order by version desc limit 1) = 'true' then 'deleted'
@@ -116,7 +119,8 @@
<m:field>o.error_log</m:field>
<m:field>u.login as updater_login</m:field>
<m:field>u.shortname as updater_shortname</m:field>
<m:field formatter=#request.castToBool#>(o.dt_start IS NOT NULL AND o.dt_finish IS NULL AND o.submit_result='201') as is_in_progress</m:field>
<m:field formatter=#request.castToBool#>coalesce((o.dt_start IS NOT NULL AND o.dt_finish IS NULL AND o.submit_result='201'),false) as is_in_progress</m:field>
<m:field formatter=#request.castToBool#>coalesce((o.dt_start IS NULL AND o.submit_result='201'),false) as is_pending</m:field>
</m:field_set>
from instance_operation o
left outer join usr u on (o.updater_id=u.usr_id)
+3 -1
View File
@@ -35,6 +35,7 @@
"suspended"={prefix="inr", type="string"},<!--- not bool --->
"resource_realm"={prefix="inr", type="string"},
"operation_is_in_progress"={prefix="inr", type="boolean"},
"operation_is_pending"={prefix="inr", type="boolean"},
"is_test"={prefix="inr", type="boolean"},
"is_auxiliary"={prefix="inr", type="boolean"},
"explained_status"={prefix="inr", type="string"},
@@ -168,7 +169,8 @@
<m:field>(select io.instance_operation_uid::text from instance_operation io where io.instance_uid=e.instance_uid order by dt_submit desc limit 1) as last_operation_uid</m:field>
<m:field>(select io.submit_result from instance_operation io where io.instance_uid=e.instance_uid order by dt_submit desc limit 1) as submit_result</m:field>
<m:field formatter=#request.castToBool#>(select (io.dt_start IS NOT NULL AND io.dt_finish IS NULL AND io.submit_result='201') from instance_operation io where io.instance_uid=e.instance_uid order by dt_submit desc limit 1) as operation_is_in_progress</m:field>
<m:field formatter=#request.castToBool#>(select coalesce((io.dt_start IS NOT NULL AND io.dt_finish IS NULL AND io.submit_result='201'),false) from instance_operation io where io.instance_uid=e.instance_uid order by dt_submit desc limit 1) as operation_is_in_progress</m:field>
<m:field formatter=#request.castToBool#>(select coalesce((io.dt_start IS NULL AND io.submit_result='201'),false) from instance_operation io where io.instance_uid=e.instance_uid order by dt_submit desc limit 1) as operation_is_pending</m:field>
<m:field>(select to_char(io.dt_start, 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZHTZM') from instance_operation io where io.instance_uid=e.instance_uid order by dt_submit desc limit 1) as operation_dt_start</m:field>
<m:field>(select to_char(io.dt_finish, 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZHTZM') from instance_operation io where io.instance_uid=e.instance_uid order by dt_submit desc limit 1) as operation_dt_finish</m:field>
+2 -1
View File
@@ -44,7 +44,8 @@
<m:field>u.shortname as updater_shortname</m:field>
<m:field>v.svc</m:field>
<m:field>so.svc_operation_id</m:field>
<m:field formatter=#request.castToBool#>(o.dt_start IS NOT NULL AND o.dt_finish IS NULL AND o.submit_result='201') as is_in_progress</m:field>
<m:field formatter=#request.castToBool#>coalesce((o.dt_start IS NOT NULL AND o.dt_finish IS NULL AND o.submit_result='201'),false) as is_in_progress</m:field>
<m:field formatter=#request.castToBool#>coalesce((o.dt_start IS NULL AND o.submit_result='201'),false) as is_pending</m:field>
</m:field_set>
from instance_operation o
join instance e on (o.instance_uid=e.instance_uid)