51 lines
1.9 KiB
Plaintext
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> |