082 availableResourceRealms
This commit is contained in:
@@ -32,6 +32,7 @@
|
||||
"is_deleted"={prefix="inr", type="string"},<!--- not bool --->
|
||||
"suspended"={prefix="inr", type="string"},<!--- not bool --->
|
||||
"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 @@
|
||||
<m:field>e.instance_uid::text as instance_uid</m:field>
|
||||
<m:field>e.display_name</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 formatter=#request.castToBool#>e.is_auxiliary</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#>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>(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>
|
||||
(case
|
||||
@@ -290,6 +293,7 @@
|
||||
<cfargument name="displayName" type="string" required=true hint="type:string"/>
|
||||
<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="resourceRealmId" type="string" required=false default="-1" hint="type:integer"/>
|
||||
<!--- <cfargument name="instanceUid" type="string" required=false default="" hint="type:guid)"/> --->
|
||||
|
||||
<!--- <cfargument name="usrUid" type="string" required=true hint="type:guid"/>
|
||||
@@ -303,9 +307,11 @@
|
||||
<cfset local.instanceUid=#createGUID()#/>
|
||||
<!--- </cfif> --->
|
||||
|
||||
<!--- ****** проверка доступности платформы ***** --->
|
||||
<cftry>
|
||||
<cfset this.helper.keyExistsAndValid(arguments, "serviceId", "integer")/>
|
||||
<cfset checkDisplayName(arguments.displayName, arguments.usrId, local.instanceUid)/>
|
||||
<cfset checkResourceRealmId(arguments.resourceRealmId, arguments.usrId, arguments.serviceId)/>
|
||||
|
||||
<!--- делаем вставку в спецификацию и таблицу экземпляров --->
|
||||
<cfquery name="local.qSpecItem">
|
||||
@@ -313,7 +319,7 @@
|
||||
(specification_id, specification_item, svc_id, quantity, price, dt_created, creator_id, dt_updated, updater_id)
|
||||
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_integer" value="#arguments.serviceId#" />
|
||||
,<cfqueryparam cfsqltype="cf_sql_integer" value="1" /> <!--- это типично для всех PAYG --->
|
||||
@@ -327,13 +333,14 @@
|
||||
|
||||
<cfquery name="local.qSave">
|
||||
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
|
||||
(
|
||||
<cfqueryparam cfsqltype="cf_sql_other" value="#local.instanceUid#" />
|
||||
,<cfqueryparam cfsqltype="cf_sql_varchar" value="#arguments.displayName#"/>
|
||||
,<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="#arguments.resourceRealmId#" />
|
||||
,<cfqueryparam cfsqltype="cf_sql_varchar" value="#arguments.descr#" />
|
||||
,<cfqueryparam cfsqltype="cf_sql_timestamp" value="#Now()#" />
|
||||
,<cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.usrId#" />
|
||||
@@ -351,10 +358,27 @@
|
||||
.withHeaders({location: "./#local.instanceUid#"})
|
||||
.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 name="checkDisplayName">
|
||||
<cfargument name="displayName" required=true/>
|
||||
<cfargument name="usrId" type="numeric" required=true/>
|
||||
|
||||
Reference in New Issue
Block a user