Платформа 3V/Обновления/Установка обновлений: различия между версиями
A.griva (обсуждение | вклад) |
A.griva (обсуждение | вклад) |
||
Строка 14: | Строка 14: | ||
<syntaxhighlight lang="JSON" line> | <syntaxhighlight lang="JSON" line> | ||
{ | { | ||
− | + | "ApplyUpdateSettings": [ | |
− | + | { | |
− | + | "id": 701, | |
− | + | "dataOptions": 3, | |
− | + | "clearDataBeforeUpdate": false, | |
− | + | "DictionaryPermissionsOptions": { | |
− | + | "AddNewPermissions": true, | |
− | + | "PermissionsOptions": 0, | |
− | + | "ClearBeforeUpdate": true | |
− | + | }, | |
− | + | "DictionaryElementsPermissionsOptions": { | |
− | + | "AddNewPermissions": true, | |
− | + | "PermissionsOptions": 0, | |
− | + | "ClearBeforeUpdate": true | |
+ | }, | ||
+ | "discriminator": "DictionaryApplyUpdateSettingsDto" | ||
+ | } | ||
+ | ] | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> |
Версия 10:07, 12 ноября 2020
Используется метод swagger/index.html?urls.primaryName=Updates#/Updates/Updates_ApplyUpdate
При применении обновления можно не указывать никакие настройки, тогда все объекты из обновления будут установлены с настройками по умолчанию, т.е. без данных, без прав на элементы и поиск существующих объектов будет осуществляться строго по Guid. Если на схемах объекты имеют разные Guid (для старых схем), но совпадающие идентификаторы, то можно задать опцию TryMapByKeyAndType (по умолчанию false).
1 {
2 "tryMapByKeyAndType": true
3 }
В таком случае будет происходить поиск по идентификатору + контроль на тип объекта.
Для справочников доступны расширенные настройки установки объектов:
1 {
2 "ApplyUpdateSettings": [
3 {
4 "id": 701,
5 "dataOptions": 3,
6 "clearDataBeforeUpdate": false,
7 "DictionaryPermissionsOptions": {
8 "AddNewPermissions": true,
9 "PermissionsOptions": 0,
10 "ClearBeforeUpdate": true
11 },
12 "DictionaryElementsPermissionsOptions": {
13 "AddNewPermissions": true,
14 "PermissionsOptions": 0,
15 "ClearBeforeUpdate": true
16 },
17 "discriminator": "DictionaryApplyUpdateSettingsDto"
18 }
19 ]
20 }
id - идентификатор объекта с исходной схемы.
dataOptions - опция применения данных. Допустимы следующие значения:
Значение | Название | Определение |
---|---|---|
0 | None | Не применять данные |
1 | AddNewElements | Добавлять новые элементы |
2 | ChangeExistElements | Изменять существующие элементы |
3 | AddNewAndChangeExistElements | Добавлять новые и обновлять существующие |
clearDataBeforeUpdate - очищать все существующие данные в процессе установки обновления.
DictionaryPermissionsOptions - применение прав на все элементы справочника.
DictionaryElementsPermissionsOptions - применение прав на конкретные элементы справочника.
DictionaryPermissionsOptions и DictionaryElementsPermissionsOptions имеют общую структуру:
AddNewPermissions - Признак добавления новых прав доступа ClearBeforeUpdate - Признак отчистки прав перед установкой обновления PermissionsOptions - Настройки применения прав к уже существующих правам. Допустимы следующие значения:
Значение | Название | Определение |
---|---|---|
0 | None | Не применять права |
1 | Merge | Объединение прав доступа. Если права для субъекта были, то права объединятся с существующими. |
2 | ChangePermissions | Изменение существующих прав. |