195 instance_operation validate-cfs

This commit is contained in:
2025-12-16 18:29:59 +03:00
parent 18257719e3
commit 46f7a78ba2
6 changed files with 105 additions and 6 deletions
+11 -3
View File
@@ -88,9 +88,14 @@
</cfif>
</cfloop><!--- <cfdump var=#local.qCheckCfsParams#/><cfabort/> --->
<!--- ***** тут должен быть контроль доступа на уровне параметров. Желательно по максимуму параноидальный --->
<!--- ***** или при сабмите. Может быть, и на уровне RFS параметров тоже --->
<cfset checkCfsResourceRealmAccess(arguments.instanceOperationUid)/>
<!--- ***** тут должен быть контроль доступа на уровне параметров. Желательно по максимуму параноидальный --->
<!--- ***** или при сабмите. Может быть, и на уровне RFS параметров тоже --->
<cfset checkCfsResourceRealmAccess(arguments.instanceOperationUid)/><!--- *** можно этот метод отдать операции инстанса --->
<cfset var validationMessage = createObject("component","instance_operation").validateCfsParams(arguments.instanceOperationUid)/>
<cfif len(validationMessage)>
<cfthrow type="inconsistentCfsParams" message="Some CFS parameters are incompatible" detail="#validationMessage#"/>
</cfif>
<cfset generateRfsParams(arguments.instanceOperationUid, arguments.usrId, arguments.contragentId, arguments.contractId)/><!--- *** кроме usr_id остальные параметры избыточны - информация есть у инстанса --->
@@ -103,6 +108,9 @@
<cfcatch type="invalidParamValue">
<cfreturn representationOf(this.helper.formatBadRequestError(cfcatch)).withStatus(400)/>
</cfcatch>
<cfcatch type="inconsistentCfsParams">
<cfreturn representationOf(this.helper.formatException(cfcatch,'Inconsistent CFS parameters')).withStatus(422)/>
</cfcatch>
<cfcatch type="missingDependency">
<cfreturn representationOf(this.helper.formatException(cfcatch,"Missing Dependency")).withStatus(424)/>
</cfcatch>