Платформа 3V/DataManager/Описание модели настроек DataManager: различия между версиями

Материал из 3v-wiki
Перейти к навигации Перейти к поиску
(Полностью удалено содержимое страницы)
Метка: очистка
 
(не показано 55 промежуточных версий этого же участника)
Строка 1: Строка 1:
Модель Json разделена на две части - '''Source''' (источник данных) и '''Destination''' (приёмник данных)
 
  
== Source ==
 
=== Discriminator ===
 
discriminator - дискриминатор (тип данных - string)
 
 
* '''UrlDataManagerSource''' - в случае, если источник данных ''ссылка на ресурс''
 
* '''ConstantDataManagerSource''' - если источник данных ''файл''
 
Если источник данных - ''файл'', то в SOURCE достаточно прописать только дискриминатор:
 
<syntaxhighlight lang="JSON" line>
 
"Source": {
 
        "discriminator": "ConstantDataManagerSource"
 
          },
 
</syntaxhighlight>
 
 
=== Uri ===
 
Uri - унифицированный идентификатор ресурса
 
Запоминаем, дети, DataManager поддерживает следующие источники:
 
* Postgres
 
* Любой get/post запрос
 
 
Как получить Uri:
 
Запрос, указанный в Uri должен вернуть json-модель, как в примерах с корп портала/финансов/ецп
 
 
Ссылка на файловое хранилище - get запрос:
 
1. Идентификатор файла достать
 
2. Сваггер для файлового хранилища (от проекта), контроллер файл, get-метод File{fileid}
 
Параметры вызова - тенант и идентификатор файла, затем execute - таким образом мы получаем ссылку на ресурс, смотрим URL Request - копируем его - вставляем эту ссылку в Uri
 
 
На примере корп портала - там куча запросов и по ним получаем ссылку - вставляем в Uri
 
Ссылку вставить в таком формате - http://filestorage/api/File/e0e88d78-339e-496c-baa8-d5fb18848692
 
 
Далее авторизация
 
=== Credentials ===
 
 
 
Есть такая штука:
 
"Credentials": {
 
"discriminator": "ConfidentialClientAuthenticationSettingsDto",
 
"TokenRequestUrl": "https://3v.3v-group.net/auth/realms/trivium/protocol/openid-connect/token",
 
"ClientId": "что-то",
 
"ClientSecret": "что-то"
 
}
 
 
есть такая штука:
 
"Credentials": {
 
      "discriminator": "PasswordAuthenticationSettingsDto",
 
      "TokenRequestUrl": "https://smart-id-test.mos.ru/iam/auth/realms/dev/protocol/openid-connect/token",
 
      "clientId": "smart-app",
 
      "clientSecret": "3fa537da-eac2-4625-a9a5-e8c0db5b4425",
 
      "UserName": "ivanov_ii",
 
      "Password": "7654321rM"
 
    },
 
    "Headers": {
 
      "namespace": "landscaping"
 
    }
 
 
=== Headers ===
 
  "Headers": {
 
      "namespace": "landscaping"
 
    }
 
 
"Headers": {
 
"Authorization": "Bearer <token>"
 
}
 
Токен берем из средств разработчика (f12 или ctrl+f12)
 
Создается отдельный клиент, который по написанному токену имеет ограниченный набор прав
 

Текущая версия на 04:36, 12 декабря 2022