<cfargument name="qParam" type="query" required=true/><!--- работаем с текущей строкой query. передача query это скорее колхоз, всего-то надо 4 понятных аргумента.
Конечно, то, что часть из них - id, не упрощает восприяие кода --->
<!--- Выполняем 2 задачи (*** вероятно, правильно их разделить по разным функциям)
- сформировать дескриптор
- замаскировать секреты --->
здесь могут использоваться 2 критерия: формат аргумента, array/struct, либо тип
<cfloop index="local.i" from=1 to=#arrayLen(local.spMapArray)#><!--- *** искусственное оборачивание в массив вот для этого, не придумал ничего умнее
чтобы не дублировать цикл по субпараметрам. Сделано некрасиво, но работать должно.
Ну а как сделать? Если массив - делать цикл по массиву, а если map-сразу обрабатыввать map. При этом запрос к таблице сабпараметров не хочется делать лишний раз.
--->
<!--- может быть, лучше смотрелось бы arrayMap, но тут в ней будет цикл по query, и надо это делать в cfscript... строчек будет явно больше,
и в cfscript циклы по query какие-то я не помню ... кстати, вместо цикла по query можно наверно использовать structMap по контенту --->
<!--- интересная и неожиданная разница между циклом по массиву и циклом по индексу массива:
в первом случае возвращается копия элемента, во втором мы естественно имеем дело со ссылокой на элемент,
а нам сейчас нужно второе --->
<cfloop query="local.qSubparam">
<cfif local.qSubparam.is_sensitive AND structKeyExists(local.spMapArray[local.i],local.qSubparam.svc_operation_cfs_subparam)>
<cfset processMap(local.qCfsParam)/><!--- query passed by reference --->
</cfif> --->
<cfreturn noData()
.withStatus(201, "Created")
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.