/** * Сайт 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: }` — поток сам находит по * строке согласующего, статус и заявку и уведомляет. (Паттерн из 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';