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

51 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="Шаблон экземпляра">
<cfargument name="svcId" type="string" required=true hint="type:integer"/>
<cftry>
<cfset this.helper.validateField(arguments, "svcId", "integer")/>
<cfcatch type="invalidParamValue">
<cfreturn representationOf(this.helper.formatBadRequestError(cfcatch)).withStatus(400)/>
</cfcatch>
</cftry>
<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>
<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 "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>