diff --git a/v1/Application.cfc b/v1/Application.cfc index 0ad430d..79a9a12 100644 --- a/v1/Application.cfc +++ b/v1/Application.cfc @@ -71,7 +71,7 @@ //variables.framework.docs={}; variables.framework.docs.APIName="Deck API"; - variables.framework.docs.APIVersion="0.035"; + variables.framework.docs.APIVersion="0.036"; variables.framework.globalHeaders = structNew(); variables.framework.globalHeaders["Access-Control-Expose-Headers"] = "Location"; diff --git a/v1/lib/rest_api_helper.cfc b/v1/lib/rest_api_helper.cfc index 0ef242a..b25e1de 100644 --- a/v1/lib/rest_api_helper.cfc +++ b/v1/lib/rest_api_helper.cfc @@ -64,7 +64,9 @@ - + + + @@ -76,7 +78,8 @@ + hint="parse and collect filter params, for operators see filter_build"> + diff --git a/v1/resources/instance.cfc b/v1/resources/instance.cfc index dde0c8c..dbf6b79 100644 --- a/v1/resources/instance.cfc +++ b/v1/resources/instance.cfc @@ -88,7 +88,7 @@ to_char(o.dt_start, 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZHTZM') as dt_start to_char(o.dt_finish, 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZHTZM') as dt_finish extract('epoch' from coalesce(o.dt_finish,CURRENT_TIMESTAMP)- o.dt_start) as duration - extract('epoch' from CURRENT_TIMESTAMP - coalesce(o.dt_finish,CURRENT_TIMESTAMP)) as seconds_passed + round(extract('epoch' from CURRENT_TIMESTAMP - coalesce(o.dt_finish,CURRENT_TIMESTAMP)),1) as seconds_passed o.is_successful to_char(o.dt_created, 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZHTZM') as dt_created diff --git a/v1/resources/instance_ls.cfc b/v1/resources/instance_ls.cfc index 4c964b2..ac55a0d 100644 --- a/v1/resources/instance_ls.cfc +++ b/v1/resources/instance_ls.cfc @@ -7,22 +7,44 @@ + "suspended"={prefix="inr", type="string"}, + "is_test"={prefix="inr", type="boolean"}, + "explained_status"={prefix="inr", type="string"}, + "version"={prefix="inr", type="integer"} } /> + + + - + + @@ -30,12 +52,17 @@ - - - + + + #this.helper.snake2camel(trim(fld))# + + + + @@ -52,6 +79,9 @@ ---> select + #local.fields#* + from ( + select e.instance_uid::text as instance_uid e.display_name @@ -74,7 +104,7 @@ (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 extract('epoch' from coalesce(io.dt_finish,CURRENT_TIMESTAMP)- io.dt_start) from instance_operation io where io.instance_uid=e.instance_uid order by dt_submit desc limit 1) as duration + (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 io.dt_finish 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 @@ -84,8 +114,8 @@ (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 - ( - case + + (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 @@ -97,7 +127,8 @@ when not exists (select * from instance_state st where st.instance_uid=e.instance_uid) then 'not created' else null end - ) as explained_status + ) as explained_status + (select max(version) from instance_state st where st.instance_uid=e.instance_uid) as version @@ -109,10 +140,14 @@ join svc v on (e.service_id=v.svc_id) where s.specification_id= - - order by + + ) inr + where 1=1 + + order by limit #maxrows# + select count(*) as cnt diff --git a/v1/resources/instance_operation.cfc b/v1/resources/instance_operation.cfc index dd3cd9a..da61193 100644 --- a/v1/resources/instance_operation.cfc +++ b/v1/resources/instance_operation.cfc @@ -69,7 +69,7 @@ ios.is_successful to_char(ios.dt_start, 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZHTZM') as dt_start to_char(ios.dt_finish, 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZHTZM') as dt_finish - extract('epoch' from coalesce(ios.dt_finish,CURRENT_TIMESTAMP)- ios.dt_start) as duration + round(extract('epoch' from coalesce(ios.dt_finish,CURRENT_TIMESTAMP)- ios.dt_start),1) as duration from instance_operation_stage ios diff --git a/v1/resources/svc_operation.cfc b/v1/resources/svc_operation.cfc index aab9b9a..3a1c4ba 100644 --- a/v1/resources/svc_operation.cfc +++ b/v1/resources/svc_operation.cfc @@ -41,7 +41,15 @@ p.default_value p.regex p.unique_scope - p.descr + p.descr + ( + select 1 from svc_operation_cfs_param m + join svc_operation om on m.svc_operation_id=om.svc_operation_id + join svc_operation oc on (om.svc_id=oc.svc_id AND om.operation='modify' AND oc.operation='create') + join svc_operation_cfs_param c on (oc.svc_operation_id=c.svc_operation_id AND m.svc_operation_cfs_param=c.svc_operation_cfs_param) + where c.svc_operation_cfs_param_id=p.svc_operation_cfs_param_id + limit 1 + ) as modifiable from svc_operation_cfs_param p where p.svc_operation_id=