082 availableResourceRealms
This commit is contained in:
+1
-1
@@ -51,7 +51,7 @@
|
|||||||
|
|
||||||
//variables.framework.docs={};
|
//variables.framework.docs={};
|
||||||
variables.framework.docs.APIName="Deck API";
|
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 = structNew();
|
||||||
variables.framework.globalHeaders["Access-Control-Expose-Headers"] = "Location";
|
variables.framework.globalHeaders["Access-Control-Expose-Headers"] = "Location";
|
||||||
|
|||||||
@@ -161,6 +161,25 @@
|
|||||||
AND 1=0
|
AND 1=0
|
||||||
</cfif>
|
</cfif>
|
||||||
order by so.svc_operation_id
|
order by so.svc_operation_id
|
||||||
|
</cfquery>
|
||||||
|
|
||||||
|
<cfquery name="local.qAvailableResourceRealm" result="local.result">
|
||||||
|
select
|
||||||
|
<m:field_set titleMapOut="local.realmTitleMap" lengthOut="local.realmFieldCount">
|
||||||
|
<m:field>r.resource_realm_id</m:field>
|
||||||
|
<m:field>r.resource_realm_type_id</m:field>
|
||||||
|
<m:field>r.resource_realm</m:field>
|
||||||
|
</m:field_set>
|
||||||
|
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=<cfqueryparam cfsqltype="CF_SQL_INTEGER" value=#arguments.contractId#/>
|
||||||
|
AND a.is_enabled)
|
||||||
|
join svc s on r.resource_realm_type_id=s.resource_realm_type_id
|
||||||
|
where s.svc_id=<cfqueryparam cfsqltype="CF_SQL_INTEGER" value=#qInstance.service_id#/>
|
||||||
|
order by 1
|
||||||
</cfquery>
|
</cfquery>
|
||||||
|
|
||||||
<cfset var out=structNew("linked")/>
|
<cfset var out=structNew("linked")/>
|
||||||
@@ -265,6 +284,11 @@
|
|||||||
<cfloop query=#local.qAvailableOperation#>
|
<cfloop query=#local.qAvailableOperation#>
|
||||||
<cfset arrayAppend(out.instance.availableOperations, this.helper.appendRecord(structNew("linked"), "", local.availableOperationTitleMap, local.qAvailableOperation, this.helper.snake2camel))/>
|
<cfset arrayAppend(out.instance.availableOperations, this.helper.appendRecord(structNew("linked"), "", local.availableOperationTitleMap, local.qAvailableOperation, this.helper.snake2camel))/>
|
||||||
</cfloop>
|
</cfloop>
|
||||||
|
|
||||||
|
<cfset "out.instance.availableResourceRealms"=[]/>
|
||||||
|
<cfloop query=#local.qAvailableResourceRealm#>
|
||||||
|
<cfset arrayAppend(out.instance.availableResourceRealms, this.helper.appendRecord(structNew("linked"), "", local.realmTitleMap, local.qAvailableResourceRealm, this.helper.snake2camel))/>
|
||||||
|
</cfloop>
|
||||||
|
|
||||||
<cfset "out.runDurationMs"=getTickCount() - request.startTickCount/>
|
<cfset "out.runDurationMs"=getTickCount() - request.startTickCount/>
|
||||||
<!--- <cfdump var=#local.qCurrentState#/>
|
<!--- <cfdump var=#local.qCurrentState#/>
|
||||||
@@ -277,6 +301,7 @@
|
|||||||
<cffunction name="patch">
|
<cffunction name="patch">
|
||||||
<cfargument name="instanceUid" type="string" required=true hint="type:guid"/>
|
<cfargument name="instanceUid" type="string" required=true hint="type:guid"/>
|
||||||
<cfargument name="displayName" type="string" required=false hint="type:string"/>
|
<cfargument name="displayName" type="string" required=false hint="type:string"/>
|
||||||
|
<cfargument name="resourceRealmId" type="string" required=false hint="type:integer"/>
|
||||||
<cfargument name="descr" type="string" required=false default="" hint="type:varchar (no cleanup here!)"/>
|
<cfargument name="descr" type="string" required=false default="" hint="type:varchar (no cleanup here!)"/>
|
||||||
|
|
||||||
<!--- ****** проверка уникальности --->
|
<!--- ****** проверка уникальности --->
|
||||||
@@ -290,6 +315,9 @@
|
|||||||
<cfif structKeyExists(arguments,"displayName")>
|
<cfif structKeyExists(arguments,"displayName")>
|
||||||
,display_name=<cfqueryparam cfsqltype="cf_sql_varchar" value="#arguments.displayName#" />
|
,display_name=<cfqueryparam cfsqltype="cf_sql_varchar" value="#arguments.displayName#" />
|
||||||
</cfif>
|
</cfif>
|
||||||
|
<cfif structKeyExists(arguments,"displayName")>
|
||||||
|
,resource_realm_id=<cfqueryparam cfsqltype="cf_sql_varchar" value="#arguments.resourceRealmId#" />
|
||||||
|
</cfif>
|
||||||
<cfif structKeyExists(arguments,"descr")>
|
<cfif structKeyExists(arguments,"descr")>
|
||||||
,descr=<cfqueryparam cfsqltype="cf_sql_varchar" value="#arguments.descr#" />
|
,descr=<cfqueryparam cfsqltype="cf_sql_varchar" value="#arguments.descr#" />
|
||||||
</cfif>
|
</cfif>
|
||||||
|
|||||||
@@ -16,17 +16,60 @@
|
|||||||
</cfcatch>
|
</cfcatch>
|
||||||
</cftry>
|
</cftry>
|
||||||
|
|
||||||
<cfset var instance = {
|
<cfquery name="local.qSvc" result="local.result">
|
||||||
|
select
|
||||||
|
<m:field_set titleMapOut="local.realmTitleMap" lengthOut="local.realmFieldCount">
|
||||||
|
<m:field>s.svc_id</m:field>
|
||||||
|
<m:field>s.svc</m:field>
|
||||||
|
<m:field>s.descr</m:field>
|
||||||
|
<m:field>s.man</m:field>
|
||||||
|
</m:field_set>
|
||||||
|
from svc s
|
||||||
|
where s.svc_id=<cfqueryparam cfsqltype="CF_SQL_INTEGER" value=#arguments.svcId#/>
|
||||||
|
order by 1
|
||||||
|
</cfquery>
|
||||||
|
|
||||||
|
<!--- <cfquery name="local.qAvailableResourceRealm" result="local.result">
|
||||||
|
select
|
||||||
|
<m:field_set titleMapOut="local.realmTitleMap" lengthOut="local.realmFieldCount">
|
||||||
|
<m:field>r.resource_realm_id</m:field>
|
||||||
|
<m:field>r.resource_realm_type_id</m:field>
|
||||||
|
<m:field>r.resource_realm</m:field>
|
||||||
|
</m:field_set>
|
||||||
|
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=<cfqueryparam cfsqltype="CF_SQL_INTEGER" value=#arguments.contractId#/>
|
||||||
|
AND a.is_enabled)
|
||||||
|
join svc s on r.resource_realm_type_id=s.resource_realm_type_id
|
||||||
|
where s.svc_id=<cfqueryparam cfsqltype="CF_SQL_INTEGER" value=#arguments.svcId#/>
|
||||||
|
order by 1
|
||||||
|
</cfquery> --->
|
||||||
|
|
||||||
|
<!--- <cfset var instance = {
|
||||||
"svcId":"#arguments.svcId*1#",
|
"svcId":"#arguments.svcId*1#",
|
||||||
"displayName":"#generateDefaultName(arguments.svcId,arguments.usrId)#",
|
"displayName":"#generateDefaultName(arguments.svcId,arguments.usrId)#",
|
||||||
"descr":""
|
"descr":""
|
||||||
}/>
|
}/> --->
|
||||||
|
|
||||||
|
|
||||||
<cfset var out = structNew("linked")/>
|
<cfset var out = structNew("linked")/>
|
||||||
|
<cfset "out.instance.svcId"="#arguments.svcId*1#"/>
|
||||||
|
<cfset "out.instance.svc"="#local.qSvc.svc#"/>
|
||||||
|
<cfset "out.instance.displayName"="#generateDefaultName(arguments.svcId,arguments.usrId)#"/>
|
||||||
|
<cfset "out.instance.descr"="#local.qSvc.descr#"/>
|
||||||
|
<cfset "out.instance.man"="#local.qSvc.man#"/>
|
||||||
|
|
||||||
<!--- <cfset var out = structCopy(svc)/> ---><!--- *** иначе, видимо, циклическая ссылка, если мы еще скопируем это внутрь структуры --->
|
<!--- <cfset var out = structCopy(svc)/> ---><!--- *** иначе, видимо, циклическая ссылка, если мы еще скопируем это внутрь структуры --->
|
||||||
|
|
||||||
<cfset "out.instance" = instance/>
|
<!--- <cfset "out.instance" = instance/> --->
|
||||||
|
|
||||||
|
<!--- <cfset "out.instance.availableResourceRealms"=[]/>
|
||||||
|
<cfloop query=#local.qAvailableResourceRealm#>
|
||||||
|
<cfset arrayAppend(out.instance.availableResourceRealms, this.helper.appendRecord(structNew("linked"), "", local.realmTitleMap, local.qAvailableResourceRealm, this.helper.snake2camel))/>
|
||||||
|
</cfloop> --->
|
||||||
|
|
||||||
<cfset "out.queryDurationMs"=getTickCount() - request.startTickCount/>
|
<cfset "out.queryDurationMs"=getTickCount() - request.startTickCount/>
|
||||||
<cfset "out.runDurationMs"=getTickCount() - request.startTickCount/>
|
<cfset "out.runDurationMs"=getTickCount() - request.startTickCount/>
|
||||||
|
|||||||
@@ -32,6 +32,7 @@
|
|||||||
"is_deleted"={prefix="inr", type="string"},<!--- not bool --->
|
"is_deleted"={prefix="inr", type="string"},<!--- not bool --->
|
||||||
"suspended"={prefix="inr", type="string"},<!--- not bool --->
|
"suspended"={prefix="inr", type="string"},<!--- not bool --->
|
||||||
"resourceRealm"={prefix="inr", type="string"},
|
"resourceRealm"={prefix="inr", type="string"},
|
||||||
|
"resourceRealmId"={prefix="inr", type="integer"},
|
||||||
"is_test"={prefix="inr", type="boolean"},
|
"is_test"={prefix="inr", type="boolean"},
|
||||||
"is_auxiliary"={prefix="inr", type="boolean"},
|
"is_auxiliary"={prefix="inr", type="boolean"},
|
||||||
"explained_status"={prefix="inr", type="string"},
|
"explained_status"={prefix="inr", type="string"},
|
||||||
@@ -134,6 +135,8 @@
|
|||||||
<m:field>e.instance_uid::text as instance_uid</m:field>
|
<m:field>e.instance_uid::text as instance_uid</m:field>
|
||||||
<m:field>e.display_name</m:field>
|
<m:field>e.display_name</m:field>
|
||||||
<m:field>e.service_id</m:field>
|
<m:field>e.service_id</m:field>
|
||||||
|
<m:field>e.resource_realm_id</m:field>
|
||||||
|
<m:field>r.resource_realm</m:field>
|
||||||
<m:field>e.specification_item_id</m:field>
|
<m:field>e.specification_item_id</m:field>
|
||||||
<m:field formatter=#request.castToBool#>e.is_auxiliary</m:field>
|
<m:field formatter=#request.castToBool#>e.is_auxiliary</m:field>
|
||||||
<m:field>d.contract_id</m:field>
|
<m:field>d.contract_id</m:field>
|
||||||
@@ -159,7 +162,7 @@
|
|||||||
<m:field formatter=#request.castToBool#>(select st.is_test from instance_state st where st.instance_uid=e.instance_uid order by version desc limit 1) as is_test</m:field>
|
<m:field formatter=#request.castToBool#>(select st.is_test from instance_state st where st.instance_uid=e.instance_uid order by version desc limit 1) as is_test</m:field>
|
||||||
<m:field formatter=#request.castToBool#>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</m:field><!--- attention it is not bool in state --->
|
<m:field formatter=#request.castToBool#>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</m:field><!--- attention it is not bool in state --->
|
||||||
<m:field formatter=#request.castToBool#>(select st.instance_data->>'suspended' from instance_state st where st.instance_uid=e.instance_uid order by version desc limit 1) as suspended</m:field>
|
<m:field formatter=#request.castToBool#>(select st.instance_data->>'suspended' from instance_state st where st.instance_uid=e.instance_uid order by version desc limit 1) as suspended</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>(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>(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</m:field>
|
<m:field>(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</m:field>
|
||||||
<m:field>
|
<m:field>
|
||||||
(case
|
(case
|
||||||
@@ -290,6 +293,7 @@
|
|||||||
<cfargument name="displayName" type="string" required=true hint="type:string"/>
|
<cfargument name="displayName" type="string" required=true hint="type:string"/>
|
||||||
<cfargument name="serviceId" type="string" required=true hint="type:integer"/>
|
<cfargument name="serviceId" type="string" required=true hint="type:integer"/>
|
||||||
<cfargument name="descr" type="string" required=false default="" hint="type:varchar (no cleanup here!)"/>
|
<cfargument name="descr" type="string" required=false default="" hint="type:varchar (no cleanup here!)"/>
|
||||||
|
<cfargument name="resourceRealmId" type="string" required=false default="-1" hint="type:integer"/>
|
||||||
<!--- <cfargument name="instanceUid" type="string" required=false default="" hint="type:guid)"/> --->
|
<!--- <cfargument name="instanceUid" type="string" required=false default="" hint="type:guid)"/> --->
|
||||||
|
|
||||||
<!--- <cfargument name="usrUid" type="string" required=true hint="type:guid"/>
|
<!--- <cfargument name="usrUid" type="string" required=true hint="type:guid"/>
|
||||||
@@ -303,9 +307,11 @@
|
|||||||
<cfset local.instanceUid=#createGUID()#/>
|
<cfset local.instanceUid=#createGUID()#/>
|
||||||
<!--- </cfif> --->
|
<!--- </cfif> --->
|
||||||
|
|
||||||
|
<!--- ****** проверка доступности платформы ***** --->
|
||||||
<cftry>
|
<cftry>
|
||||||
<cfset this.helper.keyExistsAndValid(arguments, "serviceId", "integer")/>
|
<cfset this.helper.keyExistsAndValid(arguments, "serviceId", "integer")/>
|
||||||
<cfset checkDisplayName(arguments.displayName, arguments.usrId, local.instanceUid)/>
|
<cfset checkDisplayName(arguments.displayName, arguments.usrId, local.instanceUid)/>
|
||||||
|
<cfset checkResourceRealmId(arguments.resourceRealmId, arguments.usrId, arguments.serviceId)/>
|
||||||
|
|
||||||
<!--- делаем вставку в спецификацию и таблицу экземпляров --->
|
<!--- делаем вставку в спецификацию и таблицу экземпляров --->
|
||||||
<cfquery name="local.qSpecItem">
|
<cfquery name="local.qSpecItem">
|
||||||
@@ -313,7 +319,7 @@
|
|||||||
(specification_id, specification_item, svc_id, quantity, price, dt_created, creator_id, dt_updated, updater_id)
|
(specification_id, specification_item, svc_id, quantity, price, dt_created, creator_id, dt_updated, updater_id)
|
||||||
values
|
values
|
||||||
(
|
(
|
||||||
<cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.specificationId#" />
|
<cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.specificationId#" />
|
||||||
,<cfqueryparam cfsqltype="cf_sql_varchar" value=""/>
|
,<cfqueryparam cfsqltype="cf_sql_varchar" value=""/>
|
||||||
,<cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.serviceId#" />
|
,<cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.serviceId#" />
|
||||||
,<cfqueryparam cfsqltype="cf_sql_integer" value="1" /> <!--- это типично для всех PAYG --->
|
,<cfqueryparam cfsqltype="cf_sql_integer" value="1" /> <!--- это типично для всех PAYG --->
|
||||||
@@ -327,13 +333,14 @@
|
|||||||
|
|
||||||
<cfquery name="local.qSave">
|
<cfquery name="local.qSave">
|
||||||
insert into instance
|
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
|
values
|
||||||
(
|
(
|
||||||
<cfqueryparam cfsqltype="cf_sql_other" value="#local.instanceUid#" />
|
<cfqueryparam cfsqltype="cf_sql_other" value="#local.instanceUid#" />
|
||||||
,<cfqueryparam cfsqltype="cf_sql_varchar" value="#arguments.displayName#"/>
|
,<cfqueryparam cfsqltype="cf_sql_varchar" value="#arguments.displayName#"/>
|
||||||
,<cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.serviceId#" />
|
,<cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.serviceId#" />
|
||||||
,<cfqueryparam cfsqltype="cf_sql_integer" value="#local.qSpecItem.specification_item_id#" />
|
,<cfqueryparam cfsqltype="cf_sql_integer" value="#local.qSpecItem.specification_item_id#" />
|
||||||
|
,<cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.resourceRealmId#" />
|
||||||
,<cfqueryparam cfsqltype="cf_sql_varchar" value="#arguments.descr#" />
|
,<cfqueryparam cfsqltype="cf_sql_varchar" value="#arguments.descr#" />
|
||||||
,<cfqueryparam cfsqltype="cf_sql_timestamp" value="#Now()#" />
|
,<cfqueryparam cfsqltype="cf_sql_timestamp" value="#Now()#" />
|
||||||
,<cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.usrId#" />
|
,<cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.usrId#" />
|
||||||
@@ -351,10 +358,27 @@
|
|||||||
.withHeaders({location: "./#local.instanceUid#"})
|
.withHeaders({location: "./#local.instanceUid#"})
|
||||||
.withStatus(201, "Created")
|
.withStatus(201, "Created")
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
</cffunction>
|
||||||
|
|
||||||
|
<cffunction name="checkResourceRealmId">
|
||||||
|
<cfargument name="resourceRealmId" type="numeric" required=true/>
|
||||||
|
<cfargument name="usrId" type="numeric" required=true/>
|
||||||
|
|
||||||
|
<cfset var local={}/>
|
||||||
|
|
||||||
|
<cfif NOT resourceRealmId GT 0>
|
||||||
|
<cfthrow type="InvalidParamValue" message="resource realm undefined" detail="Не выбрана ресурсная платформа"/>
|
||||||
|
</cfif>
|
||||||
|
|
||||||
|
Проверить соответствие сервису
|
||||||
|
Проверить доступ (это предварительная проверка! настоящая проверка перед запуском операции)
|
||||||
|
|
||||||
|
<cfreturn/>
|
||||||
</cffunction>
|
</cffunction>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<cffunction name="checkDisplayName">
|
<cffunction name="checkDisplayName">
|
||||||
<cfargument name="displayName" required=true/>
|
<cfargument name="displayName" required=true/>
|
||||||
<cfargument name="usrId" type="numeric" required=true/>
|
<cfargument name="usrId" type="numeric" required=true/>
|
||||||
|
|||||||
@@ -130,6 +130,25 @@
|
|||||||
null=#!isValid('integer',local.qInstanceOperation.svc_operation_id)#/>
|
null=#!isValid('integer',local.qInstanceOperation.svc_operation_id)#/>
|
||||||
order by sop.sort, sop.svc_operation_cfs_param_id
|
order by sop.sort, sop.svc_operation_cfs_param_id
|
||||||
</cfquery>
|
</cfquery>
|
||||||
|
|
||||||
|
<cfquery name="local.qAvailableResourceRealm" result="local.result">
|
||||||
|
select
|
||||||
|
<m:field_set titleMapOut="local.realmTitleMap" lengthOut="local.realmFieldCount">
|
||||||
|
<m:field>r.resource_realm_id</m:field>
|
||||||
|
<m:field>r.resource_realm_type_id</m:field>
|
||||||
|
<m:field>r.resource_realm</m:field>
|
||||||
|
</m:field_set>
|
||||||
|
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=<cfqueryparam cfsqltype="CF_SQL_INTEGER" value=#arguments.contractId#/>
|
||||||
|
AND a.is_enabled)
|
||||||
|
join svc s on r.resource_realm_type_id=s.resource_realm_type_id
|
||||||
|
where s.svc_id=<cfqueryparam cfsqltype="CF_SQL_INTEGER" value=#local.qInstanceOperation.service_id#/>
|
||||||
|
order by 1
|
||||||
|
</cfquery>
|
||||||
|
|
||||||
<cfset "out.queryDurationMs"=getTickCount() - request.startTickCount/>
|
<cfset "out.queryDurationMs"=getTickCount() - request.startTickCount/>
|
||||||
|
|
||||||
@@ -149,6 +168,11 @@
|
|||||||
|
|
||||||
<cfset "out.instanceOperation.state"=(local.qState.recordCount GT 0) ? this.helper.appendRecord(structNew("linked"), "", local.stateTitleMap, local.qState, this.helper.snake2camel) : {}/>
|
<cfset "out.instanceOperation.state"=(local.qState.recordCount GT 0) ? this.helper.appendRecord(structNew("linked"), "", local.stateTitleMap, local.qState, this.helper.snake2camel) : {}/>
|
||||||
|
|
||||||
|
<cfset "out.instanceOperation.availableResourceRealms"=[]/>
|
||||||
|
<cfloop query=#local.qAvailableResourceRealm#>
|
||||||
|
<cfset arrayAppend(out.instanceOperation.availableResourceRealms, this.helper.appendRecord(structNew("linked"), "", local.realmTitleMap, local.qAvailableResourceRealm, this.helper.snake2camel))/>
|
||||||
|
</cfloop>
|
||||||
|
|
||||||
<cfset "out.runDurationMs"=getTickCount() - request.startTickCount/>
|
<cfset "out.runDurationMs"=getTickCount() - request.startTickCount/>
|
||||||
<cfreturn representationOf(out) />
|
<cfreturn representationOf(out) />
|
||||||
</cffunction>
|
</cffunction>
|
||||||
|
|||||||
@@ -73,6 +73,25 @@
|
|||||||
<cfreturn representationOf(this.helper.formatMessage("Not Found")).withStatus(404)/>
|
<cfreturn representationOf(this.helper.formatMessage("Not Found")).withStatus(404)/>
|
||||||
</cfif>
|
</cfif>
|
||||||
|
|
||||||
|
<cfquery name="local.qAvailableResourceRealm" result="local.result">
|
||||||
|
select
|
||||||
|
<m:field_set titleMapOut="local.realmTitleMap" lengthOut="local.realmFieldCount">
|
||||||
|
<m:field>r.resource_realm_id</m:field>
|
||||||
|
<m:field>r.resource_realm_type_id</m:field>
|
||||||
|
<m:field>r.resource_realm</m:field>
|
||||||
|
</m:field_set>
|
||||||
|
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=<cfqueryparam cfsqltype="CF_SQL_INTEGER" value=#arguments.contractId#/>
|
||||||
|
AND a.is_enabled)
|
||||||
|
join svc s on r.resource_realm_type_id=s.resource_realm_type_id
|
||||||
|
where s.svc_id=<cfqueryparam cfsqltype="CF_SQL_INTEGER" value=#local.qSvcOperation.svc_id#/>
|
||||||
|
order by 1
|
||||||
|
</cfquery>
|
||||||
|
|
||||||
<cfset var out=structNew("linked")/>
|
<cfset var out=structNew("linked")/>
|
||||||
<cfset "out.queryDurationMs"=getTickCount() - request.startTickCount/>
|
<cfset "out.queryDurationMs"=getTickCount() - request.startTickCount/>
|
||||||
|
|
||||||
@@ -86,6 +105,11 @@
|
|||||||
<cfset var rec = this.helper.appendRecord(structNew("linked"), "", local.cfsParamMap, local.qCfsParam, this.helper.snake2camel)/>
|
<cfset var rec = this.helper.appendRecord(structNew("linked"), "", local.cfsParamMap, local.qCfsParam, this.helper.snake2camel)/>
|
||||||
<cfset arrayAppend(out.svcOperation.cfsParams, rec)/>
|
<cfset arrayAppend(out.svcOperation.cfsParams, rec)/>
|
||||||
</cfloop>
|
</cfloop>
|
||||||
|
|
||||||
|
<cfset "out.svcOperation.availableResourceRealms"=[]/>
|
||||||
|
<cfloop query=#local.qAvailableResourceRealm#>
|
||||||
|
<cfset arrayAppend(out.svcOperation.availableResourceRealms, this.helper.appendRecord(structNew("linked"), "", local.realmTitleMap, local.qAvailableResourceRealm, this.helper.snake2camel))/>
|
||||||
|
</cfloop>
|
||||||
|
|
||||||
<cfset "out.runDurationMs"=getTickCount() - request.startTickCount/>
|
<cfset "out.runDurationMs"=getTickCount() - request.startTickCount/>
|
||||||
<cfreturn representationOf(out) />
|
<cfreturn representationOf(out) />
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
<cfset this.helper=CreateObject("component","lib.rest_api_helper")/>
|
<cfset this.helper=CreateObject("component","lib.rest_api_helper")/>
|
||||||
</cfsilent>
|
</cfsilent>
|
||||||
|
|
||||||
<cffunction name="get" hint="Шаблон экземпляра"><!--- *** TODO проверка принадлежности тенанту --->
|
<cffunction name="get" hint="DEPRECATED. Шаблон экземпляра"><!--- *** TODO проверка принадлежности тенанту --->
|
||||||
<cfargument name="svcId" type="string" required=true hint="type:integer"/>
|
<cfargument name="svcId" type="string" required=true hint="type:integer"/>
|
||||||
<!--- <cfargument name="usrId" type="string" /> ---><!--- arguments.usrId неявно инжектируется из Application.cfm --->
|
<!--- <cfargument name="usrId" type="string" /> ---><!--- arguments.usrId неявно инжектируется из Application.cfm --->
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user