From 21d78d2f74e4c91addc5dec34532ae664e75a842 Mon Sep 17 00:00:00 2001 From: msyu Date: Sat, 1 Mar 2025 13:53:38 +0300 Subject: [PATCH] 062 instances filter fix --- v1/resources/instance_ls.cfc | 70 +++++++++++++++++++++++++++++++----- 1 file changed, 62 insertions(+), 8 deletions(-) diff --git a/v1/resources/instance_ls.cfc b/v1/resources/instance_ls.cfc index d2e7f4c..e29888e 100644 --- a/v1/resources/instance_ls.cfc +++ b/v1/resources/instance_ls.cfc @@ -82,7 +82,61 @@ select count(*) as cnt from ( - select 1 + select + + + + '' as placeholder + + to_char(e.dt_created, 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZHTZM') as instance_config_dt_created + to_char(e.dt_updated, 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZHTZM') as instance_config_dt_updated + e.instance_uid::text as instance_uid + e.display_name + e.service_id + e.specification_item_id + e.is_auxiliary + d.contract_id + i.specification_id + s.specification + i.quantity + i.price + v.svc + v.code + e.updater_id + u.login as updater_login + u.shortname as updater_shortname + (select io.operation from instance_operation io where io.instance_uid=e.instance_uid order by dt_submit desc limit 1) as last_operation + (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 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 + (select round(extract('epoch' from coalesce(io.dt_finish,CURRENT_TIMESTAMP)- io.dt_start),1) from instance_operation io where io.instance_uid=e.instance_uid order by dt_submit desc limit 1) as duration + (select case when io.is_successful then extract('epoch' from CURRENT_TIMESTAMP - coalesce(io.dt_finish,CURRENT_TIMESTAMP)) else 0 end from instance_operation io where io.instance_uid=e.instance_uid order by dt_submit desc limit 1) as uptime + (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 AND io.is_successful AND io.operation='create' order by dt_submit desc limit 1) as dt_deploy + (select instance_data::text from instance_state st where st.instance_uid=e.instance_uid order by version desc limit 1) as instance_data + (select st.instance_state_uid::text from instance_state st where st.instance_uid=e.instance_uid order by version desc limit 1) as instance_state_uid + (select st.is_test from instance_state st where st.instance_uid=e.instance_uid order by version desc limit 1) as is_test + (select st.instance_data->>'isDeleted' from instance_state st where st.instance_uid=e.instance_uid order by version desc limit 1) as is_deleted + (select st.instance_data->>'suspended' from instance_state st where st.instance_uid=e.instance_uid order by version desc limit 1) as suspended + (select to_char(st.dt_state, 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZHTZM') from instance_state st where st.instance_uid=e.instance_uid order by version desc limit 1) as dt_state + + (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' + when + (select st.instance_data->>'suspended' from instance_state st where st.instance_uid=e.instance_uid order by version desc limit 1) = 'true' then 'suspended' + when + (select COALESCE(st.instance_data->>'isDeleted','false') from instance_state st where st.instance_uid=e.instance_uid order by version desc limit 1) = 'false' AND (select COALESCE(st.instance_data->>'suspended','false') from instance_state st where st.instance_uid=e.instance_uid order by version desc limit 1) = 'false' then 'running' + when + not exists (select * from instance_operation o where o.instance_uid=e.instance_uid) then 'not configured' + when + not exists (select * from instance_state st where st.instance_uid=e.instance_uid) then 'not created' + else null end + ) as explained_status + + (select max(version) from instance_state st where st.instance_uid=e.instance_uid) as version + + from instance e join specification_item i on (e.specification_item_id=i.specification_item_id) join specification s on (i.specification_id=s.specification_id) @@ -101,6 +155,10 @@ where 1=1 + + + + select #local.fields#* @@ -123,10 +181,7 @@ v.code e.updater_id u.login as updater_login - u.shortname as updater_shortname - - + u.shortname as updater_shortname (select io.operation from instance_operation io where io.instance_uid=e.instance_uid order by dt_submit desc limit 1) as last_operation (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 @@ -141,8 +196,7 @@ (select st.is_test from instance_state st where st.instance_uid=e.instance_uid order by version desc limit 1) as is_test (select st.instance_data->>'isDeleted' from instance_state st where st.instance_uid=e.instance_uid order by version desc limit 1) as is_deleted (select st.instance_data->>'suspended' from instance_state st where st.instance_uid=e.instance_uid order by version desc limit 1) as suspended - (select to_char(st.dt_state, 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZHTZM') from instance_state st where st.instance_uid=e.instance_uid order by version desc limit 1) as dt_state - + (select to_char(st.dt_state, 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZHTZM') from instance_state st where st.instance_uid=e.instance_uid order by version desc limit 1) as dt_state (case when @@ -223,7 +277,7 @@ - +