44 lines
1.9 KiB
Plaintext
44 lines
1.9 KiB
Plaintext
<cfcomponent extends="taffy.core.resource" taffy:uri="/instances/default/{svcId}" hint="template for default instance">
|
|
|
|
<cfsilent>
|
|
<cfimport prefix="m" taglib="../lib"/>
|
|
<cfset this.helper=CreateObject("component","lib.rest_api_helper")/>
|
|
</cfsilent>
|
|
|
|
<cffunction name="get" hint="Шаблон экземпляра"><!--- *** TODO проверка принадлежности тенанту --->
|
|
<cfargument name="svcId" type="string" required=true hint="type:integer"/>
|
|
<cfargument name="usrId" type="string" required=true hint="type:integer"/><!--- arguments.usrId неявно вбрасывается из Application.cfm --->
|
|
|
|
<cftry>
|
|
<cfset this.helper.validateField(arguments, "svcId", "integer")/>
|
|
<cfcatch type="invalidParamValue">
|
|
<cfreturn representationOf(this.helper.formatBadRequestError(cfcatch)).withStatus(400)/>
|
|
</cfcatch>
|
|
</cftry>
|
|
|
|
<cfset var instance = {
|
|
"svcId":"#arguments.svcId*1#",
|
|
"displayName":"#generateDefaultName(arguments.svcId,arguments.usrId)#",
|
|
"descr":""
|
|
}/>
|
|
|
|
<cfset var out = structNew("linked")/>
|
|
|
|
<!--- <cfset var out = structCopy(svc)/> ---><!--- *** иначе, видимо, циклическая ссылка, если мы еще скопируем это внутрь структуры --->
|
|
|
|
<cfset "out.instance" = instance/>
|
|
|
|
<cfset "out.queryDurationMs"=getTickCount() - request.startTickCount/>
|
|
<cfset "out.runDurationMs"=getTickCount() - request.startTickCount/>
|
|
<cfreturn representationOf(out) />
|
|
</cffunction>
|
|
|
|
<!--- хотя такая зависимость очень не нравится своим направлением, как бы задом наперед--->
|
|
<cffunction name="generateDefaultName">
|
|
<cfargument name="service_id" type="numeric"/>
|
|
<cfargument name="usr_id" type="numeric"/>
|
|
|
|
<cfreturn CreateObject("component", "instance_ls").generateDefaultName(arguments.service_id,arguments.usr_id)/>
|
|
</cffunction>
|
|
|
|
</cfcomponent> |