41 lines
2.8 KiB
TypeScript
41 lines
2.8 KiB
TypeScript
/**
|
||
* Сайт SharePoint, где живут списки данных портала.
|
||
* Портал (web part) может размещаться на другом сайте (например, на главной),
|
||
* поэтому клиент PnPjs всегда нацеливаем на этот адрес явно.
|
||
*
|
||
* TODO: при необходимости вынести в свойство web part (property pane),
|
||
* чтобы не хардкодить и переключать между dev/prod-сайтами.
|
||
*/
|
||
export const DATA_SITE_URL = 'https://tnsukz.sharepoint.com/sites/requests';
|
||
|
||
/**
|
||
* Внешний approval-route API (маршруты согласования по ролям).
|
||
* Авторизация — AadHttpClient (SSO текущего пользователя) по clientId
|
||
* зарегистрированного AAD-приложения. Разрешение объявлено в
|
||
* config/package-solution.json (webApiPermissionRequests) и одобряется
|
||
* в Центре администрирования SharePoint (API access) при развёртывании.
|
||
*/
|
||
export const APPROVAL_API_CLIENT_ID = '9232d9e2-9807-4753-808f-07250e5474b0';
|
||
export const APPROVAL_API_BASE_URL = 'https://api.tnsu.kz/approval-route';
|
||
|
||
/**
|
||
* Справочники (Dictionary API) — тот же gateway api.tnsu.kz и тот же AAD-app
|
||
* (APPROVAL_API_CLIENT_ID), но другой путь/сервис. Используется, например, для
|
||
* GET /Dictionary/Departments.
|
||
*/
|
||
export const DICTIONARY_API_BASE_URL = 'https://api.tnsu.kz';
|
||
|
||
/**
|
||
* Power Automate: поток оповещения согласующего/исполнителя.
|
||
* Триггер «When an HTTP request is received» защищён Entra («любой пользователь
|
||
* тенанта»), поэтому URL без подписи (`sig`), а вызываем через AadHttpClient с
|
||
* ресурсом Flow Service (обычный fetch → 401; так же решается CORS). Разрешение
|
||
* «Microsoft Flow Service / Flows.Read.All» объявлено в package-solution.json и
|
||
* одобряется в Центре администрирования SharePoint (API access) при развёртывании.
|
||
* Шлём тело `{ RowID: <id строки списка согласования> }` — поток сам находит по
|
||
* строке согласующего, статус и заявку и уведомляет. (Паттерн из kps-ct-form.)
|
||
*/
|
||
export const FLOW_RESOURCE = 'https://service.flow.microsoft.com/';
|
||
export const FLOW_NOTIFY_URL =
|
||
'https://eab3d2815f2beb42bf2e7ec1731708.92.environment.api.powerplatform.com:443/powerautomate/automations/direct/cu/07/workflows/b21516edf8a14287a65a39e4116dfe4f/triggers/manual/paths/invoke?api-version=1';
|