From a97a4422cca4c41f137232eb2c8b0d1f3b4523d0 Mon Sep 17 00:00:00 2001 From: msyu Date: Wed, 23 Apr 2025 12:15:57 +0300 Subject: [PATCH] 098 operationIsPending --- v1/Application.cfc | 2 +- v1/resources/instance.cfc | 10 +++++++--- v1/resources/instance_ls.cfc | 4 +++- v1/resources/instance_operation.cfc | 3 ++- 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/v1/Application.cfc b/v1/Application.cfc index 4fd7a4c..950edda 100644 --- a/v1/Application.cfc +++ b/v1/Application.cfc @@ -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"; diff --git a/v1/resources/instance.cfc b/v1/resources/instance.cfc index 3ee11f5..29f13df 100644 --- a/v1/resources/instance.cfc +++ b/v1/resources/instance.cfc @@ -38,8 +38,11 @@ u.login as updater_login u.shortname as updater_shortname (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 - (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 - + + (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 + (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 + + (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 @@ o.error_log u.login as updater_login u.shortname as updater_shortname - (o.dt_start IS NOT NULL AND o.dt_finish IS NULL AND o.submit_result='201') as is_in_progress + coalesce((o.dt_start IS NOT NULL AND o.dt_finish IS NULL AND o.submit_result='201'),false) as is_in_progress + coalesce((o.dt_start IS NULL AND o.submit_result='201'),false) as is_pending from instance_operation o left outer join usr u on (o.updater_id=u.usr_id) diff --git a/v1/resources/instance_ls.cfc b/v1/resources/instance_ls.cfc index 8a0766f..56eb242 100644 --- a/v1/resources/instance_ls.cfc +++ b/v1/resources/instance_ls.cfc @@ -35,6 +35,7 @@ "suspended"={prefix="inr", type="string"}, "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 @@ (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 (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 - (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 + (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 + (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 (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 (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 diff --git a/v1/resources/instance_operation.cfc b/v1/resources/instance_operation.cfc index ecab487..b0e4ada 100644 --- a/v1/resources/instance_operation.cfc +++ b/v1/resources/instance_operation.cfc @@ -44,7 +44,8 @@ u.shortname as updater_shortname v.svc so.svc_operation_id - (o.dt_start IS NOT NULL AND o.dt_finish IS NULL AND o.submit_result='201') as is_in_progress + coalesce((o.dt_start IS NOT NULL AND o.dt_finish IS NULL AND o.submit_result='201'),false) as is_in_progress + coalesce((o.dt_start IS NULL AND o.submit_result='201'),false) as is_pending from instance_operation o join instance e on (o.instance_uid=e.instance_uid)