From 9692b6c101e7634d8f779f24ffc5fa4f5bd6e48b Mon Sep 17 00:00:00 2001 From: msyu Date: Mon, 7 Apr 2025 22:29:03 +0300 Subject: [PATCH] 082 availableResourceRealms --- v1/Application.cfc | 2 +- v1/resources/instance.cfc | 28 +++++++++++ v1/resources/instance_default.cfc | 51 +++++++++++++++++++-- v1/resources/instance_ls.cfc | 32 +++++++++++-- v1/resources/instance_operation.cfc | 24 ++++++++++ v1/resources/instance_operation_default.cfc | 24 ++++++++++ v1/resources/svc_default.cfc | 2 +- 7 files changed, 153 insertions(+), 10 deletions(-) diff --git a/v1/Application.cfc b/v1/Application.cfc index e5a5eee..534c55c 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.081"; + variables.framework.docs.APIVersion="0.082"; 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 fd3283d..bcba0b5 100644 --- a/v1/resources/instance.cfc +++ b/v1/resources/instance.cfc @@ -161,6 +161,25 @@ AND 1=0 order by so.svc_operation_id + + + + select + + r.resource_realm_id + r.resource_realm_type_id + r.resource_realm + + from resource_realm r + join resource_realm_type t on (r.resource_realm_type_id=t.resource_realm_type_id) + /*left outer join resource_realm p on (r.parent_id=p.resource_realm_id)*/ + join resource_realm_access a on + (r.resource_realm_id=a.resource_realm_id + AND a.contract_id= + AND a.is_enabled) + join svc s on r.resource_realm_type_id=s.resource_realm_type_id + where s.svc_id= + order by 1 @@ -265,6 +284,11 @@ + + + + + @@ -290,6 +315,9 @@ ,display_name= + + ,resource_realm_id= + ,descr= diff --git a/v1/resources/instance_default.cfc b/v1/resources/instance_default.cfc index d10ab72..86ada7d 100644 --- a/v1/resources/instance_default.cfc +++ b/v1/resources/instance_default.cfc @@ -16,17 +16,60 @@ - + select + + s.svc_id + s.svc + s.descr + s.man + + from svc s + where s.svc_id= + order by 1 + + + + + + - + + + + + + - + + + diff --git a/v1/resources/instance_ls.cfc b/v1/resources/instance_ls.cfc index 4be2df7..01ad395 100644 --- a/v1/resources/instance_ls.cfc +++ b/v1/resources/instance_ls.cfc @@ -32,6 +32,7 @@ "is_deleted"={prefix="inr", type="string"}, "suspended"={prefix="inr", type="string"}, "resourceRealm"={prefix="inr", type="string"}, + "resourceRealmId"={prefix="inr", type="integer"}, "is_test"={prefix="inr", type="boolean"}, "is_auxiliary"={prefix="inr", type="boolean"}, "explained_status"={prefix="inr", type="string"}, @@ -134,6 +135,8 @@ e.instance_uid::text as instance_uid e.display_name e.service_id + e.resource_realm_id + r.resource_realm e.specification_item_id e.is_auxiliary d.contract_id @@ -159,7 +162,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 coalesce((select st.instance_data->>'isDeleted' from instance_state st where st.instance_uid=e.instance_uid order by version desc limit 1),'false') 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 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 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 @@ -290,6 +293,7 @@ + + + @@ -313,7 +319,7 @@ (specification_id, specification_item, svc_id, quantity, price, dt_created, creator_id, dt_updated, updater_id) values ( - + , , , @@ -327,13 +333,14 @@ insert into instance - (instance_uid, display_name, service_id, specification_item_id, descr, dt_created, creator_id, dt_updated, updater_id) + (instance_uid, display_name, service_id, specification_item_id, resource_realm_id, descr, dt_created, creator_id, dt_updated, updater_id) values ( , , , + , , , , @@ -351,10 +358,27 @@ .withHeaders({location: "./#local.instanceUid#"}) .withStatus(201, "Created") /> + + + + + + + + + + + + + + Проверить соответствие сервису + Проверить доступ (это предварительная проверка! настоящая проверка перед запуском операции) + + - + diff --git a/v1/resources/instance_operation.cfc b/v1/resources/instance_operation.cfc index c254935..3a2d0e1 100644 --- a/v1/resources/instance_operation.cfc +++ b/v1/resources/instance_operation.cfc @@ -130,6 +130,25 @@ null=#!isValid('integer',local.qInstanceOperation.svc_operation_id)#/> order by sop.sort, sop.svc_operation_cfs_param_id + + + select + + r.resource_realm_id + r.resource_realm_type_id + r.resource_realm + + from resource_realm r + join resource_realm_type t on (r.resource_realm_type_id=t.resource_realm_type_id) + /*left outer join resource_realm p on (r.parent_id=p.resource_realm_id)*/ + join resource_realm_access a on + (r.resource_realm_id=a.resource_realm_id + AND a.contract_id= + AND a.is_enabled) + join svc s on r.resource_realm_type_id=s.resource_realm_type_id + where s.svc_id= + order by 1 + @@ -149,6 +168,11 @@ + + + + + diff --git a/v1/resources/instance_operation_default.cfc b/v1/resources/instance_operation_default.cfc index d675f47..a2d795d 100644 --- a/v1/resources/instance_operation_default.cfc +++ b/v1/resources/instance_operation_default.cfc @@ -73,6 +73,25 @@ + + select + + r.resource_realm_id + r.resource_realm_type_id + r.resource_realm + + from resource_realm r + join resource_realm_type t on (r.resource_realm_type_id=t.resource_realm_type_id) + /*left outer join resource_realm p on (r.parent_id=p.resource_realm_id)*/ + join resource_realm_access a on + (r.resource_realm_id=a.resource_realm_id + AND a.contract_id= + AND a.is_enabled) + join svc s on r.resource_realm_type_id=s.resource_realm_type_id + where s.svc_id= + order by 1 + + @@ -86,6 +105,11 @@ + + + + + diff --git a/v1/resources/svc_default.cfc b/v1/resources/svc_default.cfc index 376d955..5952d0c 100644 --- a/v1/resources/svc_default.cfc +++ b/v1/resources/svc_default.cfc @@ -5,7 +5,7 @@ - +