Files
svc-api-x/v1/resources/svc_default.cfc
T

44 lines
1.9 KiB
Plaintext

<cfcomponent extends="taffy.core.resource" taffy:uri="/services/{svcId}/default" 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 svc = {
"svcId":"#arguments.svcId*1#",
"displayName":"#generateDefaultName(arguments.svcId,arguments.usrId)#",
"descr":""
}/>
<cfset var out = structNew("linked")/>
<!--- <cfset var out = structCopy(svc)/> ---><!--- *** иначе, видимо, циклическая ссылка, если мы еще скопируем это внутрь структуры --->
<cfset "out.service" = svc/>
<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>