Платформа 3V/Формы/Выражения/Параметры/Атрибут токена пользователя (EntryExpressionTokenAttributeParameter): различия между версиями
< Платформа 3V | Формы | Выражения | Параметры
Перейти к навигации
Перейти к поиску
(Новая страница: «страница требует разработки») |
Il.iashin (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
− | + | Для использования данных токена пользователя, можно воспользоваться операндом для выражения EntryExpressionTokenAttributeParameter. Он имеет следующую структуру: | |
+ | |||
+ | <syntaxhighlight lang="JSON" line> | ||
+ | { | ||
+ | "attributeId": "preferred_username", | ||
+ | "discriminator": "EntryExpressionTokenAttributeParameter", | ||
+ | "id": 1, | ||
+ | "allowMultipleValues": false | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | == Описание свойств параметра == | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Свойство !! Описание | ||
+ | |- | ||
+ | | id || Идентификатор операнда | ||
+ | |- | ||
+ | | allowMultipleValues|| Флаг об получении результата в виде коллекции значений (true/false) | ||
+ | |- | ||
+ | | discriminator|| EntryExpressionTokenAttributeParameter | ||
+ | |- | ||
+ | | attributeId|| Идентификатор атрибута из токена. | ||
+ | |||
+ | |} | ||
+ | |||
+ | ==Пример использования в качестве параметра выражения== | ||
+ | |||
+ | Кейс: Выставить в первый текстовое поле true/false, в зависимости от того, есть ли у пользователя роль администратора, или нет. Во второе текстовое поле выставить логин пользователя. <br> | ||
+ | Ссылка на пример: https://study.3v-cloud.com/navigator/#/home?objectId=867 <br> | ||
+ | [[Файл:read token.png]] | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="width:800px; overflow:auto;"> | ||
+ | <div style="font-weight:bold;line-height:1.6;">JSON серверной карточки</div> | ||
+ | <div class="mw-collapsible-content mw-collapsed-content"> | ||
+ | <syntaxhighlight lang="JSON" line> | ||
+ | { | ||
+ | "id": 866, | ||
+ | "name": "чтение токена", | ||
+ | "description": null, | ||
+ | "title": "", | ||
+ | "uiSources": [ | ||
+ | { | ||
+ | "trimSpaces": false, | ||
+ | "defaultValue": null, | ||
+ | "value": "", | ||
+ | "doActionOnChangeValue": false, | ||
+ | "rebuildDependentsObjectOnChange": true, | ||
+ | "expressionId": 1100, | ||
+ | "isNullable": true, | ||
+ | "onAfterChangeValueConditionalActions": [], | ||
+ | "onAfterChangeValueActions": [], | ||
+ | "onAfterChangeValueByClientActions": [], | ||
+ | "discriminator": "StringSourceEntry", | ||
+ | "id": 500, | ||
+ | "caption": "номер заказа", | ||
+ | "enable": true, | ||
+ | "visible": true, | ||
+ | "hint": null, | ||
+ | "enableRuleIds": [], | ||
+ | "enableExpressionIds": [], | ||
+ | "visibleRuleIds": [], | ||
+ | "visibleExpressionIds": [] | ||
+ | }, | ||
+ | { | ||
+ | "trimSpaces": false, | ||
+ | "defaultValue": null, | ||
+ | "value": "", | ||
+ | "doActionOnChangeValue": false, | ||
+ | "rebuildDependentsObjectOnChange": true, | ||
+ | "expressionId": 1101, | ||
+ | "isNullable": true, | ||
+ | "onAfterChangeValueConditionalActions": [], | ||
+ | "onAfterChangeValueActions": [], | ||
+ | "onAfterChangeValueByClientActions": [], | ||
+ | "discriminator": "StringSourceEntry", | ||
+ | "id": 501, | ||
+ | "caption": "номер заказа", | ||
+ | "enable": true, | ||
+ | "visible": true, | ||
+ | "hint": null, | ||
+ | "enableRuleIds": [], | ||
+ | "enableExpressionIds": [], | ||
+ | "visibleRuleIds": [], | ||
+ | "visibleExpressionIds": [] | ||
+ | } | ||
+ | ], | ||
+ | "entryDataSources": [], | ||
+ | "parameters": [], | ||
+ | "binaryConditionsRules": [], | ||
+ | "submitValidateRules": [], | ||
+ | "expressions": [ | ||
+ | { | ||
+ | "expression": "if (in('realm-admin', [1]), true, false)", | ||
+ | "returnFirstParameterValue": false, | ||
+ | "operands": [ | ||
+ | { | ||
+ | "attributeId": "$Role", | ||
+ | "discriminator": "EntryExpressionTokenAttributeParameter", | ||
+ | "id": 1, | ||
+ | "allowMultipleValues": true | ||
+ | } | ||
+ | ], | ||
+ | "id": 1100, | ||
+ | "name": null, | ||
+ | "code": null | ||
+ | }, | ||
+ | { | ||
+ | "expression": "[1]", | ||
+ | "returnFirstParameterValue": false, | ||
+ | "operands": [ | ||
+ | { | ||
+ | "attributeId": "preferred_username", | ||
+ | "discriminator": "EntryExpressionTokenAttributeParameter", | ||
+ | "id": 1, | ||
+ | "allowMultipleValues": false | ||
+ | } | ||
+ | ], | ||
+ | "id": 1101, | ||
+ | "name": null, | ||
+ | "code": null | ||
+ | } | ||
+ | ], | ||
+ | "controlsValueCalculateRules": [], | ||
+ | "actions": [], | ||
+ | "conditionActionIdsOnOpen": [], | ||
+ | "actionIdsOnOpen": [], | ||
+ | "conditionalActions": [], | ||
+ | "selectionSets": [], | ||
+ | "reportTemplates": [], | ||
+ | "featureFlags": { | ||
+ | "useNewDependenciesBuilder": null, | ||
+ | "includeDataToDto": null, | ||
+ | "useLightDictionaryFormat": null, | ||
+ | "checkChangesPivotOnDtoBuild": null, | ||
+ | "ignoreCycles": null, | ||
+ | "ignoreMissingDependencies": null, | ||
+ | "convertModel": null | ||
+ | } | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | </div></div> |
Версия 10:34, 24 ноября 2021
Для использования данных токена пользователя, можно воспользоваться операндом для выражения EntryExpressionTokenAttributeParameter. Он имеет следующую структуру:
1 {
2 "attributeId": "preferred_username",
3 "discriminator": "EntryExpressionTokenAttributeParameter",
4 "id": 1,
5 "allowMultipleValues": false
6 }
Описание свойств параметра
Свойство | Описание |
---|---|
id | Идентификатор операнда |
allowMultipleValues | Флаг об получении результата в виде коллекции значений (true/false) |
discriminator | EntryExpressionTokenAttributeParameter |
attributeId | Идентификатор атрибута из токена. |
Пример использования в качестве параметра выражения
Кейс: Выставить в первый текстовое поле true/false, в зависимости от того, есть ли у пользователя роль администратора, или нет. Во второе текстовое поле выставить логин пользователя.
Ссылка на пример: https://study.3v-cloud.com/navigator/#/home?objectId=867
JSON серверной карточки
1 {
2 "id": 866,
3 "name": "чтение токена",
4 "description": null,
5 "title": "",
6 "uiSources": [
7 {
8 "trimSpaces": false,
9 "defaultValue": null,
10 "value": "",
11 "doActionOnChangeValue": false,
12 "rebuildDependentsObjectOnChange": true,
13 "expressionId": 1100,
14 "isNullable": true,
15 "onAfterChangeValueConditionalActions": [],
16 "onAfterChangeValueActions": [],
17 "onAfterChangeValueByClientActions": [],
18 "discriminator": "StringSourceEntry",
19 "id": 500,
20 "caption": "номер заказа",
21 "enable": true,
22 "visible": true,
23 "hint": null,
24 "enableRuleIds": [],
25 "enableExpressionIds": [],
26 "visibleRuleIds": [],
27 "visibleExpressionIds": []
28 },
29 {
30 "trimSpaces": false,
31 "defaultValue": null,
32 "value": "",
33 "doActionOnChangeValue": false,
34 "rebuildDependentsObjectOnChange": true,
35 "expressionId": 1101,
36 "isNullable": true,
37 "onAfterChangeValueConditionalActions": [],
38 "onAfterChangeValueActions": [],
39 "onAfterChangeValueByClientActions": [],
40 "discriminator": "StringSourceEntry",
41 "id": 501,
42 "caption": "номер заказа",
43 "enable": true,
44 "visible": true,
45 "hint": null,
46 "enableRuleIds": [],
47 "enableExpressionIds": [],
48 "visibleRuleIds": [],
49 "visibleExpressionIds": []
50 }
51 ],
52 "entryDataSources": [],
53 "parameters": [],
54 "binaryConditionsRules": [],
55 "submitValidateRules": [],
56 "expressions": [
57 {
58 "expression": "if (in('realm-admin', [1]), true, false)",
59 "returnFirstParameterValue": false,
60 "operands": [
61 {
62 "attributeId": "$Role",
63 "discriminator": "EntryExpressionTokenAttributeParameter",
64 "id": 1,
65 "allowMultipleValues": true
66 }
67 ],
68 "id": 1100,
69 "name": null,
70 "code": null
71 },
72 {
73 "expression": "[1]",
74 "returnFirstParameterValue": false,
75 "operands": [
76 {
77 "attributeId": "preferred_username",
78 "discriminator": "EntryExpressionTokenAttributeParameter",
79 "id": 1,
80 "allowMultipleValues": false
81 }
82 ],
83 "id": 1101,
84 "name": null,
85 "code": null
86 }
87 ],
88 "controlsValueCalculateRules": [],
89 "actions": [],
90 "conditionActionIdsOnOpen": [],
91 "actionIdsOnOpen": [],
92 "conditionalActions": [],
93 "selectionSets": [],
94 "reportTemplates": [],
95 "featureFlags": {
96 "useNewDependenciesBuilder": null,
97 "includeDataToDto": null,
98 "useLightDictionaryFormat": null,
99 "checkChangesPivotOnDtoBuild": null,
100 "ignoreCycles": null,
101 "ignoreMissingDependencies": null,
102 "convertModel": null
103 }
104 }