diff --git a/.gitignore b/.gitignore index c660b10..4f8ee7c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,14 @@ node_modules/ lib/ +lib-commonjs/ dist/ +release/ temp/ +jest-output/ *.sppkg .heft/ sharepoint/solution/ +frontend/.idea/ .vs/ .env .env.local diff --git a/README.md b/README.md index c797cfd..82c2206 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,7 @@ | Авторизация | Entra ID (JWT Bearer) либо dev-схема (`X-Dev-User-Email`) при отсутствии конфигурации Entra | | API-документация | Scalar (`/scalar`) на основе OpenAPI | | Интеграция | `api.tnsu.kz` (портал 1С) | +| Frontend | SPFx-веб-парт (React + FluentUI) — админка маршрутов согласования на портале SharePoint | ## Структура @@ -28,10 +29,23 @@ backend/ Tnsu.ApprovalRoute.Api/ # ASP.NET Core Controllers, Program.cs, авторизация tests/ Tnsu.ApprovalRoute.IntegrationTests/ +frontend/ + src/webparts/approvalAdmin/ # SPFx веб-парт «ApprovalAdmin» (React, FluentUI) docker-compose.yml ``` -Отдельного frontend в этом репозитории нет — сервис предоставляет только backend API. +## Frontend (SPFx) + +Админка маршрутов согласования встраивается веб-частью SPFx на портал SharePoint (аналогично `tnsu-inventory`). + +```bash +cd frontend +npm install +npm run start # heft start — локальный SharePoint Workbench +npm run build # heft test + package-solution --production +``` + +Свойства веб-части: `apiBaseUrl`, `useDevAuth`, `devUserEmail`, `aadResourceId`, `portalBaseUrl`. ## API diff --git a/frontend/.gitignore b/frontend/.gitignore deleted file mode 100644 index 3b14ac5..0000000 --- a/frontend/.gitignore +++ /dev/null @@ -1,11 +0,0 @@ -node_modules/ -lib/ -lib-commonjs/ -dist/ -temp/ -release/ -jest-output/ -*.sppkg -.heft/ -sharepoint/solution/ -.idea/