From 72f4beeb6106da3c1ad447d7fb478bb975f72bd2 Mon Sep 17 00:00:00 2001 From: Imer ouijdane Date: Thu, 30 Apr 2026 12:51:31 +0200 Subject: [PATCH] Ajoutez des fichiers projet. --- .vscode/launch.json | 19 + CHANGELOG.md | 11 + DockerfileNDF.frontend | 40 + NDF.sln | 27 + docker-compose.yml | 53 + ndf.esproj | 11 + ndf/.gitignore | 24 + ndf/README.md | 73 + ndf/eslint.config.js | 23 + ndf/index.html | 14 + ndf/package-lock.json | 4469 ++++++++++++++++ ndf/package.json | 36 + ndf/public/backend/.env | 33 + ndf/public/backend/DockerfileNDF.backend | 18 + ndf/public/backend/msalConfig.ts | 27 + ndf/public/backend/ndfPdfGenerator.js | 485 ++ ndf/public/backend/package-lock.json | 3209 +++++++++++ ndf/public/backend/package.json | 30 + ndf/public/backend/server.js | 4840 +++++++++++++++++ ndf/public/img/NDF_Image_Logo.png | Bin 0 -> 885952 bytes ndf/public/vite.svg | 1 + ndf/src/App.css | 42 + ndf/src/App.tsx | 52 + ndf/src/assets/react.svg | 1 + ndf/src/components/Dashboard.css | 370 ++ ndf/src/components/Login.css | 143 + ndf/src/components/PrivateRoute.tsx | 25 + ndf/src/components/RoleSelector.tsx | 293 + ndf/src/components/RoleSwitcher.tsx | 191 + ndf/src/components/ndf/FileUploadZone.tsx | 101 + ndf/src/components/ndf/JustificatifPopup.tsx | 88 + ndf/src/components/ndf/LigneRow.tsx | 769 +++ ndf/src/components/ndf/NotesTable.tsx | 120 + ndf/src/components/ndf/StatutStepper.tsx | 90 + ndf/src/components/ndf/TagStatut.tsx | 39 + ndf/src/components/ndf/UrlPreviewPopup.tsx | 109 + ndf/src/components/ndf/helpers.ts | 60 + ndf/src/components/ndf/types.ts | 145 + ndf/src/components/ndf/ui/styles.ts | 59 + ndf/src/context/AuthContext.tsx | 233 + ndf/src/context/ThemeContext.tsx | 162 + ndf/src/index.css | 21 + ndf/src/main.tsx | 10 + ndf/src/pages/AuthCallback.tsx | 42 + ndf/src/pages/Dashboard.tsx | 5049 ++++++++++++++++++ ndf/src/pages/Login.tsx | 339 ++ ndf/src/pages/NouvelleNote.tsx | 1903 +++++++ ndf/src/pages/UploadMobile.tsx | 168 + ndf/src/pages/VerificateurFinanceLight.tsx | 859 +++ ndf/src/types/react-qr-code.d.ts | 14 + ndf/src/vite.config.js | 30 + ndf/tsconfig.app.json | 27 + ndf/tsconfig.json | 7 + ndf/tsconfig.node.json | 13 + ndf/vite.config.ts | 8 + package-lock.json | 1860 +++++++ package.json | 10 + 57 files changed, 26895 insertions(+) create mode 100644 .vscode/launch.json create mode 100644 CHANGELOG.md create mode 100644 DockerfileNDF.frontend create mode 100644 NDF.sln create mode 100644 docker-compose.yml create mode 100644 ndf.esproj create mode 100644 ndf/.gitignore create mode 100644 ndf/README.md create mode 100644 ndf/eslint.config.js create mode 100644 ndf/index.html create mode 100644 ndf/package-lock.json create mode 100644 ndf/package.json create mode 100644 ndf/public/backend/.env create mode 100644 ndf/public/backend/DockerfileNDF.backend create mode 100644 ndf/public/backend/msalConfig.ts create mode 100644 ndf/public/backend/ndfPdfGenerator.js create mode 100644 ndf/public/backend/package-lock.json create mode 100644 ndf/public/backend/package.json create mode 100644 ndf/public/backend/server.js create mode 100644 ndf/public/img/NDF_Image_Logo.png create mode 100644 ndf/public/vite.svg create mode 100644 ndf/src/App.css create mode 100644 ndf/src/App.tsx create mode 100644 ndf/src/assets/react.svg create mode 100644 ndf/src/components/Dashboard.css create mode 100644 ndf/src/components/Login.css create mode 100644 ndf/src/components/PrivateRoute.tsx create mode 100644 ndf/src/components/RoleSelector.tsx create mode 100644 ndf/src/components/RoleSwitcher.tsx create mode 100644 ndf/src/components/ndf/FileUploadZone.tsx create mode 100644 ndf/src/components/ndf/JustificatifPopup.tsx create mode 100644 ndf/src/components/ndf/LigneRow.tsx create mode 100644 ndf/src/components/ndf/NotesTable.tsx create mode 100644 ndf/src/components/ndf/StatutStepper.tsx create mode 100644 ndf/src/components/ndf/TagStatut.tsx create mode 100644 ndf/src/components/ndf/UrlPreviewPopup.tsx create mode 100644 ndf/src/components/ndf/helpers.ts create mode 100644 ndf/src/components/ndf/types.ts create mode 100644 ndf/src/components/ndf/ui/styles.ts create mode 100644 ndf/src/context/AuthContext.tsx create mode 100644 ndf/src/context/ThemeContext.tsx create mode 100644 ndf/src/index.css create mode 100644 ndf/src/main.tsx create mode 100644 ndf/src/pages/AuthCallback.tsx create mode 100644 ndf/src/pages/Dashboard.tsx create mode 100644 ndf/src/pages/Login.tsx create mode 100644 ndf/src/pages/NouvelleNote.tsx create mode 100644 ndf/src/pages/UploadMobile.tsx create mode 100644 ndf/src/pages/VerificateurFinanceLight.tsx create mode 100644 ndf/src/types/react-qr-code.d.ts create mode 100644 ndf/src/vite.config.js create mode 100644 ndf/tsconfig.app.json create mode 100644 ndf/tsconfig.json create mode 100644 ndf/tsconfig.node.json create mode 100644 ndf/vite.config.ts create mode 100644 package-lock.json create mode 100644 package.json diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..f63b146 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,19 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "type": "edge", + "request": "launch", + "name": "localhost (Edge)", + "url": "http://localhost:64087", + "webRoot": "${workspaceFolder}" + }, + { + "type": "chrome", + "request": "launch", + "name": "localhost (Chrome)", + "url": "http://localhost:64087", + "webRoot": "${workspaceFolder}" + } + ] +} diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..fc64a33 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,11 @@ +This file explains how Visual Studio created the project. + +The following tools were used to generate this project: +- create-vite + +The following steps were used to generate this project: +- Create react project with create-vite: `npm init --yes vite@latest ndf -- --template=react-ts`. +- Create project file (`ndf.esproj`). +- Create `launch.json` to enable debugging. +- Add project to solution. +- Write this file. diff --git a/DockerfileNDF.frontend b/DockerfileNDF.frontend new file mode 100644 index 0000000..58629d2 --- /dev/null +++ b/DockerfileNDF.frontend @@ -0,0 +1,40 @@ +FROM node:20-alpine + +WORKDIR /app + +COPY ndf/package.json ndf/package-lock.json ./ +RUN npm ci --legacy-peer-deps + +COPY ndf/ . + +# ✅ Écrase vite.config.ts avec la bonne config +RUN cat > /app/vite.config.ts << 'EOF' +import { defineConfig } from 'vite'; +import react from '@vitejs/plugin-react'; +import path from 'path'; + +export default defineConfig({ + plugins: [react()], + resolve: { + alias: { '@': path.resolve(__dirname, './src') } + }, + server: { + host: '0.0.0.0', + port: 81, + strictPort: true, + allowedHosts: ['myndf.ensup-adm.net', 'localhost'], + proxy: { + '/api': { + target: 'http://backend:3024', + changeOrigin: true, + secure: false, + ws: true + } + } + } +}); +EOF + +EXPOSE 81 + +CMD ["npx", "vite", "--host", "0.0.0.0", "--port", "81"] diff --git a/NDF.sln b/NDF.sln new file mode 100644 index 0000000..0411230 --- /dev/null +++ b/NDF.sln @@ -0,0 +1,27 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.14.36915.13 d17.14 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{54A90642-561A-4BB1-A94E-469ADEE60C69}") = "ndf", "ndf.esproj", "{EB0E6B4D-5936-F460-7264-0B16674255E7}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {EB0E6B4D-5936-F460-7264-0B16674255E7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {EB0E6B4D-5936-F460-7264-0B16674255E7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EB0E6B4D-5936-F460-7264-0B16674255E7}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {EB0E6B4D-5936-F460-7264-0B16674255E7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EB0E6B4D-5936-F460-7264-0B16674255E7}.Release|Any CPU.Build.0 = Release|Any CPU + {EB0E6B4D-5936-F460-7264-0B16674255E7}.Release|Any CPU.Deploy.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {7B246EF3-A0BC-4D0A-9047-CE6948E7257F} + EndGlobalSection +EndGlobal diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..9635b17 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,53 @@ +services: + backend: + image: ouijdaneim/ndf-backend:latest + build: + context: ./ndf/public/Backend + dockerfile: DockerfileNDF.backend + container_name: ndf-backend + environment: + - DB_SERVER=192.168.0.3 + - DB_NAME=NDF + - DB_USER=ndf_app + - DB_PASSWORD=P@ssw0rd2026! + - DB_PORT=1433 + - PORT=3024 + - AZURE_TENANT_ID=9840a2a0-6ae1-4688-b03d-d2ec291be0f9 + - AZURE_CLIENT_ID=51a2c5b3-4cea-4752-93d0-bc59ea33be29 + - AZURE_CLIENT_SECRET=uPD8Q~CJbl26DDrRWRgKXvvqwVVm0DtRhzkEqcyT + - AZURE_GROUP_ID=c1ea877c-6bca-4f47-bfad-f223640813a0 + - JWT_SECRET=un_secret_aleatoire_securise + - OAUTH_REDIRECT_URI=http://localhost:8024/api/auth/callback # ✅ + - FRONTEND_URL=https://myndf.ensup-adm.net # ✅ + - SHAREPOINT_SITE_ID=ensup.sharepoint.com,d94abc08-28eb-47ce-8e12-fbbd6f16b9ea,a052c325-d33a-40e3-9e7b-7896a2ea7ab7 + - SHAREPOINT_DRIVE_ID=b!CLxK2esozkeOEvu9bxa56iXDUqA60-NAnnt4lqLqerfjKRsFHmtxSbj0s5KCssZK + hostname: backend + ports: + - "8024:3024" + networks: + - ndf-network + restart: unless-stopped + extra_hosts: + - "host.docker.internal:host-gateway" + + frontend: + image: ouijdaneim/ndf-frontend:latest + build: + context: . + dockerfile: DockerfileNDF.frontend + container_name: ndf-frontend + hostname: frontend + ports: + - "3025:81" + environment: + - VITE_API_URL=http://backend:3024 + networks: + - ndf-network + depends_on: + - backend + restart: unless-stopped + +networks: + ndf-network: + name: ndf-network + driver: bridge diff --git a/ndf.esproj b/ndf.esproj new file mode 100644 index 0000000..6e48911 --- /dev/null +++ b/ndf.esproj @@ -0,0 +1,11 @@ + + + npm run dev + src\ + Vitest + + false + + $(MSBuildProjectDirectory)\dist + + \ No newline at end of file diff --git a/ndf/.gitignore b/ndf/.gitignore new file mode 100644 index 0000000..a547bf3 --- /dev/null +++ b/ndf/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/ndf/README.md b/ndf/README.md new file mode 100644 index 0000000..d2e7761 --- /dev/null +++ b/ndf/README.md @@ -0,0 +1,73 @@ +# React + TypeScript + Vite + +This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. + +Currently, two official plugins are available: + +- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) (or [oxc](https://oxc.rs) when used in [rolldown-vite](https://vite.dev/guide/rolldown)) for Fast Refresh +- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh + +## React Compiler + +The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see [this documentation](https://react.dev/learn/react-compiler/installation). + +## Expanding the ESLint configuration + +If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules: + +```js +export default defineConfig([ + globalIgnores(['dist']), + { + files: ['**/*.{ts,tsx}'], + extends: [ + // Other configs... + + // Remove tseslint.configs.recommended and replace with this + tseslint.configs.recommendedTypeChecked, + // Alternatively, use this for stricter rules + tseslint.configs.strictTypeChecked, + // Optionally, add this for stylistic rules + tseslint.configs.stylisticTypeChecked, + + // Other configs... + ], + languageOptions: { + parserOptions: { + project: ['./tsconfig.node.json', './tsconfig.app.json'], + tsconfigRootDir: import.meta.dirname, + }, + // other options... + }, + }, +]) +``` + +You can also install [eslint-plugin-react-x](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) and [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) for React-specific lint rules: + +```js +// eslint.config.js +import reactX from 'eslint-plugin-react-x' +import reactDom from 'eslint-plugin-react-dom' + +export default defineConfig([ + globalIgnores(['dist']), + { + files: ['**/*.{ts,tsx}'], + extends: [ + // Other configs... + // Enable lint rules for React + reactX.configs['recommended-typescript'], + // Enable lint rules for React DOM + reactDom.configs.recommended, + ], + languageOptions: { + parserOptions: { + project: ['./tsconfig.node.json', './tsconfig.app.json'], + tsconfigRootDir: import.meta.dirname, + }, + // other options... + }, + }, +]) +``` diff --git a/ndf/eslint.config.js b/ndf/eslint.config.js new file mode 100644 index 0000000..5e6b472 --- /dev/null +++ b/ndf/eslint.config.js @@ -0,0 +1,23 @@ +import js from '@eslint/js' +import globals from 'globals' +import reactHooks from 'eslint-plugin-react-hooks' +import reactRefresh from 'eslint-plugin-react-refresh' +import tseslint from 'typescript-eslint' +import { defineConfig, globalIgnores } from 'eslint/config' + +export default defineConfig([ + globalIgnores(['dist']), + { + files: ['**/*.{ts,tsx}'], + extends: [ + js.configs.recommended, + tseslint.configs.recommended, + reactHooks.configs.flat.recommended, + reactRefresh.configs.vite, + ], + languageOptions: { + ecmaVersion: 2020, + globals: globals.browser, + }, + }, +]) diff --git a/ndf/index.html b/ndf/index.html new file mode 100644 index 0000000..56827aa --- /dev/null +++ b/ndf/index.html @@ -0,0 +1,14 @@ + + + + + + + Notes de Frais + + + +
+ + + diff --git a/ndf/package-lock.json b/ndf/package-lock.json new file mode 100644 index 0000000..8640527 --- /dev/null +++ b/ndf/package-lock.json @@ -0,0 +1,4469 @@ +{ + "name": "ndf", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "ndf", + "version": "0.0.0", + "dependencies": { + "@azure/msal-node": "^5.0.4", + "axios": "^1.13.5", + "cors": "^2.8.6", + "dotenv": "^17.3.1", + "express": "^5.2.1", + "jsonwebtoken": "^9.0.3", + "mssql": "^12.2.0", + "pdf-lib": "^1.17.1", + "pdfkit": "^0.17.2", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "react-qr-code": "^2.0.20", + "react-router-dom": "^6.26.2" + }, + "devDependencies": { + "@tailwindcss/vite": "^4.2.1", + "@types/react": "^18.3.1", + "@types/react-dom": "^18.3.0", + "@vitejs/plugin-react": "^4.7.0", + "lucide-react": "^0.577.0", + "tailwindcss": "^4.2.1", + "typescript": "^5.5.3", + "vite": "^5.4.2" + } + }, + "node_modules/@azure-rest/core-client": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@azure-rest/core-client/-/core-client-2.5.1.tgz", + "integrity": "sha512-EHaOXW0RYDKS5CFffnixdyRPak5ytiCtU7uXDcP/uiY+A6jFRwNGzzJBiznkCzvi5EYpY+YWinieqHb0oY916A==", + "license": "MIT", + "dependencies": { + "@azure/abort-controller": "^2.1.2", + "@azure/core-auth": "^1.10.0", + "@azure/core-rest-pipeline": "^1.22.0", + "@azure/core-tracing": "^1.3.0", + "@typespec/ts-http-runtime": "^0.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@azure/abort-controller": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-2.1.2.tgz", + "integrity": "sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA==", + "license": "MIT", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@azure/core-auth": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.10.1.tgz", + "integrity": "sha512-ykRMW8PjVAn+RS6ww5cmK9U2CyH9p4Q88YJwvUslfuMmN98w/2rdGRLPqJYObapBCdzBVeDgYWdJnFPFb7qzpg==", + "license": "MIT", + "dependencies": { + "@azure/abort-controller": "^2.1.2", + "@azure/core-util": "^1.13.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@azure/core-client": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@azure/core-client/-/core-client-1.10.1.tgz", + "integrity": "sha512-Nh5PhEOeY6PrnxNPsEHRr9eimxLwgLlpmguQaHKBinFYA/RU9+kOYVOQqOrTsCL+KSxrLLl1gD8Dk5BFW/7l/w==", + "license": "MIT", + "peer": true, + "dependencies": { + "@azure/abort-controller": "^2.1.2", + "@azure/core-auth": "^1.10.0", + "@azure/core-rest-pipeline": "^1.22.0", + "@azure/core-tracing": "^1.3.0", + "@azure/core-util": "^1.13.0", + "@azure/logger": "^1.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@azure/core-http-compat": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@azure/core-http-compat/-/core-http-compat-2.3.2.tgz", + "integrity": "sha512-Tf6ltdKzOJEgxZeWLCjMxrxbodB/ZeCbzzA1A2qHbhzAjzjHoBVSUeSl/baT/oHAxhc4qdqVaDKnc2+iE932gw==", + "license": "MIT", + "dependencies": { + "@azure/abort-controller": "^2.1.2" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "@azure/core-client": "^1.10.0", + "@azure/core-rest-pipeline": "^1.22.0" + } + }, + "node_modules/@azure/core-lro": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/@azure/core-lro/-/core-lro-2.7.2.tgz", + "integrity": "sha512-0YIpccoX8m/k00O7mDDMdJpbr6mf1yWo2dfmxt5A8XVZVVMz2SSKaEbMCeJRvgQ0IaSlqhjT47p4hVIRRy90xw==", + "license": "MIT", + "dependencies": { + "@azure/abort-controller": "^2.0.0", + "@azure/core-util": "^1.2.0", + "@azure/logger": "^1.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@azure/core-paging": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/@azure/core-paging/-/core-paging-1.6.2.tgz", + "integrity": "sha512-YKWi9YuCU04B55h25cnOYZHxXYtEvQEbKST5vqRga7hWY9ydd3FZHdeQF8pyh+acWZvppw13M/LMGx0LABUVMA==", + "license": "MIT", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@azure/core-rest-pipeline": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.22.2.tgz", + "integrity": "sha512-MzHym+wOi8CLUlKCQu12de0nwcq9k9Kuv43j4Wa++CsCpJwps2eeBQwD2Bu8snkxTtDKDx4GwjuR9E8yC8LNrg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@azure/abort-controller": "^2.1.2", + "@azure/core-auth": "^1.10.0", + "@azure/core-tracing": "^1.3.0", + "@azure/core-util": "^1.13.0", + "@azure/logger": "^1.3.0", + "@typespec/ts-http-runtime": "^0.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@azure/core-tracing": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.3.1.tgz", + "integrity": "sha512-9MWKevR7Hz8kNzzPLfX4EAtGM2b8mr50HPDBvio96bURP/9C+HjdH3sBlLSNNrvRAr5/k/svoH457gB5IKpmwQ==", + "license": "MIT", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@azure/core-util": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.13.1.tgz", + "integrity": "sha512-XPArKLzsvl0Hf0CaGyKHUyVgF7oDnhKoP85Xv6M4StF/1AhfORhZudHtOyf2s+FcbuQ9dPRAjB8J2KvRRMUK2A==", + "license": "MIT", + "dependencies": { + "@azure/abort-controller": "^2.1.2", + "@typespec/ts-http-runtime": "^0.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@azure/identity": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@azure/identity/-/identity-4.13.0.tgz", + "integrity": "sha512-uWC0fssc+hs1TGGVkkghiaFkkS7NkTxfnCH+Hdg+yTehTpMcehpok4PgUKKdyCH+9ldu6FhiHRv84Ntqj1vVcw==", + "license": "MIT", + "dependencies": { + "@azure/abort-controller": "^2.0.0", + "@azure/core-auth": "^1.9.0", + "@azure/core-client": "^1.9.2", + "@azure/core-rest-pipeline": "^1.17.0", + "@azure/core-tracing": "^1.0.0", + "@azure/core-util": "^1.11.0", + "@azure/logger": "^1.0.0", + "@azure/msal-browser": "^4.2.0", + "@azure/msal-node": "^3.5.0", + "open": "^10.1.0", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@azure/identity/node_modules/@azure/msal-common": { + "version": "15.14.2", + "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-15.14.2.tgz", + "integrity": "sha512-n8RBJEUmd5QotoqbZfd+eGBkzuFI1KX6jw2b3WcpSyGjwmzoeI/Jb99opIBPHpb8y312NB+B6+FGi2ZVSR8yfA==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@azure/identity/node_modules/@azure/msal-node": { + "version": "3.8.7", + "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-3.8.7.tgz", + "integrity": "sha512-a+Xnrae+uwLnlw68bplS1X4kuJ9F/7K6afuMFyRkNIskhjgDezl5Fhrx+1pmAlDmC0VaaAxjRQMp1OmcqVwkIg==", + "license": "MIT", + "dependencies": { + "@azure/msal-common": "15.14.2", + "jsonwebtoken": "^9.0.0", + "uuid": "^8.3.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@azure/keyvault-common": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@azure/keyvault-common/-/keyvault-common-2.0.0.tgz", + "integrity": "sha512-wRLVaroQtOqfg60cxkzUkGKrKMsCP6uYXAOomOIysSMyt1/YM0eUn9LqieAWM8DLcU4+07Fio2YGpPeqUbpP9w==", + "license": "MIT", + "dependencies": { + "@azure/abort-controller": "^2.0.0", + "@azure/core-auth": "^1.3.0", + "@azure/core-client": "^1.5.0", + "@azure/core-rest-pipeline": "^1.8.0", + "@azure/core-tracing": "^1.0.0", + "@azure/core-util": "^1.10.0", + "@azure/logger": "^1.1.4", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@azure/keyvault-keys": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@azure/keyvault-keys/-/keyvault-keys-4.10.0.tgz", + "integrity": "sha512-eDT7iXoBTRZ2n3fLiftuGJFD+yjkiB1GNqzU2KbY1TLYeXeSPVTVgn2eJ5vmRTZ11978jy2Kg2wI7xa9Tyr8ag==", + "license": "MIT", + "dependencies": { + "@azure-rest/core-client": "^2.3.3", + "@azure/abort-controller": "^2.1.2", + "@azure/core-auth": "^1.9.0", + "@azure/core-http-compat": "^2.2.0", + "@azure/core-lro": "^2.7.2", + "@azure/core-paging": "^1.6.2", + "@azure/core-rest-pipeline": "^1.19.0", + "@azure/core-tracing": "^1.2.0", + "@azure/core-util": "^1.11.0", + "@azure/keyvault-common": "^2.0.0", + "@azure/logger": "^1.1.4", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@azure/logger": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@azure/logger/-/logger-1.3.0.tgz", + "integrity": "sha512-fCqPIfOcLE+CGqGPd66c8bZpwAji98tZ4JI9i/mlTNTlsIWslCfpg48s/ypyLxZTump5sypjrKn2/kY7q8oAbA==", + "license": "MIT", + "dependencies": { + "@typespec/ts-http-runtime": "^0.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@azure/msal-browser": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-4.28.2.tgz", + "integrity": "sha512-6vYUMvs6kJxJgxaCmHn/F8VxjLHNh7i9wzfwPGf8kyBJ8Gg2yvBXx175Uev8LdrD1F5C4o7qHa2CC4IrhGE1XQ==", + "license": "MIT", + "dependencies": { + "@azure/msal-common": "15.14.2" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@azure/msal-browser/node_modules/@azure/msal-common": { + "version": "15.14.2", + "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-15.14.2.tgz", + "integrity": "sha512-n8RBJEUmd5QotoqbZfd+eGBkzuFI1KX6jw2b3WcpSyGjwmzoeI/Jb99opIBPHpb8y312NB+B6+FGi2ZVSR8yfA==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@azure/msal-common": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-16.0.4.tgz", + "integrity": "sha512-0KZ9/wbUyZN65JLAx5bGNfWjkD0kRMUgM99oSpZFg7wEOb3XcKIiHrFnIpgyc8zZ70fHodyh8JKEOel1oN24Gw==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@azure/msal-node": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-5.0.4.tgz", + "integrity": "sha512-WbA77m68noCw4qV+1tMm5nodll34JCDF0KmrSrp9LskS0bGbgHt98ZRxq69BQK5mjMqDD5ThHJOrrGSfzPybxw==", + "license": "MIT", + "dependencies": { + "@azure/msal-common": "16.0.4", + "jsonwebtoken": "^9.0.0", + "uuid": "^8.3.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", + "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", + "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helpers": "^7.28.6", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.29.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", + "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", + "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.28.6", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", + "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", + "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz", + "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz", + "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", + "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz", + "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz", + "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", + "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", + "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@js-joda/core": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@js-joda/core/-/core-5.7.0.tgz", + "integrity": "sha512-WBu4ULVVxySLLzK1Ppq+OdfP+adRS4ntmDQT915rzDJ++i95gc2jZkM5B6LWEAwN3lGXpfie3yPABozdD3K3Vg==", + "license": "BSD-3-Clause" + }, + "node_modules/@pdf-lib/standard-fonts": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@pdf-lib/standard-fonts/-/standard-fonts-1.0.0.tgz", + "integrity": "sha512-hU30BK9IUN/su0Mn9VdlVKsWBS6GyhVfqjwl1FjZN4TxP6cCw0jP2w7V3Hf5uX7M0AZJ16vey9yE0ny7Sa59ZA==", + "license": "MIT", + "dependencies": { + "pako": "^1.0.6" + } + }, + "node_modules/@pdf-lib/upng": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@pdf-lib/upng/-/upng-1.0.1.tgz", + "integrity": "sha512-dQK2FUMQtowVP00mtIksrlZhdFXQZPC+taih1q4CvPZ5vqdxR/LKBaFg0oAfzd1GlHZXXSPdQfzQnt+ViGvEIQ==", + "license": "MIT", + "dependencies": { + "pako": "^1.0.10" + } + }, + "node_modules/@remix-run/router": { + "version": "1.23.2", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.23.2.tgz", + "integrity": "sha512-Ic6m2U/rMjTkhERIa/0ZtXJP17QUi2CbWE7cqx4J58M8aA3QTfW+2UlQ4psvTX9IO1RfNVhK3pcpdjej7L+t2w==", + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-beta.27", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz", + "integrity": "sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.57.1.tgz", + "integrity": "sha512-A6ehUVSiSaaliTxai040ZpZ2zTevHYbvu/lDoeAteHI8QnaosIzm4qwtezfRg1jOYaUmnzLX1AOD6Z+UJjtifg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.57.1.tgz", + "integrity": "sha512-dQaAddCY9YgkFHZcFNS/606Exo8vcLHwArFZ7vxXq4rigo2bb494/xKMMwRRQW6ug7Js6yXmBZhSBRuBvCCQ3w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.57.1.tgz", + "integrity": "sha512-crNPrwJOrRxagUYeMn/DZwqN88SDmwaJ8Cvi/TN1HnWBU7GwknckyosC2gd0IqYRsHDEnXf328o9/HC6OkPgOg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.57.1.tgz", + "integrity": "sha512-Ji8g8ChVbKrhFtig5QBV7iMaJrGtpHelkB3lsaKzadFBe58gmjfGXAOfI5FV0lYMH8wiqsxKQ1C9B0YTRXVy4w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.57.1.tgz", + "integrity": "sha512-R+/WwhsjmwodAcz65guCGFRkMb4gKWTcIeLy60JJQbXrJ97BOXHxnkPFrP+YwFlaS0m+uWJTstrUA9o+UchFug==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.57.1.tgz", + "integrity": "sha512-IEQTCHeiTOnAUC3IDQdzRAGj3jOAYNr9kBguI7MQAAZK3caezRrg0GxAb6Hchg4lxdZEI5Oq3iov/w/hnFWY9Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.57.1.tgz", + "integrity": "sha512-F8sWbhZ7tyuEfsmOxwc2giKDQzN3+kuBLPwwZGyVkLlKGdV1nvnNwYD0fKQ8+XS6hp9nY7B+ZeK01EBUE7aHaw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.57.1.tgz", + "integrity": "sha512-rGfNUfn0GIeXtBP1wL5MnzSj98+PZe/AXaGBCRmT0ts80lU5CATYGxXukeTX39XBKsxzFpEeK+Mrp9faXOlmrw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.57.1.tgz", + "integrity": "sha512-MMtej3YHWeg/0klK2Qodf3yrNzz6CGjo2UntLvk2RSPlhzgLvYEB3frRvbEF2wRKh1Z2fDIg9KRPe1fawv7C+g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.57.1.tgz", + "integrity": "sha512-1a/qhaaOXhqXGpMFMET9VqwZakkljWHLmZOX48R0I/YLbhdxr1m4gtG1Hq7++VhVUmf+L3sTAf9op4JlhQ5u1Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.57.1.tgz", + "integrity": "sha512-QWO6RQTZ/cqYtJMtxhkRkidoNGXc7ERPbZN7dVW5SdURuLeVU7lwKMpo18XdcmpWYd0qsP1bwKPf7DNSUinhvA==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.57.1.tgz", + "integrity": "sha512-xpObYIf+8gprgWaPP32xiN5RVTi/s5FCR+XMXSKmhfoJjrpRAjCuuqQXyxUa/eJTdAE6eJ+KDKaoEqjZQxh3Gw==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.57.1.tgz", + "integrity": "sha512-4BrCgrpZo4hvzMDKRqEaW1zeecScDCR+2nZ86ATLhAoJ5FQ+lbHVD3ttKe74/c7tNT9c6F2viwB3ufwp01Oh2w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.57.1.tgz", + "integrity": "sha512-NOlUuzesGauESAyEYFSe3QTUguL+lvrN1HtwEEsU2rOwdUDeTMJdO5dUYl/2hKf9jWydJrO9OL/XSSf65R5+Xw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.57.1.tgz", + "integrity": "sha512-ptA88htVp0AwUUqhVghwDIKlvJMD/fmL/wrQj99PRHFRAG6Z5nbWoWG4o81Nt9FT+IuqUQi+L31ZKAFeJ5Is+A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.57.1.tgz", + "integrity": "sha512-S51t7aMMTNdmAMPpBg7OOsTdn4tySRQvklmL3RpDRyknk87+Sp3xaumlatU+ppQ+5raY7sSTcC2beGgvhENfuw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.57.1.tgz", + "integrity": "sha512-Bl00OFnVFkL82FHbEqy3k5CUCKH6OEJL54KCyx2oqsmZnFTR8IoNqBF+mjQVcRCT5sB6yOvK8A37LNm/kPJiZg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.57.1.tgz", + "integrity": "sha512-ABca4ceT4N+Tv/GtotnWAeXZUZuM/9AQyCyKYyKnpk4yoA7QIAuBt6Hkgpw8kActYlew2mvckXkvx0FfoInnLg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.57.1.tgz", + "integrity": "sha512-HFps0JeGtuOR2convgRRkHCekD7j+gdAuXM+/i6kGzQtFhlCtQkpwtNzkNj6QhCDp7DRJ7+qC/1Vg2jt5iSOFw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.57.1.tgz", + "integrity": "sha512-H+hXEv9gdVQuDTgnqD+SQffoWoc0Of59AStSzTEj/feWTBAnSfSD3+Dql1ZruJQxmykT/JVY0dE8Ka7z0DH1hw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.57.1.tgz", + "integrity": "sha512-4wYoDpNg6o/oPximyc/NG+mYUejZrCU2q+2w6YZqrAs2UcNUChIZXjtafAiiZSUc7On8v5NyNj34Kzj/Ltk6dQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.57.1.tgz", + "integrity": "sha512-O54mtsV/6LW3P8qdTcamQmuC990HDfR71lo44oZMZlXU4tzLrbvTii87Ni9opq60ds0YzuAlEr/GNwuNluZyMQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.57.1.tgz", + "integrity": "sha512-P3dLS+IerxCT/7D2q2FYcRdWRl22dNbrbBEtxdWhXrfIMPP9lQhb5h4Du04mdl5Woq05jVCDPCMF7Ub0NAjIew==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.57.1.tgz", + "integrity": "sha512-VMBH2eOOaKGtIJYleXsi2B8CPVADrh+TyNxJ4mWPnKfLB/DBUmzW+5m1xUrcwWoMfSLagIRpjUFeW5CO5hyciQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.57.1.tgz", + "integrity": "sha512-mxRFDdHIWRxg3UfIIAwCm6NzvxG0jDX/wBN6KsQFTvKFqqg9vTrWUE68qEjHt19A5wwx5X5aUi2zuZT7YR0jrA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@swc/helpers": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.19.tgz", + "integrity": "sha512-QamiFeIK3txNjgUTNppE6MiG3p7TdninpZu0E0PbqVh1a9FNLT2FRhisaa4NcaX52XVhA5l7Pk58Ft7Sqi/2sA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.8.0" + } + }, + "node_modules/@tailwindcss/node": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.2.1.tgz", + "integrity": "sha512-jlx6sLk4EOwO6hHe1oCGm1Q4AN/s0rSrTTPBGPM0/RQ6Uylwq17FuU8IeJJKEjtc6K6O07zsvP+gDO6MMWo7pg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/remapping": "^2.3.5", + "enhanced-resolve": "^5.19.0", + "jiti": "^2.6.1", + "lightningcss": "1.31.1", + "magic-string": "^0.30.21", + "source-map-js": "^1.2.1", + "tailwindcss": "4.2.1" + } + }, + "node_modules/@tailwindcss/oxide": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.2.1.tgz", + "integrity": "sha512-yv9jeEFWnjKCI6/T3Oq50yQEOqmpmpfzG1hcZsAOaXFQPfzWprWrlHSdGPEF3WQTi8zu8ohC9Mh9J470nT5pUw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 20" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.2.1", + "@tailwindcss/oxide-darwin-arm64": "4.2.1", + "@tailwindcss/oxide-darwin-x64": "4.2.1", + "@tailwindcss/oxide-freebsd-x64": "4.2.1", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.2.1", + "@tailwindcss/oxide-linux-arm64-gnu": "4.2.1", + "@tailwindcss/oxide-linux-arm64-musl": "4.2.1", + "@tailwindcss/oxide-linux-x64-gnu": "4.2.1", + "@tailwindcss/oxide-linux-x64-musl": "4.2.1", + "@tailwindcss/oxide-wasm32-wasi": "4.2.1", + "@tailwindcss/oxide-win32-arm64-msvc": "4.2.1", + "@tailwindcss/oxide-win32-x64-msvc": "4.2.1" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.2.1.tgz", + "integrity": "sha512-eZ7G1Zm5EC8OOKaesIKuw77jw++QJ2lL9N+dDpdQiAB/c/B2wDh0QPFHbkBVrXnwNugvrbJFk1gK2SsVjwWReg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.2.1.tgz", + "integrity": "sha512-q/LHkOstoJ7pI1J0q6djesLzRvQSIfEto148ppAd+BVQK0JYjQIFSK3JgYZJa+Yzi0DDa52ZsQx2rqytBnf8Hw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.2.1.tgz", + "integrity": "sha512-/f/ozlaXGY6QLbpvd/kFTro2l18f7dHKpB+ieXz+Cijl4Mt9AI2rTrpq7V+t04nK+j9XBQHnSMdeQRhbGyt6fw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.2.1.tgz", + "integrity": "sha512-5e/AkgYJT/cpbkys/OU2Ei2jdETCLlifwm7ogMC7/hksI2fC3iiq6OcXwjibcIjPung0kRtR3TxEITkqgn0TcA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.2.1.tgz", + "integrity": "sha512-Uny1EcVTTmerCKt/1ZuKTkb0x8ZaiuYucg2/kImO5A5Y/kBz41/+j0gxUZl+hTF3xkWpDmHX+TaWhOtba2Fyuw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.2.1.tgz", + "integrity": "sha512-CTrwomI+c7n6aSSQlsPL0roRiNMDQ/YzMD9EjcR+H4f0I1SQ8QqIuPnsVp7QgMkC1Qi8rtkekLkOFjo7OlEFRQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.2.1.tgz", + "integrity": "sha512-WZA0CHRL/SP1TRbA5mp9htsppSEkWuQ4KsSUumYQnyl8ZdT39ntwqmz4IUHGN6p4XdSlYfJwM4rRzZLShHsGAQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.2.1.tgz", + "integrity": "sha512-qMFzxI2YlBOLW5PhblzuSWlWfwLHaneBE0xHzLrBgNtqN6mWfs+qYbhryGSXQjFYB1Dzf5w+LN5qbUTPhW7Y5g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.2.1.tgz", + "integrity": "sha512-5r1X2FKnCMUPlXTWRYpHdPYUY6a1Ar/t7P24OuiEdEOmms5lyqjDRvVY1yy9Rmioh+AunQ0rWiOTPE8F9A3v5g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.2.1.tgz", + "integrity": "sha512-MGFB5cVPvshR85MTJkEvqDUnuNoysrsRxd6vnk1Lf2tbiqNlXpHYZqkqOQalydienEWOHHFyyuTSYRsLfxFJ2Q==", + "bundleDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" + ], + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.8.1", + "@emnapi/runtime": "^1.8.1", + "@emnapi/wasi-threads": "^1.1.0", + "@napi-rs/wasm-runtime": "^1.1.1", + "@tybys/wasm-util": "^0.10.1", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.2.1.tgz", + "integrity": "sha512-YlUEHRHBGnCMh4Nj4GnqQyBtsshUPdiNroZj8VPkvTZSoHsilRCwXcVKnG9kyi0ZFAS/3u+qKHBdDc81SADTRA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.2.1.tgz", + "integrity": "sha512-rbO34G5sMWWyrN/idLeVxAZgAKWrn5LiR3/I90Q9MkA67s6T1oB0xtTe+0heoBvHSpbU9Mk7i6uwJnpo4u21XQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/vite": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.2.1.tgz", + "integrity": "sha512-TBf2sJjYeb28jD2U/OhwdW0bbOsxkWPwQ7SrqGf9sVcoYwZj7rkXljroBO9wKBut9XnmQLXanuDUeqQK0lGg/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@tailwindcss/node": "4.2.1", + "@tailwindcss/oxide": "4.2.1", + "tailwindcss": "4.2.1" + }, + "peerDependencies": { + "vite": "^5.2.0 || ^6 || ^7" + } + }, + "node_modules/@tediousjs/connection-string": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@tediousjs/connection-string/-/connection-string-0.6.0.tgz", + "integrity": "sha512-GxlsW354Vi6QqbUgdPyQVcQjI7cZBdGV5vOYVYuCVDTylx2wl3WHR2HlhcxxHTrMigbelpXsdcZso+66uxPfow==", + "license": "MIT" + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", + "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.2" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "25.2.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.2.3.tgz", + "integrity": "sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ==", + "license": "MIT", + "dependencies": { + "undici-types": "~7.16.0" + } + }, + "node_modules/@types/prop-types": { + "version": "15.7.15", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz", + "integrity": "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "18.3.28", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.28.tgz", + "integrity": "sha512-z9VXpC7MWrhfWipitjNdgCauoMLRdIILQsAEV+ZesIzBq/oUlxk0m3ApZuMFCXdnS4U7KrI+l3WRUEGQ8K1QKw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.2.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.3.7", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz", + "integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^18.0.0" + } + }, + "node_modules/@types/readable-stream": { + "version": "4.0.23", + "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-4.0.23.tgz", + "integrity": "sha512-wwXrtQvbMHxCbBgjHaMGEmImFTQxxpfMOR/ZoQnXxB1woqkUbdLGFDgauo00Py9IudiaqSeiBiulSV9i6XIPig==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@typespec/ts-http-runtime": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@typespec/ts-http-runtime/-/ts-http-runtime-0.3.3.tgz", + "integrity": "sha512-91fp6CAAJSRtH5ja95T1FHSKa8aPW9/Zw6cta81jlZTUw/+Vq8jM/AfF/14h2b71wwR84JUTW/3Y8QPhDAawFA==", + "license": "MIT", + "dependencies": { + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@vitejs/plugin-react": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz", + "integrity": "sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.28.0", + "@babel/plugin-transform-react-jsx-self": "^7.27.1", + "@babel/plugin-transform-react-jsx-source": "^7.27.1", + "@rolldown/pluginutils": "1.0.0-beta.27", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.17.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" + } + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "license": "MIT", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/accepts": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", + "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", + "license": "MIT", + "dependencies": { + "mime-types": "^3.0.0", + "negotiator": "^1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/axios": { + "version": "1.13.5", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.5.tgz", + "integrity": "sha512-cz4ur7Vb0xS4/KUN0tPWe44eqxrIu31me+fbang3ijiNscE129POzipJJA6zniq2C/Z6sJCjMimjS8Lc/GAs8Q==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.11", + "form-data": "^4.0.5", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/baseline-browser-mapping": { + "version": "2.9.19", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.19.tgz", + "integrity": "sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } + }, + "node_modules/bl": { + "version": "6.1.6", + "resolved": "https://registry.npmjs.org/bl/-/bl-6.1.6.tgz", + "integrity": "sha512-jLsPgN/YSvPUg9UX0Kd73CXpm2Psg9FxMeCSXnk3WBO3CMT10JMwijubhGfHCnFu6TPn1ei3b975dxv7K2pWVg==", + "license": "MIT", + "dependencies": { + "@types/readable-stream": "^4.0.0", + "buffer": "^6.0.3", + "inherits": "^2.0.4", + "readable-stream": "^4.2.0" + } + }, + "node_modules/body-parser": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.2.tgz", + "integrity": "sha512-oP5VkATKlNwcgvxi0vM0p/D3n2C3EReYVX+DNYs5TjZFn/oQt2j+4sVJtSMr18pdRr8wjTcBl6LoV+FUwzPmNA==", + "license": "MIT", + "dependencies": { + "bytes": "^3.1.2", + "content-type": "^1.0.5", + "debug": "^4.4.3", + "http-errors": "^2.0.0", + "iconv-lite": "^0.7.0", + "on-finished": "^2.4.1", + "qs": "^6.14.1", + "raw-body": "^3.0.1", + "type-is": "^2.0.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/brotli": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/brotli/-/brotli-1.3.3.tgz", + "integrity": "sha512-oTKjJdShmDuGW94SyyaoQvAjf30dZaHnjJ8uAF+u2/vGJkJbJPJAT1gDiOJP5v1Zb6f9KEyW/1HpuaWIXtGHPg==", + "license": "MIT", + "dependencies": { + "base64-js": "^1.1.2" + } + }, + "node_modules/browserslist": { + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", + "license": "BSD-3-Clause" + }, + "node_modules/bundle-name": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", + "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", + "license": "MIT", + "dependencies": { + "run-applescript": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001770", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001770.tgz", + "integrity": "sha512-x/2CLQ1jHENRbHg5PSId2sXq1CIO1CISvwWAj027ltMVG2UNgW+w9oH2+HzgEIRFembL8bUlXtfbBHR1fCg2xw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/content-disposition": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.1.tgz", + "integrity": "sha512-oIXISMynqSqm241k6kcQ5UwttDILMK4BiurCfGEREw6+X9jkkpEe5T9FZaApyLGGOnFuyMWZpdolTXMtvEJ08Q==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", + "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", + "license": "MIT", + "engines": { + "node": ">=6.6.0" + } + }, + "node_modules/cors": { + "version": "2.8.6", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.6.tgz", + "integrity": "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==", + "license": "MIT", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/crypto-js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz", + "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==", + "license": "MIT" + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/default-browser": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.5.0.tgz", + "integrity": "sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw==", + "license": "MIT", + "dependencies": { + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.1.tgz", + "integrity": "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/dfa": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/dfa/-/dfa-1.2.0.tgz", + "integrity": "sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q==", + "license": "MIT" + }, + "node_modules/dotenv": { + "version": "17.3.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.3.1.tgz", + "integrity": "sha512-IO8C/dzEb6O3F9/twg6ZLXz164a2fhTnEWb95H23Dm4OuN+92NmEAlTrupP9VW6Jm3sO26tQlqyvyi4CsnY9GA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.286", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.286.tgz", + "integrity": "sha512-9tfDXhJ4RKFNerfjdCcZfufu49vg620741MNs26a9+bhLThdB+plgMeou98CAaHu/WATj2iHOOHTp1hWtABj2A==", + "dev": true, + "license": "ISC" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.20.0.tgz", + "integrity": "sha512-/ce7+jQ1PQ6rVXwe+jKEg5hW5ciicHwIQUagZkp6IufBoY3YDgdTTY1azVs0qoRgVmvsNB+rbjLJxDAeHHtwsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.3.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/express": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz", + "integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==", + "license": "MIT", + "dependencies": { + "accepts": "^2.0.0", + "body-parser": "^2.2.1", + "content-disposition": "^1.0.0", + "content-type": "^1.0.5", + "cookie": "^0.7.1", + "cookie-signature": "^1.2.1", + "debug": "^4.4.0", + "depd": "^2.0.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "finalhandler": "^2.1.0", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "merge-descriptors": "^2.0.0", + "mime-types": "^3.0.0", + "on-finished": "^2.4.1", + "once": "^1.4.0", + "parseurl": "^1.3.3", + "proxy-addr": "^2.0.7", + "qs": "^6.14.0", + "range-parser": "^1.2.1", + "router": "^2.2.0", + "send": "^1.1.0", + "serve-static": "^2.2.0", + "statuses": "^2.0.1", + "type-is": "^2.0.1", + "vary": "^1.1.2" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" + }, + "node_modules/finalhandler": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.1.tgz", + "integrity": "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "on-finished": "^2.4.1", + "parseurl": "^1.3.3", + "statuses": "^2.0.1" + }, + "engines": { + "node": ">= 18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/fontkit": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/fontkit/-/fontkit-2.0.4.tgz", + "integrity": "sha512-syetQadaUEDNdxdugga9CpEYVaQIxOwk7GlwZWWZ19//qW4zE5bknOKeMBDYAASwnpaSHKJITRLMF9m1fp3s6g==", + "license": "MIT", + "dependencies": { + "@swc/helpers": "^0.5.12", + "brotli": "^1.3.2", + "clone": "^2.1.2", + "dfa": "^1.2.0", + "fast-deep-equal": "^3.1.3", + "restructure": "^3.0.0", + "tiny-inflate": "^1.0.3", + "unicode-properties": "^1.4.0", + "unicode-trie": "^2.0.0" + } + }, + "node_modules/form-data": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/form-data/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/form-data/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", + "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/iconv-lite": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz", + "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-promise": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", + "license": "MIT" + }, + "node_modules/is-wsl": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.1.tgz", + "integrity": "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==", + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jiti": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", + "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/jpeg-exif": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/jpeg-exif/-/jpeg-exif-1.1.4.tgz", + "integrity": "sha512-a+bKEcCjtuW5WTdgeXFzswSrdqi0jk4XlEtZlx5A94wCoBpFjfFTbo/Tra5SpNCl/YFZPvcV1dJc+TAYeg6ROQ==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "license": "MIT" + }, + "node_modules/js-md4": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/js-md4/-/js-md4-0.3.2.tgz", + "integrity": "sha512-/GDnfQYsltsjRswQhN9fhv3EMw2sCpUdrdxyWDOUK7eyD++r3gRhzgiQgc/x4MAv2i1iuQ4lxO5mvqM3vj4bwA==", + "license": "MIT" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonwebtoken": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.3.tgz", + "integrity": "sha512-MT/xP0CrubFRNLNKvxJ2BYfy53Zkm++5bX9dtuPbqAeQpTVe0MQTFhao8+Cp//EmJp244xt6Drw/GVEGCUj40g==", + "license": "MIT", + "dependencies": { + "jws": "^4.0.1", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + } + }, + "node_modules/jsonwebtoken/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jwa": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.1.tgz", + "integrity": "sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==", + "license": "MIT", + "dependencies": { + "buffer-equal-constant-time": "^1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.1.tgz", + "integrity": "sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA==", + "license": "MIT", + "dependencies": { + "jwa": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/lightningcss": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.31.1.tgz", + "integrity": "sha512-l51N2r93WmGUye3WuFoN5k10zyvrVs0qfKBhyC5ogUQ6Ew6JUSswh78mbSO+IU3nTWsyOArqPCcShdQSadghBQ==", + "dev": true, + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.31.1", + "lightningcss-darwin-arm64": "1.31.1", + "lightningcss-darwin-x64": "1.31.1", + "lightningcss-freebsd-x64": "1.31.1", + "lightningcss-linux-arm-gnueabihf": "1.31.1", + "lightningcss-linux-arm64-gnu": "1.31.1", + "lightningcss-linux-arm64-musl": "1.31.1", + "lightningcss-linux-x64-gnu": "1.31.1", + "lightningcss-linux-x64-musl": "1.31.1", + "lightningcss-win32-arm64-msvc": "1.31.1", + "lightningcss-win32-x64-msvc": "1.31.1" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.31.1.tgz", + "integrity": "sha512-HXJF3x8w9nQ4jbXRiNppBCqeZPIAfUo8zE/kOEGbW5NZvGc/K7nMxbhIr+YlFlHW5mpbg/YFPdbnCh1wAXCKFg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.31.1.tgz", + "integrity": "sha512-02uTEqf3vIfNMq3h/z2cJfcOXnQ0GRwQrkmPafhueLb2h7mqEidiCzkE4gBMEH65abHRiQvhdcQ+aP0D0g67sg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.31.1.tgz", + "integrity": "sha512-1ObhyoCY+tGxtsz1lSx5NXCj3nirk0Y0kB/g8B8DT+sSx4G9djitg9ejFnjb3gJNWo7qXH4DIy2SUHvpoFwfTA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.31.1.tgz", + "integrity": "sha512-1RINmQKAItO6ISxYgPwszQE1BrsVU5aB45ho6O42mu96UiZBxEXsuQ7cJW4zs4CEodPUioj/QrXW1r9pLUM74A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.31.1.tgz", + "integrity": "sha512-OOCm2//MZJ87CdDK62rZIu+aw9gBv4azMJuA8/KB74wmfS3lnC4yoPHm0uXZ/dvNNHmnZnB8XLAZzObeG0nS1g==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.31.1.tgz", + "integrity": "sha512-WKyLWztD71rTnou4xAD5kQT+982wvca7E6QoLpoawZ1gP9JM0GJj4Tp5jMUh9B3AitHbRZ2/H3W5xQmdEOUlLg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.31.1.tgz", + "integrity": "sha512-mVZ7Pg2zIbe3XlNbZJdjs86YViQFoJSpc41CbVmKBPiGmC4YrfeOyz65ms2qpAobVd7WQsbW4PdsSJEMymyIMg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.31.1.tgz", + "integrity": "sha512-xGlFWRMl+0KvUhgySdIaReQdB4FNudfUTARn7q0hh/V67PVGCs3ADFjw+6++kG1RNd0zdGRlEKa+T13/tQjPMA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.31.1.tgz", + "integrity": "sha512-eowF8PrKHw9LpoZii5tdZwnBcYDxRw2rRCyvAXLi34iyeYfqCQNA9rmUM0ce62NlPhCvof1+9ivRaTY6pSKDaA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.31.1.tgz", + "integrity": "sha512-aJReEbSEQzx1uBlQizAOBSjcmr9dCdL3XuC/6HLXAxmtErsj2ICo5yYggg1qOODQMtnjNQv2UHb9NpOuFtYe4w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.31.1.tgz", + "integrity": "sha512-I9aiFrbd7oYHwlnQDqr1Roz+fTz61oDDJX7n9tYF9FJymH1cIN1DtKw3iYt6b8WZgEjoNwVSncwF4wx/ZedMhw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/linebreak": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/linebreak/-/linebreak-1.1.0.tgz", + "integrity": "sha512-MHp03UImeVhB7XZtjd0E4n6+3xr5Dq/9xI/5FptGk5FrbDR3zagPa2DS6U8ks/3HjbKWG9Q1M2ufOzxV2qLYSQ==", + "license": "MIT", + "dependencies": { + "base64-js": "0.0.8", + "unicode-trie": "^2.0.0" + } + }, + "node_modules/linebreak/node_modules/base64-js": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz", + "integrity": "sha512-3XSA2cR/h/73EzlXXdU6YNycmYI7+kicTxks4eJg2g39biHR84slg2+des+p7iHYhbRg/udIS4TD53WabcOUkw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", + "license": "MIT" + }, + "node_modules/lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", + "license": "MIT" + }, + "node_modules/lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", + "license": "MIT" + }, + "node_modules/lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==", + "license": "MIT" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "license": "MIT" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", + "license": "MIT" + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "license": "MIT" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/lucide-react": { + "version": "0.577.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.577.0.tgz", + "integrity": "sha512-4LjoFv2eEPwYDPg/CUdBJQSDfPyzXCRrVW1X7jrx/trgxnxkHFjnVZINbzvzxjN70dxychOfg+FTYwBiS3pQ5A==", + "dev": true, + "license": "ISC", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/media-typer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", + "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/merge-descriptors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", + "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/mssql": { + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/mssql/-/mssql-12.2.0.tgz", + "integrity": "sha512-lwwLHAqcWOz8okjboQpIEp5OghUFGJhuuQZS3+WF1ZXbaEaCEGKOfiQET3w/5Xz0tyZfDNCQVCm9wp5GwXut6g==", + "license": "MIT", + "dependencies": { + "@tediousjs/connection-string": "^0.6.0", + "commander": "^11.0.0", + "debug": "^4.3.3", + "tarn": "^3.0.2", + "tedious": "^19.0.0" + }, + "bin": { + "mssql": "bin/mssql" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/native-duplexpair": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/native-duplexpair/-/native-duplexpair-1.0.0.tgz", + "integrity": "sha512-E7QQoM+3jvNtlmyfqRZ0/U75VFgCls+fSkbml2MpgWkWyz3ox8Y58gNhfuziuQYGNNQAbFZJQck55LHCnCK6CA==", + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node-releases": { + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", + "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/open": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/open/-/open-10.2.0.tgz", + "integrity": "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==", + "license": "MIT", + "dependencies": { + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "wsl-utils": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "license": "(MIT AND Zlib)" + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-to-regexp": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.3.0.tgz", + "integrity": "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/pdf-lib": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/pdf-lib/-/pdf-lib-1.17.1.tgz", + "integrity": "sha512-V/mpyJAoTsN4cnP31vc0wfNA1+p20evqqnap0KLoRUN0Yk/p3wN52DOEsL4oBFcLdb76hlpKPtzJIgo67j/XLw==", + "license": "MIT", + "dependencies": { + "@pdf-lib/standard-fonts": "^1.0.0", + "@pdf-lib/upng": "^1.0.1", + "pako": "^1.0.11", + "tslib": "^1.11.1" + } + }, + "node_modules/pdf-lib/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" + }, + "node_modules/pdfkit": { + "version": "0.17.2", + "resolved": "https://registry.npmjs.org/pdfkit/-/pdfkit-0.17.2.tgz", + "integrity": "sha512-UnwF5fXy08f0dnp4jchFYAROKMNTaPqb/xgR8GtCzIcqoTnbOqtp3bwKvO4688oHI6vzEEs8Q6vqqEnC5IUELw==", + "license": "MIT", + "dependencies": { + "crypto-js": "^4.2.0", + "fontkit": "^2.0.4", + "jpeg-exif": "^1.1.4", + "linebreak": "^1.1.0", + "png-js": "^1.0.0" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/png-js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/png-js/-/png-js-1.0.0.tgz", + "integrity": "sha512-k+YsbhpA9e+EFfKjTCH3VW6aoKlyNYI6NYdTfDL4CIvFnvsuO84ttonmZE7rc+v23SLTH8XX+5w/Ak9v0xGY4g==" + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" + }, + "node_modules/qr.js": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/qr.js/-/qr.js-0.0.0.tgz", + "integrity": "sha512-c4iYnWb+k2E+vYpRimHqSu575b1/wKl4XFeJGpFmrJQz5I88v9aY2czh7s0w36srfCM1sXgC/xpoJz5dJfq+OQ==", + "license": "MIT" + }, + "node_modules/qs": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.0.tgz", + "integrity": "sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.2.tgz", + "integrity": "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==", + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.7.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "license": "MIT", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" + }, + "node_modules/react-qr-code": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/react-qr-code/-/react-qr-code-2.0.20.tgz", + "integrity": "sha512-I7hTe6LBRMU35gQ2Ypsk2LIXZN6iq6Ad9axDj2cuHO+mtbtGIMC1gl2mhwDtPYUX/a7zHrGhsAt6Kifil2ujsA==", + "license": "MIT", + "dependencies": { + "prop-types": "^15.8.1", + "qr.js": "0.0.0" + }, + "peerDependencies": { + "react": "*" + } + }, + "node_modules/react-refresh": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", + "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-router": { + "version": "6.30.3", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.30.3.tgz", + "integrity": "sha512-XRnlbKMTmktBkjCLE8/XcZFlnHvr2Ltdr1eJX4idL55/9BbORzyZEaIkBFDhFGCEWBBItsVrDxwx3gnisMitdw==", + "license": "MIT", + "dependencies": { + "@remix-run/router": "1.23.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/react-router-dom": { + "version": "6.30.3", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.30.3.tgz", + "integrity": "sha512-pxPcv1AczD4vso7G4Z3TKcvlxK7g7TNt3/FNGMhfqyntocvYKj+GCatfigGDjbLozC4baguJ0ReCigoDJXb0ag==", + "license": "MIT", + "dependencies": { + "@remix-run/router": "1.23.2", + "react-router": "6.30.3" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, + "node_modules/readable-stream": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", + "license": "MIT", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/restructure": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/restructure/-/restructure-3.0.2.tgz", + "integrity": "sha512-gSfoiOEA0VPE6Tukkrr7I0RBdE0s7H1eFCDBk05l1KIQT1UIKNc5JZy6jdyW6eYH3aR3g5b3PuL77rq0hvwtAw==", + "license": "MIT" + }, + "node_modules/rollup": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.57.1.tgz", + "integrity": "sha512-oQL6lgK3e2QZeQ7gcgIkS2YZPg5slw37hYufJ3edKlfQSGGm8ICoxswK15ntSzF/a8+h7ekRy7k7oWc3BQ7y8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.57.1", + "@rollup/rollup-android-arm64": "4.57.1", + "@rollup/rollup-darwin-arm64": "4.57.1", + "@rollup/rollup-darwin-x64": "4.57.1", + "@rollup/rollup-freebsd-arm64": "4.57.1", + "@rollup/rollup-freebsd-x64": "4.57.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.57.1", + "@rollup/rollup-linux-arm-musleabihf": "4.57.1", + "@rollup/rollup-linux-arm64-gnu": "4.57.1", + "@rollup/rollup-linux-arm64-musl": "4.57.1", + "@rollup/rollup-linux-loong64-gnu": "4.57.1", + "@rollup/rollup-linux-loong64-musl": "4.57.1", + "@rollup/rollup-linux-ppc64-gnu": "4.57.1", + "@rollup/rollup-linux-ppc64-musl": "4.57.1", + "@rollup/rollup-linux-riscv64-gnu": "4.57.1", + "@rollup/rollup-linux-riscv64-musl": "4.57.1", + "@rollup/rollup-linux-s390x-gnu": "4.57.1", + "@rollup/rollup-linux-x64-gnu": "4.57.1", + "@rollup/rollup-linux-x64-musl": "4.57.1", + "@rollup/rollup-openbsd-x64": "4.57.1", + "@rollup/rollup-openharmony-arm64": "4.57.1", + "@rollup/rollup-win32-arm64-msvc": "4.57.1", + "@rollup/rollup-win32-ia32-msvc": "4.57.1", + "@rollup/rollup-win32-x64-gnu": "4.57.1", + "@rollup/rollup-win32-x64-msvc": "4.57.1", + "fsevents": "~2.3.2" + } + }, + "node_modules/router": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", + "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "depd": "^2.0.0", + "is-promise": "^4.0.0", + "parseurl": "^1.3.3", + "path-to-regexp": "^8.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/run-applescript": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.1.0.tgz", + "integrity": "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/send": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/send/-/send-1.2.1.tgz", + "integrity": "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.3", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "fresh": "^2.0.0", + "http-errors": "^2.0.1", + "mime-types": "^3.0.2", + "ms": "^2.1.3", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "statuses": "^2.0.2" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/serve-static": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.1.tgz", + "integrity": "sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==", + "license": "MIT", + "dependencies": { + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "parseurl": "^1.3.3", + "send": "^1.2.0" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", + "license": "BSD-3-Clause" + }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/tailwindcss": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.2.1.tgz", + "integrity": "sha512-/tBrSQ36vCleJkAOsy9kbNTgaxvGbyOamC30PRePTQe/o1MFwEKHQk4Cn7BNGaPtjp+PuUrByJehM1hgxfq4sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/tapable": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", + "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/tarn": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/tarn/-/tarn-3.0.2.tgz", + "integrity": "sha512-51LAVKUSZSVfI05vjPESNc5vwqqZpbXCsU+/+wxlOrUjk2SnFTt97v9ZgQrD4YmxYW1Px6w2KjaDitCfkvgxMQ==", + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/tedious": { + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/tedious/-/tedious-19.2.1.tgz", + "integrity": "sha512-pk1Q16Yl62iocuQB+RWbg6rFUFkIyzqOFQ6NfysCltRvQqKwfurgj8v/f2X+CKvDhSL4IJ0cCOfCHDg9PWEEYA==", + "license": "MIT", + "dependencies": { + "@azure/core-auth": "^1.7.2", + "@azure/identity": "^4.2.1", + "@azure/keyvault-keys": "^4.4.0", + "@js-joda/core": "^5.6.5", + "@types/node": ">=18", + "bl": "^6.1.4", + "iconv-lite": "^0.7.0", + "js-md4": "^0.3.2", + "native-duplexpair": "^1.0.0", + "sprintf-js": "^1.1.3" + }, + "engines": { + "node": ">=18.17" + } + }, + "node_modules/tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", + "license": "MIT" + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/type-is": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", + "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", + "license": "MIT", + "dependencies": { + "content-type": "^1.0.5", + "media-typer": "^1.1.0", + "mime-types": "^3.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "license": "MIT" + }, + "node_modules/unicode-properties": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/unicode-properties/-/unicode-properties-1.4.1.tgz", + "integrity": "sha512-CLjCCLQ6UuMxWnbIylkisbRj31qxHPAurvena/0iwSVbQ2G1VY5/HjV0IRabOEbDHlzZlRdCrD4NhB0JtU40Pg==", + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.0", + "unicode-trie": "^2.0.0" + } + }, + "node_modules/unicode-trie": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-2.0.0.tgz", + "integrity": "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==", + "license": "MIT", + "dependencies": { + "pako": "^0.2.5", + "tiny-inflate": "^1.0.0" + } + }, + "node_modules/unicode-trie/node_modules/pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==", + "license": "MIT" + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vite": { + "version": "5.4.21", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.21.tgz", + "integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + }, + "node_modules/wsl-utils": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.1.0.tgz", + "integrity": "sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==", + "license": "MIT", + "dependencies": { + "is-wsl": "^3.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + } + } +} diff --git a/ndf/package.json b/ndf/package.json new file mode 100644 index 0000000..212ef49 --- /dev/null +++ b/ndf/package.json @@ -0,0 +1,36 @@ +{ + "name": "ndf", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc && vite build", + "preview": "vite preview" + }, + "dependencies": { + "@azure/msal-node": "^5.0.4", + "axios": "^1.13.5", + "cors": "^2.8.6", + "dotenv": "^17.3.1", + "express": "^5.2.1", + "jsonwebtoken": "^9.0.3", + "mssql": "^12.2.0", + "pdf-lib": "^1.17.1", + "pdfkit": "^0.17.2", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "react-qr-code": "^2.0.20", + "react-router-dom": "^6.26.2" + }, + "devDependencies": { + "@tailwindcss/vite": "^4.2.1", + "@types/react": "^18.3.1", + "@types/react-dom": "^18.3.0", + "@vitejs/plugin-react": "^4.7.0", + "lucide-react": "^0.577.0", + "tailwindcss": "^4.2.1", + "typescript": "^5.5.3", + "vite": "^5.4.2" + } +} diff --git a/ndf/public/backend/.env b/ndf/public/backend/.env new file mode 100644 index 0000000..327518c --- /dev/null +++ b/ndf/public/backend/.env @@ -0,0 +1,33 @@ +AZURE_CLIENT_ID=51a2c5b3-4cea-4752-93d0-bc59ea33be29 +AZURE_CLIENT_SECRET=uPD8Q~CJbl26DDrRWRgKXvvqwVVm0DtRhzkEqcyT +AZURE_TENANT_ID=9840a2a0-6ae1-4688-b03d-d2ec291be0f9 +JWT_SECRET=un_secret_aleatoire_securise +AZURE_GROUP_ID=c1ea877c-6bca-4f47-bfad-f223640813a0 + + +DB_SERVER=192.168.0.3 +DB_USER=ndf_app +DB_PASSWORD=P@ssw0rd2026! +DB_NAME=NDF +DB_PORT=1433 +RESPONSABLE_PAIEMENT_EMAIL=aagromayor@ensup.eu +MAIL_FROM=ndfnoreply@ensup.eu +OAUTH_REDIRECT_URI=https://myndf.ensup-adm.net/api/auth/callback + +PORT=3024 + + + +SHAREPOINT_SITE_ID=ensup.sharepoint.com,d94abc08-28eb-47ce-8e12-fbbd6f16b9ea,a052c325-d33a-40e3-9e7b-7896a2ea7ab7 +SHAREPOINT_DRIVE_ID=b!CLxK2esozkeOEvu9bxa56iXDUqA60-NAnnt4lqLqerfjKRsFHmtxSbj0s5KCssZK + +IBAN_ENCRYPTION_KEY=a3f8c2d1e4b7096f5a2e1d8c3b4f7a90e2d1c8b5f3a6e9d0c7b4a1f8e5d2c9b6 +IBAN_HASH_SALT=b4c7e2a1f9d3086e5c4a2b8f1e7d3c9a + +COMPANY_NAME=ENSUP GROUP +COMPANY_IBAN=FR76XXXXXXXXXXXXXXXXXXXXXXXXX +COMPANY_BIC=BNPAFRPP +COMPANY_ADDRESS=1 RUE DE LA PAIX +COMPANY_CP=75009 +COMPANY_VILLE=PARIS 09 +COMPANY_PAYS=FR \ No newline at end of file diff --git a/ndf/public/backend/DockerfileNDF.backend b/ndf/public/backend/DockerfileNDF.backend new file mode 100644 index 0000000..9ffedc3 --- /dev/null +++ b/ndf/public/backend/DockerfileNDF.backend @@ -0,0 +1,18 @@ +FROM node:18-alpine + +WORKDIR /app + +# Copy package files +COPY package*.json ./ + +# Install dependencies (including pdfkit) +RUN npm ci --only=production + +# Copy application code +COPY . . + +# Expose port +EXPOSE 3024 + +# Start the server +CMD ["node", "server.js"] \ No newline at end of file diff --git a/ndf/public/backend/msalConfig.ts b/ndf/public/backend/msalConfig.ts new file mode 100644 index 0000000..e07644b --- /dev/null +++ b/ndf/public/backend/msalConfig.ts @@ -0,0 +1,27 @@ +require('dotenv').config(); + +const msalConfig = { + auth: { + clientId: process.env.AZURE_CLIENT_ID, + authority: `https://login.microsoftonline.com/${process.env.AZURE_TENANT_ID}`, + clientSecret: process.env.AZURE_CLIENT_SECRET, + }, + system: { + loggerOptions: { + loggerCallback(loglevel, message, containsPii) { + console.log(message); + }, + piiLoggingEnabled: false, + logLevel: 'Info', + }, + }, +}; + +const REDIRECT_URI = process.env.AZURE_REDIRECT_URI; +const POST_LOGOUT_REDIRECT_URI = process.env.FRONTEND_URL; + +module.exports = { + msalConfig, + REDIRECT_URI, + POST_LOGOUT_REDIRECT_URI, +}; \ No newline at end of file diff --git a/ndf/public/backend/ndfPdfGenerator.js b/ndf/public/backend/ndfPdfGenerator.js new file mode 100644 index 0000000..3eb310c --- /dev/null +++ b/ndf/public/backend/ndfPdfGenerator.js @@ -0,0 +1,485 @@ +// ══════════════════════════════════════════════════════════════════════════════ +// ndfPdfGenerator.js — v4 (pdfkit pur, 0% Python) +// Génère la fiche Note de Frais au format exact du modèle ENSUP +// avec signatures électroniques intégrées. +// v4 : Tarif km et Sous-total km intégrés dans le tableau après colonne Km +// +// Prérequis : pdfkit déjà installé (npm install pdfkit) +// Copier dans le même dossier que server.js. +// ══════════════════════════════════════════════════════════════════════════════ + +import PDFDocument from 'pdfkit'; + +// ───────────────────────────────────────────────────────────────────────────── +// CONSTANTES +// ───────────────────────────────────────────────────────────────────────────── + + +const C = { + blue: '#1B4F8A', header: '#2563EB', + totalBg: '#DBEAFE', altRow: '#EFF6FF', + amountBg: '#EEF2FF', greenBg: '#F0FDF4', + greenText: '#15803D', headerRow: '#E2E8F0', + border: '#CBD5E1', dark: '#0F172A', + grey: '#64748B', light: '#94A3B8', + white: '#FFFFFF', + collabBg: '#F0FDF4', collabBorder: '#A7F3D0', collabText: '#059669', + validBg: '#EEF2FF', validBorder: '#C7D2FE', validText: '#4F46E5', + refusBg: '#FEF2F2', refusBorder: '#FCA5A5', refusText: '#DC2626', + waitBg: '#F8FAFC', waitBorder: '#E2E8F0', + kmBg: '#F5F3FF', // fond violet clair pour colonne tarif km + kmBorder: '#DDD6FE', // bordure violet clair + kmText: '#7C3AED', // texte violet + kmTotalBg: '#EDE9FE', // fond sous-total km +}; + +// Colonnes tableau (largeurs en points) +// ── v4 : 'tarifKm' et 'sousKm' insérées après 'km' ── +const COLS = [ + { key: 'num', label: 'N°pièce', w: 34, align: 'center' }, + { key: 'date', label: 'Date', w: 58, align: 'left' }, + { key: 'nature', label: 'Nature', w: 70, align: 'left' }, + { key: 'lib', label: 'Libellé', w: 140, align: 'left' }, + { key: 'km', label: 'Km', w: 36, align: 'right' }, + { key: 'tarifKm', label: 'Tarif €/km', w: 46, align: 'right' }, + { key: 'sousKm', label: 'S/Total Km', w: 50, align: 'right' }, + { key: 'ttc', label: 'TTC', w: 50, align: 'right' }, + { key: 'tva21', label: 'TVA 2,1%', w: 46, align: 'right' }, + { key: 'tva55', label: 'TVA 5,5%', w: 46, align: 'right' }, + { key: 'tva10', label: 'TVA 10%', w: 46, align: 'right' }, + { key: 'tva20', label: 'TVA 20%', w: 46, align: 'right' }, + { key: 'ht', label: 'HT', w: 50, align: 'right' }, +]; + +// Colonnes km (pour coloration spéciale) +const KM_COLS = ['km', 'tarifKm', 'sousKm']; + +const MARGIN = 30; +const ROW_H = 16; +const HEAD_H = 20; +const PAGE_W = 841.89; // A4 largeur +const PAGE_H = 595.28; // A4 hauteur + +// ───────────────────────────────────────────────────────────────────────────── +// HELPERS +// ───────────────────────────────────────────────────────────────────────────── +const f2 = v => (parseFloat(v) || 0).toFixed(2); +const f3 = v => (parseFloat(v) || 0).toFixed(3); + +function fmtDate(s) { + if (!s) return ''; + try { + const d = new Date(s); + if (isNaN(d)) return String(s).slice(0, 10); + return `${String(d.getDate()).padStart(2, '0')}/${String(d.getMonth() + 1).padStart(2, '0')}/${d.getFullYear()}`; + } catch { return ''; } +} + +function fmtDateTime(s) { + if (!s) return ''; + try { + const d = new Date(s); + if (isNaN(d)) return String(s).slice(0, 16); + return d.toLocaleString('fr-FR', { + timeZone: 'Europe/Paris', day: '2-digit', month: '2-digit', + year: 'numeric', hour: '2-digit', minute: '2-digit', + }); + } catch { return ''; } +} + +function drawRect(doc, x, y, w, h, fill, stroke = null, lw = 0.3) { + doc.save(); + if (stroke) { + doc.lineWidth(lw).rect(x, y, w, h).fillAndStroke(fill, stroke); + } else { + doc.rect(x, y, w, h).fill(fill); + } + doc.restore(); +} + +function drawCellText(doc, text, x, y, w, h, font, size, color, align, padX = 3) { + text = String(text ?? ''); + const maxW = w - padX * 2; + doc.save().font(font).fontSize(size).fillColor(color); + while (text.length > 1 && doc.widthOfString(text) > maxW) text = text.slice(0, -1); + const ty = y + h * 0.28; + if (align === 'right') { + doc.text(text, x + padX, ty, { width: maxW, align: 'right', lineBreak: false }); + } else if (align === 'center') { + doc.text(text, x + padX, ty, { width: maxW, align: 'center', lineBreak: false }); + } else { + doc.text(text, x + padX, ty, { width: maxW, align: 'left', lineBreak: false }); + } + doc.restore(); +} + +function drawVLine(doc, x, y1, y2) { + doc.save().strokeColor(C.border).lineWidth(0.4) + .moveTo(x, y1).lineTo(x, y2).stroke().restore(); +} + +function drawHLine(doc, x1, x2, y) { + doc.save().strokeColor(C.border).lineWidth(0.3) + .moveTo(x1, y).lineTo(x2, y).stroke().restore(); +} + +// ───────────────────────────────────────────────────────────────────────────── +// preparerLignesPDF — convertit lignes formulaire → lignes PDF +// ───────────────────────────────────────────────────────────────────────────── +export function preparerLignesPDF(lignesParsed, tarifKm = TARIF_KM_DEFAULT) { + return (lignesParsed || []).map((l, idx) => { + const isKm = (l.categorie || '').toLowerCase().includes('kilom'); + const km = parseFloat(l.km) || 0; + const ttc = isKm ? 0 : (parseFloat(l.montant) || 0); + const taux = parseFloat(l.tauxTVA) || 0; + let ht = ttc, tva21 = 0, tva55 = 0, tva10 = 0, tva20 = 0; + + if (!isKm && taux > 0 && ttc > 0) { + ht = parseFloat((ttc / (1 + taux / 100)).toFixed(2)); + const tvaM = parseFloat((ttc - ht).toFixed(2)); + if (Math.abs(taux - 2.1) < 0.01) tva21 = tvaM; + else if (Math.abs(taux - 5.5) < 0.01) tva55 = tvaM; + else if (Math.abs(taux - 10) < 0.01) tva10 = tvaM; + else if (Math.abs(taux - 20) < 0.01) tva20 = tvaM; + } + + const indemniteKm = isKm ? parseFloat((km * tarifKm).toFixed(2)) : 0; + + return { + numPiece: idx + 1, + date: l.date, + nature: l.categorie || '', + libelle: l.libelle || '', + km: isKm ? km : 0, + tarifKmVal: isKm ? tarifKm : 0, // ← valeur numérique tarif + montantTTC: isKm ? 0 : ttc, + tva21, tva55, tva10, tva20, + montantHT: isKm ? 0 : ht, + indemniteKm, + }; + }); +} + +// ───────────────────────────────────────────────────────────────────────────── +// generateFicheSignee — point d'entrée appelé depuis server.js +// ───────────────────────────────────────────────────────────────────────────── +export async function generateFicheSignee(note, signatures = []) { + const tarifKm = parseFloat(note.tarifKm) || TARIF_KM_DEFAULT; + + let lignesPDF = []; + if (note.lignesJson) { + try { + const parsed = typeof note.lignesJson === 'string' + ? JSON.parse(note.lignesJson) : note.lignesJson; + lignesPDF = preparerLignesPDF(parsed, tarifKm); + } catch (e) { console.error('ndfPdfGenerator — Parse lignesJson:', e.message); } + } else if (note.lignes && Array.isArray(note.lignes)) { + lignesPDF = preparerLignesPDF(note.lignes, tarifKm); + } else { + const isKm = !!(note.km && parseFloat(note.km) > 0); + const km = isKm ? parseFloat(note.km) : 0; + lignesPDF = [{ + numPiece: 1, date: note.date, nature: note.categorie || '', libelle: note.libelle || '', + km: isKm ? km : 0, + tarifKmVal: isKm ? tarifKm : 0, + montantTTC: isKm ? 0 : parseFloat(note.montant || 0), + tva21: 0, tva55: 0, tva10: 0, tva20: 0, + montantHT: isKm ? 0 : parseFloat(note.montantHT || note.montant || 0), + indemniteKm: isKm ? parseFloat((km * tarifKm).toFixed(2)) : 0, + }]; + } + + let mois = note.mois || ''; + if (!mois && note.date) { + const d = new Date(note.date); + const m = d.toLocaleDateString('fr-FR', { month: 'long', year: 'numeric' }); + mois = m.charAt(0).toUpperCase() + m.slice(1); + } + + return _buildPDF({ + reference: note.reference || '', + nomPrenom: note.nomPrenom || note.collaborateur || '', + mois, + departement: note.departement || '', + lignes: lignesPDF, + tarifKm, + signatures, + statut: note.statut || 'enattente', + }); +} + +// ───────────────────────────────────────────────────────────────────────────── +// _buildPDF — génère le Buffer PDF +// ───────────────────────────────────────────────────────────────────────────── +function _buildPDF({ reference, nomPrenom, mois, departement, lignes, tarifKm, signatures }) { + return new Promise((resolve, reject) => { + const doc = new PDFDocument({ + size: 'A4', + layout: 'landscape', + margin: 0, + info: { + Title: `Note de Frais ${reference}`, + Author: `ENSUP — ${nomPrenom}`, + Subject: `NDF ${reference}`, + Creator: 'NDF ENSUP v4', + }, + }); + + const chunks = []; + doc.on('data', c => chunks.push(c)); + doc.on('end', () => resolve(Buffer.concat(chunks))); + doc.on('error', e => reject(e)); + + // ── Positions X colonnes ───────────────────────────────────── + const colX = {}; + let cx = MARGIN; + for (const col of COLS) { colX[col.key] = cx; cx += col.w; } + const tableW = cx - MARGIN; + + // ── 2. BANDEAU ─────────────────────────────────────────────── + const bandY = 44; + drawRect(doc, MARGIN, bandY, tableW, 18, C.header); + doc.font('Helvetica-Bold').fontSize(11).fillColor(C.white) + .text('NOTE DE FRAIS', MARGIN, bandY + 3.5, { width: tableW, align: 'center', lineBreak: false }); + + // ── 3. INFOS COLLAB ────────────────────────────────────────── + const infoY = bandY + 23; + doc.font('Helvetica-Bold').fontSize(9).fillColor(C.dark) + .text(`NOM : ${nomPrenom}`, MARGIN, infoY, { lineBreak: false }); + if (departement) + doc.font('Helvetica').fontSize(8).fillColor(C.grey) + .text(`Service : ${departement}`, MARGIN + 200, infoY, { lineBreak: false }); + doc.font('Helvetica').fontSize(8).fillColor(C.grey) + .text('Repas, déplacement, autres', MARGIN + 380, infoY, { lineBreak: false }); + doc.font('Helvetica-Bold').fontSize(9).fillColor(C.dark) + .text(`Mois : ${mois}`, MARGIN, infoY + 13, { lineBreak: false }); + + // ── 4. EN-TÊTE COLONNES ────────────────────────────────────── + const tableTop = infoY + 27; + + // Fond de base + drawRect(doc, MARGIN, tableTop, tableW, HEAD_H, C.headerRow, C.border, 0.5); + + // Fond spécial violet pour les 3 colonnes km dans l'en-tête + for (const key of KM_COLS) { + drawRect(doc, colX[key], tableTop, COLS.find(c => c.key === key).w, HEAD_H, C.kmBg); + } + + for (const col of COLS) { + const isKmCol = KM_COLS.includes(col.key); + drawCellText( + doc, col.label, + colX[col.key], tableTop, col.w, HEAD_H, + 'Helvetica-Bold', isKmCol ? 6.5 : 7, + isKmCol ? C.kmText : C.dark, + col.align + ); + drawVLine(doc, colX[col.key], tableTop, tableTop + HEAD_H); + } + drawVLine(doc, MARGIN + tableW, tableTop, tableTop + HEAD_H); + drawHLine(doc, MARGIN, MARGIN + tableW, tableTop); + drawHLine(doc, MARGIN, MARGIN + tableW, tableTop + HEAD_H); + + // ── 5. LIGNES DONNÉES ──────────────────────────────────────── + const MIN_ROWS = 18; + const totalRows = Math.max(MIN_ROWS, lignes.length); + let y = tableTop + HEAD_H; + let totKm = 0, totTTC = 0, totT21 = 0, totT55 = 0, totT10 = 0, totT20 = 0, totHT = 0, totSousKm = 0; + + for (let i = 0; i < totalRows; i++) { + const lig = lignes[i] || null; + // Fond de ligne alterné + drawRect(doc, MARGIN, y, tableW, ROW_H, i % 2 === 1 ? C.altRow : C.white); + + // Fond violet léger sur les 3 colonnes km (toutes lignes) + for (const key of KM_COLS) { + const col = COLS.find(c => c.key === key); + drawRect(doc, colX[key], y, col.w, ROW_H, + i % 2 === 1 ? '#F3F0FF' : '#FAF8FF'); + } + + if (lig) { + const km = parseFloat(lig.km) || 0; + const tarif = parseFloat(lig.tarifKmVal) || 0; + const sousKm = parseFloat(lig.indemniteKm) || 0; + const ttc = parseFloat(lig.montantTTC) || 0; + const t21 = parseFloat(lig.tva21) || 0; + const t55 = parseFloat(lig.tva55) || 0; + const t10 = parseFloat(lig.tva10) || 0; + const t20 = parseFloat(lig.tva20) || 0; + const ht = parseFloat(lig.montantHT) || 0; + + totKm += km; + totTTC += ttc; + totT21 += t21; totT55 += t55; totT10 += t10; totT20 += t20; + totHT += ht; + totSousKm += sousKm; + + const r = { + num: String(lig.numPiece || i + 1), + date: fmtDate(lig.date), + nature: lig.nature || '', + lib: lig.libelle || '', + km: km > 0 ? f2(km) : '', + tarifKm: tarif > 0 ? f3(tarif) : '', // ex: 0.697 + sousKm: sousKm > 0 ? f2(sousKm) : '', + ttc: f2(ttc), + tva21: f2(t21), tva55: f2(t55), + tva10: f2(t10), tva20: f2(t20), + ht: f2(ht), + }; + + for (const col of COLS) { + const isKmCol = KM_COLS.includes(col.key); + drawCellText( + doc, r[col.key], + colX[col.key], y, col.w, ROW_H, + 'Helvetica', 7, + isKmCol ? C.kmText : C.dark, + col.align + ); + } + } else { + // Ligne vide — zéros en gris sur colonnes numériques + for (const col of COLS) { + if (['ttc', 'tva21', 'tva55', 'tva10', 'tva20', 'ht'].includes(col.key)) + drawCellText(doc, '0.00', colX[col.key], y, col.w, ROW_H, 'Helvetica', 7, C.border, 'right'); + } + } + + // Bordures ligne + drawHLine(doc, MARGIN, MARGIN + tableW, y + ROW_H); + for (const col of COLS) drawVLine(doc, colX[col.key], y, y + ROW_H); + drawVLine(doc, MARGIN + tableW, y, y + ROW_H); + y += ROW_H; + } + + // ── 6. LIGNE TOTAL ─────────────────────────────────────────── + const totalY = y; + drawRect(doc, MARGIN, totalY, tableW, ROW_H + 2, C.totalBg, C.border, 0.5); + + // Fond violet sur les colonnes km dans la ligne total + for (const key of KM_COLS) { + const col = COLS.find(c => c.key === key); + drawRect(doc, colX[key], totalY, col.w, ROW_H + 2, C.kmTotalBg); + } + + doc.font('Helvetica-Bold').fontSize(8).fillColor(C.dark) + .text('Total', MARGIN + 3, totalY + 4, { lineBreak: false }); + + const totMap = { + km: totKm > 0 ? f2(totKm) : '', + tarifKm: '', // pas de somme de tarifs + sousKm: totSousKm > 0 ? f2(totSousKm) : '', + ttc: f2(totTTC), + tva21: f2(totT21), tva55: f2(totT55), + tva10: f2(totT10), tva20: f2(totT20), + ht: f2(totHT), + }; + + for (const col of COLS) { + if (!totMap[col.key] && totMap[col.key] !== '0.00') continue; + if (totMap[col.key] === '') continue; + const isKmCol = KM_COLS.includes(col.key); + drawCellText( + doc, totMap[col.key], + colX[col.key], totalY, col.w, ROW_H + 2, + 'Helvetica-Bold', 8, + isKmCol ? C.kmText : C.dark, + 'right' + ); + } + + // ── 7. ZONE BAS (simplifiée — les infos km sont dans le tableau) ── + const footY = totalY + ROW_H + 12; + const montantR = parseFloat((totTTC + totSousKm).toFixed(2)); + const bw = 64; + + // Montant à rembourser (simplifié) + doc.font('Helvetica-Bold').fontSize(9).fillColor(C.dark) + .text('Montant total à rembourser', MARGIN, footY + 4, { lineBreak: false }); + drawRect(doc, MARGIN + 180, footY, bw + 10, 18, C.amountBg, C.border, 0.5); + doc.font('Helvetica-Bold').fontSize(11).fillColor(C.blue) + .text(f2(montantR) + ' €', MARGIN + 182, footY + 3.5, { width: bw + 6, align: 'right', lineBreak: false }); + + // Rappel tarif utilisé (petit, discret) + doc.font('Helvetica').fontSize(6.5).fillColor(C.grey) + .text(`Tarif km appliqué : ${tarifKm.toFixed(3)} €/km — Sous-total km : ${f2(totSousKm)} € — TTC hors km : ${f2(totTTC)} €`, + MARGIN, footY + 24, { lineBreak: false }); + + // ── 8. SIGNATURES ───────────────────────────────────────────── + const sigStartX = MARGIN + 310; + const sigW = (tableW - 313) / 2 - 4; + const sigH = 52; + const sigY = footY - 2; + + const sigCollab = signatures.find(s => s.niveau === 'COLLAB'); + const sigManager = signatures.find(s => ['N1', 'N2'].includes(s.niveau)); + + _drawSigBox(doc, sigCollab, sigStartX, sigY, sigW, sigH, 'Date et signature Collaborateur', false); + _drawSigBox(doc, sigManager, sigStartX + sigW + 6, sigY, sigW, sigH, 'Date et signature', true); + + // ── 9. PIED DE PAGE ─────────────────────────────────────────── + doc.font('Helvetica').fontSize(6).fillColor(C.light) + .text( + `Réf. ${reference} — Généré le ${new Date().toLocaleDateString('fr-FR')} — NDF ENSUP Groupe — Document électronique`, + MARGIN, PAGE_H - 13, { width: tableW, align: 'center', lineBreak: false } + ); + + doc.end(); + }); +} + +// ───────────────────────────────────────────────────────────────────────────── +// _drawSigBox — boîte signature avec ou sans contenu +// ───────────────────────────────────────────────────────────────────────────── +function _drawSigBox(doc, sig, x, y, w, h, label, isManager) { + let bg, border, accent, icon; + + if (sig) { + const a = sig.action || ''; + if (a === 'refuser' || a === 'refuse') { + bg = C.refusBg; border = C.refusBorder; accent = C.refusText; icon = '✗ REFUSÉ'; + } else if (isManager) { + bg = C.validBg; border = C.validBorder; accent = C.validText; icon = '✓ VALIDÉ'; + } else { + bg = C.collabBg; border = C.collabBorder; accent = C.collabText; icon = '✓ SOUMIS'; + } + } else { + bg = C.waitBg; border = C.waitBorder; accent = C.grey; icon = null; + } + + drawRect(doc, x, y, w, h, bg, border, 1); + + // Label haut + doc.font('Helvetica-Bold').fontSize(6.5).fillColor(C.grey) + .text(label, x + 4, y + 4, { width: w - 8, lineBreak: false }); + + if (sig) { + let nom = String(sig.nomPrenom || ''); + const ds = fmtDateTime(sig.date); + const comment = String(sig.commentaire || ''); + + doc.font('Helvetica-Bold').fontSize(8).fillColor(accent) + .text(icon, x + 4, y + 14, { lineBreak: false }); + + doc.font('Helvetica-Bold').fontSize(9).fillColor(C.dark); + while (nom.length > 1 && doc.widthOfString(nom) > w - 10) nom = nom.slice(0, -1); + doc.text(nom, x + 4, y + 25, { width: w - 8, lineBreak: false }); + + doc.font('Helvetica').fontSize(7).fillColor(C.grey) + .text(`Le ${ds}`, x + 4, y + 36, { width: w - 8, lineBreak: false }); + + if (comment) + doc.font('Helvetica-Oblique').fontSize(6.5).fillColor(C.grey) + .text(comment, x + 4, y + 45, { width: w - 8, lineBreak: false }); + + doc.save().strokeColor(border).lineWidth(0.5) + .moveTo(x + 3, y + h - 9).lineTo(x + w - 3, y + h - 9).stroke().restore(); + doc.font('Helvetica').fontSize(6).fillColor(C.grey) + .text('Signature — NDF ENSUP', x + 4, y + h - 7, { width: w - 8, align: 'center', lineBreak: false }); + } else { + doc.font('Helvetica').fontSize(8).fillColor(C.grey) + .text('En attente de signature', x + 4, y + h / 2 - 5, { width: w - 8, align: 'center', lineBreak: false }); + } +} \ No newline at end of file diff --git a/ndf/public/backend/package-lock.json b/ndf/public/backend/package-lock.json new file mode 100644 index 0000000..d251c96 --- /dev/null +++ b/ndf/public/backend/package-lock.json @@ -0,0 +1,3209 @@ +{ + "name": "ndf-backend", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "ndf-backend", + "version": "1.0.0", + "dependencies": { + "@azure/msal-node": "^2.16.3", + "@microsoft/microsoft-graph-client": "^3.0.7", + "axios": "^1.13.5", + "cors": "^2.8.6", + "dotenv": "^16.6.1", + "express": "^4.22.1", + "isomorphic-fetch": "^3.0.0", + "jsonwebtoken": "^9.0.3", + "mssql": "^11.0.1", + "multer": "^2.0.2", + "pdf-lib": "^1.17.1", + "pdfkit": "^0.17.2" + }, + "devDependencies": { + "@types/node": "^25.2.3", + "cross-env": "^10.1.0", + "ts-node": "^10.9.2", + "tsx": "^4.21.0" + } + }, + "node_modules/@azure-rest/core-client": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@azure-rest/core-client/-/core-client-2.5.1.tgz", + "integrity": "sha512-EHaOXW0RYDKS5CFffnixdyRPak5ytiCtU7uXDcP/uiY+A6jFRwNGzzJBiznkCzvi5EYpY+YWinieqHb0oY916A==", + "license": "MIT", + "dependencies": { + "@azure/abort-controller": "^2.1.2", + "@azure/core-auth": "^1.10.0", + "@azure/core-rest-pipeline": "^1.22.0", + "@azure/core-tracing": "^1.3.0", + "@typespec/ts-http-runtime": "^0.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@azure/abort-controller": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-2.1.2.tgz", + "integrity": "sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA==", + "license": "MIT", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@azure/core-auth": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.10.1.tgz", + "integrity": "sha512-ykRMW8PjVAn+RS6ww5cmK9U2CyH9p4Q88YJwvUslfuMmN98w/2rdGRLPqJYObapBCdzBVeDgYWdJnFPFb7qzpg==", + "license": "MIT", + "dependencies": { + "@azure/abort-controller": "^2.1.2", + "@azure/core-util": "^1.13.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@azure/core-client": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@azure/core-client/-/core-client-1.10.1.tgz", + "integrity": "sha512-Nh5PhEOeY6PrnxNPsEHRr9eimxLwgLlpmguQaHKBinFYA/RU9+kOYVOQqOrTsCL+KSxrLLl1gD8Dk5BFW/7l/w==", + "license": "MIT", + "peer": true, + "dependencies": { + "@azure/abort-controller": "^2.1.2", + "@azure/core-auth": "^1.10.0", + "@azure/core-rest-pipeline": "^1.22.0", + "@azure/core-tracing": "^1.3.0", + "@azure/core-util": "^1.13.0", + "@azure/logger": "^1.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@azure/core-http-compat": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@azure/core-http-compat/-/core-http-compat-2.3.2.tgz", + "integrity": "sha512-Tf6ltdKzOJEgxZeWLCjMxrxbodB/ZeCbzzA1A2qHbhzAjzjHoBVSUeSl/baT/oHAxhc4qdqVaDKnc2+iE932gw==", + "license": "MIT", + "dependencies": { + "@azure/abort-controller": "^2.1.2" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "@azure/core-client": "^1.10.0", + "@azure/core-rest-pipeline": "^1.22.0" + } + }, + "node_modules/@azure/core-lro": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/@azure/core-lro/-/core-lro-2.7.2.tgz", + "integrity": "sha512-0YIpccoX8m/k00O7mDDMdJpbr6mf1yWo2dfmxt5A8XVZVVMz2SSKaEbMCeJRvgQ0IaSlqhjT47p4hVIRRy90xw==", + "license": "MIT", + "dependencies": { + "@azure/abort-controller": "^2.0.0", + "@azure/core-util": "^1.2.0", + "@azure/logger": "^1.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@azure/core-paging": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/@azure/core-paging/-/core-paging-1.6.2.tgz", + "integrity": "sha512-YKWi9YuCU04B55h25cnOYZHxXYtEvQEbKST5vqRga7hWY9ydd3FZHdeQF8pyh+acWZvppw13M/LMGx0LABUVMA==", + "license": "MIT", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@azure/core-rest-pipeline": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.22.2.tgz", + "integrity": "sha512-MzHym+wOi8CLUlKCQu12de0nwcq9k9Kuv43j4Wa++CsCpJwps2eeBQwD2Bu8snkxTtDKDx4GwjuR9E8yC8LNrg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@azure/abort-controller": "^2.1.2", + "@azure/core-auth": "^1.10.0", + "@azure/core-tracing": "^1.3.0", + "@azure/core-util": "^1.13.0", + "@azure/logger": "^1.3.0", + "@typespec/ts-http-runtime": "^0.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@azure/core-tracing": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.3.1.tgz", + "integrity": "sha512-9MWKevR7Hz8kNzzPLfX4EAtGM2b8mr50HPDBvio96bURP/9C+HjdH3sBlLSNNrvRAr5/k/svoH457gB5IKpmwQ==", + "license": "MIT", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@azure/core-util": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.13.1.tgz", + "integrity": "sha512-XPArKLzsvl0Hf0CaGyKHUyVgF7oDnhKoP85Xv6M4StF/1AhfORhZudHtOyf2s+FcbuQ9dPRAjB8J2KvRRMUK2A==", + "license": "MIT", + "dependencies": { + "@azure/abort-controller": "^2.1.2", + "@typespec/ts-http-runtime": "^0.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@azure/identity": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@azure/identity/-/identity-4.13.0.tgz", + "integrity": "sha512-uWC0fssc+hs1TGGVkkghiaFkkS7NkTxfnCH+Hdg+yTehTpMcehpok4PgUKKdyCH+9ldu6FhiHRv84Ntqj1vVcw==", + "license": "MIT", + "dependencies": { + "@azure/abort-controller": "^2.0.0", + "@azure/core-auth": "^1.9.0", + "@azure/core-client": "^1.9.2", + "@azure/core-rest-pipeline": "^1.17.0", + "@azure/core-tracing": "^1.0.0", + "@azure/core-util": "^1.11.0", + "@azure/logger": "^1.0.0", + "@azure/msal-browser": "^4.2.0", + "@azure/msal-node": "^3.5.0", + "open": "^10.1.0", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@azure/identity/node_modules/@azure/msal-common": { + "version": "15.14.2", + "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-15.14.2.tgz", + "integrity": "sha512-n8RBJEUmd5QotoqbZfd+eGBkzuFI1KX6jw2b3WcpSyGjwmzoeI/Jb99opIBPHpb8y312NB+B6+FGi2ZVSR8yfA==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@azure/identity/node_modules/@azure/msal-node": { + "version": "3.8.7", + "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-3.8.7.tgz", + "integrity": "sha512-a+Xnrae+uwLnlw68bplS1X4kuJ9F/7K6afuMFyRkNIskhjgDezl5Fhrx+1pmAlDmC0VaaAxjRQMp1OmcqVwkIg==", + "license": "MIT", + "dependencies": { + "@azure/msal-common": "15.14.2", + "jsonwebtoken": "^9.0.0", + "uuid": "^8.3.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@azure/keyvault-common": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@azure/keyvault-common/-/keyvault-common-2.0.0.tgz", + "integrity": "sha512-wRLVaroQtOqfg60cxkzUkGKrKMsCP6uYXAOomOIysSMyt1/YM0eUn9LqieAWM8DLcU4+07Fio2YGpPeqUbpP9w==", + "license": "MIT", + "dependencies": { + "@azure/abort-controller": "^2.0.0", + "@azure/core-auth": "^1.3.0", + "@azure/core-client": "^1.5.0", + "@azure/core-rest-pipeline": "^1.8.0", + "@azure/core-tracing": "^1.0.0", + "@azure/core-util": "^1.10.0", + "@azure/logger": "^1.1.4", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@azure/keyvault-keys": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@azure/keyvault-keys/-/keyvault-keys-4.10.0.tgz", + "integrity": "sha512-eDT7iXoBTRZ2n3fLiftuGJFD+yjkiB1GNqzU2KbY1TLYeXeSPVTVgn2eJ5vmRTZ11978jy2Kg2wI7xa9Tyr8ag==", + "license": "MIT", + "dependencies": { + "@azure-rest/core-client": "^2.3.3", + "@azure/abort-controller": "^2.1.2", + "@azure/core-auth": "^1.9.0", + "@azure/core-http-compat": "^2.2.0", + "@azure/core-lro": "^2.7.2", + "@azure/core-paging": "^1.6.2", + "@azure/core-rest-pipeline": "^1.19.0", + "@azure/core-tracing": "^1.2.0", + "@azure/core-util": "^1.11.0", + "@azure/keyvault-common": "^2.0.0", + "@azure/logger": "^1.1.4", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@azure/logger": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@azure/logger/-/logger-1.3.0.tgz", + "integrity": "sha512-fCqPIfOcLE+CGqGPd66c8bZpwAji98tZ4JI9i/mlTNTlsIWslCfpg48s/ypyLxZTump5sypjrKn2/kY7q8oAbA==", + "license": "MIT", + "dependencies": { + "@typespec/ts-http-runtime": "^0.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@azure/msal-browser": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-4.28.2.tgz", + "integrity": "sha512-6vYUMvs6kJxJgxaCmHn/F8VxjLHNh7i9wzfwPGf8kyBJ8Gg2yvBXx175Uev8LdrD1F5C4o7qHa2CC4IrhGE1XQ==", + "license": "MIT", + "dependencies": { + "@azure/msal-common": "15.14.2" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@azure/msal-browser/node_modules/@azure/msal-common": { + "version": "15.14.2", + "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-15.14.2.tgz", + "integrity": "sha512-n8RBJEUmd5QotoqbZfd+eGBkzuFI1KX6jw2b3WcpSyGjwmzoeI/Jb99opIBPHpb8y312NB+B6+FGi2ZVSR8yfA==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@azure/msal-common": { + "version": "14.16.1", + "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-14.16.1.tgz", + "integrity": "sha512-nyxsA6NA4SVKh5YyRpbSXiMr7oQbwark7JU9LMeg6tJYTSPyAGkdx61wPT4gyxZfxlSxMMEyAsWaubBlNyIa1w==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@azure/msal-node": { + "version": "2.16.3", + "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-2.16.3.tgz", + "integrity": "sha512-CO+SE4weOsfJf+C5LM8argzvotrXw252/ZU6SM2Tz63fEblhH1uuVaaO4ISYFuN4Q6BhTo7I3qIdi8ydUQCqhw==", + "license": "MIT", + "dependencies": { + "@azure/msal-common": "14.16.1", + "jsonwebtoken": "^9.0.0", + "uuid": "^8.3.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@babel/runtime": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.6.tgz", + "integrity": "sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@epic-web/invariant": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@epic-web/invariant/-/invariant-1.0.0.tgz", + "integrity": "sha512-lrTPqgvfFQtR/eY/qkIzp98OGdNJu0m5ji3q/nJI8v3SXkRKEnWiOxMmbvcSoAIzv/cGiuvRy57k4suKQSAdwA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.3.tgz", + "integrity": "sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.3.tgz", + "integrity": "sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.3.tgz", + "integrity": "sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.3.tgz", + "integrity": "sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.3.tgz", + "integrity": "sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.3.tgz", + "integrity": "sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.3.tgz", + "integrity": "sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.3.tgz", + "integrity": "sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.3.tgz", + "integrity": "sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.3.tgz", + "integrity": "sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.3.tgz", + "integrity": "sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.3.tgz", + "integrity": "sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.3.tgz", + "integrity": "sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.3.tgz", + "integrity": "sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.3.tgz", + "integrity": "sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.3.tgz", + "integrity": "sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.3.tgz", + "integrity": "sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.3.tgz", + "integrity": "sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.3.tgz", + "integrity": "sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.3.tgz", + "integrity": "sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.3.tgz", + "integrity": "sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.3.tgz", + "integrity": "sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.3.tgz", + "integrity": "sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.3.tgz", + "integrity": "sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.3.tgz", + "integrity": "sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.3.tgz", + "integrity": "sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@js-joda/core": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@js-joda/core/-/core-5.7.0.tgz", + "integrity": "sha512-WBu4ULVVxySLLzK1Ppq+OdfP+adRS4ntmDQT915rzDJ++i95gc2jZkM5B6LWEAwN3lGXpfie3yPABozdD3K3Vg==", + "license": "BSD-3-Clause" + }, + "node_modules/@microsoft/microsoft-graph-client": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@microsoft/microsoft-graph-client/-/microsoft-graph-client-3.0.7.tgz", + "integrity": "sha512-/AazAV/F+HK4LIywF9C+NYHcJo038zEnWkteilcxC1FM/uK/4NVGDKGrxx7nNq1ybspAroRKT4I1FHfxQzxkUw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependenciesMeta": { + "@azure/identity": { + "optional": true + }, + "@azure/msal-browser": { + "optional": true + }, + "buffer": { + "optional": true + }, + "stream-browserify": { + "optional": true + } + } + }, + "node_modules/@pdf-lib/standard-fonts": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@pdf-lib/standard-fonts/-/standard-fonts-1.0.0.tgz", + "integrity": "sha512-hU30BK9IUN/su0Mn9VdlVKsWBS6GyhVfqjwl1FjZN4TxP6cCw0jP2w7V3Hf5uX7M0AZJ16vey9yE0ny7Sa59ZA==", + "license": "MIT", + "dependencies": { + "pako": "^1.0.6" + } + }, + "node_modules/@pdf-lib/standard-fonts/node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "license": "(MIT AND Zlib)" + }, + "node_modules/@pdf-lib/upng": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@pdf-lib/upng/-/upng-1.0.1.tgz", + "integrity": "sha512-dQK2FUMQtowVP00mtIksrlZhdFXQZPC+taih1q4CvPZ5vqdxR/LKBaFg0oAfzd1GlHZXXSPdQfzQnt+ViGvEIQ==", + "license": "MIT", + "dependencies": { + "pako": "^1.0.10" + } + }, + "node_modules/@pdf-lib/upng/node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "license": "(MIT AND Zlib)" + }, + "node_modules/@swc/helpers": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.19.tgz", + "integrity": "sha512-QamiFeIK3txNjgUTNppE6MiG3p7TdninpZu0E0PbqVh1a9FNLT2FRhisaa4NcaX52XVhA5l7Pk58Ft7Sqi/2sA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.8.0" + } + }, + "node_modules/@tediousjs/connection-string": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@tediousjs/connection-string/-/connection-string-0.5.0.tgz", + "integrity": "sha512-7qSgZbincDDDFyRweCIEvZULFAw5iz/DeunhvuxpL31nfntX3P4Yd4HkHBRg9H8CdqY1e5WFN1PZIz/REL9MVQ==", + "license": "MIT" + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.12.tgz", + "integrity": "sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "25.2.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.2.3.tgz", + "integrity": "sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "undici-types": "~7.16.0" + } + }, + "node_modules/@types/readable-stream": { + "version": "4.0.23", + "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-4.0.23.tgz", + "integrity": "sha512-wwXrtQvbMHxCbBgjHaMGEmImFTQxxpfMOR/ZoQnXxB1woqkUbdLGFDgauo00Py9IudiaqSeiBiulSV9i6XIPig==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@typespec/ts-http-runtime": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@typespec/ts-http-runtime/-/ts-http-runtime-0.3.3.tgz", + "integrity": "sha512-91fp6CAAJSRtH5ja95T1FHSKa8aPW9/Zw6cta81jlZTUw/+Vq8jM/AfF/14h2b71wwR84JUTW/3Y8QPhDAawFA==", + "license": "MIT", + "dependencies": { + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "license": "MIT", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", + "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/append-field": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", + "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==", + "license": "MIT" + }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true, + "license": "MIT" + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "license": "MIT" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/axios": { + "version": "1.13.5", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.5.tgz", + "integrity": "sha512-cz4ur7Vb0xS4/KUN0tPWe44eqxrIu31me+fbang3ijiNscE129POzipJJA6zniq2C/Z6sJCjMimjS8Lc/GAs8Q==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.11", + "form-data": "^4.0.5", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/bl": { + "version": "6.1.6", + "resolved": "https://registry.npmjs.org/bl/-/bl-6.1.6.tgz", + "integrity": "sha512-jLsPgN/YSvPUg9UX0Kd73CXpm2Psg9FxMeCSXnk3WBO3CMT10JMwijubhGfHCnFu6TPn1ei3b975dxv7K2pWVg==", + "license": "MIT", + "dependencies": { + "@types/readable-stream": "^4.0.0", + "buffer": "^6.0.3", + "inherits": "^2.0.4", + "readable-stream": "^4.2.0" + } + }, + "node_modules/body-parser": { + "version": "1.20.4", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.4.tgz", + "integrity": "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==", + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "~1.2.0", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.14.0", + "raw-body": "~2.5.3", + "type-is": "~1.6.18", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/brotli": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/brotli/-/brotli-1.3.3.tgz", + "integrity": "sha512-oTKjJdShmDuGW94SyyaoQvAjf30dZaHnjJ8uAF+u2/vGJkJbJPJAT1gDiOJP5v1Zb6f9KEyW/1HpuaWIXtGHPg==", + "license": "MIT", + "dependencies": { + "base64-js": "^1.1.2" + } + }, + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", + "license": "BSD-3-Clause" + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "license": "MIT" + }, + "node_modules/bundle-name": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", + "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", + "license": "MIT", + "dependencies": { + "run-applescript": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "dependencies": { + "streamsearch": "^1.1.0" + }, + "engines": { + "node": ">=10.16.0" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/concat-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "engines": [ + "node >= 6.0" + ], + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/concat-stream/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", + "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", + "license": "MIT" + }, + "node_modules/cors": { + "version": "2.8.6", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.6.tgz", + "integrity": "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==", + "license": "MIT", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/cross-env": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-10.1.0.tgz", + "integrity": "sha512-GsYosgnACZTADcmEyJctkJIoqAhHjttw7RsFrVoJNXbsWWqaq6Ym+7kZjq6mS45O0jij6vtiReppKQEtqWy6Dw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@epic-web/invariant": "^1.0.0", + "cross-spawn": "^7.0.6" + }, + "bin": { + "cross-env": "dist/bin/cross-env.js", + "cross-env-shell": "dist/bin/cross-env-shell.js" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypto-js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz", + "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==", + "license": "MIT" + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/default-browser": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.5.0.tgz", + "integrity": "sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw==", + "license": "MIT", + "dependencies": { + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.1.tgz", + "integrity": "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/dfa": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/dfa/-/dfa-1.2.0.tgz", + "integrity": "sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q==", + "license": "MIT" + }, + "node_modules/diff": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.4.tgz", + "integrity": "sha512-X07nttJQkwkfKfvTPG/KSnE2OMdcUCao6+eXF3wmnIQRn2aPAHH3VxDbDOdegkd6JbPsXqShpvEOHfAT+nCNwQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dotenv": { + "version": "16.6.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz", + "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.3.tgz", + "integrity": "sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.27.3", + "@esbuild/android-arm": "0.27.3", + "@esbuild/android-arm64": "0.27.3", + "@esbuild/android-x64": "0.27.3", + "@esbuild/darwin-arm64": "0.27.3", + "@esbuild/darwin-x64": "0.27.3", + "@esbuild/freebsd-arm64": "0.27.3", + "@esbuild/freebsd-x64": "0.27.3", + "@esbuild/linux-arm": "0.27.3", + "@esbuild/linux-arm64": "0.27.3", + "@esbuild/linux-ia32": "0.27.3", + "@esbuild/linux-loong64": "0.27.3", + "@esbuild/linux-mips64el": "0.27.3", + "@esbuild/linux-ppc64": "0.27.3", + "@esbuild/linux-riscv64": "0.27.3", + "@esbuild/linux-s390x": "0.27.3", + "@esbuild/linux-x64": "0.27.3", + "@esbuild/netbsd-arm64": "0.27.3", + "@esbuild/netbsd-x64": "0.27.3", + "@esbuild/openbsd-arm64": "0.27.3", + "@esbuild/openbsd-x64": "0.27.3", + "@esbuild/openharmony-arm64": "0.27.3", + "@esbuild/sunos-x64": "0.27.3", + "@esbuild/win32-arm64": "0.27.3", + "@esbuild/win32-ia32": "0.27.3", + "@esbuild/win32-x64": "0.27.3" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/express": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.22.1.tgz", + "integrity": "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "~1.20.3", + "content-disposition": "~0.5.4", + "content-type": "~1.0.4", + "cookie": "~0.7.1", + "cookie-signature": "~1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.3.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "~0.1.12", + "proxy-addr": "~2.0.7", + "qs": "~6.14.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "~0.19.0", + "serve-static": "~1.16.2", + "setprototypeof": "1.2.0", + "statuses": "~2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" + }, + "node_modules/finalhandler": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz", + "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "statuses": "~2.0.2", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/fontkit": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/fontkit/-/fontkit-2.0.4.tgz", + "integrity": "sha512-syetQadaUEDNdxdugga9CpEYVaQIxOwk7GlwZWWZ19//qW4zE5bknOKeMBDYAASwnpaSHKJITRLMF9m1fp3s6g==", + "license": "MIT", + "dependencies": { + "@swc/helpers": "^0.5.12", + "brotli": "^1.3.2", + "clone": "^2.1.2", + "dfa": "^1.2.0", + "fast-deep-equal": "^3.1.3", + "restructure": "^3.0.0", + "tiny-inflate": "^1.0.3", + "unicode-properties": "^1.4.0", + "unicode-trie": "^2.0.0" + } + }, + "node_modules/form-data": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-tsconfig": { + "version": "4.13.6", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.6.tgz", + "integrity": "sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/http-proxy-agent/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/http-proxy-agent/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/https-proxy-agent/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/https-proxy-agent/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-wsl": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.1.tgz", + "integrity": "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==", + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/isomorphic-fetch": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz", + "integrity": "sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==", + "license": "MIT", + "dependencies": { + "node-fetch": "^2.6.1", + "whatwg-fetch": "^3.4.1" + } + }, + "node_modules/jpeg-exif": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/jpeg-exif/-/jpeg-exif-1.1.4.tgz", + "integrity": "sha512-a+bKEcCjtuW5WTdgeXFzswSrdqi0jk4XlEtZlx5A94wCoBpFjfFTbo/Tra5SpNCl/YFZPvcV1dJc+TAYeg6ROQ==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "license": "MIT" + }, + "node_modules/js-md4": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/js-md4/-/js-md4-0.3.2.tgz", + "integrity": "sha512-/GDnfQYsltsjRswQhN9fhv3EMw2sCpUdrdxyWDOUK7eyD++r3gRhzgiQgc/x4MAv2i1iuQ4lxO5mvqM3vj4bwA==", + "license": "MIT" + }, + "node_modules/jsonwebtoken": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.3.tgz", + "integrity": "sha512-MT/xP0CrubFRNLNKvxJ2BYfy53Zkm++5bX9dtuPbqAeQpTVe0MQTFhao8+Cp//EmJp244xt6Drw/GVEGCUj40g==", + "license": "MIT", + "dependencies": { + "jws": "^4.0.1", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + } + }, + "node_modules/jsonwebtoken/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/jwa": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.1.tgz", + "integrity": "sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==", + "license": "MIT", + "dependencies": { + "buffer-equal-constant-time": "^1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.1.tgz", + "integrity": "sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA==", + "license": "MIT", + "dependencies": { + "jwa": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/linebreak": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/linebreak/-/linebreak-1.1.0.tgz", + "integrity": "sha512-MHp03UImeVhB7XZtjd0E4n6+3xr5Dq/9xI/5FptGk5FrbDR3zagPa2DS6U8ks/3HjbKWG9Q1M2ufOzxV2qLYSQ==", + "license": "MIT", + "dependencies": { + "base64-js": "0.0.8", + "unicode-trie": "^2.0.0" + } + }, + "node_modules/linebreak/node_modules/base64-js": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz", + "integrity": "sha512-3XSA2cR/h/73EzlXXdU6YNycmYI7+kicTxks4eJg2g39biHR84slg2+des+p7iHYhbRg/udIS4TD53WabcOUkw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", + "license": "MIT" + }, + "node_modules/lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", + "license": "MIT" + }, + "node_modules/lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", + "license": "MIT" + }, + "node_modules/lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==", + "license": "MIT" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "license": "MIT" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", + "license": "MIT" + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "license": "MIT" + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true, + "license": "ISC" + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "license": "MIT", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/mssql": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/mssql/-/mssql-11.0.1.tgz", + "integrity": "sha512-KlGNsugoT90enKlR8/G36H0kTxPthDhmtNUCwEHvgRza5Cjpjoj+P2X6eMpFUDN7pFrJZsKadL4x990G8RBE1w==", + "license": "MIT", + "dependencies": { + "@tediousjs/connection-string": "^0.5.0", + "commander": "^11.0.0", + "debug": "^4.3.3", + "rfdc": "^1.3.0", + "tarn": "^3.0.2", + "tedious": "^18.2.1" + }, + "bin": { + "mssql": "bin/mssql" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/mssql/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/mssql/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/multer": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/multer/-/multer-2.0.2.tgz", + "integrity": "sha512-u7f2xaZ/UG8oLXHvtF/oWTRvT44p9ecwBBqTwgJVq0+4BW1g8OW01TyMEGWBHbyMOYVHXslaut7qEQ1meATXgw==", + "license": "MIT", + "dependencies": { + "append-field": "^1.0.0", + "busboy": "^1.6.0", + "concat-stream": "^2.0.0", + "mkdirp": "^0.5.6", + "object-assign": "^4.1.1", + "type-is": "^1.6.18", + "xtend": "^4.0.2" + }, + "engines": { + "node": ">= 10.16.0" + } + }, + "node_modules/native-duplexpair": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/native-duplexpair/-/native-duplexpair-1.0.0.tgz", + "integrity": "sha512-E7QQoM+3jvNtlmyfqRZ0/U75VFgCls+fSkbml2MpgWkWyz3ox8Y58gNhfuziuQYGNNQAbFZJQck55LHCnCK6CA==", + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/open": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/open/-/open-10.2.0.tgz", + "integrity": "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==", + "license": "MIT", + "dependencies": { + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "wsl-utils": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==", + "license": "MIT" + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-to-regexp": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", + "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", + "license": "MIT" + }, + "node_modules/pdf-lib": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/pdf-lib/-/pdf-lib-1.17.1.tgz", + "integrity": "sha512-V/mpyJAoTsN4cnP31vc0wfNA1+p20evqqnap0KLoRUN0Yk/p3wN52DOEsL4oBFcLdb76hlpKPtzJIgo67j/XLw==", + "license": "MIT", + "dependencies": { + "@pdf-lib/standard-fonts": "^1.0.0", + "@pdf-lib/upng": "^1.0.1", + "pako": "^1.0.11", + "tslib": "^1.11.1" + } + }, + "node_modules/pdf-lib/node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "license": "(MIT AND Zlib)" + }, + "node_modules/pdf-lib/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" + }, + "node_modules/pdfkit": { + "version": "0.17.2", + "resolved": "https://registry.npmjs.org/pdfkit/-/pdfkit-0.17.2.tgz", + "integrity": "sha512-UnwF5fXy08f0dnp4jchFYAROKMNTaPqb/xgR8GtCzIcqoTnbOqtp3bwKvO4688oHI6vzEEs8Q6vqqEnC5IUELw==", + "license": "MIT", + "dependencies": { + "crypto-js": "^4.2.0", + "fontkit": "^2.0.4", + "jpeg-exif": "^1.1.4", + "linebreak": "^1.1.0", + "png-js": "^1.0.0" + } + }, + "node_modules/png-js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/png-js/-/png-js-1.0.0.tgz", + "integrity": "sha512-k+YsbhpA9e+EFfKjTCH3VW6aoKlyNYI6NYdTfDL4CIvFnvsuO84ttonmZE7rc+v23SLTH8XX+5w/Ak9v0xGY4g==" + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" + }, + "node_modules/qs": { + "version": "6.14.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz", + "integrity": "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", + "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/readable-stream": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", + "license": "MIT", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, + "node_modules/restructure": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/restructure/-/restructure-3.0.2.tgz", + "integrity": "sha512-gSfoiOEA0VPE6Tukkrr7I0RBdE0s7H1eFCDBk05l1KIQT1UIKNc5JZy6jdyW6eYH3aR3g5b3PuL77rq0hvwtAw==", + "license": "MIT" + }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "license": "MIT" + }, + "node_modules/run-applescript": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.1.0.tgz", + "integrity": "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz", + "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.4.1", + "range-parser": "~1.2.1", + "statuses": "~2.0.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/serve-static": { + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz", + "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", + "license": "MIT", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "~0.19.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", + "license": "BSD-3-Clause" + }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/tarn": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/tarn/-/tarn-3.0.2.tgz", + "integrity": "sha512-51LAVKUSZSVfI05vjPESNc5vwqqZpbXCsU+/+wxlOrUjk2SnFTt97v9ZgQrD4YmxYW1Px6w2KjaDitCfkvgxMQ==", + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/tedious": { + "version": "18.6.2", + "resolved": "https://registry.npmjs.org/tedious/-/tedious-18.6.2.tgz", + "integrity": "sha512-g7jC56o3MzLkE3lHkaFe2ZdOVFBahq5bsB60/M4NYUbocw/MCrS89IOEQUFr+ba6pb8ZHczZ/VqCyYeYq0xBAg==", + "license": "MIT", + "dependencies": { + "@azure/core-auth": "^1.7.2", + "@azure/identity": "^4.2.1", + "@azure/keyvault-keys": "^4.4.0", + "@js-joda/core": "^5.6.1", + "@types/node": ">=18", + "bl": "^6.0.11", + "iconv-lite": "^0.6.3", + "js-md4": "^0.3.2", + "native-duplexpair": "^1.0.0", + "sprintf-js": "^1.1.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/tedious/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", + "license": "MIT" + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT" + }, + "node_modules/ts-node": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/tsx": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.21.0.tgz", + "integrity": "sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "~0.27.0", + "get-tsconfig": "^4.7.5" + }, + "bin": { + "tsx": "dist/cli.mjs" + }, + "engines": { + "node": ">=18.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "license": "MIT" + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "license": "MIT" + }, + "node_modules/unicode-properties": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/unicode-properties/-/unicode-properties-1.4.1.tgz", + "integrity": "sha512-CLjCCLQ6UuMxWnbIylkisbRj31qxHPAurvena/0iwSVbQ2G1VY5/HjV0IRabOEbDHlzZlRdCrD4NhB0JtU40Pg==", + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.0", + "unicode-trie": "^2.0.0" + } + }, + "node_modules/unicode-trie": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-2.0.0.tgz", + "integrity": "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==", + "license": "MIT", + "dependencies": { + "pako": "^0.2.5", + "tiny-inflate": "^1.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true, + "license": "MIT" + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "license": "BSD-2-Clause" + }, + "node_modules/whatwg-fetch": { + "version": "3.6.20", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", + "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==", + "license": "MIT" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wsl-utils": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.1.0.tgz", + "integrity": "sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==", + "license": "MIT", + "dependencies": { + "is-wsl": "^3.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "license": "MIT", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + } + } +} diff --git a/ndf/public/backend/package.json b/ndf/public/backend/package.json new file mode 100644 index 0000000..0c91e06 --- /dev/null +++ b/ndf/public/backend/package.json @@ -0,0 +1,30 @@ +{ + "name": "ndf-backend", + "version": "1.0.0", + "type": "module", + "main": "server.js", + "scripts": { + "start": "cross-env TZ=Europe/Paris node server.js", + "dev": "cross-env TZ=Europe/Paris nodemon server.js" + }, + "dependencies": { + "@azure/msal-node": "^2.16.3", + "@microsoft/microsoft-graph-client": "^3.0.7", + "axios": "^1.13.5", + "cors": "^2.8.6", + "dotenv": "^16.6.1", + "express": "^4.22.1", + "isomorphic-fetch": "^3.0.0", + "jsonwebtoken": "^9.0.3", + "mssql": "^11.0.1", + "multer": "^2.0.2", + "pdf-lib": "^1.17.1", + "pdfkit": "^0.17.2" + }, + "devDependencies": { + "@types/node": "^25.2.3", + "cross-env": "^10.1.0", + "ts-node": "^10.9.2", + "tsx": "^4.21.0" + } +} diff --git a/ndf/public/backend/server.js b/ndf/public/backend/server.js new file mode 100644 index 0000000..aab2c6c --- /dev/null +++ b/ndf/public/backend/server.js @@ -0,0 +1,4840 @@ +console.log('🚀 1. Démarrage du serveur...'); + +import express from 'express'; +import cors from 'cors'; +import sql from 'mssql'; +import jwt from 'jsonwebtoken'; +import { ConfidentialClientApplication } from '@azure/msal-node'; +import axios from 'axios'; +import dotenv from 'dotenv'; +import crypto from 'crypto'; +import multer from 'multer'; +import { Client } from '@microsoft/microsoft-graph-client'; +import 'isomorphic-fetch'; +import PDFDocument from 'pdfkit'; +import { PDFDocument as PDFLib } from 'pdf-lib'; + +import { generateFicheSignee, preparerLignesPDF } + from './ndfPdfGenerator.js'; + +console.log('✅ 2. Modules de base chargés'); + +dotenv.config(); +console.log('✅ 3. Dotenv chargé'); + +const upload = multer({ storage: multer.memoryStorage(), limits: { fileSize: 10 * 1024 * 1024 } }); + +const proxyCache = new Map(); +const PROXY_TTL = 10 * 60 * 1000; +function getCached(url) { + const entry = proxyCache.get(url); + if (!entry) return null; + if (Date.now() - entry.at > PROXY_TTL) { proxyCache.delete(url); return null; } + return entry; +} +function setCache(url, buffer, contentType) { + if (proxyCache.size >= 50) { + const oldest = [...proxyCache.entries()].sort((a, b) => a[1].at - b[1].at)[0]; + proxyCache.delete(oldest[0]); + } + proxyCache.set(url, { buffer, contentType, at: Date.now() }); +} + +const SHAREPOINT_CONFIG = { + siteId: process.env.SHAREPOINT_SITE_ID, + driveId: process.env.SHAREPOINT_DRIVE_ID, + basePath: 'Notes de Frais', +}; + +process.on('uncaughtException', (error) => { + console.error('\n❌❌❌ ERREUR NON CAPTURÉE ❌❌❌'); + console.error(error); + console.error(error.stack); +}); + +process.on('unhandledRejection', (reason, promise) => { + console.error('\n❌❌❌ PROMESSE REJETÉE ❌❌❌'); + console.error('Raison:', reason); +}); + +process.on('exit', (code) => { + console.log(`\n⚠️ PROCESSUS EN COURS DE TERMINAISON - CODE: ${code}\n`); +}); + +console.log('✅ 4. Handlers d\'erreurs installés'); + +const app = express(); +console.log('✅ 5. Express initialisé'); + +const PORT = process.env.PORT || 3024; +console.log(`✅ 6. Port configuré: ${PORT}`); + +app.use(cors({ + origin: [ + 'http://myndf.ensup-adm.net', + 'https://myndf.ensup-adm.net', + 'http://localhost:3025', + 'http://localhost:81' + ], + credentials: true, +})); +app.use(express.json()); +app.use(express.urlencoded({ extended: true })); +console.log('✅ 7. Middlewares installés'); + +const dbConfig = { + server: process.env.DB_SERVER || '192.168.0.3', + user: process.env.DB_USER || 'ndf_app', + password: process.env.DB_PASSWORD || 'P@ssw0rd2026!', + database: process.env.DB_NAME || 'NDF', + port: parseInt(process.env.DB_PORT) || 1433, + options: { + encrypt: true, + trustServerCertificate: true, + enableArithAbort: true, + connectTimeout: 60000, + requestTimeout: 60000, + useUTC: false + }, + pool: { max: 10, min: 0, idleTimeoutMillis: 30000 } +}; + +console.log('🔄 8. Test connexion SQL Server...'); +let pool; + +const AZURE_CONFIG = { + tenantId: process.env.AZURE_TENANT_ID, + clientId: process.env.AZURE_CLIENT_ID, + clientSecret: process.env.AZURE_CLIENT_SECRET, + groupId: process.env.AZURE_GROUP_ID || 'c1ea877c-6bca-4f47-bfad-f223640813a0' +}; + +async function initializeDatabase() { + try { + pool = await sql.connect(dbConfig); + console.log('✅ 9. Connexion SQL Server réussie'); + console.log(' Server:', dbConfig.server); + console.log(' User:', dbConfig.user); + console.log(' Database:', dbConfig.database); + console.log(' Port:', dbConfig.port); + } catch (err) { + console.error('❌ 9. ERREUR CONNEXION SQL SERVER:', err.message); + throw err; + } +} + +initializeDatabase().catch(err => { + console.error('❌ Impossible de démarrer le serveur:', err); + process.exit(1); +}); + +const msalConfig = { + auth: { + clientId: process.env.AZURE_CLIENT_ID, + authority: `https://login.microsoftonline.com/${process.env.AZURE_TENANT_ID}`, + clientSecret: process.env.AZURE_CLIENT_SECRET + }, + system: { + loggerOptions: { + loggerCallback(loglevel, message) { + if (process.env.NODE_ENV === 'development') console.log('[MSAL]', message); + }, + piiLoggingEnabled: false, + logLevel: 'Info', + }, + } +}; + +const BAREME_KM_SERVER = { + 3: { t1: 0.529, t2_a: 0.316, t2_b: 1061, t3: 0.369 }, + 4: { t1: 0.606, t2_a: 0.340, t2_b: 1330, t3: 0.408 }, + 5: { t1: 0.636, t2_a: 0.356, t2_b: 1391, t3: 0.427 }, + 6: { t1: 0.665, t2_a: 0.374, t2_b: 1457, t3: 0.448 }, + 7: { t1: 0.697, t2_a: 0.394, t2_b: 1512, t3: 0.470 }, +}; + +function getIndemniteKmServer(kmTotal, chevaux) { + const cv = Math.min(Math.max(parseInt(chevaux) || 7, 3), 7); + const b = BAREME_KM_SERVER[cv]; + if (!b || kmTotal <= 0) return 0; + if (kmTotal <= 5000) return parseFloat((kmTotal * b.t1).toFixed(2)); + if (kmTotal <= 20000) return parseFloat((kmTotal * b.t2_a + b.t2_b).toFixed(2)); + return parseFloat((kmTotal * b.t3).toFixed(2)); +} + +function normalizeCampus(campus) { + if (!campus) return null; + const c = campus.toUpperCase(); + if (c.includes('SQY') || c.includes('SAINT') || c.includes('SQUY')) return 'SQY'; + if (c.includes('CGY') || c.includes('CERGY')) return 'CGY'; + if (c.includes('MRS') || c.includes('MARSEILLE')) return 'MRS'; + if (c.includes('NTE') || c.includes('NANTES')) return 'NTE'; + return null; +} + +// ── Helper getTarifKm ──────────────────────────────────────────── +async function getTarifKm() { + try { + const annee = new Date().getFullYear(); + const result = await pool.request() + .input('annee', sql.Int, annee) + .query(` + SELECT TOP 1 tarifParKm + FROM ParametresKm + WHERE annee = @annee AND actif = 1 + ORDER BY DateCreation DESC + `); + if (result.recordset[0]?.tarifParKm) { + return parseFloat(result.recordset[0].tarifParKm); + } + return 0.697; // Fallback 7 CV+ + } catch (e) { + console.warn('⚠️ getTarifKm fallback 0.697:', e.message); + return 0.697; + } +} + +async function getConfigDebiteur() { + try { + const result = await pool.request().query(` + SELECT TOP 1 companyName, companyIban, companyBic, + companyAddress, companyCp, companyVille, companyPays + FROM ConfigDebiteurXML + WHERE actif = 1 + ORDER BY DateModification DESC + `); + if (result.recordset.length) return result.recordset[0]; + } catch (e) { + console.warn('⚠️ getConfigDebiteur fallback .env:', e.message); + } + // Fallback .env si table inaccessible + return { + companyName: process.env.COMPANY_NAME || 'ENSUP GROUP', + companyIban: process.env.COMPANY_IBAN || 'FR0000000000000000000000000', + companyBic: process.env.COMPANY_BIC || 'BNPAFRPP', + companyAddress: process.env.COMPANY_ADDRESS || '', + companyCp: process.env.COMPANY_CP || '', + companyVille: process.env.COMPANY_VILLE || '', + companyPays: process.env.COMPANY_PAYS || 'FR', + }; +} +// ── Helpers IBAN ───────────────────────────────────────────────── +// ── Helpers IBAN ───────────────────────────────────────────────── +function getIbanKey() { + const key = process.env.IBAN_ENCRYPTION_KEY; + if (!key) throw new Error('IBAN_ENCRYPTION_KEY manquante'); + const buf = Buffer.from(key, 'hex'); + if (buf.length !== 32) throw new Error(`IBAN_ENCRYPTION_KEY invalide: ${buf.length} octets (attendu: 32)`); + return buf; +} + +function encryptIban(iban) { + const iv = crypto.randomBytes(12); + const cipher = crypto.createCipheriv('aes-256-gcm', getIbanKey(), iv); + const encrypted = Buffer.concat([cipher.update(iban, 'utf8'), cipher.final()]); + const tag = cipher.getAuthTag(); + return `${iv.toString('hex')}:${tag.toString('hex')}:${encrypted.toString('hex')}`; +} + +function decryptIban(stored) { + const [ivHex, tagHex, encHex] = stored.split(':'); + const decipher = crypto.createDecipheriv('aes-256-gcm', getIbanKey(), Buffer.from(ivHex, 'hex')); + decipher.setAuthTag(Buffer.from(tagHex, 'hex')); + return decipher.update(Buffer.from(encHex, 'hex')) + decipher.final('utf8'); +} + +function validateIban(iban) { + const lengths = { FR: 27, BE: 16, DE: 22, ES: 24, IT: 27 }; + const country = iban.slice(0, 2); + if (lengths[country] && iban.length !== lengths[country]) return false; + const rearranged = iban.slice(4) + iban.slice(0, 4); + const numeric = rearranged.split('').map(c => isNaN(c) ? (c.charCodeAt(0) - 55).toString() : c).join(''); + let remainder = 0; + for (const chunk of numeric.match(/.{1,9}/g)) { + remainder = parseInt(remainder + chunk) % 97; + } + return remainder === 1; +} + +function maskIban(iban) { + if (!iban || iban.length < 8) return iban; + return iban.slice(0, 4) + ' ' + + iban.slice(4, -4).replace(/./g, '*').match(/.{1,4}/g).join(' ') + + ' ' + iban.slice(-4); +} + +function hashIban(iban) { + return crypto.createHash('sha256').update(iban + process.env.IBAN_HASH_SALT).digest('hex'); +} +// ✅ NOUVEAU — Charge les rôles depuis UtilisateurRoles (remplace CollaborateurAD.role) +async function getRolesForUser(collaborateurId) { + try { + const result = await pool.request() + .input('id', sql.Int, collaborateurId) + .query(` + SELECT role + FROM UtilisateurRoles + WHERE collaborateur_id = @id AND actif = 1 + `); + return result.recordset.map(r => r.role); + // Retourne ex: ['Collaboratrice', 'Finance'] ou ['superUtilisateur'] + } catch (e) { + console.warn('⚠️ getRolesForUser erreur:', e.message); + return []; + } +} + +function formatDateParis(date) { + if (!date) return '—'; + const d = new Date(date); + return d.toLocaleString('fr-FR', { + timeZone: 'Europe/Paris', + day: '2-digit', month: '2-digit', year: 'numeric', + hour: '2-digit', minute: '2-digit' + }); +} + +const cca = new ConfidentialClientApplication(msalConfig); +console.log('✅ 10. MSAL configuré'); + +// ================================================ +// 🔑 TOKEN MICROSOFT GRAPH +// ================================================ +async function getGraphToken() { + try { + console.log('🔑 Tentative d\'obtention du token...'); + console.log(' Tenant ID:', AZURE_CONFIG.tenantId ? '✅' : '❌ MANQUANT'); + console.log(' Client ID:', AZURE_CONFIG.clientId ? '✅' : '❌ MANQUANT'); + console.log(' Client Secret:', AZURE_CONFIG.clientSecret ? '✅' : '❌ MANQUANT'); + + if (!AZURE_CONFIG.tenantId || !AZURE_CONFIG.clientId || !AZURE_CONFIG.clientSecret) { + throw new Error('Configuration Azure incomplète - vérifiez votre fichier .env'); + } + + const params = new URLSearchParams({ + grant_type: 'client_credentials', + client_id: AZURE_CONFIG.clientId, + client_secret: AZURE_CONFIG.clientSecret, + scope: 'https://graph.microsoft.com/.default' + }); + + const response = await axios.post( + `https://login.microsoftonline.com/${AZURE_CONFIG.tenantId}/oauth2/v2.0/token`, + params.toString(), + { headers: { 'Content-Type': 'application/x-www-form-urlencoded' } } + ); + + console.log('✅ Token obtenu avec succès'); + return response.data.access_token; + } catch (error) { + console.error('❌ Erreur obtention token:', error.message); + if (error.response) { + console.error(' Status HTTP:', error.response.status); + console.error(' Erreur détaillée:', JSON.stringify(error.response.data, null, 2)); + } + return null; + } +} + +// ================================================ +// 🔄 SYNCHRONISATION ENTRA ID +// ================================================ +async function syncEntraIdUsers() { + const syncResults = { processed: 0, inserted: 0, updated: 0, deactivated: 0, errors: [] }; + + try { + console.log('\n🔄 === DÉBUT SYNCHRONISATION ENTRA ID ==='); + + const accessToken = await getGraphToken(); + if (!accessToken) { console.error('❌ Impossible d\'obtenir le token'); return syncResults; } + console.log('✅ Token obtenu'); + + const groupResponse = await axios.get( + `https://graph.microsoft.com/v1.0/groups/${AZURE_CONFIG.groupId}?$select=id,displayName`, + { headers: { Authorization: `Bearer ${accessToken}` } } + ); + const groupName = groupResponse.data.displayName; + console.log(`📋 Groupe : ${groupName}`); + + let allAzureMembers = []; + let nextLink = `https://graph.microsoft.com/v1.0/groups/${AZURE_CONFIG.groupId}/members?$select=id,givenName,surname,mail,department,jobTitle,officeLocation,accountEnabled&$top=999`; + + console.log('📥 Récupération des membres...'); + while (nextLink) { + const membersResponse = await axios.get(nextLink, { headers: { Authorization: `Bearer ${accessToken}` } }); + allAzureMembers = allAzureMembers.concat(membersResponse.data.value); + nextLink = membersResponse.data['@odata.nextLink']; + if (nextLink) console.log(` 📄 ${allAzureMembers.length} membres récupérés...`); + } + + console.log(`✅ ${allAzureMembers.length} membres trouvés`); + + const validMembers = allAzureMembers.filter(m => { + if (!m.mail || m.mail.trim() === '') return false; + if (m.accountEnabled === false) return false; + return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(m.mail); + }); + + console.log(`✅ ${validMembers.length} membres valides`); + + const transaction = new sql.Transaction(pool); + await transaction.begin(); + + try { + const azureEmails = new Set(); + validMembers.forEach(m => azureEmails.add(m.mail.toLowerCase().trim())); + + console.log('\n📝 Traitement des utilisateurs...'); + + for (const m of validMembers) { + try { + const emailClean = m.mail.toLowerCase().trim(); + syncResults.processed++; + + const request = new sql.Request(transaction); + request.input('email', sql.NVarChar, emailClean); + const result = await request.query(` + SELECT id, email, entraUserId, Actif FROM CollaborateurAD WHERE LOWER(email) = LOWER(@email) + `); + + if (result.recordset.length > 0) { + const updateRequest = new sql.Request(transaction); + updateRequest.input('entraUserId', sql.NVarChar, m.id); + updateRequest.input('prenom', sql.NVarChar, m.givenName || ''); + updateRequest.input('nom', sql.NVarChar, m.surname || ''); + updateRequest.input('departement', sql.NVarChar, m.department || ''); + updateRequest.input('fonction', sql.NVarChar, m.jobTitle || ''); + updateRequest.input('campus', sql.NVarChar, m.officeLocation || ''); + updateRequest.input('email', sql.NVarChar, emailClean); + await updateRequest.query(` + UPDATE CollaborateurAD SET + entraUserId = @entraUserId, prenom = @prenom, nom = @nom, + departement = @departement, fonction = @fonction, campus = @campus, + Actif = 1, dateMiseAJour = GETDATE(), DateModification = GETDATE() + WHERE LOWER(email) = LOWER(@email) + `); + syncResults.updated++; + console.log(` ✓ Mis à jour : ${emailClean}`); + } else { + const insertRequest = new sql.Request(transaction); + insertRequest.input('entraUserId', sql.NVarChar, m.id); + insertRequest.input('prenom', sql.NVarChar, m.givenName || ''); + insertRequest.input('nom', sql.NVarChar, m.surname || ''); + insertRequest.input('email', sql.NVarChar, emailClean); + insertRequest.input('departement', sql.NVarChar, m.department || ''); + insertRequest.input('fonction', sql.NVarChar, m.jobTitle || ''); + insertRequest.input('campus', sql.NVarChar, m.officeLocation || ''); + await insertRequest.query(` + INSERT INTO CollaborateurAD + (entraUserId, prenom, nom, email, departement, fonction, campus, role, service, Actif, DateCreation, DateModification, dateMiseAJour) + VALUES (@entraUserId, @prenom, @nom, @email, @departement, @fonction, @campus, 'Collaborateur', NULL, 1, GETDATE(), GETDATE(), GETDATE()) + `); + syncResults.inserted++; + console.log(` ✓ Créé : ${emailClean}`); + } + } catch (userError) { + syncResults.errors.push({ email: m.mail, error: userError.message }); + console.error(` ❌ Erreur ${m.mail}:`, userError.message); + } + } + + console.log('\n🔍 Désactivation des comptes obsolètes...'); + if (azureEmails.size > 0) { + const activeEmailsList = Array.from(azureEmails).map(e => `'${e}'`).join(','); + const deactivateRequest = new sql.Request(transaction); + const deactivateResult = await deactivateRequest.query(` + UPDATE CollaborateurAD SET Actif = 0, DateModification = GETDATE() + WHERE email IS NOT NULL AND email != '' + AND LOWER(email) NOT IN (${activeEmailsList}) + AND (Actif = 1 OR Actif IS NULL) + `); + syncResults.deactivated = deactivateResult.rowsAffected[0]; + console.log(` ✓ ${syncResults.deactivated} compte(s) désactivé(s)`); + } + + await transaction.commit(); + + console.log('\n📊 === RÉSUMÉ ==='); + console.log(` Groupe: ${groupName}`); + console.log(` Total Entra: ${allAzureMembers.length}`); + console.log(` Valides: ${validMembers.length}`); + console.log(` Traités: ${syncResults.processed}`); + console.log(` Créés: ${syncResults.inserted}`); + console.log(` Mis à jour: ${syncResults.updated}`); + console.log(` Désactivés: ${syncResults.deactivated}`); + console.log(` Erreurs: ${syncResults.errors.length}`); + + } catch (error) { + await transaction.rollback(); + throw error; + } + + } catch (error) { + console.error('\n❌ ERREUR SYNCHRONISATION:', error.message); + } + + return syncResults; +} + +// ================================================ +// MIDDLEWARE JWT +// ================================================ +const authenticateToken = (req, res, next) => { + const authHeader = req.headers['authorization']; + const token = authHeader && authHeader.split(' ')[1]; + if (!token) return res.status(401).json({ error: 'Token manquant' }); + try { + const decoded = jwt.verify(token, process.env.JWT_SECRET); + req.user = decoded; + next(); + } catch (err) { + return res.status(403).json({ error: 'Token invalide ou expiré' }); + } +}; + +// requireRole gère les rôles multiples (tableau req.user.roles) +const requireRole = (...rolesRequis) => (req, res, next) => { + if (!req.user) return res.status(401).json({ error: 'Non authentifié' }); + const hasRole = req.user.roles && req.user.roles.some(r => rolesRequis.includes(r)); + if (!hasRole) { + return res.status(403).json({ error: `Accès refusé — rôle(s) requis : ${rolesRequis.join(' ou ')}` }); + } + next(); +}; + +// Helper : vérifie si l'utilisateur possède un rôle parmi une liste +const hasAnyRole = (user, ...roles) => user.roles && user.roles.some(r => roles.includes(r)); + +// ================================================ +// ROUTES DE BASE +// ================================================ +app.get('/', (req, res) => { + res.json({ message: 'API Gestion des Notes de Frais', version: '1.0.0', status: 'OK' }); +}); + +app.get('/users-dev', async (req, res) => { + try { + const result = await pool.request().query(` + SELECT id, email, nom, prenom, role, Actif FROM CollaborateurAD + WHERE Actif = 1 OR Actif IS NULL ORDER BY nom, prenom + `); + res.json(result.recordset); + } catch (error) { + console.error('❌ Erreur /users-dev:', error); + res.status(500).json({ error: error.message }); + } +}); + +// ✅ MODIFIÉ — login-dev avec rôles depuis UtilisateurRoles +app.post('/login-dev', async (req, res) => { + try { + const { accessToken } = req.body; + if (!accessToken) return res.status(400).json({ error: 'Token d\'accès manquant' }); + + let userInfo; + try { + const graphResponse = await fetch('https://graph.microsoft.com/v1.0/me', { + headers: { 'Authorization': `Bearer ${accessToken}` } + }); + if (!graphResponse.ok) throw new Error('Token invalide'); + userInfo = await graphResponse.json(); + } catch (graphError) { + return res.status(401).json({ error: 'Token d\'accès invalide', details: graphError.message }); + } + + const userEmail = userInfo.mail || userInfo.userPrincipalName; + const result = await pool.request() + .input('email', sql.VarChar, userEmail) + .query(`SELECT * FROM CollaborateurAD WHERE email = @email AND (Actif = 1 OR Actif IS NULL)`); + + if (!result.recordset.length) + return res.status(404).json({ error: 'Utilisateur non trouvé ou compte désactivé' }); + + const user = result.recordset[0]; + + // ✅ Rôles depuis UtilisateurRoles au lieu de CollaborateurAD.role + const userRoles = await getRolesForUser(user.id); + if (!userRoles.length) + return res.status(403).json({ error: 'Aucun rôle assigné dans UtilisateurRoles' }); + + const rolesAutorises = [ + 'Collaborateur', 'Collaboratrice', + 'Validateur', 'Validatrice', + 'Finance', 'VerificateurFinance', 'ValidateurFinance', + 'superUtilisateur' + ]; + const hasAccess = userRoles.some(r => rolesAutorises.includes(r)); + if (!hasAccess) + return res.status(403).json({ error: `Vos rôles n'ont pas accès à cette application` }); + + const token = jwt.sign( + { + id: user.id, + email: user.email, + roles: userRoles, + nom: user.nom, + prenom: user.prenom, + societe: user.societe, + campus: normalizeCampus(user.campus), + }, + process.env.JWT_SECRET, + { expiresIn: '8h' } + ); + + res.json({ + token, + user: { + id: user.id, + nom: user.nom, + prenom: user.prenom, + email: user.email, + roles: userRoles, + societe: user.societe, + campus: user.campus, + } + }); + } catch (error) { + res.status(500).json({ error: 'Erreur serveur inattendue', details: error.message }); + } +}); + +app.get('/auth/verify', authenticateToken, (req, res) => { + res.json({ valid: true, user: req.user }); +}); + +app.post('/auth/logout', authenticateToken, (req, res) => { + res.json({ success: true, message: 'Déconnexion réussie' }); +}); + +const pkceStore = new Map(); + +app.get('/api/auth/microsoft', (req, res) => { + const tenantId = process.env.AZURE_TENANT_ID; + const clientId = process.env.AZURE_CLIENT_ID; + const state = Math.random().toString(36).substring(2, 15); + const codeVerifier = crypto.randomBytes(32).toString('base64url'); + const codeChallenge = crypto.createHash('sha256').update(codeVerifier).digest('base64url'); + pkceStore.set(state, codeVerifier); + setTimeout(() => pkceStore.delete(state), 10 * 60 * 1000); + + // ✅ Détecte automatiquement l'URL d'origine + const redirectUri = process.env.OAUTH_REDIRECT_URI || 'https://myndf.ensup-adm.net/api/auth/callback'; + + console.log('🔗 Redirect URI:', redirectUri); + + const params = new URLSearchParams({ + client_id: clientId, + response_type: 'code', + redirect_uri: redirectUri, + response_mode: 'query', + scope: 'openid profile email User.Read', + state, + prompt: 'select_account', + code_challenge: codeChallenge, + code_challenge_method: 'S256' + }); + + res.redirect(`https://login.microsoftonline.com/${tenantId}/oauth2/v2.0/authorize?${params.toString()}`); +}); + + +// ✅ MODIFIÉ — auth/callback avec rôles depuis UtilisateurRoles +app.get('/api/auth/callback', async (req, res) => { + const { code, error, state } = req.query; + if (error) return res.redirect(`/login?error=${error}&desc=${encodeURIComponent(req.query.error_description || '')}`); + if (!code) return res.redirect(`/login?error=no_code`); + + const codeVerifier = pkceStore.get(state); + if (!codeVerifier) return res.redirect(`/login?error=invalid_state`); + pkceStore.delete(state); + + try { + // ✅ Détecte automatiquement l'URL d'origine (même logique que /api/auth/microsoft) + const redirectUri = process.env.OAUTH_REDIRECT_URI || 'https://myndf.ensup-adm.net/api/auth/callback'; + + console.log('🔗 Callback Redirect URI:', redirectUri); + + const tokenResponse = await axios.post( + `https://login.microsoftonline.com/${AZURE_CONFIG.tenantId}/oauth2/v2.0/token`, + new URLSearchParams({ + client_id: AZURE_CONFIG.clientId, + client_secret: AZURE_CONFIG.clientSecret, + code, + redirect_uri: redirectUri, // ✅ URI détectée automatiquement + grant_type: 'authorization_code', + code_verifier: codeVerifier + }), + { headers: { 'Content-Type': 'application/x-www-form-urlencoded' } } + ); + + const accessToken = tokenResponse.data.access_token; + const userResponse = await axios.get('https://graph.microsoft.com/v1.0/me', { + headers: { Authorization: `Bearer ${accessToken}` } + }); + + const userEmail = userResponse.data.mail || userResponse.data.userPrincipalName; + const result = await pool.request() + .input('email', sql.VarChar, userEmail) + .query(`SELECT * FROM CollaborateurAD WHERE email = @email AND (Actif = 1 OR Actif IS NULL)`); + + if (!result.recordset.length) return res.redirect(`/login?error=user_not_found`); + + const user = result.recordset[0]; + + // ✅ Rôles depuis UtilisateurRoles + const userRoles = await getRolesForUser(user.id); + if (!userRoles.length) + return res.redirect(`/login?error=no_role_assigned`); + + const rolesAutorises = ['Collaborateur', 'Collaboratrice', 'Validateur', 'Validatrice', 'Finance', 'VerificateurFinance', 'ValidateurFinance', , 'superUtilisateur']; + const hasAccess = userRoles.some(r => rolesAutorises.includes(r)); + if (!hasAccess) return res.redirect(`${process.env.FRONTEND_URL || 'http://localhost:3025'}/login?error=unauthorized_role`); + + + const jwtToken = jwt.sign( + { + id: user.id, + email: user.email, + roles: userRoles, + nom: user.nom, + prenom: user.prenom, + societe: user.societe, + campus: normalizeCampus(user.campus), + }, + process.env.JWT_SECRET, + { expiresIn: '8h' } + ); + + // ✅ Redirection vers le frontend avec le token + res.redirect(`${process.env.FRONTEND_URL || 'http://localhost:3025'}/auth/callback?token=${jwtToken}`); + + } catch (error) { + console.error('❌ Erreur callback OAuth:', error.message); + if (error.response?.data) { + console.error('Détails:', JSON.stringify(error.response.data, null, 2)); + } + res.redirect(`${process.env.FRONTEND_URL || 'http://localhost:3025'}/login?error=auth_failed&details=${encodeURIComponent(error.message)}`); + + } +}); + +// GET /api/verificateur/notes — notes approuvées à vérifier +app.get('/api/verificateur/notes', authenticateToken, async (req, res) => { + if (!hasAnyRole(req.user, 'VerificateurFinance', 'Finance', 'superUtilisateur')) + return res.status(403).json({ error: 'Accès réservé VerificateurFinance' }); + + try { + const request = pool.request(); + let campusWhere = ''; + if (req.user.campus && !hasAnyRole(req.user, 'superUtilisateur')) { + const campusCode = normalizeCampus(req.user.campus); + if (campusCode) { + request.input('campus', sql.NVarChar, `%${campusCode}%`); + campusWhere = `AND c.campus LIKE @campus`; + } + } + + const result = await request.query(` + SELECT n.*, + c.nom + ' ' + c.prenom AS collaborateur, + c.email AS collaborateurEmail, + c.departement, c.campus, c.societe, + v1.nom + ' ' + v1.prenom AS nomN1, + v2.nom + ' ' + v2.prenom AS nomN2, + vf.nom + ' ' + vf.prenom AS nomVerificateur, + n.dateVerification, n.commentaireVerification + FROM NoteDeFrais n + JOIN CollaborateurAD c ON c.id = n.collaborateurId + LEFT JOIN CollaborateurAD v1 ON v1.id = n.validateurN1Id + LEFT JOIN CollaborateurAD v2 ON v2.id = n.validateurN2Id + LEFT JOIN CollaborateurAD vf ON vf.id = n.verificateurFinanceId + WHERE n.statut = 'approuve' + ${campusWhere} + ORDER BY n.DateCreation DESC + `); + + const notes = result.recordset; + for (const note of notes) { + const ncResult = await pool.request() + .input('noteId', sql.Int, note.id) + .query(` + SELECT fileName, motif, statut, dateSignalement + FROM JustificatifsNonConformes + WHERE noteDeFraisId = @noteId + ORDER BY dateSignalement DESC + `); + note.nonConformes = ncResult.recordset; + } + + res.json(notes); + } catch (error) { + res.status(500).json({ error: error.message }); + } +}); +// PUT /api/verificateur/notes/:id/verifier +app.put('/api/verificateur/notes/:id/verifier', authenticateToken, async (req, res) => { + if (!hasAnyRole(req.user, 'VerificateurFinance', 'Finance', 'superUtilisateur')) + return res.status(403).json({ error: 'Accès réservé VerificateurFinance' }); + + const { commentaire } = req.body; + const noteId = parseInt(req.params.id); + + try { + // Récupérer la note + const noteResult = await pool.request() + .input('id', sql.Int, noteId) + .query(` + SELECT n.*, c.prenom, c.nom, c.email, c.campus + FROM NoteDeFrais n + JOIN CollaborateurAD c ON c.id = n.collaborateurId + WHERE n.id = @id AND n.statut = 'approuve' + `); + + if (!noteResult.recordset.length) + return res.status(404).json({ error: 'Note introuvable ou statut incompatible' }); + + const note = noteResult.recordset[0]; + + // Marquer comme vérifiée + await pool.request() + .input('id', sql.Int, noteId) + .input('verificateurId', sql.Int, req.user.id) + .input('commentaire', sql.NVarChar, commentaire || null) + .query(` + UPDATE NoteDeFrais SET + statut = 'verifie', + verificateurFinanceId = @verificateurId, + dateVerification = GETDATE(), + commentaireVerification = @commentaire, + DateModification = GETDATE() + WHERE id = @id + `); + + // Historique + await pool.request() + .input('noteId', sql.Int, noteId) + .input('validateurId', sql.Int, req.user.id) + .input('action', sql.NVarChar, 'verifier') + .input('commentaire', sql.NVarChar, commentaire || null) + .input('statut', sql.NVarChar, 'verifie') + .query(` + INSERT INTO HistoriqueValidation + (NoteDeFraisId, ValidateurId, Niveau, Action, Commentaire, NouveauStatut, DateAction) + VALUES + (@noteId, @validateurId, 'VERIF', @action, @commentaire, @statut, GETDATE()) + `); + + // Trouver les ValidateurFinance du même campus pour les notifier + const campusNorm = normalizeCampus(note.campus); + const validRequest = pool.request() + .input('campus', sql.NVarChar, campusNorm ? `%${campusNorm}%` : '%'); + const validateurs = await validRequest.query(` + SELECT c.id, c.email, c.prenom, c.nom + FROM CollaborateurAD c + JOIN UtilisateurRoles r ON r.collaborateur_id = c.id + WHERE r.role = 'ValidateurFinance' AND r.actif = 1 + AND c.campus LIKE @campus AND c.Actif = 1 +`); + + const verificateurNom = `${req.user.prenom} ${req.user.nom}`; + const montantFormate = parseFloat(note.montant).toFixed(2); + const frontendUrl = process.env.FRONTEND_URL || 'https://myndf.ensup-adm.net'; + + for (const val of validateurs.recordset) { + // Notification BDD + try { + await creerNotification({ + destinataireId: val.id, + destinataireEmail: val.email, + type: 'paiement', + titre: `✅ Note vérifiée à valider — ${note.reference}`, + message: `${verificateurNom} a vérifié la note ${note.reference} (${montantFormate} €) de ${note.prenom} ${note.nom}. En attente de votre validation de paiement.`, + noteId: noteId + }); + } catch (e) { console.error('Notif ValidateurFinance:', e.message); } + + // Email + try { + await sendMailGraph( + val.email, + `✅ Note vérifiée — validation paiement requise : ${note.reference}`, + `
+
+

✅ Note vérifiée — paiement à valider

+
+
+

Bonjour ${val.prenom} ${val.nom},

+

La note ${note.reference} de ${note.prenom} ${note.nom} (${montantFormate} €) + a été vérifiée par ${verificateurNom} et est prête pour le paiement.

+ ${commentaire ? `

+ 💬 Commentaire vérificateur : ${commentaire}

` : ''} +
+ + + + + +
Référence${note.reference}
Collaborateur${note.prenom} ${note.nom}
Montant${montantFormate} €
Campus${note.campus || '—'}
+
+
+ + Valider le paiement → + +
+
+
` + ); + } catch (e) { console.error('Email ValidateurFinance:', e.message); } + } + + // Notifier aussi le collaborateur + try { + await creerNotification({ + destinataireId: note.collaborateurId, + destinataireEmail: note.email, + type: 'paiement', + titre: `Note ${note.reference} en cours de traitement`, + message: `Votre note ${note.reference} (${montantFormate} €) a été vérifiée et est en attente de validation du paiement.`, + noteId: noteId + }); + } catch (e) { console.error('Notif collab vérification:', e.message); } + + res.json({ success: true, statut: 'verifie', notifiesCount: validateurs.recordset.length }); + + } catch (error) { + console.error('Erreur PUT verificateur/notes/:id/verifier:', error.message); + res.status(500).json({ error: error.message }); + } +}); + +// GET /api/verificateur/historique +app.get('/api/verificateur/historique', authenticateToken, async (req, res) => { + if (!hasAnyRole(req.user, 'VerificateurFinance', 'Finance', 'superUtilisateur')) + return res.status(403).json({ error: 'Accès refusé' }); + + try { + const request = pool.request().input('verificateurId', sql.Int, req.user.id); + + let campusWhere = ''; + if (req.user.campus && !hasAnyRole(req.user, 'superUtilisateur')) { + const campusCode = normalizeCampus(req.user.campus); + if (campusCode) { + request.input('campus', sql.NVarChar, `%${campusCode}%`); + campusWhere = 'AND c.campus LIKE @campus'; + } + } + + const result = await request.query(` + SELECT + n.id, n.reference, n.libelle, n.montant, + n.dateVerification, n.commentaireVerification, + n.lignesJson, n.fichiers, + c.nom + ' ' + c.prenom AS collaborateur, + c.campus, c.departement, + (SELECT COUNT(*) FROM JustificatifsNonConformes j + WHERE j.noteDeFraisId = n.id) AS nbNonConformes + FROM NoteDeFrais n + JOIN CollaborateurAD c ON c.id = n.collaborateurId + WHERE n.verificateurFinanceId = @verificateurId + AND n.statut IN ('verifie', 'paiementenattente', 'payee') + ${campusWhere} + ORDER BY n.dateVerification DESC + `); + + const notesAvecNC = await Promise.all(result.recordset.map(async row => { + const ncResult = await pool.request() + .input('noteId', sql.Int, row.id) + .query(` + SELECT fileName, motif, statut, dateSignalement + FROM JustificatifsNonConformes + WHERE noteDeFraisId = @noteId + ORDER BY dateSignalement DESC + `); + + const nonConformes = ncResult.recordset; + + let nbJustifs = 0; + try { + const fichiers = JSON.parse(row.fichiers || '[]'); + const SYSTEME = ['soumission', 'resoumission', 'recap-paiement', 'recap', 'signe-approuve', 'signeapprouve', 'signe_approuve']; + nbJustifs = fichiers.filter(f => + !SYSTEME.some(kw => (f.fileName || '').toLowerCase().includes(kw)) + ).length; + } catch { } + + const nbNonConformes = nonConformes.length; + const nbConformes = Math.max(0, nbJustifs - nbNonConformes); + + return { + ...row, + nbJustifs, + nbConformes, + nbNonConformes, + nonConformes, + dateVerification: row.dateVerification, + commentaire: row.commentaireVerification, + }; + })); + + res.json(notesAvecNC); + + } catch (error) { + res.status(500).json({ error: error.message }); + } +}); +// ================================================ +// SYNC ENTRA — réservé Finance +// ================================================ +app.post('/api/sync-entra', authenticateToken, async (req, res) => { + if (!hasAnyRole(req.user, 'Finance')) return res.status(403).json({ success: false, message: 'Accès refusé - réservé à la Finance' }); + const results = await syncEntraIdUsers(); + res.json({ success: true, message: 'Synchronisation terminée', stats: results }); +}); + +app.get('/api/sync-status', authenticateToken, async (req, res) => { + try { + const totalDB = await pool.request().query(` + SELECT COUNT(*) as total, + SUM(CASE WHEN Actif = 1 THEN 1 ELSE 0 END) as actifs, + SUM(CASE WHEN Actif = 0 THEN 1 ELSE 0 END) as inactifs + FROM CollaborateurAD + `); + const derniers = await pool.request().query(` + SELECT TOP 10 id, prenom, nom, email, role, Actif, dateCreation, dateMiseAJour + FROM CollaborateurAD ORDER BY dateMiseAJour DESC + `); + let entraStatus = { connected: false }; + try { + const token = await getGraphToken(); + if (token) { + const groupResponse = await axios.get( + `https://graph.microsoft.com/v1.0/groups/${AZURE_CONFIG.groupId}?$select=id,displayName`, + { headers: { Authorization: `Bearer ${token}` } } + ); + entraStatus = { connected: true, groupName: groupResponse.data.displayName, groupId: AZURE_CONFIG.groupId }; + } + } catch (err) { entraStatus.error = err.message; } + + res.json({ + success: true, + database: totalDB.recordset[0], + entraId: entraStatus, + derniers_utilisateurs: derniers.recordset + }); + } catch (error) { + res.status(500).json({ success: false, error: error.message }); + } +}); + +// ── GET tarif km actif ───────────────────────────────────────────── +app.get('/api/parametres/km', authenticateToken, async (req, res) => { + try { + const result = await pool.request().query(` + SELECT TOP 1 tarifParKm + FROM ParametresKm + WHERE actif = 1 + ORDER BY annee DESC + `); + const tarif = result.recordset[0]?.tarifParKm ?? 0.697; + res.json({ tarifKm: tarif }); + } catch (e) { + res.status(500).json({ error: e.message }); + } +}); + +// ── GET taux TVA actifs ──────────────────────────────────────────── +app.get('/api/parametres/tva', authenticateToken, async (req, res) => { + try { + const result = await pool.request().query(` + SELECT taux, libelle, categorie + FROM ParametresTVA + WHERE actif = 1 + AND dateDebut <= GETDATE() + AND (dateFin IS NULL OR dateFin >= GETDATE()) + ORDER BY taux ASC + `); + res.json(result.recordset); + } catch (e) { + res.status(500).json({ error: e.message }); + } +}); + +// ── PUT tarif km — réservé Finance ──────────────────────────────── +app.put('/api/parametres/km', authenticateToken, requireRole('Finance'), async (req, res) => { + const { tarifParKm, annee } = req.body; + if (!tarifParKm || isNaN(tarifParKm)) + return res.status(400).json({ error: 'Tarif invalide' }); + try { + await pool.request().query(`UPDATE ParametresKm SET actif = 0 WHERE actif = 1`); + await pool.request() + .input('tarif', sql.Decimal(10, 4), parseFloat(tarifParKm)) + .input('annee', sql.Int, annee || new Date().getFullYear()) + .query(`INSERT INTO ParametresKm (tarifParKm, annee, actif, DateCreation) VALUES (@tarif, @annee, 1, GETDATE())`); + res.json({ success: true, tarifParKm: parseFloat(tarifParKm) }); + } catch (e) { + res.status(500).json({ error: e.message }); + } +}); + +app.get('/api/parametres/bareme-km', authenticateToken, (req, res) => { + res.json({ + baremes: [ + { chevaux: 3, label: '3 CV et moins', t1: 0.529, t2_a: 0.316, t2_b: 1061, t3: 0.369 }, + { chevaux: 4, label: '4 CV', t1: 0.606, t2_a: 0.340, t2_b: 1330, t3: 0.408 }, + { chevaux: 5, label: '5 CV', t1: 0.636, t2_a: 0.356, t2_b: 1391, t3: 0.427 }, + { chevaux: 6, label: '6 CV', t1: 0.665, t2_a: 0.374, t2_b: 1457, t3: 0.448 }, + { chevaux: 7, label: '7 CV et plus', t1: 0.697, t2_a: 0.394, t2_b: 1512, t3: 0.470 }, + ] + }); +}); + +// ✅ MODIFIÉ — profil expose les rôles depuis UtilisateurRoles +app.get('/api/profile', authenticateToken, async (req, res) => { + try { + const result = await pool.request() + .input('id', sql.Int, req.user.id) + .query(` + SELECT id, nom, prenom, email, role, fonction as poste, + TypeContrat, DateEntree, campus, departement, societe, + adresse_rue, adresse_cp, adresse_ville, adresse_pays + FROM CollaborateurAD WHERE id = @id + `); + if (!result.recordset.length) return res.status(404).json({ error: 'Profil non trouvé' }); + const userProfile = result.recordset[0]; + + // ✅ Rôles depuis UtilisateurRoles au lieu de CollaborateurAD.role + const rolesDB = await getRolesForUser(req.user.id); + userProfile.roles = rolesDB.length > 0 ? rolesDB : ['Collaborateur']; + + res.json(userProfile); + } catch (error) { + res.status(500).json({ error: error.message }); + } +}); + +app.put('/api/profile/adresse', authenticateToken, async (req, res) => { + try { + const { adresse_rue, adresse_cp, adresse_ville, adresse_pays, societe } = req.body; + + if (!adresse_rue || !adresse_cp || !adresse_ville || !adresse_pays) + return res.status(400).json({ error: 'Tous les champs adresse sont obligatoires' }); + + await pool.request() + .input('id', sql.Int, req.user.id) + .input('adresse_rue', sql.NVarChar, adresse_rue.trim()) + .input('adresse_cp', sql.NVarChar, adresse_cp.trim()) + .input('adresse_ville', sql.NVarChar, adresse_ville.trim()) + .input('adresse_pays', sql.NVarChar, adresse_pays.trim()) + .input('societe', sql.NVarChar, societe ? societe.trim() : null) + .query(` + UPDATE CollaborateurAD SET + adresse_rue = @adresse_rue, + adresse_cp = @adresse_cp, + adresse_ville = @adresse_ville, + adresse_pays = @adresse_pays, + societe = COALESCE(@societe, societe), + DateModification = GETDATE() + WHERE id = @id + `); + + res.json({ success: true }); + } catch (error) { + console.error('PUT /api/profile/adresse :', error.message); + res.status(500).json({ error: error.message }); + } +}); + +// ================================================ +// HELPERS +// ================================================ +async function genererReference(campus, nom, prenom) { + const now = new Date(); + const annee = now.getFullYear(); + const mois = String(now.getMonth() + 1).padStart(2, '0'); + + // Normaliser le campus + const campusCode = normalizeCampus(campus) || 'XXX'; + + // Construire la partie nom : NOM.P (première lettre du prénom) + const nomClean = (nom || '').toUpperCase() + .normalize('NFD').replace(/[\u0300-\u036f]/g, '') // supprimer accents + .replace(/[^A-Z]/g, ''); // garder uniquement lettres + const prenomInitiale = (prenom || '').charAt(0).toUpperCase() + .normalize('NFD').replace(/[\u0300-\u036f]/g, '') + .replace(/[^A-Z]/g, ''); + + const nomPart = `${nomClean}.${prenomInitiale}`; + + const tx = new sql.Transaction(pool); + await tx.begin(); + try { + await new sql.Request(tx).query(` + IF NOT EXISTS (SELECT 1 FROM NDFSequence WHERE annee = ${annee}) + INSERT INTO NDFSequence (annee, compteur) VALUES (${annee}, 0) + `); + const result = await new sql.Request(tx).query(` + UPDATE NDFSequence SET compteur = compteur + 1 OUTPUT INSERTED.compteur WHERE annee = ${annee} + `); + await tx.commit(); + const num = String(result.recordset[0].compteur).padStart(3, '0'); + return `NDF-${annee}-${mois}-${campusCode}-${nomPart}`; + } catch (e) { await tx.rollback(); throw e; } +} + +async function uploadToSharePoint(file, ndfReference, collaborateurNomPrenom) { + const accessToken = await getGraphToken(); + if (!accessToken) throw new Error('Token Graph indisponible'); + const safeName = file.originalname.replace(/[^a-zA-Z0-9._\-]/g, '_'); + const fileName = `${ndfReference}_${safeName}`; + const folderPath = `${SHAREPOINT_CONFIG.basePath}/${collaborateurNomPrenom}`; + const uploadPath = `${folderPath}/${fileName}`; + + const res = await axios.put( + `https://graph.microsoft.com/v1.0/sites/${SHAREPOINT_CONFIG.siteId}/drives/${SHAREPOINT_CONFIG.driveId}/root:/${uploadPath}:/content`, + file.buffer, + { headers: { Authorization: `Bearer ${accessToken}`, 'Content-Type': file.mimetype } } + ); + return { fileName, uploadUrl: res.data.webUrl }; +} + +async function downloadFromSharePoint(webUrl) { + const accessToken = await getGraphToken(); + const urlObj = new URL(webUrl); + const fullPath = decodeURIComponent(urlObj.pathname); + const marker = '/Shared Documents/'; + const markerAlt = '/Documents/'; + let relativePath = ''; + if (fullPath.includes(marker)) relativePath = fullPath.split(marker)[1]; + else if (fullPath.includes(markerAlt)) relativePath = fullPath.split(markerAlt)[1]; + else { + const parts = fullPath.split('/sites/')[1]?.split('/'); + relativePath = parts?.slice(2).join('/') || ''; + } + const res = await axios.get( + `https://graph.microsoft.com/v1.0/sites/${SHAREPOINT_CONFIG.siteId}/drives/${SHAREPOINT_CONFIG.driveId}/root:/${relativePath}:/content`, + { headers: { Authorization: `Bearer ${accessToken}` }, responseType: 'arraybuffer' } + ); + return Buffer.from(res.data); +} + +async function uploadToSharePointHierarchique(file, noteRef, nomDossier, moisDossier) { + const accessToken = await getGraphToken(); + if (!accessToken) throw new Error('Token Graph indisponible'); + const safeName = (file.originalname || 'fichier').replace(/[^a-zA-Z0-9._\-]/g, '_'); + const fileName = safeName.startsWith(noteRef) ? safeName : `${noteRef}_${safeName}`; + const folderPath = `${SHAREPOINT_CONFIG.basePath}/${nomDossier}/${moisDossier}/${noteRef}`; + const uploadPath = `${folderPath}/${fileName}`; + + const res = await axios.put( + `https://graph.microsoft.com/v1.0/sites/${SHAREPOINT_CONFIG.siteId}/drives/${SHAREPOINT_CONFIG.driveId}/root:/${uploadPath}:/content`, + file.buffer, + { + headers: { Authorization: `Bearer ${accessToken}`, 'Content-Type': file.mimetype || 'application/octet-stream' }, + maxBodyLength: Infinity, maxContentLength: Infinity + } + ); + return { fileName, uploadUrl: res.data.webUrl, folderPath }; +} + +// ══════════════════════════════════════════════════════ +// 📎 RÉCAP COMPLET (fiche PDF/A + justificatifs fusionnés) +// ══════════════════════════════════════════════════════ +async function generateRecapWithJustifs(noteData, justifFiles, signaturesOpt) { + const signatures = signaturesOpt || [ + { niveau: 'COLLAB', nomPrenom: noteData.nomPrenom || '', date: new Date(), action: 'soumettre', commentaire: null } + ]; + const ficheBuffer = await generateFicheSignee(noteData, signatures); + + const finalPdf = await PDFLib.create(); + const fichePdf = await PDFLib.load(ficheBuffer); + const fichePages = await finalPdf.copyPages(fichePdf, fichePdf.getPageIndices()); + fichePages.forEach(p => finalPdf.addPage(p)); + + for (const file of justifFiles) { + const mimetype = file.mimetype || ''; + if (mimetype === 'application/pdf') { + try { + const justifPdf = await PDFLib.load(file.buffer); + const pages = await finalPdf.copyPages(justifPdf, justifPdf.getPageIndices()); + pages.forEach(p => finalPdf.addPage(p)); + } catch (e) { console.warn(`⚠️ PDF non intégrable: ${file.originalname} — ${e.message}`); } + } else if (mimetype.startsWith('image/')) { + try { + const page = finalPdf.addPage([595, 842]); + const img = mimetype === 'image/png' ? await finalPdf.embedPng(file.buffer) : await finalPdf.embedJpg(file.buffer); + const maxW = 495, maxH = 742; + const ratio = Math.min(maxW / img.width, maxH / img.height); + const w = img.width * ratio, h = img.height * ratio; + page.drawImage(img, { x: (595 - w) / 2, y: (842 - h) / 2, width: w, height: h }); + } catch (e) { console.warn(`⚠️ Image non intégrable: ${file.originalname} — ${e.message}`); } + } + } + + return Buffer.from(await finalPdf.save()); +} + +// ══════════════════════════════════════════════════════ +// POST /api/notes — Créer une note de frais (multi-lignes) +// ══════════════════════════════════════════════════════ +app.post('/api/notes', authenticateToken, upload.any(), async (req, res) => { + try { + const { libelle, date, description, participants, nombreParticipants, lignes, qrNoteRef } = req.body; + + if (!libelle || !date || !lignes) + return res.status(400).json({ error: 'Libellé, date et lignes sont obligatoires' }); + + let lignesParsed; + try { + lignesParsed = typeof lignes === 'string' ? JSON.parse(lignes) : lignes; + } catch { + return res.status(400).json({ error: 'Format des lignes invalide' }); + } + if (!Array.isArray(lignesParsed) || lignesParsed.length === 0) + return res.status(400).json({ error: 'Au moins une ligne est obligatoire' }); + + let tarifKm = await getTarifKm(); + try { + const annee = new Date().getFullYear(); + const kmParam = await pool.request() + .input('annee', sql.Int, annee) + .query(`SELECT TOP 1 tarifParKm FROM ParametresKm WHERE annee = @annee AND actif = 1 ORDER BY DateCreation DESC`); + if (kmParam.recordset[0]?.tarifParKm) tarifKm = parseFloat(kmParam.recordset[0].tarifParKm); + } catch { } + + const lignesPDF = preparerLignesPDF(lignesParsed, tarifKm); + const montantTTC = lignesPDF.reduce((s, l) => s + l.montantTTC, 0); + const indemKm = lignesPDF.reduce((s, l) => s + l.indemniteKm, 0); + const kmTotal = lignesPDF.reduce((s, l) => s + (l.km || 0), 0); + const montantFinal = parseFloat((montantTTC + indemKm).toFixed(2)); + const montantFormate = montantFinal.toFixed(2); + const isKmOnly = lignesPDF.every(l => l.montantTTC === 0 && l.indemniteKm > 0); + console.log('🔍 isKmOnly:', isKmOnly, 'kmTotal:', kmTotal, 'montantTTC:', montantTTC); + + const categorieNote = isKmOnly ? 'Kilométrique pur' : 'Multiple'; + + // POST /api/notes — ligne ~420 + const collabResult = await pool.request() + .input('id', sql.Int, req.user.id) + .query(`SELECT id, email, prenom, nom, departement, campus FROM CollaborateurAD WHERE id = @id`); + if (!collabResult.recordset.length) return res.status(404).json({ error: 'Collaborateur non trouvé' }); + const collaborateur = collabResult.recordset[0]; + const nomPrenom = `${collaborateur.nom.toUpperCase()} ${collaborateur.prenom}`; + + const dateObj = new Date(date); + const moisStr = dateObj.toLocaleDateString('fr-FR', { month: 'long', year: 'numeric' }); + const moisCapitalized = moisStr.charAt(0).toUpperCase() + moisStr.slice(1); + + const hierarchie = await pool.request() + .input('collabId', sql.Int, req.user.id) + .query(` + SELECT h.SuperieurId, h.[SuperieurIdn+2], + s1.email AS emailN1, s1.prenom AS prenomN1, s1.nom AS nomN1, + s2.email AS emailN2 + FROM HierarchieValidationNDF h + LEFT JOIN CollaborateurAD s1 ON s1.id = h.SuperieurId + LEFT JOIN CollaborateurAD s2 ON s2.id = h.[SuperieurIdn+2] + WHERE h.CollaborateurId = @collabId + `); + const n1Id = hierarchie.recordset[0]?.SuperieurId ?? null; + const n2Id = hierarchie.recordset[0]?.['SuperieurIdn+2'] ?? null; + const emailN1 = hierarchie.recordset[0]?.emailN1 ?? null; + const prenomN1 = hierarchie.recordset[0]?.prenomN1 ?? null; + const nomN1 = hierarchie.recordset[0]?.nomN1 ?? null; + + const reference = await genererReference(collaborateur.campus, collaborateur.nom, collaborateur.prenom); + + const nomDossier = `${collaborateur.prenom}_${collaborateur.nom}`.replace(/\s+/g, '_'); + const now = new Date(); + const moisDossier = `${now.getFullYear()}-${String(now.getMonth() + 1).padStart(2, '0')}`; + + const allFiles = [...(req.files || [])]; + if (qrNoteRef) { + const qrToken = await pool.request() + .input('noteRef', sql.NVarChar, qrNoteRef) + .query(`SELECT TOP 1 fichiers FROM UploadTokens WHERE noteRef = @noteRef AND used = 1 ORDER BY expiresAt DESC`); + if (qrToken.recordset.length && qrToken.recordset[0].fichiers) { + const qrFichiers = JSON.parse(qrToken.recordset[0].fichiers); + for (const f of qrFichiers) { + try { + const buf = await downloadFromSharePoint(f.uploadUrl); + allFiles.push({ buffer: buf, originalname: f.fileName, mimetype: f.fileName?.endsWith('.pdf') ? 'application/pdf' : 'image/jpeg', size: buf.length }); + } catch (e) { console.warn('⚠️ QR global download fail:', e.message); } + } + } + } + + // ✅ QR par ligne — récupère et STOCKE les fichiers dans qrFiles de chaque ligne + for (let i = 0; i < lignesParsed.length; i++) { + const ligneQrRef = lignesParsed[i].qrNoteRef; + if (!ligneQrRef) continue; + try { + const qrLigne = await pool.request() + .input('noteRef', sql.NVarChar, ligneQrRef) + .query(`SELECT TOP 1 fichiers FROM UploadTokens WHERE noteRef = @noteRef AND used = 1 ORDER BY expiresAt DESC`); + if (qrLigne.recordset.length && qrLigne.recordset[0].fichiers) { + const qrFichiers = JSON.parse(qrLigne.recordset[0].fichiers); + + // ✅ Initialiser qrFiles pour cette ligne + if (!lignesParsed[i].qrFiles) lignesParsed[i].qrFiles = []; + + for (const f of qrFichiers) { + try { + const buf = await downloadFromSharePoint(f.uploadUrl); + const fileObj = { + buffer: buf, + originalname: f.fileName, + mimetype: f.fileName?.endsWith('.pdf') ? 'application/pdf' : 'image/jpeg', + size: buf.length + }; + + // Ajouter à allFiles pour le récap PDF global + allFiles.push(fileObj); + + // ✅ Uploader vers SP avec la référence finale et stocker dans qrFiles + try { + const uploaded = await uploadToSharePointHierarchique( + fileObj, reference, nomDossier, moisDossier + ); + // Éviter les doublons + const dejaSauve = lignesParsed[i].qrFiles.some(x => x.fileName === uploaded.fileName); + if (!dejaSauve) { + lignesParsed[i].qrFiles.push({ + fileName: uploaded.fileName, + uploadUrl: uploaded.uploadUrl + }); + } + console.log(`✅ QR ligne ${i} stocké dans qrFiles: ${uploaded.fileName}`); + } catch (uploadErr) { + console.warn(`⚠️ Upload SP ligne ${i}:`, uploadErr.message); + } + } catch (e) { console.warn(`⚠️ QR ligne ${i} download fail:`, e.message); } + } + } else { + console.warn(`⚠️ QR ligne ${i} (${ligneQrRef}) : token introuvable ou non utilisé`); + } + } catch (e) { + console.warn(`⚠️ QR ligne ${i} erreur DB:`, e.message); + } + } + + // ✅ Recalculer lignesJson APRÈS enrichissement des qrFiles + const lignesJsonFinal = JSON.stringify(lignesParsed); + + const fichiersUploades = []; + for (const file of allFiles) { + try { + const r = await uploadToSharePointHierarchique(file, reference, nomDossier, moisDossier); + fichiersUploades.push(r); + } catch (e) { console.error(`❌ Upload justif ${file.originalname}:`, e.message); } + } + + const noteDataPDF = { + reference, + nomPrenom, + mois: moisCapitalized, + date, + categorie: categorieNote, + libelle, + montant: montantFinal, + lignes: lignesParsed, + lignesJson: JSON.stringify(lignesParsed), + tarifKm: await getTarifKm(), + statut: 'enattente', + departement: collaborateur.departement, + participants: participants || null, + }; + + let ficheResult = null; + try { + const fichePDF = await generateFicheSignee( + noteDataPDF, + [{ niveau: 'COLLAB', nomPrenom, date: new Date(), action: 'soumettre', commentaire: null }] + ); + ficheResult = await uploadToSharePointHierarchique( + { buffer: fichePDF, originalname: `${reference}_soumission.pdf`, mimetype: 'application/pdf', size: fichePDF.length }, + reference, nomDossier, moisDossier + ); + fichiersUploades.push(ficheResult); + console.log('✅ Fiche soumission uploadée:', ficheResult.fileName); + } catch (e) { console.error('❌ Génération fiche PDF:', e.message, e.stack); } + + let recapUrl = null; + try { + const recapBuffer = await generateRecapWithJustifs(noteDataPDF, allFiles); + const recapResult = await uploadToSharePointHierarchique( + { buffer: recapBuffer, originalname: `${reference}_recap.pdf`, mimetype: 'application/pdf', size: recapBuffer.length }, + reference, nomDossier, moisDossier + ); + fichiersUploades.push(recapResult); + recapUrl = recapResult.uploadUrl; + console.log('✅ Récap PDF uploadé:', recapResult.fileName); + } catch (e) { console.error('❌ Génération récap PDF:', e.message); } + + const insertResult = await pool.request() + .input('reference', sql.NVarChar, reference) + .input('collaborateurId', sql.Int, req.user.id) + .input('libelle', sql.NVarChar, libelle) + .input('montant', sql.Decimal, montantFinal) + .input('date', sql.Date, new Date(date)) + .input('categorie', sql.NVarChar, categorieNote) + .input('description', sql.NVarChar, description || null) + .input('participants', sql.NVarChar, participants ? String(participants) : null) + .input('nombreParticipants', sql.Int, nombreParticipants ? parseInt(nombreParticipants) : null) + .input('sharepointUrl', sql.NVarChar, recapUrl || ficheResult?.uploadUrl || fichiersUploades[0]?.uploadUrl || null) + .input('fichiers', sql.NVarChar, JSON.stringify(fichiersUploades)) + .input('statut', sql.NVarChar, 'enattente') + .input('validateurN1Id', sql.Int, n1Id) + .input('validateurN2Id', sql.Int, n2Id) + .input('montantHT', sql.Decimal, null) + .input('tauxTVA', sql.Decimal, null) + .input('montantTVA21', sql.Decimal, null) + .input('montantTVA55', sql.Decimal, null) + .input('montantTVA10', sql.Decimal, null) + .input('montantTVA20', sql.Decimal, null) + .input('km', sql.Decimal, kmTotal || null) + .input('indemniteKm', sql.Decimal, indemKm || null) + .input('lignesJson', sql.NVarChar, lignesJsonFinal) + .query(` + INSERT INTO NoteDeFrais + (reference, collaborateurId, libelle, montant, date, categorie, + description, participants, nombreParticipants, sharepointUrl, fichiers, + statut, validateurN1Id, validateurN2Id, + montantHT, tauxTVA, montantTVA21, montantTVA55, montantTVA10, montantTVA20, + km, indemniteKm, lignesJson) + OUTPUT INSERTED.id, INSERTED.reference + VALUES + (@reference, @collaborateurId, @libelle, @montant, @date, @categorie, + @description, @participants, @nombreParticipants, @sharepointUrl, @fichiers, + @statut, @validateurN1Id, @validateurN2Id, + @montantHT, @tauxTVA, @montantTVA21, @montantTVA55, @montantTVA10, @montantTVA20, + @km, @indemniteKm, @lignesJson) + `); + + const noteCreee = insertResult.recordset[0]; + + for (let i = 0; i < lignesParsed.length; i++) { + const l = lignesParsed[i]; + const pdf = lignesPDF[i]; + try { + await pool.request() + .input('noteId', sql.Int, noteCreee.id) + .input('numPiece', sql.Int, i + 1) + .input('date', sql.Date, new Date(l.date)) + .input('nature', sql.NVarChar, l.categorie || '') + .input('libelle', sql.NVarChar, l.libelle || '') + .input('km', sql.Decimal, pdf.km || null) + .input('montantTTC', sql.Decimal, pdf.montantTTC || null) + .input('tva21', sql.Decimal, pdf.tva21 || null) + .input('tva55', sql.Decimal, pdf.tva55 || null) + .input('tva10', sql.Decimal, pdf.tva10 || null) + .input('tva20', sql.Decimal, pdf.tva20 || null) + .input('montantHT', sql.Decimal, pdf.montantHT || null) + .input('tauxTVA', sql.Decimal, parseFloat(l.tauxTVA) || null) + .input('indemniteKm', sql.Decimal, pdf.indemniteKm || null) + .query(` + INSERT INTO LigneNoteDeFrais + (noteDeFraisId, numPiece, date, nature, libelle, + km, montantTTC, tva21, tva55, tva10, tva20, + montantHT, tauxTVA, indemniteKm) + VALUES + (@noteId, @numPiece, @date, @nature, @libelle, + @km, @montantTTC, @tva21, @tva55, @tva10, @tva20, + @montantHT, @tauxTVA, @indemniteKm) + `); + } catch (e) { console.error(`❌ Insertion ligne ${i + 1}:`, e.message); } + } + + console.log(`✅ Note créée: ${reference} (${lignesParsed.length} lignes) par ${collaborateur.email}`); + + const dateFormatee = new Date(date).toLocaleDateString('fr-FR'); + const frontendUrl = process.env.FRONTEND_URL || 'myndf.ensup-adm.net'; + + try { + await creerNotification({ + destinataireId: collaborateur.id, destinataireEmail: null, type: 'soumission', + titre: `✅ Note ${reference} soumise avec succès`, + message: `Votre note ${reference} — ${libelle} (${montantFormate} €) a bien été reçue.`, + noteId: noteCreee.id + }); + } catch (e) { console.error('❌ Notif BDD collab:', e.message); } + + try { + await sendMailGraph( + collaborateur.email, + `✅ Accusé de réception — Note ${reference}`, + `
+
+

✅ Note de frais bien reçue

+
+
+

Bonjour ${collaborateur.prenom} ${collaborateur.nom},

+

Votre note ${reference} — ${libelle} (${montantFormate} €) a bien été enregistrée.

+ ${nomN1 ? `

Validateur : ${prenomN1} ${nomN1}

` : ''} + ${recapUrl ? `

📎 Voir le récapitulatif PDF

` : ''} +
+ Suivre mes notes → +
+
+
` + ); + } catch (e) { console.error('❌ Email accusé collab:', e.message); } + + if (n1Id && emailN1) { + try { + await creerNotification({ + destinataireId: n1Id, destinataireEmail: emailN1, type: 'validation', + titre: `📋 Note à valider — ${reference}`, + message: `${collaborateur.prenom} ${collaborateur.nom} a soumis une note de frais de ${montantFormate} € en attente de votre validation.`, + noteId: noteCreee.id + }); + } catch (e) { console.error('❌ Notif BDD N1:', e.message); } + + try { + await sendMailGraph( + emailN1, + `📋 Note de frais à valider — ${reference}`, + `
+
+

📋 Note de frais à valider

+
+
+

Bonjour ${prenomN1} ${nomN1},

+

${collaborateur.prenom} ${collaborateur.nom} a soumis la note ${reference} — ${libelle} (${montantFormate} €).

+ ${recapUrl ? `

📎 Récapitulatif + justificatifs

` : ''} +
+ Valider sur la plateforme → +
+
+
` + ); + } catch (e) { console.error('❌ Email N1:', e.message); } + } + + res.status(201).json({ + success: true, id: noteCreee.id, reference: noteCreee.reference, + fichiers: fichiersUploades, recapUrl, + }); + + } catch (error) { + console.error('❌ Erreur POST /api/notes:', error.message); + res.status(500).json({ error: error.message }); + } + } +); +app.put('/api/notes/:id', authenticateToken, upload.any(), async (req, res) => { + try { + const noteId = parseInt(req.params.id); + const userId = req.user.id; + + const noteCheck = await pool.request() + .input('id', sql.Int, noteId) + .input('collabId', sql.Int, userId) + .query(` + SELECT * FROM NoteDeFrais + WHERE id = @id AND collaborateurId = @collabId + AND statut IN ('enattente', 'refuse', 'non_conforme_verif') + `); + + if (!noteCheck.recordset.length) + return res.status(403).json({ error: 'Note introuvable ou non modifiable (statut incompatible)' }); + + const noteExist = noteCheck.recordset[0]; + + // ✅ Détecter si correction (refusée ou non-conforme) → nouvelle note + const estCorrection = noteExist.statut === 'refuse' || noteExist.statut === 'non_conforme_verif'; + + const { libelle, date, description, participants, nombreParticipants, lignes } = req.body; + + if (!libelle || !date || !lignes) + return res.status(400).json({ error: 'Libellé, date et lignes sont obligatoires' }); + + let lignesParsed; + try { lignesParsed = typeof lignes === 'string' ? JSON.parse(lignes) : lignes; } + catch { return res.status(400).json({ error: 'Format des lignes invalide' }); } + + // ── Calculs communs ─────────────────────────────────────────────────── + const montantFinal = lignesParsed.reduce((total, l) => { + const isKm = (l.categorie || '').toLowerCase().includes('kilom'); + if (isKm) { + const km = parseFloat(l.km) || 0; + const cv = parseInt(l.chevaux) || 7; + return total + getIndemniteKmServer(km, cv); + } + const items = l.tvaItems || [{ montantTTC: l.montant, taux: l.tauxTVA }]; + return total + items.reduce((s, i) => s + (parseFloat(i.montantTTC) || 0), 0); + }, 0); + + const indemKm = lignesParsed.reduce((s, l) => { + if ((l.categorie || '').toLowerCase().includes('kilom')) + return s + getIndemniteKmServer(parseFloat(l.km) || 0, parseInt(l.chevaux) || 7); + return s; + }, 0); + + const kmTotal = lignesParsed.reduce((s, l) => + s + ((l.categorie || '').toLowerCase().includes('kilom') ? (parseFloat(l.km) || 0) : 0), 0 + ); + + const isKmOnly = lignesParsed.every(l => (l.categorie || '').toLowerCase().includes('kilom')); + const categorieNote = isKmOnly ? 'Kilométrique pur' : 'Multiple'; + + const collabResult = await pool.request() + .input('id', sql.Int, userId) + .query(`SELECT id, email, prenom, nom, departement, campus FROM CollaborateurAD WHERE id = @id`); + const collaborateur = collabResult.recordset[0]; + const nomPrenom = `${collaborateur.nom.toUpperCase()} ${collaborateur.prenom}`; + + const dateObj = new Date(date); + const moisStr = dateObj.toLocaleDateString('fr-FR', { month: 'long', year: 'numeric' }); + const moisCapitalized = moisStr.charAt(0).toUpperCase() + moisStr.slice(1); + const nomDossier = `${collaborateur.prenom}_${collaborateur.nom}`.replace(/\s+/g, '_'); + const now = new Date(); + const moisDossier = `${now.getFullYear()}-${String(now.getMonth() + 1).padStart(2, '0')}`; + const tarifKmVal = await getTarifKm(); + + // ════════════════════════════════════════════════════════════════════ + // CAS 1 — Note REFUSÉE ou NON_CONFORME_VERIF → créer une NOUVELLE note + // ════════════════════════════════════════════════════════════════════ + if (estCorrection) { + + // 1. Archiver l'ancienne note + const statutArchive = noteExist.statut === 'non_conforme_verif' + ? 'non_conforme_archive' + : 'refuse_archive'; + + await pool.request() + .input('id', sql.Int, noteId) + .input('statutArchive', sql.NVarChar, statutArchive) + .query(` + UPDATE NoteDeFrais SET + statut = @statutArchive, + DateModification = GETDATE() + WHERE id = @id + `); + + // 2. Nouvelle référence + const nouvelleReference = await genererReference(collaborateur.campus, collaborateur.nom, collaborateur.prenom); + + // 3. Upload fichiers joints + const allFiles = [...(req.files || [])]; + const fichiersUploades = []; + for (const file of allFiles) { + try { + const r = await uploadToSharePointHierarchique(file, nouvelleReference, nomDossier, moisDossier); + fichiersUploades.push(r); + } catch (e) { console.error(`❌ Upload justif correction ${file.originalname}:`, e.message); } + } + + // 4. Récupérer fichiers QR par ligne + for (let i = 0; i < lignesParsed.length; i++) { + const ligneQrRef = lignesParsed[i].qrNoteRef; + if (!ligneQrRef) continue; + try { + const qrLigne = await pool.request() + .input('noteRef', sql.NVarChar, ligneQrRef) + .query(`SELECT TOP 1 fichiers FROM UploadTokens WHERE noteRef = @noteRef AND used = 1 ORDER BY expiresAt DESC`); + if (qrLigne.recordset.length && qrLigne.recordset[0].fichiers) { + const qrFichiers = JSON.parse(qrLigne.recordset[0].fichiers); + for (const f of qrFichiers) { + try { + const buf = await downloadFromSharePoint(f.uploadUrl); + const r = await uploadToSharePointHierarchique( + { buffer: buf, originalname: f.fileName, mimetype: f.fileName?.endsWith('.pdf') ? 'application/pdf' : 'image/jpeg', size: buf.length }, + nouvelleReference, nomDossier, moisDossier + ); + fichiersUploades.push(r); + } catch (e) { console.warn(`⚠️ QR ligne ${i} download fail:`, e.message); } + } + } + } catch (e) { console.warn(`⚠️ QR ligne ${i} erreur DB:`, e.message); } + } + + // 5. Générer fiche PDF + const noteDataPDF = { + reference: nouvelleReference, nomPrenom, mois: moisCapitalized, date, + categorie: categorieNote, libelle, + montant: parseFloat(montantFinal.toFixed(2)), + lignes: lignesParsed, lignesJson: JSON.stringify(lignesParsed), + tarifKm: tarifKmVal, statut: 'enattente', + departement: collaborateur.departement, + }; + + try { + const commentairePDF = noteExist.statut === 'non_conforme_verif' + ? `Correction suite à non-conformité signalée sur ${noteExist.reference}` + : `Correction suite au refus de ${noteExist.reference}`; + const fichePDF = await generateFicheSignee(noteDataPDF, [{ + niveau: 'COLLAB', nomPrenom, date: new Date(), + action: 'soumettre', commentaire: commentairePDF + }]); + const ficheResult = await uploadToSharePointHierarchique( + { buffer: fichePDF, originalname: `${nouvelleReference}_soumission.pdf`, mimetype: 'application/pdf', size: fichePDF.length }, + nouvelleReference, nomDossier, moisDossier + ); + fichiersUploades.push(ficheResult); + } catch (e) { console.error('❌ Fiche PDF correction:', e.message); } + + // 6. Hiérarchie + const hierarchie = await pool.request() + .input('collabId', sql.Int, userId) + .query(` + SELECT h.SuperieurId, h.[SuperieurIdn+2], + s1.email AS emailN1, s1.prenom AS prenomN1, s1.nom AS nomN1, + s2.email AS emailN2 + FROM HierarchieValidationNDF h + LEFT JOIN CollaborateurAD s1 ON s1.id = h.SuperieurId + LEFT JOIN CollaborateurAD s2 ON s2.id = h.[SuperieurIdn+2] + WHERE h.CollaborateurId = @collabId + `); + const n1Id = hierarchie.recordset[0]?.SuperieurId ?? null; + const n2Id = hierarchie.recordset[0]?.['SuperieurIdn+2'] ?? null; + const emailN1 = hierarchie.recordset[0]?.emailN1 ?? null; + const prenomN1 = hierarchie.recordset[0]?.prenomN1 ?? null; + const nomN1 = hierarchie.recordset[0]?.nomN1 ?? null; + + // 7. Insérer nouvelle note + const insertResult = await pool.request() + .input('reference', sql.NVarChar, nouvelleReference) + .input('collaborateurId', sql.Int, userId) + .input('libelle', sql.NVarChar, libelle) + .input('montant', sql.Decimal, parseFloat(montantFinal.toFixed(2))) + .input('date', sql.Date, new Date(date)) + .input('categorie', sql.NVarChar, categorieNote) + .input('description', sql.NVarChar, description || null) + .input('participants', sql.NVarChar, participants ? String(participants) : null) + .input('nombreParticipants', sql.Int, nombreParticipants ? parseInt(nombreParticipants) : null) + .input('fichiers', sql.NVarChar, JSON.stringify(fichiersUploades)) + .input('statut', sql.NVarChar, 'enattente') + .input('validateurN1Id', sql.Int, n1Id) + .input('validateurN2Id', sql.Int, n2Id) + .input('km', sql.Decimal, kmTotal || null) + .input('indemniteKm', sql.Decimal, indemKm || null) + .input('lignesJson', sql.NVarChar, JSON.stringify(lignesParsed)) + .input('noteRefuseeId', sql.Int, noteId) + .query(` + INSERT INTO NoteDeFrais + (reference, collaborateurId, libelle, montant, date, categorie, + description, participants, nombreParticipants, + fichiers, statut, validateurN1Id, validateurN2Id, + km, indemniteKm, lignesJson, noteRefuseeId, + DateCreation, DateModification) + OUTPUT INSERTED.id, INSERTED.reference + VALUES + (@reference, @collaborateurId, @libelle, @montant, @date, @categorie, + @description, @participants, @nombreParticipants, + @fichiers, @statut, @validateurN1Id, @validateurN2Id, + @km, @indemniteKm, @lignesJson, @noteRefuseeId, + GETDATE(), GETDATE()) + `); + + const nouvelleNote = insertResult.recordset[0]; + + // 8. Insérer lignes + const lignesPDF = preparerLignesPDF(lignesParsed, tarifKmVal); + for (let i = 0; i < lignesParsed.length; i++) { + const l = lignesParsed[i]; + const pdf = lignesPDF[i] || {}; + const isKmLine = (l.categorie || '').toLowerCase().includes('kilom'); + const kmLine = parseFloat(l.km) || 0; + const cvLine = parseInt(l.chevaux) || 7; + const indemLine = isKmLine ? getIndemniteKmServer(kmLine, cvLine) : 0; + const items = l.tvaItems || [{ montantTTC: l.montant, taux: l.tauxTVA }]; + const ttcLine = isKmLine ? indemLine : items.reduce((s, item) => s + (parseFloat(item.montantTTC) || 0), 0); + try { + await pool.request() + .input('noteId', sql.Int, nouvelleNote.id) + .input('numPiece', sql.Int, i + 1) + .input('date', sql.Date, new Date(l.date)) + .input('nature', sql.NVarChar, l.categorie || '') + .input('libelle', sql.NVarChar, l.libelle || '') + .input('km', sql.Decimal, isKmLine ? kmLine : null) + .input('montantTTC', sql.Decimal, ttcLine || null) + .input('tva21', sql.Decimal, pdf.tva21 || null) + .input('tva55', sql.Decimal, pdf.tva55 || null) + .input('tva10', sql.Decimal, pdf.tva10 || null) + .input('tva20', sql.Decimal, pdf.tva20 || null) + .input('montantHT', sql.Decimal, pdf.montantHT || null) + .input('tauxTVA', sql.Decimal, parseFloat(l.tauxTVA) || null) + .input('indemniteKm', sql.Decimal, indemLine || null) + .query(` + INSERT INTO LigneNoteDeFrais + (noteDeFraisId, numPiece, date, nature, libelle, + km, montantTTC, tva21, tva55, tva10, tva20, + montantHT, tauxTVA, indemniteKm) + VALUES + (@noteId, @numPiece, @date, @nature, @libelle, + @km, @montantTTC, @tva21, @tva55, @tva10, @tva20, + @montantHT, @tauxTVA, @indemniteKm) + `); + } catch (e) { console.error(`❌ Insertion ligne correction ${i + 1}:`, e.message); } + } + + // 9. Notifier N1 + if (n1Id && emailN1) { + try { + const titreNotif = noteExist.statut === 'non_conforme_verif' + ? `📋 Note corrigée à valider — ${nouvelleReference}` + : `📋 Note corrigée à valider — ${nouvelleReference}`; + // Dans le PUT /api/notes/:id — CAS 1 correction, section "Notifier N1" + const msgNotif = `${collaborateur.prenom} ${collaborateur.nom} a resoumis une note corrigée. +Ancienne référence : ${noteExist.reference} (${statutArchive}) +Nouvelle référence : ${nouvelleReference} +Montant : ${parseFloat(montantFinal.toFixed(2))} €`; + + await creerNotification({ + destinataireId: n1Id, destinataireEmail: emailN1, + type: 'validation', titre: titreNotif, message: msgNotif, + noteId: nouvelleNote.id + }); + + const frontendUrl = process.env.FRONTEND_URL || 'https://myndf.ensup-adm.net'; + const couleurHeader = noteExist.statut === 'non_conforme_verif' + ? 'linear-gradient(135deg,#f97316,#ea580c)' + : 'linear-gradient(135deg,#f59e0b,#d97706)'; + const contexte = noteExist.statut === 'non_conforme_verif' + ? `suite à la non-conformité signalée sur ${noteExist.reference}` + : `suite au refus de ${noteExist.reference}`; + + await sendMailGraph(emailN1, `📋 Note corrigée à valider — ${nouvelleReference}`, + `
+
+

📋 Note corrigée — à valider

+
+
+

Bonjour ${prenomN1} ${nomN1},

+

${collaborateur.prenom} ${collaborateur.nom} a resoumis une note corrigée ${contexte}.

+

Nouvelle référence : ${nouvelleReference}${parseFloat(montantFinal.toFixed(2))} €

+
+ Valider sur la plateforme → +
+
+
` + ); + } catch (e) { console.error('❌ Notif N1 correction:', e.message); } + } + + console.log(`✅ Note corrigée ${nouvelleReference} créée (remplace ${noteExist.reference} → ${statutArchive}) par ${collaborateur.email}`); + return res.json({ + success: true, + id: nouvelleNote.id, + reference: nouvelleReference, + statut: 'enattente', + isCorrection: true, + ancienneReference: noteExist.reference + }); + } + + // ════════════════════════════════════════════════════════════════════ + // CAS 2 — Note EN ATTENTE → modifier sur place (comportement original) + // ════════════════════════════════════════════════════════════════════ + + const reference = noteExist.reference; + const allFiles = [...(req.files || [])]; + let fichiersExistants = []; + try { fichiersExistants = JSON.parse(noteExist.fichiers || '[]'); } catch { } + + for (const file of allFiles) { + try { + const r = await uploadToSharePointHierarchique(file, reference, nomDossier, moisDossier); + fichiersExistants.push(r); + } catch (e) { console.error(`❌ Upload justif modif ${file.originalname}:`, e.message); } + } + + const noteDataPDF = { + reference, nomPrenom, mois: moisCapitalized, date, + categorie: categorieNote, libelle, + montant: parseFloat(montantFinal.toFixed(2)), + lignes: lignesParsed, lignesJson: JSON.stringify(lignesParsed), + tarifKm: tarifKmVal, statut: 'enattente', + departement: collaborateur.departement, + }; + + try { + const fichePDF = await generateFicheSignee(noteDataPDF, [ + { niveau: 'COLLAB', nomPrenom, date: new Date(), action: 'soumettre', commentaire: 'Note modifiée et resoumise' } + ]); + const ficheResult = await uploadToSharePointHierarchique( + { buffer: fichePDF, originalname: `${reference}_resoumission.pdf`, mimetype: 'application/pdf', size: fichePDF.length }, + reference, nomDossier, moisDossier + ); + fichiersExistants.push(ficheResult); + } catch (e) { console.error('❌ Fiche PDF re-soumission:', e.message); } + + await pool.request() + .input('id', sql.Int, noteId) + .input('libelle', sql.NVarChar, libelle) + .input('montant', sql.Decimal, parseFloat(montantFinal.toFixed(2))) + .input('date', sql.Date, new Date(date)) + .input('categorie', sql.NVarChar, categorieNote) + .input('description', sql.NVarChar, description || null) + .input('fichiers', sql.NVarChar, JSON.stringify(fichiersExistants)) + .input('statut', sql.NVarChar, 'enattente') + .input('km', sql.Decimal, kmTotal || null) + .input('indemniteKm', sql.Decimal, indemKm || null) + .input('lignesJson', sql.NVarChar, JSON.stringify(lignesParsed)) + .query(` + UPDATE NoteDeFrais SET + libelle = @libelle, montant = @montant, date = @date, + categorie = @categorie, description = @description, + fichiers = @fichiers, statut = @statut, + km = @km, indemniteKm = @indemniteKm, + lignesJson = @lignesJson, + motifRefus = NULL, commentaireN1 = NULL, commentaireN2 = NULL, + dateValidationN1 = NULL, dateValidationN2 = NULL, + DateModification = GETDATE() + WHERE id = @id + `); + + await pool.request() + .input('noteId', sql.Int, noteId) + .query(`DELETE FROM LigneNoteDeFrais WHERE noteDeFraisId = @noteId`); + + const lignesPDF = preparerLignesPDF(lignesParsed, tarifKmVal); + for (let i = 0; i < lignesParsed.length; i++) { + const l = lignesParsed[i]; + const pdf = lignesPDF[i] || {}; + const isKmLine = (l.categorie || '').toLowerCase().includes('kilom'); + const kmLine = parseFloat(l.km) || 0; + const cvLine = parseInt(l.chevaux) || 7; + const indemLine = isKmLine ? getIndemniteKmServer(kmLine, cvLine) : 0; + const items = l.tvaItems || [{ montantTTC: l.montant, taux: l.tauxTVA }]; + const ttcLine = isKmLine ? indemLine : items.reduce((s, item) => s + (parseFloat(item.montantTTC) || 0), 0); + try { + await pool.request() + .input('noteId', sql.Int, noteId) + .input('numPiece', sql.Int, i + 1) + .input('date', sql.Date, new Date(l.date)) + .input('nature', sql.NVarChar, l.categorie || '') + .input('libelle', sql.NVarChar, l.libelle || '') + .input('km', sql.Decimal, isKmLine ? kmLine : null) + .input('montantTTC', sql.Decimal, ttcLine || null) + .input('tva21', sql.Decimal, pdf.tva21 || null) + .input('tva55', sql.Decimal, pdf.tva55 || null) + .input('tva10', sql.Decimal, pdf.tva10 || null) + .input('tva20', sql.Decimal, pdf.tva20 || null) + .input('montantHT', sql.Decimal, pdf.montantHT || null) + .input('tauxTVA', sql.Decimal, parseFloat(l.tauxTVA) || null) + .input('indemniteKm', sql.Decimal, indemLine || null) + .query(` + INSERT INTO LigneNoteDeFrais + (noteDeFraisId, numPiece, date, nature, libelle, + km, montantTTC, tva21, tva55, tva10, tva20, + montantHT, tauxTVA, indemniteKm) + VALUES + (@noteId, @numPiece, @date, @nature, @libelle, + @km, @montantTTC, @tva21, @tva55, @tva10, @tva20, + @montantHT, @tauxTVA, @indemniteKm) + `); + } catch (e) { console.error(`❌ Insertion ligne modif ${i + 1}:`, e.message); } + } + + const hierarchie = await pool.request() + .input('collabId', sql.Int, userId) + .query(` + SELECT h.SuperieurId, s1.email AS emailN1, s1.prenom AS prenomN1, s1.nom AS nomN1 + FROM HierarchieValidationNDF h + LEFT JOIN CollaborateurAD s1 ON s1.id = h.SuperieurId + WHERE h.CollaborateurId = @collabId + `); + const n1 = hierarchie.recordset[0]; + if (n1?.SuperieurId && n1?.emailN1) { + try { + await creerNotification({ + destinataireId: n1.SuperieurId, destinataireEmail: n1.emailN1, + type: 'validation', + titre: `📋 Note modifiée à valider — ${reference}`, + message: `${collaborateur.prenom} ${collaborateur.nom} a modifié et resoumis la note ${reference} (${parseFloat(montantFinal.toFixed(2))} €).`, + noteId + }); + const frontendUrl = process.env.FRONTEND_URL || 'myndf.ensup-adm.net'; + await sendMailGraph(n1.emailN1, `📋 Note modifiée à valider — ${reference}`, + `
+
+

📋 Note modifiée — à valider

+
+
+

Bonjour ${n1.prenomN1} ${n1.nomN1},

+

${collaborateur.prenom} ${collaborateur.nom} a modifié et resoumis la note ${reference} — ${libelle} (${parseFloat(montantFinal.toFixed(2))} €).

+
+ Valider sur la plateforme → +
+
+
` + ); + } catch (e) { console.error('❌ Notif N1 modif:', e.message); } + } + + console.log(`✅ Note ${reference} modifiée par ${collaborateur.email}`); + res.json({ success: true, id: noteId, reference, statut: 'enattente', isCorrection: false }); + + } catch (error) { + console.error('❌ Erreur PUT /api/notes/:id:', error.message); + res.status(500).json({ error: error.message }); + } +}); +// ================================================ +// GET /api/notes +// ================================================ +app.get('/api/notes', authenticateToken, async (req, res) => { + try { + const { statut, mois, annee } = req.query; + const request = pool.request() + .input('collaborateurId', sql.Int, req.user.id); + + let where = 'WHERE n.collaborateurId = @collaborateurId'; + if (statut) { + request.input('statut', sql.NVarChar, statut); + where += ' AND n.statut = @statut'; + } + if (mois && annee) { + request.input('mois', sql.Int, parseInt(mois)); + request.input('annee', sql.Int, parseInt(annee)); + where += ' AND MONTH(n.date) = @mois AND YEAR(n.date) = @annee'; + } + + const result = await request.query(` + SELECT n.*, + v1.nom + ' ' + v1.prenom as nomValidateurN1, + v2.nom + ' ' + v2.prenom as nomValidateurN2 + FROM NoteDeFrais n + LEFT JOIN CollaborateurAD v1 ON v1.id = n.validateurN1Id + LEFT JOIN CollaborateurAD v2 ON v2.id = n.validateurN2Id + ${where} + ORDER BY n.DateCreation DESC + `); + + const notes = result.recordset; + for (const note of notes) { + // ✅ Parser fichiers → sharepointFiles pour le frontend + if (note.fichiers) { + try { note.sharepointFiles = JSON.parse(note.fichiers); } catch { note.sharepointFiles = []; } + } else { note.sharepointFiles = []; } + if (note.statut === 'non_conforme_verif') { + try { + const ncResult = await pool.request() + .input('noteId', sql.Int, note.id) + .query(` + SELECT fileName, motif, dateSignalement + FROM JustificatifsNonConformes + WHERE noteDeFraisId = @noteId + ORDER BY dateSignalement DESC + `); + note.nonConformes = ncResult.recordset; + } catch (e) { note.nonConformes = []; } + } + // ✅ Toujours re-parser lignesJson depuis la BDD pour avoir les qrFiles à jour + // Ne reconstruire depuis LigneNoteDeFrais qu'en dernier recours + // ✅ Enrichir chaque ligne avec ses fichiers QR depuis UploadTokens + if (note.lignesJson) { + try { + const lignes = JSON.parse(note.lignesJson); + let enrichi = false; + + const lignesEnrichies = await Promise.all(lignes.map(async (l) => { + if (l.qrFiles && l.qrFiles.length > 0) return l; + + const qrRef = l.qrNoteRef || ''; + if (!qrRef) return l; + + try { + const qrResult = await pool.request() + .input('noteRef', sql.NVarChar, qrRef) + .query(`SELECT TOP 1 fichiers FROM UploadTokens + WHERE noteRef = @noteRef AND used = 1 + ORDER BY expiresAt DESC`); + + if (qrResult.recordset.length && qrResult.recordset[0].fichiers) { + const fichiers = JSON.parse(qrResult.recordset[0].fichiers); + if (fichiers.length > 0) { + enrichi = true; + return { ...l, qrFiles: fichiers }; + } + } + } catch (e) { } + return l; + })); + + if (enrichi) { + note.lignesJson = JSON.stringify(lignesEnrichies); + } + } catch (e) { + console.warn('⚠️ Enrichissement QR fail:', note.id, e.message); + } + } + } + + res.json(notes); + } catch (error) { + res.status(500).json({ error: error.message }); + } +}); + +// ================================================ +// 🔑 TOKEN SHAREPOINT (scope différent de Graph) +// ================================================ +async function getSharePointToken() { + try { + const params = new URLSearchParams({ + grant_type: 'client_credentials', + client_id: AZURE_CONFIG.clientId, + client_secret: AZURE_CONFIG.clientSecret, + scope: 'https://ensup.sharepoint.com/.default' // ← scope SharePoint + }); + + const response = await axios.post( + `https://login.microsoftonline.com/${AZURE_CONFIG.tenantId}/oauth2/v2.0/token`, + params.toString(), + { headers: { 'Content-Type': 'application/x-www-form-urlencoded' } } + ); + + return response.data.access_token; + } catch (error) { + console.error('❌ Erreur token SharePoint:', error.response?.data || error.message); + return null; + } +} + +// routes/sharepoint.js +// ✅ route proxy-file — force les bons headers +app.get('/api/proxy-pdf', async (req, res) => { + let url = req.query.url; + if (!url) return res.status(400).send('URL manquante'); + try { url = decodeURIComponent(url); } catch { } + if (url.includes('/api/proxy-pdf?url=')) { + url = url.split('/api/proxy-pdf?url=')[1]; + try { url = decodeURIComponent(url); } catch { } + } + if (!url.startsWith('http')) return res.status(400).send('URL invalide : ' + url); + + // ✅ Headers cache navigateur + res.setHeader('Cache-Control', 'private, max-age=600'); + res.setHeader('Access-Control-Allow-Origin', '*'); + res.setHeader('Content-Disposition', 'inline'); + + // ✅ Vérifier cache serveur + const cached = getCached(url); + if (cached) { + res.setHeader('Content-Type', cached.contentType); + res.setHeader('X-Cache', 'HIT'); + return res.send(cached.buffer); + } + + try { + const buffer = await downloadFromSharePoint(url); + const urlLower = url.toLowerCase(); + let contentType = 'application/octet-stream'; + if (urlLower.includes('.pdf')) contentType = 'application/pdf'; + else if (urlLower.includes('.jpg') || urlLower.includes('.jpeg')) contentType = 'image/jpeg'; + else if (urlLower.includes('.png')) contentType = 'image/png'; + + setCache(url, buffer, contentType); + res.setHeader('Content-Type', contentType); + res.setHeader('X-Cache', 'MISS'); + res.send(buffer); + } catch (err) { + console.error('❌ proxy-pdf erreur:', err.message); + res.status(500).json({ error: err.message, url }); + } +}); + + +// ================================================ +// GET /api/notes/pending +// ================================================ +app.get('/api/notes/pending', authenticateToken, async (req, res) => { + try { + const result = await pool.request() + .input('userId', sql.Int, req.user.id) + .query(` + SELECT n.id, n.reference, n.libelle, n.montant, n.date, n.categorie, n.statut, + n.description, n.participants, n.nombreParticipants, + n.montantHT, n.tauxTVA, n.km, n.indemniteKm, + n.commentaireN1, n.commentaireN2, n.sharepointUrl, n.fichiers, + n.lignesJson, + n.noteRefuseeId, + ancienne.reference AS ancienneReference, + ancienne.motifRefus AS ancienMotifRefus, + c.prenom + ' ' + c.nom AS collaborateur, c.departement, c.campus + FROM NoteDeFrais n + JOIN CollaborateurAD c ON c.id = n.collaborateurId + LEFT JOIN NoteDeFrais ancienne ON ancienne.id = n.noteRefuseeId + WHERE (n.validateurN1Id = @userId AND n.statut = 'enattente') + OR (n.validateurN2Id = @userId AND n.statut = 'validen1') + ORDER BY n.date DESC + `); + + // Pour chaque note, récupérer les lignes depuis LigneNoteDeFrais + // si lignesJson est vide + const notes = result.recordset; + for (const note of notes) { + // ✅ Parser fichiers → sharepointFiles pour le frontend + if (note.fichiers) { + try { note.sharepointFiles = JSON.parse(note.fichiers); } catch { note.sharepointFiles = []; } + } else { note.sharepointFiles = []; } + + // ✅ Toujours re-parser lignesJson depuis la BDD pour avoir les qrFiles à jour + // Ne reconstruire depuis LigneNoteDeFrais qu'en dernier recours + // ✅ Enrichir chaque ligne avec ses fichiers QR depuis UploadTokens + if (note.lignesJson) { + try { + const lignes = JSON.parse(note.lignesJson); + let enrichi = false; + + const lignesEnrichies = await Promise.all(lignes.map(async (l) => { + if (l.qrFiles && l.qrFiles.length > 0) return l; + + const qrRef = l.qrNoteRef || ''; + if (!qrRef) return l; + + try { + const qrResult = await pool.request() + .input('noteRef', sql.NVarChar, qrRef) + .query(`SELECT TOP 1 fichiers FROM UploadTokens + WHERE noteRef = @noteRef AND used = 1 + ORDER BY expiresAt DESC`); + + if (qrResult.recordset.length && qrResult.recordset[0].fichiers) { + const fichiers = JSON.parse(qrResult.recordset[0].fichiers); + if (fichiers.length > 0) { + enrichi = true; + return { ...l, qrFiles: fichiers }; + } + } + } catch (e) { } + return l; + })); + + if (enrichi) { + note.lignesJson = JSON.stringify(lignesEnrichies); + } + } catch (e) { + console.warn('⚠️ Enrichissement QR fail:', note.id, e.message); + } + } + } + + res.json(notes); + } catch (e) { + console.error('Erreur /api/notes/pending:', e.message); + res.status(500).json({ error: e.message }); + } +}); + +// ================================================ +// GET /api/notes/:id/lignes +// ================================================ +app.get('/api/notes/:id/lignes', authenticateToken, async (req, res) => { + try { + const isValidator = hasAnyRole(req.user, 'Finance', 'Validateur', 'Validatrice', 'superUtilisateur') ? 1 : 0; + const result = await pool.request() + .input('noteId', sql.Int, req.params.id) + .input('userId', sql.Int, req.user.id) + .input('isVal', sql.Int, isValidator) + .query(` + SELECT l.* + FROM LigneNoteDeFrais l + JOIN NoteDeFrais n ON n.id = l.noteDeFraisId + WHERE l.noteDeFraisId = @noteId + AND (n.collaborateurId = @userId OR @isVal = 1) + ORDER BY l.numPiece ASC + `); + res.json(result.recordset); + } catch (error) { + res.status(500).json({ error: error.message }); + } +}); + +// GET /api/notes/:id/detail — récupère une note par ID (pour validateur + collaborateur) +app.get('/api/notes/:id/detail', authenticateToken, async (req, res) => { + try { + const noteId = parseInt(req.params.id); + const userId = req.user.id; + + const result = await pool.request() + .input('id', sql.Int, noteId) + .query(` + SELECT n.*, + c.prenom + ' ' + c.nom AS collaborateur, + c.departement, c.campus, + ancienne.reference AS ancienneReference, + ancienne.motifRefus AS ancienMotifRefus + FROM NoteDeFrais n + JOIN CollaborateurAD c ON c.id = n.collaborateurId + LEFT JOIN NoteDeFrais ancienne ON ancienne.id = n.noteRefuseeId + WHERE n.id = @id + AND ( + n.collaborateurId = ${userId} + OR n.validateurN1Id = ${userId} + OR n.validateurN2Id = ${userId} + OR EXISTS ( + SELECT 1 FROM UtilisateurRoles r + WHERE r.collaborateur_id = ${userId} + AND r.role IN ('Finance','superUtilisateur','VerificateurFinance','ValidateurFinance') + AND r.actif = 1 + ) + ) + `); + + if (!result.recordset.length) + return res.status(404).json({ error: 'Note introuvable ou accès refusé' }); + + const note = result.recordset[0]; + if (note.fichiers) { + try { note.sharepointFiles = JSON.parse(note.fichiers); } catch { note.sharepointFiles = []; } + } else { note.sharepointFiles = []; } + + res.json(note); + } catch (error) { + res.status(500).json({ error: error.message }); + } +}); + +// ================================================ +// PUT /api/notes/:id/statut — Valider ou refuser +// ================================================ +// PUT /api/notes/:id/statut — Valider ou refuser +app.put('/api/notes/:id/statut', authenticateToken, async (req, res) => { + try { + const { id } = req.params; + const { action, commentaire, motifRefus } = req.body; + const userId = Number(req.user.id); + console.log('Validation demande', id, action, userId); + + const noteResult = await pool.request() + .input('id', sql.Int, id) + .query('SELECT * FROM NoteDeFrais WHERE id = @id'); + if (!noteResult.recordset.length) + return res.status(404).json({ error: 'Note non trouvée' }); + + const note = noteResult.recordset[0]; + const n1Id = Number(note.validateurN1Id); + const n2Id = Number(note.validateurN2Id); + const statutNote = note.statut?.trim(); + + let nouveauStatut = null, niveauValidation = null; + + if (n1Id === userId && statutNote === 'enattente') { + niveauValidation = 'N1'; + nouveauStatut = action === 'valider' + ? (note.validateurN2Id && n2Id !== userId ? 'validen1' : 'approuve') + : 'refuse'; + } else if (n2Id === userId && statutNote === 'validen1') { + niveauValidation = 'N2'; + nouveauStatut = action === 'valider' ? 'approuve' : 'refuse'; + } else { + return res.status(403).json({ error: 'Non autorisé à valider cette note' }); + } + + const dateField = niveauValidation === 'N1' ? 'dateValidationN1' : 'dateValidationN2'; + const commentaireField = niveauValidation === 'N1' ? 'commentaireN1' : 'commentaireN2'; + + await pool.request() + .input('id', sql.Int, id) + .input('statut', sql.NVarChar, nouveauStatut) + .input('commentaire', sql.NVarChar, commentaire ?? null) + .input('motifRefus', sql.NVarChar, motifRefus ?? null) + .query(` + UPDATE NoteDeFrais + SET statut = @statut, + ${dateField} = GETDATE(), + ${commentaireField} = @commentaire, + motifRefus = CASE WHEN @motifRefus IS NOT NULL THEN @motifRefus ELSE motifRefus END, + DateModification = GETDATE() + WHERE id = @id + `); + + await pool.request() + .input('noteId', sql.Int, id) + .input('validateurId', sql.Int, userId) + .input('niveau', sql.NVarChar, niveauValidation) + .input('action', sql.NVarChar, action) + .input('commentaire', sql.NVarChar, commentaire ?? null) + .input('motifRefus', sql.NVarChar, motifRefus ?? null) + .input('statut', sql.NVarChar, nouveauStatut) + .query(` + INSERT INTO HistoriqueValidation + (NoteDeFraisId, ValidateurId, Niveau, Action, Commentaire, MotifRefus, NouveauStatut, DateAction) + VALUES + (@noteId, @validateurId, @niveau, @action, @commentaire, @motifRefus, @statut, GETDATE()) + `); + + // Génération PDF signé + let signedPdfUrl = null; + try { + const validateurSelfResult = await pool.request() + .input('id', sql.Int, userId) + .query('SELECT prenom, nom FROM CollaborateurAD WHERE id = @id'); + const validateurSelf = validateurSelfResult.recordset[0]; + const nomValidateurActuel = (validateurSelf + ? `${validateurSelf.prenom} ${validateurSelf.nom}` + : `${req.user.prenom} ${req.user.nom}`).trim(); + + const noteComplete = await pool.request() + .input('id', sql.Int, id) + .query(` + SELECT n.reference, n.libelle, n.montant, n.date, n.categorie, + n.montantHT, n.tauxTVA, n.km, n.participants, n.description, + n.fichiers, n.DateCreation, n.collaborateurId, n.lignesJson, + n.commentaireN1, n.commentaireN2, n.dateValidationN1, n.dateValidationN2, + c.prenom + ' ' + c.nom AS nomPrenom, + c.prenom AS collabPrenom, c.nom AS collabNom, c.departement, + v1.prenom + ' ' + v1.nom AS nomValidateurN1, + v2.prenom + ' ' + v2.nom AS nomValidateurN2 + FROM NoteDeFrais n + JOIN CollaborateurAD c ON c.id = n.collaborateurId + LEFT JOIN CollaborateurAD v1 ON v1.id = n.validateurN1Id + LEFT JOIN CollaborateurAD v2 ON v2.id = n.validateurN2Id + WHERE n.id = @id + `); + + if (noteComplete.recordset.length) { + const nd = noteComplete.recordset[0]; + const signatures = [ + { niveau: 'COLLAB', nomPrenom: nd.nomPrenom, date: nd.DateCreation, action: 'soumettre', commentaire: null } + ]; + if (niveauValidation === 'N1') { + signatures.push({ niveau: 'N1', nomPrenom: nomValidateurActuel, date: new Date(), action, commentaire: commentaire ?? null }); + } else if (niveauValidation === 'N2') { + if (nd.nomValidateurN1 && nd.dateValidationN1) + signatures.push({ niveau: 'N1', nomPrenom: nd.nomValidateurN1, date: nd.dateValidationN1, action: 'valider', commentaire: nd.commentaireN1 ?? null }); + signatures.push({ niveau: 'N2', nomPrenom: nomValidateurActuel, date: new Date(), action, commentaire: commentaire ?? null }); + } + + const moisStr = (() => { + if (!nd.date) return ''; + const d = new Date(nd.date); + const m = d.toLocaleDateString('fr-FR', { month: 'long', year: 'numeric' }); + return m.charAt(0).toUpperCase() + m.slice(1); + })(); + + const noteDataPDF = { + reference: nd.reference, nomPrenom: nd.nomPrenom, mois: moisStr, + departement: nd.departement, lignesJson: nd.lignesJson, + tarifKm: await getTarifKm(), statut: nouveauStatut + }; + + const pdfSigne = await generateFicheSignee(noteDataPDF, signatures); + const suffixe = nouveauStatut === 'approuve' ? 'signe-approuve' + : nouveauStatut === 'refuse' ? 'signe-refuse' : `signe-${nouveauStatut}`; + + let fichiersExistants = []; + try { fichiersExistants = JSON.parse(nd.fichiers); } catch { } + + const existingFolder = fichiersExistants[0]?.folderPath; + const nomDossier = existingFolder + ? existingFolder.split('/')[1] + : `${nd.collabPrenom}${nd.collabNom}`.replace(/[^a-zA-Z0-9]/g, ''); + const moisDossier = existingFolder + ? existingFolder.split('/')[2] + : `${new Date().getFullYear()}-${String(new Date().getMonth() + 1).padStart(2, '0')}`; + + const signedResult = await uploadToSharePointHierarchique( + { buffer: pdfSigne, originalname: `${nd.reference}-${suffixe}.pdf`, mimetype: 'application/pdf', size: pdfSigne.length }, + nd.reference, nomDossier, moisDossier + ); + fichiersExistants.push(signedResult); + + await pool.request() + .input('id', sql.Int, id) + .input('fichiers', sql.NVarChar, JSON.stringify(fichiersExistants)) + .query('UPDATE NoteDeFrais SET fichiers = @fichiers WHERE id = @id'); + + signedPdfUrl = signedResult.uploadUrl; + console.log('PDF signé uploadé:', signedResult.fileName, suffixe); + } + } catch (pdfError) { + console.error('Erreur génération PDF signé:', pdfError.message); + } + + // Notifications collaborateur + validateur suivant + const frontendUrl = process.env.FRONTEND_URL || 'myndf.ensup-adm.net'; + const montantFormate = parseFloat(note.montant).toFixed(2); + const collabResult = await pool.request().input('id', sql.Int, note.collaborateurId).query('SELECT id, email, prenom, nom FROM CollaborateurAD WHERE id = @id'); + const validateurResult = await pool.request().input('id', sql.Int, userId).query('SELECT id, email, prenom, nom FROM CollaborateurAD WHERE id = @id'); + + if (collabResult.recordset.length) { + const c = collabResult.recordset[0]; + const v = validateurResult.recordset[0]; + const isApprouve = nouveauStatut === 'approuve'; + const isValidn1 = nouveauStatut === 'validen1'; + const isRefus = nouveauStatut === 'refuse'; + const titreCollab = isApprouve ? `Note ${note.reference} approuvée` : isValidn1 ? `Note ${note.reference} validée N1` : `Note ${note.reference} refusée`; + const msgCollab = isApprouve + ? `Votre note ${note.reference} (${montantFormate}€) a été approuvée.` + : isValidn1 + ? `Votre note ${note.reference} a été validée N1 par ${v?.prenom} ${v?.nom}.` + : `Votre note ${note.reference} a été refusée. Motif : ${motifRefus || commentaire || 'Non précisé'}`; + + try { await creerNotification({ destinataireId: c.id, destinataireEmail: c.email, type: isRefus ? 'refus' : 'validation', titre: titreCollab, message: msgCollab, noteId: parseInt(id) }); } catch { } + + // ── Email collaborateur ────────────────────────────────────────── + try { + const motifAffiche = motifRefus || commentaire || 'Non précisé'; + const nomValidateur = `${v?.prenom || ''} ${v?.nom || ''}`.trim(); + + await sendMailGraph( + c.email, + isRefus + ? `❌ Note refusée — action requise : ${note.reference}` + : titreCollab, + isRefus + ? `
+
+

❌ Votre note de frais a été refusée

+

Une action de votre part est nécessaire

+
+
+

Bonjour ${c.prenom} ${c.nom},

+

Votre note ${note.reference} a été refusée par ${nomValidateur}.

+ +
+
Motif du refus
+
${motifAffiche}
+
+ +
+ + + + + + +
Référence${note.reference}
Libellé${note.libelle}
Montant${montantFormate} €
Refusé par${nomValidateur}
Date${new Date().toLocaleDateString('fr-FR', { day: '2-digit', month: 'long', year: 'numeric' })}
+
+ +
+
📝 Que faire maintenant ?
+
    +
  1. Connectez-vous à la plateforme NDF
  2. +
  3. Rendez-vous dans Mes notes
  4. +
  5. Cliquez sur la note ${note.reference}
  6. +
  7. Corrigez les informations demandées
  8. +
  9. Resoumettez la note
  10. +
+
+ +
+ + ✏️ Modifier ma note → + +
+

+ Vous pouvez modifier votre note tant qu'elle est au statut "Refusée". +

+
+
` + : `
+
+

${titreCollab}

+
+
+

Bonjour ${c.prenom} ${c.nom},

+

${msgCollab}

+
+ Voir mes notes +
+
+
` + ); + } catch { } + + // Notifier N2 si validation N1 + if (action === 'valider' && niveauValidation === 'N1' && note.validateurN2Id && n2Id !== userId) { + const n2Result = await pool.request().input('id', sql.Int, note.validateurN2Id).query('SELECT id, email, prenom, nom FROM CollaborateurAD WHERE id = @id'); + if (n2Result.recordset.length) { + const n2 = n2Result.recordset[0]; + try { await creerNotification({ destinataireId: n2.id, destinataireEmail: n2.email, type: 'validation', titre: `Note à valider N2 : ${note.reference}`, message: `La note ${note.reference} (${montantFormate}€) de ${c.prenom} ${c.nom} attend votre validation finale.`, noteId: parseInt(id) }); } catch { } + try { + await sendMailGraph(n2.email, `Note à valider N2 : ${note.reference}`, ` +
+
+

Note à valider — Niveau N2

+
+
+

Bonjour ${n2.prenom} ${n2.nom},

+

La note ${note.reference} de ${c.prenom} ${c.nom} (${montantFormate}€) a été validée N1 et attend votre validation finale.

+
+ Valider sur la plateforme +
+
+
`); + } catch { } + } + } + } + + res.json({ success: true, statut: nouveauStatut, niveau: niveauValidation }); + } catch (error) { + console.error('Erreur validation:', error.message); + res.status(500).json({ error: error.message }); + } +}); + +// ================================================ +// GET /api/notes/:id/historique +// ================================================ +app.get('/api/notes/:id/historique', authenticateToken, async (req, res) => { + try { + const result = await pool.request() + .input('noteId', sql.Int, req.params.id) + .query(` + SELECT h.id, h.Niveau, h.Action, h.Commentaire, h.MotifRefus, + h.NouveauStatut, h.DateAction, + v.prenom + ' ' + v.nom AS validateur, v.role AS roleValidateur + FROM HistoriqueValidation h + JOIN CollaborateurAD v ON v.id = h.ValidateurId + WHERE h.NoteDeFraisId = @noteId ORDER BY h.DateAction ASC + `); + res.json(result.recordset); + } catch (error) { res.status(500).json({ error: error.message }); } +}); + +// ================================================ +// GET /api/validateur/historique +// ================================================ +app.get('/api/validateur/historique', authenticateToken, async (req, res) => { + try { + const result = await pool.request() + .input('validateurId', sql.Int, req.user.id) + .query(` + SELECT h.id, h.Niveau, h.Action, h.Commentaire, h.MotifRefus, + h.NouveauStatut, h.DateAction, + n.reference, n.libelle, n.montant, n.categorie, + c.prenom + ' ' + c.nom AS collaborateur, c.departement, c.campus + FROM HistoriqueValidation h + JOIN NoteDeFrais n ON n.id = h.NoteDeFraisId + JOIN CollaborateurAD c ON c.id = n.collaborateurId + WHERE h.ValidateurId = @validateurId ORDER BY h.DateAction DESC + `); + res.json(result.recordset); + } catch (error) { res.status(500).json({ error: error.message }); } +}); + +// ================================================ +// GET /api/notes/all — réservé Finance +// ================================================ +app.get('/api/notes/all', authenticateToken, async (req, res) => { + try { + if (!hasAnyRole(req.user, 'Finance')) return res.status(403).json({ error: 'Accès réservé Finance' }); + const result = await pool.request().query(` + SELECT n.*, c.nom + ' ' + c.prenom as collaborateur, c.departement, c.campus, + v1.nom + ' ' + v1.prenom as nomN1, v2.nom + ' ' + v2.prenom as nomN2 + FROM NoteDeFrais n + JOIN CollaborateurAD c ON c.id = n.collaborateurId + LEFT JOIN CollaborateurAD v1 ON v1.id = n.validateurN1Id + LEFT JOIN CollaborateurAD v2 ON v2.id = n.validateurN2Id + ORDER BY n.DateCreation DESC + `); + res.json(result.recordset); + } catch (error) { res.status(500).json({ error: error.message }); } +}); + +// ================================================ +// GET /api/admin/notes — réservé superUtilisateur +// ================================================ +// GET /api/admin/notes — superUtilisateur, filtré sur ENSUP SOLUTION ET SUPPORT +app.get('/api/admin/notes', authenticateToken, async (req, res) => { + if (!hasAnyRole(req.user, 'superUtilisateur')) + return res.status(403).json({ error: 'Accès réservé superUtilisateur' }); + + try { + const { mois, annee, statut } = req.query; + let query = ` + SELECT n.id, n.reference, n.libelle, n.montant, n.date, n.categorie, n.statut, + n.DateCreation, n.montantHT, n.tauxTVA, n.km, n.indemniteKm, + n.sharepointUrl, n.fichiers, n.lignesJson, + c.prenom + ' ' + c.nom AS collaborateur, c.email AS collaborateurEmail, + c.departement, c.campus, c.societe + FROM NoteDeFrais n + JOIN CollaborateurAD c ON c.id = n.collaborateurId + WHERE c.societe = 'ENSUP SOLUTION ET SUPPORT' + `; + const req2 = pool.request(); + if (mois && annee) { + query += ` AND MONTH(n.date) = @mois AND YEAR(n.date) = @annee`; + req2.input('mois', sql.Int, parseInt(mois)); + req2.input('annee', sql.Int, parseInt(annee)); + } + if (statut) { + query += ` AND n.statut = @statut`; + req2.input('statut', sql.NVarChar, statut); + } + query += ` ORDER BY c.nom, n.date DESC`; + const result = await req2.query(query); + res.json(result.recordset); + } catch (error) { + res.status(500).json({ error: error.message }); + } +}); + +// ================================================ +// PAIEMENTS +// ================================================ +app.get('/api/paiements/prochain', authenticateToken, async (req, res) => { + try { + const config = await pool.request().query(`SELECT TOP 1 JourPaiement FROM ConfigPaiement WHERE Actif = 1 ORDER BY Id DESC`); + const jourPaiement = config.recordset[0]?.JourPaiement ?? 20; + const today = new Date(); + const jour = today.getDate(), mois = today.getMonth(), annee = today.getFullYear(); + const datePaiement = jour <= jourPaiement ? new Date(annee, mois, jourPaiement) : new Date(annee, mois + 1, jourPaiement); + res.json({ jourPaiement, datePaiement: datePaiement.toISOString().split('T')[0], libelle: `Paiement le ${datePaiement.toLocaleDateString('fr-FR')}` }); + } catch (error) { res.status(500).json({ error: error.message }); } +}); + +app.post('/api/paiements/marquer-payees', authenticateToken, async (req, res) => { + if (!hasAnyRole(req.user, 'Finance')) return res.status(403).json({ error: 'Accès réservé Finance' }); + try { + const config = await pool.request().query(`SELECT TOP 1 JourPaiement FROM ConfigPaiement WHERE Actif = 1 ORDER BY Id DESC`); + const jourPaiement = config.recordset[0]?.JourPaiement ?? 20; + const today = new Date(); + const mois = today.getMonth() + 1, annee = today.getFullYear(); + const datePaiementExacte = new Date(annee, today.getMonth(), jourPaiement); + + const notes = await pool.request().query(` + SELECT n.id, n.reference, n.montant, c.nom + ' ' + c.prenom AS collaborateur, c.email + FROM NoteDeFrais n JOIN CollaborateurAD c ON c.id = n.collaborateurId + WHERE n.statut = 'approuve' AND n.datePaiement IS NULL + `); + + if (!notes.recordset.length) return res.json({ success: true, message: 'Aucune note approuvée à payer', count: 0 }); + + await pool.request() + .input('datePaiement', sql.DateTime, datePaiementExacte) + .input('moisPaiement', sql.Int, mois) + .input('anneePaiement', sql.Int, annee) + .query(` + UPDATE NoteDeFrais SET statut = 'payee', datePaiement = @datePaiement, + moisPaiement = @moisPaiement, anneePaiement = @anneePaiement, DateModification = GETDATE() + WHERE statut = 'approuve' AND datePaiement IS NULL + `); + + res.json({ success: true, count: notes.recordset.length, datePaiement: datePaiementExacte.toISOString().split('T')[0], notes: notes.recordset }); + } catch (error) { res.status(500).json({ error: error.message }); } +}); + +app.get('/api/paiements/historique', authenticateToken, async (req, res) => { + if (!hasAnyRole(req.user, 'Finance', 'superUtilisateur', 'ValidateurFinance', 'VerificateurFinance')) + return res.status(403).json({ error: 'Accès réservé Finance' }); + + try { + const mois = req.query.mois ? parseInt(req.query.mois) : null; + const annee = req.query.annee ? parseInt(req.query.annee) : null; + + const request = pool.request(); + request.input('mois', sql.Int, mois); + request.input('annee', sql.Int, annee); + + let campusFilter = ''; + if (req.user.campus && !hasAnyRole(req.user, 'superUtilisateur')) { + const campusCode = normalizeCampus(req.user.campus); + if (campusCode) { + request.input('campus', sql.NVarChar, `%${campusCode}%`); + campusFilter = 'AND c.campus LIKE @campus'; + } + } + + const result = await request.query(` + SELECT + n.id, n.reference, n.libelle, n.montant, + n.datePaiement, n.moisPaiement, n.anneePaiement, + n.categorie, n.lignesJson, n.indemniteKm, n.km, + n.statut, + c.nom + ' ' + c.prenom AS collaborateur, + c.campus, + c.societe + FROM NoteDeFrais n + JOIN CollaborateurAD c ON c.id = n.collaborateurId + WHERE n.statut = 'payee' + AND (@mois IS NULL OR n.moisPaiement = @mois) + AND (@annee IS NULL OR n.anneePaiement = @annee) + ${campusFilter} + ORDER BY n.datePaiement DESC, c.nom +`); + + const data = result.recordset.map(row => { + let montantRepas = 0, montantHebergement = 0; + let montantKilometrique = row.indemniteKm || 0; + let montantTransport = 0, montantAutres = 0; + + const cat = (row.categorie || '').toLowerCase(); + if (cat !== 'multiple') { + if (cat.includes('repas') || cat.includes('restaurant')) montantRepas = row.montant; + else if (cat.includes('hebergement') || cat.includes('hotel')) montantHebergement = row.montant; + else if (cat.includes('kilom') || cat.includes('km')) montantKilometrique = row.indemniteKm || row.montant; + else if (cat.includes('transport') || cat.includes('avion') || cat.includes('train') || cat.includes('taxi')) montantTransport = row.montant; + else montantAutres = row.montant; + } else { + try { + const lignes = JSON.parse(row.lignesJson || '[]'); + lignes.forEach(ligne => { + const lcat = (ligne.categorie || ligne.nature || '').toLowerCase(); + const montantLigne = parseFloat(ligne.montantTTC || ligne.montant || 0); + if (lcat.includes('repas') || lcat.includes('restaurant')) montantRepas += montantLigne; + else if (lcat.includes('hebergement') || lcat.includes('hotel')) montantHebergement += montantLigne; + else if (lcat.includes('kilom') || lcat.includes('km')) montantKilometrique += parseFloat(ligne.indemniteKm || montantLigne); + else if (lcat.includes('transport') || lcat.includes('avion') || lcat.includes('train') || lcat.includes('taxi')) montantTransport += montantLigne; + else montantAutres += montantLigne; + }); + } catch { montantAutres = row.montant; } + } + + return { + ...row, + montantRepas: Math.round(montantRepas * 100) / 100, + montantHebergement: Math.round(montantHebergement * 100) / 100, + montantKilometrique: Math.round(montantKilometrique * 100) / 100, + montantTransport: Math.round(montantTransport * 100) / 100, + montantAutres: Math.round(montantAutres * 100) / 100, + }; + }); + + res.json(data); + } catch (error) { + console.error('Erreur historique:', error.message); + res.status(500).json({ error: error.message }); + } +}); +app.get('/api/paiements/config', authenticateToken, async (req, res) => { + try { + const result = await pool.request().query(`SELECT TOP 1 Id, JourPaiement, Actif, DateModif FROM ConfigPaiement WHERE Actif = 1 ORDER BY Id DESC`); + res.json(result.recordset[0] ?? { JourPaiement: 20 }); + } catch (error) { res.status(500).json({ error: error.message }); } +}); + +app.put('/api/paiements/config', authenticateToken, async (req, res) => { + if (!hasAnyRole(req.user, 'Finance')) return res.status(403).json({ error: 'Accès réservé Finance' }); + try { + const { jourPaiement } = req.body; + if (!jourPaiement || jourPaiement < 1 || jourPaiement > 28) return res.status(400).json({ error: 'Jour de paiement invalide (1-28)' }); + await pool.request().query(`UPDATE ConfigPaiement SET Actif = 0 WHERE Actif = 1`); + await pool.request().input('jour', sql.Int, jourPaiement).query(`INSERT INTO ConfigPaiement (JourPaiement, Actif, DateModif) VALUES (@jour, 1, GETDATE())`); + res.json({ success: true, jourPaiement }); + } catch (error) { res.status(500).json({ error: error.message }); } +}); + +// ================================================ +// HELPERS EMAIL + NOTIFICATION +// ================================================ +async function sendMailGraph(to, subject, htmlBody) { + try { + const accessToken = await getGraphToken(); + if (!accessToken) throw new Error('Token Graph indisponible'); + const senderEmail = process.env.MAIL_SENDER || process.env.MAIL_FROM; + if (!senderEmail) { console.error('MAIL_SENDER non défini'); return; } + + await axios.post( + `https://graph.microsoft.com/v1.0/users/${senderEmail}/sendMail`, + { message: { subject, body: { contentType: 'HTML', content: htmlBody }, from: { emailAddress: { address: senderEmail } }, toRecipients: [{ emailAddress: { address: to } }] }, saveToSentItems: false }, + { headers: { Authorization: `Bearer ${accessToken}`, 'Content-Type': 'application/json' } } + ); + console.log(`✅ Email envoyé à ${to} via ${senderEmail}`); + } catch (error) { + console.error('Erreur sendMailGraph:', error.response?.data || error.message); + } +} + +async function creerNotification({ destinataireId, destinataireEmail, type, titre, message, noteId }) { + if (!destinataireId) { + console.error('❌ creerNotification annulée : destinataireId manquant', { destinataireEmail, type, titre }); + return; + } + try { + await pool.request() + .input('destinataireId', sql.Int, destinataireId) + .input('type', sql.NVarChar, type) + .input('titre', sql.NVarChar, titre) + .input('message', sql.NVarChar, message) + .input('noteId', sql.Int, noteId || null) + .query(` + INSERT INTO Notifications (CollaborateurId, Type, Titre, Message, NoteDeFraisId, Lu, DateCreation) + VALUES (@destinataireId, @type, @titre, @message, @noteId, 0, GETDATE()) + `); + console.log(`🔔 Notification insérée pour ${destinataireEmail} (id: ${destinataireId})`); + } catch (err) { console.error('❌ Erreur insertion notification:', err.message); } +} + +// ================================================ +// PAIEMENTS — NOTIFIER +// ================================================ +app.post('/api/paiements/notifier', authenticateToken, async (req, res) => { + if (!hasAnyRole(req.user, 'Finance')) return res.status(403).json({ error: 'Accès réservé Finance' }); + try { + const notes = await pool.request().query(` + SELECT n.id, n.reference, n.montant, n.libelle, c.nom + ' ' + c.prenom AS collaborateur + FROM NoteDeFrais n JOIN CollaborateurAD c ON c.id = n.collaborateurId + WHERE n.statut = 'approuve' AND n.datePaiement IS NULL + `); + if (!notes.recordset.length) return res.json({ success: true, message: 'Aucune note en attente de paiement' }); + + const total = notes.recordset.reduce((s, n) => s + parseFloat(n.montant), 0); + const alexandre = await pool.request() + .input('email', sql.NVarChar, process.env.RESPONSABLE_PAIEMENT_EMAIL) + .query(`SELECT TOP 1 id, email, prenom, nom FROM CollaborateurAD WHERE email = @email AND Actif = 1`); + + if (!alexandre.recordset.length) return res.status(404).json({ error: 'Responsable paiement introuvable' }); + const responsable = alexandre.recordset[0]; + + const config = await pool.request().query(`SELECT TOP 1 JourPaiement FROM ConfigPaiement WHERE Actif = 1 ORDER BY Id DESC`); + const jourPaiement = config.recordset[0]?.JourPaiement ?? 20; + const titre = `⚠️ ${notes.recordset.length} note(s) à payer — ${total.toFixed(2)} €`; + + await creerNotification({ destinataireId: responsable.id, destinataireEmail: responsable.email, type: 'paiement', titre, message: `${notes.recordset.length} note(s) en attente avant le ${jourPaiement}. Total : ${total.toFixed(2)} €`, noteId: null }); + await sendMailGraph(responsable.email, titre, `

Bonjour ${responsable.prenom},

${notes.recordset.length} note(s) en attente de paiement avant le ${jourPaiement}. Total : ${total.toFixed(2)} €

`); + + res.json({ success: true, count: notes.recordset.length, total: parseFloat(total.toFixed(2)) }); + } catch (error) { res.status(500).json({ error: error.message }); } +}); + +// ================================================ +// NOTIFICATIONS +// ================================================ +app.get('/api/notifications', authenticateToken, async (req, res) => { + try { + const result = await pool.request().input('userId', sql.Int, req.user.id).query(` + SELECT TOP 50 id, Type, Titre, Message, NoteDeFraisId, Lu, DateCreation + FROM Notifications WHERE CollaborateurId = @userId ORDER BY DateCreation DESC + `); + res.json(result.recordset); + } catch (error) { res.status(500).json({ error: error.message }); } +}); + +app.put('/api/notifications/:id/lu', authenticateToken, async (req, res) => { + try { + await pool.request().input('id', sql.Int, req.params.id).input('userId', sql.Int, req.user.id) + .query(`UPDATE Notifications SET Lu = 1 WHERE id = @id AND CollaborateurId = @userId`); + res.json({ success: true }); + } catch (error) { res.status(500).json({ error: error.message }); } +}); + +// ================================================ +// CATÉGORIES / PARAMÈTRES TVA / KM +// ================================================ +app.get('/api/categories', authenticateToken, async (req, res) => { + try { + const result = await pool.request().query(` + SELECT c.*, p.PlafondParPersonne, p.DescriptionPlafond + FROM CategorieNDF c LEFT JOIN PlafondRepas p ON p.CategorieId = c.id AND p.Actif = 1 + WHERE c.Actif = 1 ORDER BY c.Ordre, c.Nom + `); + res.json(result.recordset); + } catch (error) { res.status(500).json({ error: error.message }); } +}); + +app.get('/api/parametres/tva', authenticateToken, async (req, res) => { + try { + const result = await pool.request().query(` + SELECT id, taux, libelle, categorie FROM ParametresTVA + WHERE actif = 1 AND dateDebut <= GETDATE() AND (dateFin IS NULL OR dateFin >= GETDATE()) + ORDER BY taux ASC + `); + res.json(result.recordset); + } catch (err) { res.status(500).json({ error: err.message }); } +}); + +app.get('/api/parametres/km', authenticateToken, async (req, res) => { + try { + const annee = new Date().getFullYear(); + const result = await pool.request().input('annee', sql.Int, annee).query(` + SELECT TOP 1 tarifParKm FROM ParametresKm WHERE annee = @annee AND actif = 1 ORDER BY DateCreation DESC + `); + res.json({ tarifKm: result.recordset[0]?.tarifParKm ?? await getTarifKm() }); + } catch (err) { res.status(500).json({ error: err.message }); } +}); + +// ================================================ +// QR CODE UPLOAD MOBILE +// ================================================ +app.post('/api/upload/generate-link', authenticateToken, async (req, res) => { + try { + const { noteRef } = req.body; + if (!noteRef) return res.status(400).json({ error: 'noteRef obligatoire' }); + + const collabResult = await pool.request().input('id', sql.Int, req.user.id).query('SELECT nom, prenom FROM CollaborateurAD WHERE id = @id'); + if (!collabResult.recordset.length) return res.status(404).json({ error: 'Collaborateur introuvable' }); + + const { nom, prenom } = collabResult.recordset[0]; + const token = crypto.randomBytes(32).toString('hex'); + + await pool.request() + .input('token', sql.VarChar, token) + .input('nomPrenom', sql.NVarChar, `${nom.toUpperCase()}_${prenom}`) + .input('noteRef', sql.NVarChar, noteRef) + .query(`INSERT INTO UploadTokens (token, nomPrenom, noteRef, expiresAt) VALUES (@token, @nomPrenom, @noteRef, DATEADD(MINUTE, 120, GETDATE()))`); + + res.json({ uploadLink: `${process.env.FRONTEND_URL}/upload/${token}`, expiresAt: new Date(Date.now() + 120 * 60 * 1000), token }); + } catch (e) { res.status(500).json({ error: e.message }); } +}); + +app.get('/api/upload/check/:token', async (req, res) => { + try { + const valid = await pool.request().input('token', sql.VarChar, req.params.token) + .query(`SELECT * FROM UploadTokens WHERE token = @token AND used = 0 AND expiresAt > GETDATE()`); + if (!valid.recordset.length) return res.status(410).json({ error: 'Lien expiré ou déjà utilisé' }); + const t = valid.recordset[0]; + res.json({ valid: true, noteRef: t.noteRef, nomPrenom: t.nomPrenom }); + } catch (e) { res.status(500).json({ error: e.message }); } +}); + +app.post('/api/upload/submit/:token', upload.array('files', 10), async (req, res) => { + try { + const result = await pool.request().input('token', sql.VarChar, req.params.token) + .query(`SELECT * FROM UploadTokens WHERE token = @token AND used = 0 AND expiresAt > GETDATE()`); + if (!result.recordset.length) return res.status(410).json({ error: 'Lien expiré ou déjà utilisé' }); + + const { nomPrenom, noteRef } = result.recordset[0]; + const files = req.files; + if (!files || !files.length) return res.status(400).json({ error: 'Aucun fichier reçu' }); + + const uploaded = []; + for (const file of files) { + const r = await uploadToSharePoint(file, noteRef, nomPrenom); + uploaded.push(r); + } + + await pool.request() + .input('token', sql.VarChar, req.params.token) + .input('firstUrl', sql.NVarChar, uploaded[0].uploadUrl) + .input('allFiles', sql.NVarChar, JSON.stringify(uploaded)) + .query(`UPDATE UploadTokens SET used = 1, sharepointUrl = @firstUrl, fichiers = @allFiles WHERE token = @token`); + + res.json({ success: true, uploaded }); + } catch (e) { res.status(500).json({ error: e.message }); } +}); + +app.get('/api/upload/status/:noteRef', async (req, res) => { + try { + const result = await pool.request().input('noteRef', sql.NVarChar, req.params.noteRef) + .query(`SELECT TOP 1 used, fichiers, sharepointUrl FROM UploadTokens WHERE noteRef = @noteRef ORDER BY expiresAt DESC`); + if (!result.recordset.length) return res.json({ uploaded: false }); + const row = result.recordset[0]; + const fichiers = row.fichiers ? JSON.parse(row.fichiers) : []; + res.json({ + uploaded: row.used === true || row.used === 1, + files: fichiers, // ← ajout pour le frontend + fichiers: fichiers, // ← conservé pour rétrocompat + sharepointUrl: row.sharepointUrl + }); + } catch (e) { res.status(500).json({ error: e.message }); } +}); + + +// GET /api/notes-all — réservé Finance (filtré par campus) + superUtilisateur (ENSUP SOLUTION ET SUPPORT) + +app.get('/api/notes-all', authenticateToken, async (req, res) => { + try { + if (!hasAnyRole(req.user, 'Finance', 'ValidateurFinance')) + return res.status(403).json({ error: 'Accès réservé Finance' }); + + const request = pool.request(); + let campusWhere = ''; + if (req.user.campus) { + const campusCode = normalizeCampus(req.user.campus); + if (campusCode) { + request.input('campus', sql.NVarChar, `%${campusCode}%`); + campusWhere = `AND c.campus LIKE @campus`; + } + } + + const statutFilter = hasAnyRole(req.user, 'ValidateurFinance') && !hasAnyRole(req.user, 'Finance') + ? `AND LOWER(n.statut) IN ('verifie', 'paiementenattente', 'payee')` + : `AND LOWER(REPLACE(n.statut COLLATE Latin1_General_CI_AI, ' ', '')) IN ( + 'approuve', 'approuv', 'verifie', 'paiementenattente', 'paiement_en_attente', 'payee' + )`; + + const result = await request.query(` + SELECT n.*, + + c.nom + ' ' + c.prenom AS collaborateur, + c.departement, c.campus, c.societe, + v1.nom + ' ' + v1.prenom AS nomN1, + v2.nom + ' ' + v2.prenom AS nomN2, + vf.nom + ' ' + vf.prenom AS nomVerificateur, + n.dateVerification, n.commentaireVerification + FROM NoteDeFrais n + JOIN CollaborateurAD c ON c.id = n.collaborateurId + LEFT JOIN CollaborateurAD v1 ON v1.id = n.validateurN1Id + LEFT JOIN CollaborateurAD v2 ON v2.id = n.validateurN2Id + LEFT JOIN CollaborateurAD vf ON vf.id = n.verificateurFinanceId + WHERE 1=1 ${statutFilter} ${campusWhere} + ORDER BY n.DateCreation DESC + `); + + res.json(result.recordset); + } catch (error) { + res.status(500).json({ error: error.message }); + } +}); + + +// POST /api/paiements/generer-xml +// Body: { noteIds: number[] } +// POST /api/paiements/generer-xml — Génère le XML PAIN.001 et passe statut à 'paiementenattente' +app.post('/api/paiements/generer-xml', authenticateToken, async (req, res) => { + if (!hasAnyRole(req.user, 'Finance', 'ValidateurFinance', 'superUtilisateur')) + return res.status(403).json({ error: 'Accès réservé Finance' }); + + const { noteIds } = req.body; + if (!Array.isArray(noteIds) || noteIds.length === 0) + return res.status(400).json({ error: 'Aucune note sélectionnée' }); + + try { + const idList = noteIds.map(id => parseInt(id)).filter(Boolean).join(','); + + const notes = await pool.request().query(` + SELECT n.id, n.reference, n.montant, n.libelle, n.date, + n.fichiers, n.lignesJson, n.categorie, n.DateCreation, + c.nom, c.prenom, c.iban, c.bic, c.campus, c.societe, + c.adresse_rue, c.adresse_cp, c.adresse_ville, c.adresse_pays, + c.id AS collabId, c.email + FROM NoteDeFrais n + JOIN CollaborateurAD c ON c.id = n.collaborateurId + WHERE n.id IN (${idList}) + AND n.statut IN ('approuve', 'approuvé', 'verifie') + `); + + if (!notes.recordset.length) + return res.status(404).json({ error: 'Aucune note approuvée/vérifiée trouvée' }); + + const erreurs = []; + for (const n of notes.recordset) { + const checks = await pool.request() + .input('collabId', sql.Int, n.collabId) + .query(` + SELECT IBAN, BIC, adresse_rue, adresse_cp, adresse_ville, adresse_pays + FROM CollaborateurAD + WHERE id = @collabId + `); + const c = checks.recordset[0]; + if (!c) { erreurs.push(`${n.reference} : collaborateur introuvable`); continue; } + if (!c.IBAN) erreurs.push(`${n.reference} (${n.prenom} ${n.nom}) : IBAN manquant`); + if (!c.BIC) erreurs.push(`${n.reference} (${n.prenom} ${n.nom}) : BIC manquant`); + if (!c.adresse_rue || !c.adresse_cp || !c.adresse_ville || !c.adresse_pays) + erreurs.push(`${n.reference} (${n.prenom} ${n.nom}) : adresse postale incomplète`); + } + if (erreurs.length > 0) + return res.status(422).json({ + error: 'Données manquantes — XML non généré', + details: erreurs + }); + + const now = new Date(); + const annee = now.getFullYear(); + const mois = String(now.getMonth() + 1).padStart(2, '0'); + const todayISO = now.toISOString().split('T')[0]; + const creDtTm = now.toISOString().slice(0, 19); + const msgId = `NDF-${annee}${mois}-${Date.now().toString().slice(-7)}`; + const total = notes.recordset.reduce((s, n) => s + parseFloat(n.montant), 0); + const totalFormate = total.toFixed(2); + + // ── Config débiteur depuis .env ────────────────────────────────── + const cfg = await getConfigDebiteur(); + const dbtrNom = cfg.companyName; + const dbtrIban = cfg.companyIban; + const dbtrBic = cfg.companyBic; + const dbtrAdrLine = cfg.companyAddress; + const dbtrCp = cfg.companyCp; + const dbtrVille = cfg.companyVille; + const dbtrPays = cfg.companyPays; + + // ── Générer les transactions ────────────────────────────────────── + let transactions = ''; + let numTx = 1; + + for (const n of notes.recordset) { + let ibanClair = 'FR0000000000000000000000000'; + try { + if (n.iban && n.iban.includes(':')) ibanClair = decryptIban(n.iban); + else if (n.iban) ibanClair = n.iban; + } catch (e) { + console.warn(`⚠️ Déchiffrement IBAN impossible pour ${n.reference}:`, e.message); + } + + const benefNom = `${n.nom.toUpperCase()} ${n.prenom}`; + const adrLine = (n.adresse_rue || '').toUpperCase(); + const cp = n.adresse_cp || ''; + const ville = (n.adresse_ville || '').toUpperCase(); + const pays = (n.adresse_pays || 'FR').slice(0, 2).toUpperCase(); + + // BIC bénéficiaire : si présent utiliser, sinon NOTPROVIDED + const benefBicBlock = n.bic + ? `${n.bic}` + : `NOTPROVIDED`; + + transactions += ` + + + VIREMENT NUM:${n.reference} + ${n.reference} + + + ${parseFloat(n.montant).toFixed(2)} + + + ${benefBicBlock} + + + ${benefNom}${adrLine || cp || ville ? ` + ${cp ? ` + ${cp}` : ''}${ville ? ` + ${ville}` : ''} + ${pays}${adrLine ? ` + ${adrLine}` : ''} + ` : ''} + ${pays} + + + + ${ibanClair} + + + `; + numTx++; + } + + // ── XML final au format PAIN.001.001.03 ────────────────────────── + const xml = ` + + + + ${msgId} + ${creDtTm} + ${notes.recordset.length} + ${totalFormate} + + ${dbtrNom} + + + + ${msgId} + TRF + true + ${notes.recordset.length} + ${totalFormate} + + + SEPA + + + ${todayISO} + + ${dbtrNom} + + ${dbtrCp} + ${dbtrVille} + ${dbtrPays} + ${dbtrAdrLine} + + + + + ${dbtrIban} + + + + + + NOTPROVIDED + + + + SLEV${transactions} + + +`; + + // ── Upload XML sur SharePoint dans Virements/{annee}/{mois}/ ───── + let xmlSharepointUrl = null; + try { + const xmlFileName = `virements-ndf-${annee}-${mois}-${Date.now().toString().slice(-5)}.xml`; + const xmlFolderPath = `Virements/${annee}/${mois}`; + const xmlUploadPath = `${xmlFolderPath}/${xmlFileName}`; + + const accessToken = await getGraphToken(); + if (accessToken) { + const spRes = await axios.put( + `https://graph.microsoft.com/v1.0/sites/${SHAREPOINT_CONFIG.siteId}/drives/${SHAREPOINT_CONFIG.driveId}/root:/${xmlUploadPath}:/content`, + Buffer.from(xml, 'utf-8'), + { + headers: { + Authorization: `Bearer ${accessToken}`, + 'Content-Type': 'application/xml' + }, + maxBodyLength: Infinity + } + ); + xmlSharepointUrl = spRes.data.webUrl; + console.log(`✅ XML virement uploadé sur SharePoint : ${xmlUploadPath}`); + } + } catch (spErr) { + console.error('⚠️ Upload XML SharePoint échoué (XML quand même téléchargé) :', spErr.message); + } + + // ── Générer les PDF récap pour chaque note ──────────────────────── + for (const note of notes.recordset) { + try { + let fichiersExistants = []; + try { fichiersExistants = JSON.parse(note.fichiers || '[]'); } catch { } + + const justifFiles = []; + for (const f of fichiersExistants) { + const name = (f.fileName || '').toLowerCase(); + if (name.includes('soumission') || name.includes('resoumission') || name.includes('recap')) continue; + try { + const buf = await downloadFromSharePoint(f.uploadUrl); + const mimetype = name.endsWith('.pdf') ? 'application/pdf' + : name.endsWith('.png') ? 'image/png' : 'image/jpeg'; + justifFiles.push({ buffer: buf, originalname: f.fileName, mimetype, size: buf.length }); + } catch (e) { console.warn(`⚠️ Justif non récupérable: ${f.fileName}`, e.message); } + } + + const dateObj = new Date(note.date); + const moisStr = dateObj.toLocaleDateString('fr-FR', { month: 'long', year: 'numeric' }); + const moisCapitalized = moisStr.charAt(0).toUpperCase() + moisStr.slice(1); + const nomPrenom = `${note.nom.toUpperCase()} ${note.prenom}`; + + const histResult = await pool.request() + .input('noteId', sql.Int, note.id) + .query(` + SELECT h.Niveau, h.Action, h.Commentaire, h.DateAction, + c.prenom + ' ' + c.nom AS nomPrenom + FROM HistoriqueValidation h + JOIN CollaborateurAD c ON c.id = h.ValidateurId + WHERE h.NoteDeFraisId = @noteId + ORDER BY h.DateAction ASC + `); + + const signatures = [ + { niveau: 'COLLAB', nomPrenom, date: note.DateCreation || new Date(), action: 'soumettre', commentaire: null }, + ...histResult.recordset.map(h => ({ + niveau: h.Niveau, nomPrenom: h.nomPrenom, + date: h.DateAction, action: h.Action, commentaire: h.Commentaire || null + })) + ]; + + const noteDataPDF = { + reference: note.reference, nomPrenom, mois: moisCapitalized, + date: note.date, categorie: note.categorie || 'Multiple', + libelle: note.libelle, montant: parseFloat(note.montant), + lignesJson: note.lignesJson, tarifKm: await getTarifKm(), + statut: note.statut, departement: note.departement, + }; + + const recapBuffer = await generateRecapWithJustifs(noteDataPDF, justifFiles, signatures); + + const existingFolder = fichiersExistants[0]?.folderPath; + const nomDossier = existingFolder + ? existingFolder.split('/')[1] + : `${note.prenom}_${note.nom}`.replace(/[^a-zA-Z0-9]/g, '_'); + const moisDossier = existingFolder + ? existingFolder.split('/')[2] + : `${annee}-${mois}`; + + const recapResult = await uploadToSharePointHierarchique( + { + buffer: recapBuffer, + originalname: `${note.reference}_recap-paiement.pdf`, + mimetype: 'application/pdf', + size: recapBuffer.length + }, + note.reference, nomDossier, moisDossier + ); + + fichiersExistants.push(recapResult); + + await pool.request() + .input('id', sql.Int, note.id) + .input('fichiers', sql.NVarChar, JSON.stringify(fichiersExistants)) + .input('recapUrl', sql.NVarChar, recapResult.uploadUrl) + .query(` + UPDATE NoteDeFrais + SET fichiers = @fichiers, + sharepointUrl = @recapUrl, + DateModification = GETDATE() + WHERE id = @id + `); + + console.log(`✅ PDF récap-paiement généré pour ${note.reference}`); + } catch (pdfErr) { + console.error(`❌ PDF récap ${note.reference}:`, pdfErr.message); + } + } + + // ── Passer en 'paiementenattente' + enregistrer date XML ───────── + await pool.request() + .input('dateXml', sql.DateTime, now) + .input('xmlUrl', sql.NVarChar, xmlSharepointUrl || null) + .query(` + UPDATE NoteDeFrais + SET statut = 'paiementenattente', + dateXml = @dateXml, + DateModification = GETDATE() + WHERE id IN (${idList}) + AND statut IN ('approuve', 'approuvé', 'verifie') + `); + + // ── Notifier chaque collaborateur ───────────────────────────────── + for (const n of notes.recordset) { + try { + await creerNotification({ + destinataireId: n.collabId, + destinataireEmail: n.email, + type: 'paiement', + titre: `Paiement en cours de traitement : ${n.reference}`, + message: `Votre note ${n.reference} de ${parseFloat(n.montant).toFixed(2)} € est en cours de traitement bancaire.`, + noteId: n.id + }); + } catch (e) { console.error('Notif paiementenattente:', e.message); } + } + + // ── Téléchargement du XML côté client ──────────────────────────── + const xmlFileName = `virements-ndf-${annee}-${mois}-${todayISO}.xml`; + res.setHeader('Content-Type', 'application/xml; charset=iso-8859-1'); + res.setHeader('Content-Disposition', `attachment; filename=${xmlFileName}`); + res.send(xml); + + } catch (error) { + console.error('Erreur génération XML:', error.message); + res.status(500).json({ error: error.message }); + } +}); + +// GET /api/paiements/xml-historique — liste les XML générés +app.get('/api/paiements/xml-historique', authenticateToken, async (req, res) => { + if (!hasAnyRole(req.user, 'Finance', 'ValidateurFinance', 'superUtilisateur')) + return res.status(403).json({ error: 'Accès réservé Finance' }); + + try { + const { annee, mois } = req.query; + + const request = pool.request(); + let where = `WHERE n.dateXml IS NOT NULL AND n.statut IN ('paiementenattente', 'payee')`; + + if (annee) { + request.input('annee', sql.Int, parseInt(annee)); + where += ` AND YEAR(n.dateXml) = @annee`; + } + if (mois) { + request.input('mois', sql.Int, parseInt(mois)); + where += ` AND MONTH(n.dateXml) = @mois`; + } + + let campusWhere = ''; + if (req.user.campus && !hasAnyRole(req.user, 'superUtilisateur')) { + const campusCode = normalizeCampus(req.user.campus); + if (campusCode) { + request.input('campus', sql.NVarChar, `%${campusCode}%`); + campusWhere = `AND c.campus LIKE @campus`; + } + } + + const result = await request.query(` + SELECT + CAST(n.dateXml AS DATE) AS dateXmlJour, + MIN(n.dateXml) AS dateXmlExacte, + COUNT(*) AS nbNotes, + SUM(n.montant) AS totalMontant, + STRING_AGG(CAST(n.id AS NVARCHAR(20)), ',') AS noteIds, + STRING_AGG(n.reference, ', ') AS listeReferences + FROM NoteDeFrais n + JOIN CollaborateurAD c ON c.id = n.collaborateurId + ${where} ${campusWhere} + GROUP BY CAST(n.dateXml AS DATE) + ORDER BY CAST(n.dateXml AS DATE) DESC + `); + + res.json(result.recordset); + } catch (error) { + console.error('GET /api/paiements/xml-historique:', error.message); + res.status(500).json({ error: error.message }); + } +}); + +// POST /api/paiements/regenerer-xml — régénère le XML pour un batch +app.post('/api/paiements/regenerer-xml', authenticateToken, async (req, res) => { + if (!hasAnyRole(req.user, 'Finance', 'ValidateurFinance', 'superUtilisateur')) + return res.status(403).json({ error: 'Accès réservé Finance' }); + + const { noteIds } = req.body; + if (!Array.isArray(noteIds) || noteIds.length === 0) + return res.status(400).json({ error: 'Aucune note sélectionnée' }); + + try { + const idList = noteIds.map(id => parseInt(id)).filter(Boolean).join(','); + + const notes = await pool.request().query(` + SELECT n.id, n.reference, n.montant, n.libelle, n.dateXml, + c.nom, c.prenom, c.iban, c.bic + FROM NoteDeFrais n + JOIN CollaborateurAD c ON c.id = n.collaborateurId + WHERE n.id IN (${idList}) + AND n.statut IN ('paiementenattente', 'payee') + `); + + if (!notes.recordset.length) + return res.status(404).json({ error: 'Notes introuvables' }); + + const now = new Date(); + const annee = now.getFullYear(); + const mois = String(now.getMonth() + 1).padStart(2, '0'); + const todayISO = now.toISOString().split('T')[0]; + const creDtTm = now.toISOString().slice(0, 19); + const msgId = `NDF-REGEN-${annee}${mois}-${Date.now().toString().slice(-7)}`; + const total = notes.recordset.reduce((s, n) => s + parseFloat(n.montant), 0).toFixed(2); + const cfg = await getConfigDebiteur(); + const dbtrNom = cfg.companyName; + const dbtrIban = cfg.companyIban; + const dbtrBic = cfg.companyBic; + const dbtrAdrLine = cfg.companyAddress; + const dbtrCp = cfg.companyCp; + const dbtrVille = cfg.companyVille; + const dbtrPays = cfg.companyPays; + + let transactions = ''; + for (const n of notes.recordset) { + let ibanClair = 'FR0000000000000000000000000'; + try { + if (n.iban && n.iban.includes(':')) ibanClair = decryptIban(n.iban); + else if (n.iban) ibanClair = n.iban; + } catch { } + + const benefNom = `${n.nom.toUpperCase()} ${n.prenom}`; + const benefBicBlock = n.bic + ? `${n.bic}` + : `NOTPROVIDED`; + + transactions += ` + + + VIREMENT NUM:${n.reference} + ${n.reference} + + + ${parseFloat(n.montant).toFixed(2)} + + ${benefBicBlock} + ${benefNom} + ${ibanClair} + `; + } + + const xml = ` + + + + ${msgId} + ${creDtTm} + ${notes.recordset.length} + ${total} + ${dbtrNom} + + + ${msgId} + TRF + true + ${notes.recordset.length} + ${total} + SEPA + ${todayISO} + + ${dbtrNom} + + ${dbtrCp} + ${dbtrVille} + ${dbtrPays} + ${dbtrAdrLine} + + + ${dbtrIban} + NOTPROVIDED + SLEV${transactions} + + +`; + + const xmlFileName = `virements-ndf-REGEN-${todayISO}-${Date.now().toString().slice(-5)}.xml`; + res.setHeader('Content-Type', 'application/xml; charset=iso-8859-1'); + res.setHeader('Content-Disposition', `attachment; filename=${xmlFileName}`); + res.send(xml); + + } catch (error) { + console.error('Erreur régénération XML:', error.message); + res.status(500).json({ error: error.message }); + } +}); + +// GET /api/paiements/config-debiteur +app.get('/api/paiements/config-debiteur', authenticateToken, async (req, res) => { + if (!hasAnyRole(req.user, 'Finance', 'superUtilisateur')) + return res.status(403).json({ error: 'Accès réservé Finance' }); + try { + const result = await pool.request().query(` + SELECT TOP 1 id, companyName, companyIban, companyBic, + companyAddress, companyCp, companyVille, companyPays, + DateModification + FROM ConfigDebiteurXML WHERE actif = 1 + ORDER BY DateModification DESC + `); + res.json(result.recordset[0] ?? null); + } catch (e) { + res.status(500).json({ error: e.message }); + } +}); + +// PUT /api/paiements/config-debiteur +app.put('/api/paiements/config-debiteur', authenticateToken, async (req, res) => { + if (!hasAnyRole(req.user, 'Finance', 'superUtilisateur')) + return res.status(403).json({ error: 'Accès réservé Finance' }); + + const { companyName, companyIban, companyBic, companyAddress, companyCp, companyVille, companyPays } = req.body; + + if (!companyName || !companyIban || !companyBic) + return res.status(400).json({ error: 'Nom, IBAN et BIC sont obligatoires' }); + + const ibanClean = companyIban.replace(/\s+/g, '').toUpperCase(); + const bicClean = companyBic.replace(/\s+/g, '').toUpperCase(); + + try { + // Désactiver l'ancienne config et insérer la nouvelle + await pool.request().query(`UPDATE ConfigDebiteurXML SET actif = 0 WHERE actif = 1`); + + await pool.request() + .input('companyName', sql.NVarChar, companyName.trim()) + .input('companyIban', sql.NVarChar, ibanClean) + .input('companyBic', sql.NVarChar, bicClean) + .input('companyAddress', sql.NVarChar, (companyAddress || '').trim()) + .input('companyCp', sql.NVarChar, (companyCp || '').trim()) + .input('companyVille', sql.NVarChar, (companyVille || '').trim()) + .input('companyPays', sql.NVarChar, (companyPays || 'FR').trim().slice(0, 2).toUpperCase()) + .input('modifiePar', sql.Int, req.user.id) + .query(` + INSERT INTO ConfigDebiteurXML + (companyName, companyIban, companyBic, companyAddress, + companyCp, companyVille, companyPays, actif, modifiePar, + DateCreation, DateModification) + VALUES + (@companyName, @companyIban, @companyBic, @companyAddress, + @companyCp, @companyVille, @companyPays, 1, @modifiePar, + GETDATE(), GETDATE()) + `); + + console.log(`✅ Config débiteur XML mise à jour par ${req.user.email}`); + res.json({ success: true, companyName, companyIban: ibanClean, companyBic: bicClean }); + } catch (e) { + console.error('PUT /api/paiements/config-debiteur:', e.message); + res.status(500).json({ error: e.message }); + } +}); +// POST /api/paiements/confirmer-paiement +// Body: { noteIds: number[], datePaiement: string (ISO) } +// POST /api/paiements/confirmer-paiement — Confirme paiement et passe statut à 'payee' +app.post('/api/paiements/confirmer-paiement', authenticateToken, async (req, res) => { + if (!hasAnyRole(req.user, 'Finance', 'ValidateurFinance', 'superUtilisateur')) + return res.status(403).json({ error: 'Accès réservé Finance' }); + + const { noteIds, datePaiement } = req.body; + if (!Array.isArray(noteIds) || noteIds.length === 0) + return res.status(400).json({ error: 'Aucune note sélectionnée' }); + if (!datePaiement) + return res.status(400).json({ error: 'Date de paiement obligatoire' }); + + try { + const idList = noteIds.map(id => parseInt(id)).filter(Boolean).join(','); + const dateObj = new Date(datePaiement); + const mois = dateObj.getMonth() + 1; + const annee = dateObj.getFullYear(); + + // Récupérer les notes pour notifications + const notes = await pool.request().query(` + SELECT n.id, n.reference, n.montant, n.libelle, + c.id AS collabId, c.email, c.prenom, c.nom + FROM NoteDeFrais n + JOIN CollaborateurAD c ON c.id = n.collaborateurId + WHERE n.id IN (${idList}) + AND n.statut = 'paiementenattente' + `); + + if (!notes.recordset.length) + return res.status(404).json({ error: 'Aucune note en attente de paiement trouvée' }); + + // Mettre à jour statut → 'payee' + await pool.request() + .input('datePaiement', sql.DateTime, dateObj) + .input('moisPaiement', sql.Int, mois) + .input('anneePaiement', sql.Int, annee) + .query(` + UPDATE NoteDeFrais + SET statut = 'payee', + datePaiement = @datePaiement, + moisPaiement = @moisPaiement, + anneePaiement = @anneePaiement, + DateModification = GETDATE() + WHERE id IN (${idList}) + AND statut = 'paiementenattente' + `); + + // Notifier chaque collaborateur + for (const n of notes.recordset) { + try { + await creerNotification({ + destinataireId: n.collabId, + destinataireEmail: n.email, + type: 'paiement', + titre: `Paiement effectué : ${n.reference}`, + message: `Votre note ${n.reference} de ${parseFloat(n.montant).toFixed(2)}€ a été payée le ${dateObj.toLocaleDateString('fr-FR')}.`, + noteId: n.id + }); + await sendMailGraph(n.email, `Paiement effectué : ${n.reference}`, ` +
+
+

Paiement effectué

+
+
+

Bonjour ${n.prenom} ${n.nom},

+

Votre note ${n.reference} — ${n.libelle} d'un montant de ${parseFloat(n.montant).toFixed(2)}€ a été payée le ${dateObj.toLocaleDateString('fr-FR')}.

+
+ Voir mes notes +
+
+
`); + } catch (e) { console.error('Notif paiement confirmé:', e.message); } + } + + const total = notes.recordset.reduce((s, n) => s + parseFloat(n.montant), 0); + res.json({ + success: true, + count: notes.recordset.length, + total: parseFloat(total.toFixed(2)), + datePaiement + }); + } catch (error) { + console.error('Erreur confirmer-paiement:', error.message); + res.status(500).json({ error: error.message }); + } +}); + + + +// ================================================ +// ROUTES DE TEST +// ================================================ +app.get('/api/test-get-drive', async (req, res) => { + try { + const token = await getGraphToken(); + const siteId = 'ensup.sharepoint.com,d94abc08-28eb-47ce-8e12-fbbd6f16b9ea,a052c325-d33a-40e3-9e7b-7896a2ea7ab7'; + const r = await axios.get(`https://graph.microsoft.com/v1.0/sites/${siteId}/drive`, { headers: { Authorization: `Bearer ${token}` } }); + res.json({ driveId: r.data.id, name: r.data.name }); + } catch (e) { res.status(500).json({ error: e.message, details: e.response?.data }); } +}); + +app.get('/api/test-upload', async (req, res) => { + try { + const token = await getGraphToken(); + const testContent = Buffer.from('Test upload NDF - ' + new Date().toISOString()); + const path = `Notes de Frais/TEST_Upload/test_${Date.now()}.txt`; + const r = await axios.put( + `https://graph.microsoft.com/v1.0/sites/${process.env.SHAREPOINT_SITE_ID}/drives/${process.env.SHAREPOINT_DRIVE_ID}/root:/${path}:/content`, + testContent, + { headers: { Authorization: `Bearer ${token}`, 'Content-Type': 'text/plain' } } + ); + res.json({ ok: true, url: r.data.webUrl }); + } catch (e) { res.status(500).json({ error: e.message, details: e.response?.data }); } +}); + + + + +// ══════════════════════════════════════════════════════════════════ +// BROUILLONS — Sauvegarde serveur (statut = 'brouillon') +// ══════════════════════════════════════════════════════════════════ + +// GET /api/notes/brouillons — récupère les brouillons du collaborateur connecté +app.get('/api/notes/brouillons', authenticateToken, async (req, res) => { + try { + const result = await pool.request() + .input('collaborateurId', sql.Int, req.user.id) + .query(` + SELECT id, libelle, date, description, montant, categorie, + lignesJson, DateCreation, DateModification + FROM NoteDeFrais + WHERE collaborateurId = @collaborateurId + AND statut = 'brouillon' + ORDER BY DateModification DESC + `); + res.json(result.recordset); + } catch (error) { + res.status(500).json({ error: error.message }); + } +}); + +// POST /api/notes/brouillons — crée un nouveau brouillon +app.post('/api/notes/brouillons', authenticateToken, async (req, res) => { + try { + const { libelle, date, description, lignes } = req.body; + + let lignesJson = '[]'; + if (lignes) { + lignesJson = typeof lignes === 'string' ? lignes : JSON.stringify(lignes); + } + + // Calcul du montant total estimé + let montantEstime = 0; + try { + const tarifKm = await getTarifKm(); + const lignesParsed = JSON.parse(lignesJson); + montantEstime = lignesParsed.reduce((acc, l) => { + const isKm = (l.categorie || '').toLowerCase().includes('kilom'); + const km = parseFloat(l.km) || 0; + const ttc = isKm ? parseFloat((km * tarifKm).toFixed(2)) : (parseFloat(l.montant) || 0); + return acc + ttc; + }, 0); + } catch (e) { /* montant reste 0 */ } + + // Référence temporaire pour les brouillons (colonne NOT NULL) + const refBrouillon = `BRO-${req.user.id}-${Date.now().toString().slice(-6)}`; + + const insertResult = await pool.request() + .input('collaborateurId', sql.Int, req.user.id) + .input('reference', sql.NVarChar, refBrouillon) + .input('libelle', sql.NVarChar, libelle || 'Brouillon sans titre') + .input('date', sql.Date, date ? new Date(date) : new Date()) + .input('description', sql.NVarChar, description || null) + .input('montant', sql.Decimal, montantEstime) + .input('categorie', sql.NVarChar, 'Multiple') + .input('lignesJson', sql.NVarChar, lignesJson) + .input('statut', sql.NVarChar, 'brouillon') + .query(` + INSERT INTO NoteDeFrais + (reference, collaborateurId, libelle, date, description, montant, + categorie, lignesJson, statut, DateCreation, DateModification) + OUTPUT INSERTED.id, INSERTED.DateCreation + VALUES + (@reference, @collaborateurId, @libelle, @date, @description, @montant, + @categorie, @lignesJson, @statut, GETDATE(), GETDATE()) + `); + + const created = insertResult.recordset[0]; + res.status(201).json({ success: true, id: created.id, createdAt: created.DateCreation }); + } catch (error) { + console.error('Erreur POST brouillon:', error.message); + res.status(500).json({ error: error.message }); + } +}); + +// PUT /api/notes/brouillons/:id — met à jour un brouillon existant +app.put('/api/notes/brouillons/:id', authenticateToken, upload.any(), async (req, res) => { + try { + const { libelle, date, description, lignes } = req.body; + const brouillonId = parseInt(req.params.id); + + // Vérifier que ce brouillon appartient bien à ce collaborateur + const check = await pool.request() + .input('id', sql.Int, brouillonId) + .input('collaborateurId', sql.Int, req.user.id) + .query(`SELECT id FROM NoteDeFrais + WHERE id = @id AND collaborateurId = @collaborateurId AND statut = 'brouillon'`); + + if (!check.recordset.length) { + return res.status(404).json({ error: 'Brouillon introuvable ou accès refusé' }); + } + + // Récupérer infos collaborateur pour le dossier SharePoint + const collabResult = await pool.request() + .input('id', sql.Int, req.user.id) + .query(`SELECT prenom, nom FROM CollaborateurAD WHERE id = @id`); + const collaborateur = collabResult.recordset[0]; + const nomDossier = `${collaborateur.prenom}${collaborateur.nom}`.replace(/[^a-zA-Z0-9]/g, '_'); + const now = new Date(); + const moisDossier = `${now.getFullYear()}-${String(now.getMonth() + 1).padStart(2, '0')}`; + const noteRef = `BRO-${brouillonId}`; + + let lignesParsed = []; + if (lignes) { + try { + lignesParsed = typeof lignes === 'string' ? JSON.parse(lignes) : lignes; + } catch (e) { lignesParsed = []; } + } + + const uploadedFiles = {}; + // ✅ Upload des nouveaux fichiers vers SharePoint et injection dans lignesParsed + const allFiles = req.files || []; + for (const file of allFiles) { + const match = file.fieldname.match(/^files_(.+)$/); + if (!match) continue; + const depId = String(match[1]); + try { + const uploaded = await uploadToSharePointHierarchique(file, noteRef, nomDossier, moisDossier); + const ligne = lignesParsed.find(l => String(l.id) === depId); + if (ligne) { + if (!Array.isArray(ligne.qrFiles)) ligne.qrFiles = []; + const dejaSauve = ligne.qrFiles.some(f => f.fileName === uploaded.fileName); + if (!dejaSauve) { + // ✅ Stocker avec origin='upload' + ligne.qrFiles.push({ + fileName: uploaded.fileName, + uploadUrl: uploaded.uploadUrl, + origin: 'upload' // ✅ AJOUT + }); + // ✅ Tracker pour le retour + if (!uploadedFiles[depId]) uploadedFiles[depId] = []; + uploadedFiles[depId].push({ + fileName: uploaded.fileName, + uploadUrl: uploaded.uploadUrl, + origin: 'upload' + }); + } + } + } catch (e) { + console.error(`Upload brouillon fichier ${file.originalname}:`, e.message); + } + } + + + // Recalcul montant + let montantEstime = 0; + try { + const tarifKm = await getTarifKm(); + montantEstime = lignesParsed.reduce((acc, l) => { + const isKm = (l.categorie || '').toLowerCase().includes('kilom'); + const km = parseFloat(l.km) || 0; + const ttc = isKm + ? parseFloat((km * tarifKm).toFixed(2)) + : (parseFloat(l.montant) || parseFloat(l.tvaItems?.[0]?.montantTTC) || 0); + return acc + ttc; + }, 0); + } catch (e) { /* montant reste 0 */ } + + const lignesJson = JSON.stringify(lignesParsed); + + await pool.request() + .input('id', sql.Int, brouillonId) + .input('libelle', sql.NVarChar, libelle || 'Brouillon sans titre') + .input('date', sql.Date, date ? new Date(date) : new Date()) + .input('description', sql.NVarChar, description || null) + .input('montant', sql.Decimal, montantEstime) + .input('lignesJson', sql.NVarChar, lignesJson) + .query(` + UPDATE NoteDeFrais + SET libelle = @libelle, + date = @date, + description = @description, + montant = @montant, + lignesJson = @lignesJson, + DateModification = GETDATE() + WHERE id = @id + `); + + res.json({ success: true, updatedAt: new Date().toISOString(), uploadedFiles }); + } catch (error) { + console.error('Erreur PUT brouillon:', error.message); + res.status(500).json({ error: error.message }); + } +}); + +// DELETE /api/notes/brouillons/:id — supprime un brouillon +app.delete('/api/notes/brouillons/:id', authenticateToken, async (req, res) => { + try { + const brouillonId = parseInt(req.params.id); + + const check = await pool.request() + .input('id', sql.Int, brouillonId) + .input('collaborateurId', sql.Int, req.user.id) + .query(`SELECT id FROM NoteDeFrais + WHERE id = @id AND collaborateurId = @collaborateurId AND statut = 'brouillon'`); + + if (!check.recordset.length) { + return res.status(404).json({ error: 'Brouillon introuvable ou accès refusé' }); + } + + await pool.request() + .input('id', sql.Int, brouillonId) + .query(`DELETE FROM NoteDeFrais WHERE id = @id`); + + res.json({ success: true }); + } catch (error) { + console.error('Erreur DELETE brouillon:', error.message); + res.status(500).json({ error: error.message }); + } +}); + + +// ══════════════════════════════════════════════════════════════════ +// DOCUMENTS COLLABORATEUR — RIB / Carte grise / Permis +// Coller dans server.js après les routes /api/profil +// ══════════════════════════════════════════════════════════════════ + + + +// ============================================================ +// DOCUMENTS COLLABORATEUR — RIB / Carte grise / Permis +// ============================================================ +const DOCTYPES = ['rib', 'cartegrise', 'permis']; + +// GET /api/profil/documents +app.get('/api/profil/documents', authenticateToken, async (req, res) => { + try { + const result = await pool.request() + .input('collabId', sql.Int, req.user.id) + .query(` + SELECT type, fileName, sharepointUrl, dateUpload, DateModification, statut, commentaire + FROM DocumentsCollaborateur + WHERE collaborateurId = @collabId + AND type != 'rib' -- ← exclure le rib de cette table + `); + + // Vérifier si IBAN saisi directement dans CollaborateurAD + const ibanResult = await pool.request() + .input('collabId', sql.Int, req.user.id) + .query(`SELECT IBAN FROM CollaborateurAD WHERE id = @collabId`); + + const ibanSaisi = !!(ibanResult.recordset[0]?.IBAN); + + const docs = { + rib: ibanSaisi + ? { fileName: 'IBAN_saisi', sharepointUrl: '', updatedAt: new Date().toISOString(), statut: 'valide', commentaire: null } + : null, + carte_grise: null, + permis: null + }; + + for (const row of result.recordset) { + docs[row.type] = { + fileName: row.fileName, + sharepointUrl: row.sharepointUrl, + updatedAt: row.DateModification, + statut: row.statut ?? 'en_attente', + commentaire: row.commentaire ?? null + }; + } + + res.json(docs); + } catch (error) { + console.error('GET /api/profil/documents', error.message); + res.status(500).json({ error: error.message }); + } +}); + +// POST /api/profil/documents/:type — upload ou remplacement +app.post('/api/profil/documents/:type', authenticateToken, upload.single('file'), async (req, res) => { + try { + const type = req.params.type; + if (!DOCTYPES.includes(type)) + return res.status(400).json({ error: 'Type invalide. Valeurs : rib, cartegrise, permis' }); + if (!req.file) + return res.status(400).json({ error: 'Aucun fichier fourni' }); + + // Infos collaborateur (campus pour notifier la bonne Finance) + const collabResult = await pool.request() + .input('id', sql.Int, req.user.id) + .query(`SELECT prenom, nom, campus FROM CollaborateurAD WHERE id = @id`); + if (!collabResult.recordset.length) + return res.status(404).json({ error: 'Collaborateur introuvable' }); + + const { prenom, nom, campus } = collabResult.recordset[0]; + const nomDossier = `${prenom}${nom}`.replace(/[^a-zA-Z0-9]/g, '_'); + const safeFileName = `${type}_${req.file.originalname.replace(/[^a-zA-Z0-9.\-]/g, '_')}`; + const folderPath = `Documents-Profil/${nomDossier}`; + const uploadPath = `${folderPath}/${safeFileName}`; + + // Upload SharePoint + const accessToken = await getGraphToken(); + if (!accessToken) throw new Error('Token Graph indisponible'); + + const spRes = await axios.put( + `https://graph.microsoft.com/v1.0/sites/${SHAREPOINT_CONFIG.siteId}/drives/${SHAREPOINT_CONFIG.driveId}/root:/${uploadPath}:/content`, + req.file.buffer, + { + headers: { + Authorization: `Bearer ${accessToken}`, + 'Content-Type': req.file.mimetype || 'application/octet-stream' + }, + maxBodyLength: Infinity + } + ); + const sharepointUrl = spRes.data.webUrl; + + // UPSERT — remet en attente si document remplacé + await pool.request() + .input('collabId', sql.Int, req.user.id) + .input('type', sql.NVarChar, type) + .input('fileName', sql.NVarChar, safeFileName) + .input('sharepointUrl', sql.NVarChar, sharepointUrl) + .query(` + IF EXISTS (SELECT 1 FROM DocumentsCollaborateur WHERE collaborateurId = @collabId AND type = @type) + UPDATE DocumentsCollaborateur + SET fileName = @fileName, sharepointUrl = @sharepointUrl, + DateModification = GETDATE(), dateUpload = GETDATE(), + statut = 'en_attente', validePar = NULL, dateValidation = NULL, commentaire = NULL + WHERE collaborateurId = @collabId AND type = @type + ELSE + INSERT INTO DocumentsCollaborateur (collaborateurId, type, fileName, sharepointUrl, dateUpload, DateModification, statut) + VALUES (@collabId, @type, @fileName, @sharepointUrl, GETDATE(), GETDATE(), 'en_attente') + `); + + // Notifier les Finance du même campus + const typeLabels = { rib: 'RIB', cartegrise: 'Carte grise', permis: 'Permis de conduire' }; + const campusNorm = normalizeCampus(campus); + const financeResult = await pool.request() + .input('campus', sql.NVarChar, campusNorm ? `%${campusNorm}%` : '%') + .query(` + SELECT c.id, c.email, c.prenom, c.nom + FROM CollaborateurAD c + JOIN UtilisateurRoles r ON r.collaborateur_id = c.id + WHERE r.role = 'Finance' AND r.actif = 1 + AND c.campus LIKE @campus AND c.Actif = 1 + `); + + const frontendUrl = process.env.FRONTEND_URL || 'https://myndf.ensup-adm.net'; + for (const finance of financeResult.recordset) { + try { + await creerNotification({ + destinataireId: finance.id, + destinataireEmail: finance.email, + type: 'validationdoc', + titre: `Document à valider — ${prenom} ${nom}`, + message: `${prenom} ${nom} (${campus}) a soumis son ${typeLabels[type]} pour validation.`, + noteId: null + }); + } catch (e) { console.error('Notif BDD Finance doc', e.message); } + try { + await sendMailGraph( + finance.email, + `Document à valider — ${typeLabels[type]} de ${prenom} ${nom}`, + `
+
+

Document à valider

+
+
+

Bonjour ${finance.prenom} ${finance.nom},

+

${prenom} ${nom} (${campus}) a soumis son ${typeLabels[type]} en attente de votre validation.

+
+ + Valider les documents + +
+
+
` + ); + } catch (e) { console.error('Email Finance doc', e.message); } + } + + res.json({ success: true, type, fileName: safeFileName, sharepointUrl, statut: 'en_attente', updatedAt: new Date().toISOString() }); + } catch (error) { + console.error(`POST /api/profil/documents/${req.params.type}`, error.message); + res.status(500).json({ error: error.message }); + } +}); + +// DELETE /api/profil/documents/:type +app.delete('/api/profil/documents/:type', authenticateToken, async (req, res) => { + try { + const type = req.params.type; + if (!DOCTYPES.includes(type)) + return res.status(400).json({ error: 'Type invalide' }); + await pool.request() + .input('collabId', sql.Int, req.user.id) + .input('type', sql.NVarChar, type) + .query(`DELETE FROM DocumentsCollaborateur WHERE collaborateurId = @collabId AND type = @type`); + res.json({ success: true }); + } catch (error) { + res.status(500).json({ error: error.message }); + } +}); + + +// GET /api/finance/documents-a-valider — Finance voit les docs en_attente de son campus +app.get('/api/finance/documents-a-valider', authenticateToken, async (req, res) => { + if (!hasAnyRole(req.user, 'Finance', 'superUtilisateur')) + return res.status(403).json({ error: 'Accès réservé Finance' }); + try { + const request = pool.request(); + let campusFilter = ''; + if (req.user.campus && !hasAnyRole(req.user, 'superUtilisateur')) { + const campusCode = normalizeCampus(req.user.campus); + if (campusCode) { + request.input('campus', sql.NVarChar, `%${campusCode}%`); + campusFilter = 'AND c.campus LIKE @campus'; + } + } + const result = await request.query(` + SELECT d.id, d.collaborateurId, d.type, d.fileName, d.sharepointUrl, + d.dateUpload, d.DateModification, d.statut, d.commentaire, + c.prenom, c.nom, c.email, c.campus, c.departement + FROM DocumentsCollaborateur d + JOIN CollaborateurAD c ON c.id = d.collaborateurId + WHERE d.statut = 'en_attente' ${campusFilter} + ORDER BY d.DateModification ASC + `); + res.json(result.recordset); + } catch (error) { + res.status(500).json({ error: error.message }); + } +}); + +// PUT /api/finance/documents/:id/valider — Finance valide ou refuse un document +// PUT /api/finance/documents/:id/valider +app.put('/api/finance/documents/:id/valider', authenticateToken, async (req, res) => { + if (!hasAnyRole(req.user, 'Finance', 'superUtilisateur')) return res.status(403).json({ error: 'Accès réservé Finance' }); + try { + const docId = parseInt(req.params.id); + const { action, commentaire } = req.body; + if (!['valider', 'refuser'].includes(action)) return res.status(400).json({ error: 'Action invalide' }); + + const newStatut = action === 'valider' ? 'valide' : 'refuse'; + + const docResult = await pool.request() + .input('id', sql.Int, docId) + .query(`SELECT d.*, c.prenom, c.nom, c.email, c.campus FROM DocumentsCollaborateur d JOIN CollaborateurAD c ON c.id = d.collaborateurId WHERE d.id = @id`); + if (!docResult.recordset.length) return res.status(404).json({ error: 'Document introuvable' }); + + const doc = docResult.recordset[0]; + + await pool.request() + .input('id', sql.Int, docId) + .input('statut', sql.NVarChar, newStatut) + .input('validePar', sql.Int, req.user.id) + .input('commentaire', sql.NVarChar, commentaire || null) + .query(` + UPDATE DocumentsCollaborateur + SET statut = @statut, validePar = @validePar, + dateValidation = GETDATE(), commentaire = @commentaire, DateModification = GETDATE() + WHERE id = @id + `); + + const typeLabels = { rib: 'RIB', carte_grise: 'Carte grise', cartegrise: 'Carte grise', permis: 'Permis de conduire' }; + const isValide = newStatut === 'valide'; + const titre = isValide ? `${typeLabels[doc.type] || doc.type} validé ✅` : `${typeLabels[doc.type] || doc.type} refusé ❌`; + const message = isValide + ? `Votre ${typeLabels[doc.type] || doc.type} a été validé par la Finance.` + : `Votre ${typeLabels[doc.type] || doc.type} a été refusé.${commentaire ? ' Motif : ' + commentaire : ''}`; + + try { + await creerNotification({ destinataireId: doc.collaborateurId, destinataireEmail: doc.email, type: isValide ? 'doc_valide' : 'doc_refuse', titre, message, noteId: null }); + } catch (e) { console.error('Notif doc validé', e.message); } + + try { + const frontendUrl = process.env.FRONTEND_URL || 'https://myndf.ensup-adm.net'; + await sendMailGraph(doc.email, titre, + `
+
+

${titre}

+
+
+

Bonjour ${doc.prenom} ${doc.nom},

+

${message}

+ ${!isValide ? '

Veuillez soumettre un nouveau document corrigé depuis votre profil.

' : ''} +
+ Accéder à mon profil +
+
+
` + ); + } catch (e) { console.error('Email doc validé', e.message); } + + res.json({ success: true, statut: newStatut }); + } catch (error) { + res.status(500).json({ error: error.message }); + } +}); + +// GET /api/profil/docs-statut — vérifie si le collaborateur peut soumettre (docs validés) +app.get('/api/profil/docs-statut', authenticateToken, async (req, res) => { + try { + const result = await pool.request() + .input('collaborateurId', sql.Int, req.user.id) + .query(`SELECT type, statut FROM DocumentsCollaborateur WHERE collaborateurId = @collaborateurId`); + const map = {}; + for (const row of result.recordset) map[row.type] = row.statut; + res.json({ + rib: map['rib'] || 'absent', + carte_grise: map['carte_grise'] || 'absent', + permis: map['permis'] || 'absent', + }); + } catch (error) { + res.status(500).json({ error: error.message }); + } +}); + +// ── PUT /api/profil/iban ───────────────────────────────────────── +app.put('/api/profil/iban', authenticateToken, async (req, res) => { + try { + let { iban, bic } = req.body; + if (!iban) return res.status(400).json({ error: 'IBAN obligatoire' }); + if (!bic) return res.status(400).json({ error: 'BIC obligatoire' }); + + iban = iban.replace(/\s+/g, '').toUpperCase(); + bic = bic.replace(/\s+/g, '').toUpperCase(); + + if (!validateIban(iban)) + return res.status(400).json({ error: 'IBAN invalide (format ou checksum incorrect)' }); + + const ibanChiffre = encryptIban(iban); + const ibanHash = hashIban(iban); + + await pool.request() + .input('id', sql.Int, req.user.id) + .input('iban', sql.NVarChar, ibanChiffre) + .input('ibanHash', sql.NVarChar, ibanHash) + .input('bic', sql.NVarChar, bic) + .query(` + UPDATE CollaborateurAD + SET IBAN = @iban, IBAN_HASH = @ibanHash, BIC = @bic, DateModification = GETDATE() + WHERE id = @id + `); + + // ← Le second bloc DocumentsCollaborateur est supprimé + + res.json({ success: true, iban: maskIban(iban), bic, statut: 'valide' }); + } catch (error) { + console.error('PUT /api/profil/iban :', error.message); + res.status(500).json({ error: 'Erreur serveur' }); + } +}); + +// ── GET /api/profil/iban ───────────────────────────────────────── +app.get('/api/profil/iban', authenticateToken, async (req, res) => { + try { + const result = await pool.request() + .input('id', sql.Int, req.user.id) + .query(`SELECT IBAN, BIC FROM CollaborateurAD WHERE id = @id`); + + const row = result.recordset[0]; + if (!row) return res.status(404).json({ error: 'Utilisateur introuvable' }); + + let ibanMasque = null; + if (row.IBAN) { + try { + const ibanClair = decryptIban(row.IBAN); + ibanMasque = maskIban(ibanClair); + } catch { + // IBAN encore en clair en base (avant migration) — on masque directement + ibanMasque = maskIban(row.IBAN); + } + } + + res.json({ + iban: ibanMasque, + ibanSaisi: !!row.IBAN, + bic: row.BIC || null, + }); + } catch (error) { + console.error('GET /api/profil/iban :', error.message); + res.status(500).json({ error: 'Erreur serveur' }); + } +}); + +app.post('/api/verificateur/notes/:id/non-conforme', authenticateToken, async (req, res) => { + if (!hasAnyRole(req.user, 'VerificateurFinance', 'Finance', 'superUtilisateur')) + return res.status(403).json({ error: 'Accès refusé' }); + + const { fileName, motif } = req.body; + const noteId = parseInt(req.params.id); + + try { + const noteResult = await pool.request() + .input('id', sql.Int, noteId) + .query(` + SELECT + n.id, n.reference, n.libelle, n.montant, + n.collaborateurId, + c.prenom, c.nom, c.email, + v1.id AS n1Id, + v1.email AS emailN1, + v1.prenom AS prenomN1, + v1.nom AS nomN1 + FROM NoteDeFrais n + JOIN CollaborateurAD c ON c.id = n.collaborateurId + LEFT JOIN CollaborateurAD v1 ON v1.id = n.validateurN1Id + WHERE n.id = @id + `); + + if (!noteResult.recordset.length) + return res.status(404).json({ error: 'Note introuvable' }); + + const note = noteResult.recordset[0]; + + // ✅ NOUVEAU — sauvegarder en BDD + await pool.request() + .input('noteId', sql.Int, noteId) + .input('verificateurId', sql.Int, req.user.id) + .input('fileName', sql.NVarChar, fileName) + .input('motif', sql.NVarChar, motif) + .query(` + INSERT INTO JustificatifsNonConformes + (noteDeFraisId, verificateurId, fileName, motif, statut, dateSignalement) + VALUES + (@noteId, @verificateurId, @fileName, @motif, 'non_conforme', GETDATE()) + `); + await pool.request() + .input('id', sql.Int, noteId) + .query(` + UPDATE NoteDeFrais SET + statut = 'non_conforme_verif', + DateModification = GETDATE() + WHERE id = @id AND statut = 'approuve' + `); + + // ✅ NOUVEAU — tracer dans HistoriqueValidation + await pool.request() + .input('noteId', sql.Int, noteId) + .input('validateurId', sql.Int, req.user.id) + .input('commentaire', sql.NVarChar, `Justificatif non conforme : "${fileName}" — ${motif}`) + .input('statut', sql.NVarChar, 'approuve') + .query(` + INSERT INTO HistoriqueValidation + (NoteDeFraisId, ValidateurId, Niveau, Action, Commentaire, NouveauStatut, DateAction) + VALUES + (@noteId, @validateurId, 'VERIF', 'non_conforme', @commentaire, @statut, GETDATE()) + `); + + const verificateurNom = `${req.user.prenom} ${req.user.nom}`; + const montantFormate = parseFloat(note.montant).toFixed(2); + const frontendUrl = process.env.FRONTEND_URL || 'https://myndf.ensup-adm.net'; + + // Notifications (votre code existant inchangé) + try { + await creerNotification({ + destinataireId: note.collaborateurId, + destinataireEmail: note.email, + type: 'refus', + titre: `⚠️ Justificatif non conforme — ${note.reference}`, + message: `Le justificatif "${fileName}" de votre note ${note.reference} est non conforme. Motif : ${motif}`, + noteId + }); + } catch (e) { console.error('Notif BDD collab non-conforme:', e.message); } + + + try { + await sendMailGraph( + note.email, + `⚠️ Justificatif non conforme — ${note.reference}`, + `
+
+

⚠️ Justificatif non conforme

+

Une correction est nécessaire

+
+
+

Bonjour ${note.prenom} ${note.nom},

+

Le vérificateur Finance ${verificateurNom} a signalé + un justificatif non conforme sur votre note ${note.reference}.

+ +
+
+ Justificatif concerné +
+
+ 📄 ${fileName} +
+
+ Motif +
+
${motif}
+
+ +
+ + + + + + + +
Référence${note.reference}
Libellé${note.libelle}
Montant${montantFormate} €
+
+ +
+
+ 📝 Que faire ? +
+
    +
  1. Retrouvez le justificatif original corrigé
  2. +
  3. Contactez votre responsable ou la Finance
  4. +
  5. Soumettez un nouveau justificatif via la plateforme
  6. +
+
+ +
+ + Accéder à ma note → + +
+
+
` + ); + } catch (e) { console.error('Email collab non-conforme:', e.message); } + + // ── Notifier le validateur N1 ── + if (note.n1Id && note.emailN1) { + try { + await creerNotification({ + destinataireId: note.n1Id, + destinataireEmail: note.emailN1, + type: 'refus', + titre: `⚠️ Justificatif non conforme — ${note.reference}`, + message: `La note ${note.reference} de ${note.prenom} ${note.nom} comporte un justificatif non conforme : "${fileName}". Motif : ${motif}`, + noteId + }); + } catch (e) { console.error('Notif BDD N1 non-conforme:', e.message); } + + try { + await sendMailGraph( + note.emailN1, + `⚠️ Note ${note.reference} — justificatif non conforme`, + `
+
+

⚠️ Justificatif non conforme signalé

+
+
+

Bonjour ${note.prenomN1} ${note.nomN1},

+

Le vérificateur Finance ${verificateurNom} a signalé + un justificatif non conforme sur la note + ${note.reference} de + ${note.prenom} ${note.nom}.

+
+
+ 📄 ${fileName} +
+
+ Motif : ${motif} +
+
+

+ Le collaborateur a été notifié et doit fournir un justificatif corrigé. +

+
+
` + ); + } catch (e) { console.error('Email N1 non-conforme:', e.message); } + } + + res.json({ + success: true, + notifiedCollab: true, + notifiedN1: !!(note.n1Id && note.emailN1) + }); + + } catch (error) { + console.error('Erreur POST non-conforme:', error.message); + res.status(500).json({ error: error.message }); + } +}); + +app.get('/api/paiements/filtres-disponibles', authenticateToken, async (req, res) => { + if (!hasAnyRole(req.user, 'Finance', 'ValidateurFinance', 'superUtilisateur')) + return res.status(403).json({ error: 'Accès réservé Finance' }); + + try { + const result = await pool.request().query(` + SELECT DISTINCT + c.campus, + c.societe + FROM CollaborateurAD c + WHERE c.Actif = 1 + AND c.campus IS NOT NULL + AND c.campus != '' + ORDER BY c.campus, c.societe + `); + + const campusSet = new Set(); + const societeSet = new Set(); + + for (const row of result.recordset) { + if (row.campus) { + const code = (() => { + const c = row.campus.toUpperCase(); + if (c.includes('SQY') || c.includes('SAINT')) return 'SQY'; + if (c.includes('CGY') || c.includes('CERGY')) return 'CGY'; + if (c.includes('MRS') || c.includes('MARSEILLE')) return 'MRS'; + if (c.includes('NTE') || c.includes('NANTES')) return 'NTE'; + return row.campus; + })(); + campusSet.add(code); + } + if (row.societe && row.societe.trim()) { + societeSet.add(row.societe.trim()); + } + } + + res.json({ + campus: [...campusSet].sort(), + societes: [...societeSet].sort() + }); + + } catch (error) { + console.error('GET /api/paiements/filtres-disponibles:', error.message); + res.status(500).json({ error: error.message }); + } +}); +app.get('/api/verificateur/notes/:id/non-conformes', authenticateToken, async (req, res) => { + if (!hasAnyRole(req.user, 'VerificateurFinance', 'Finance', 'superUtilisateur')) + return res.status(403).json({ error: 'Accès refusé' }); + + try { + const result = await pool.request() + .input('noteId', sql.Int, parseInt(req.params.id)) + .query(` + SELECT j.id, j.fileName, j.motif, j.statut, j.dateSignalement, + c.prenom + ' ' + c.nom AS verificateur + FROM JustificatifsNonConformes j + JOIN CollaborateurAD c ON c.id = j.verificateurId + WHERE j.noteDeFraisId = @noteId + ORDER BY j.dateSignalement DESC + `); + res.json(result.recordset); + } catch (error) { + res.status(500).json({ error: error.message }); + } +}); + +// ========================================================= +// ROUTES À AJOUTER DANS server.js +// Coller après les routes /api/profil/iban existantes +// ========================================================= + +// ── GET /api/profil/vehicule ───────────────────────────── +app.get('/api/profil/vehicule', authenticateToken, async (req, res) => { + try { + const result = await pool.request() + .input('id', sql.Int, req.user.id) + .query(` + SELECT chevauxFiscaux, vehiculeMarque, vehiculeModele, + vehiculeImmat, vehiculeDateMaj + FROM CollaborateurAD + WHERE id = @id + `); + + const row = result.recordset[0]; + if (!row) return res.status(404).json({ error: 'Utilisateur introuvable' }); + + // Retourner null si pas encore configuré + if (!row.chevauxFiscaux) { + return res.json({ configured: false, vehicule: null }); + } + + res.json({ + configured: true, + vehicule: { + chevaux: row.chevauxFiscaux, + marque: row.vehiculeMarque || '', + modele: row.vehiculeModele || '', + immatriculation: row.vehiculeImmat || '', + dateMaj: row.vehiculeDateMaj, + } + }); + } catch (error) { + console.error('GET /api/profil/vehicule :', error.message); + res.status(500).json({ error: 'Erreur serveur' }); + } +}); + +// ── PUT /api/profil/vehicule ───────────────────────────── +app.put('/api/profil/vehicule', authenticateToken, async (req, res) => { + try { + const { chevaux, marque, modele, immatriculation } = req.body; + + // Validation + const cv = parseInt(chevaux); + if (!cv || cv < 3 || cv > 7) { + return res.status(400).json({ + error: 'Cheval fiscal invalide (valeurs acceptées : 3, 4, 5, 6, 7)' + }); + } + + const immatClean = (immatriculation || '') + .replace(/\s+/g, '-') + .toUpperCase() + .slice(0, 20); + + await pool.request() + .input('id', sql.Int, req.user.id) + .input('chevaux', sql.Int, cv) + .input('marque', sql.NVarChar, (marque || '').trim().slice(0, 100)) + .input('modele', sql.NVarChar, (modele || '').trim().slice(0, 100)) + .input('immat', sql.NVarChar, immatClean) + .query(` + UPDATE CollaborateurAD SET + chevauxFiscaux = @chevaux, + vehiculeMarque = @marque, + vehiculeModele = @modele, + vehiculeImmat = @immat, + vehiculeDateMaj = GETDATE(), + DateModification = GETDATE() + WHERE id = @id + `); + + console.log(`✅ Profil véhicule mis à jour — user ${req.user.email} : ${cv} CV`); + + res.json({ + success: true, + vehicule: { chevaux: cv, marque: marque || '', modele: modele || '', immatriculation: immatClean } + }); + } catch (error) { + console.error('PUT /api/profil/vehicule :', error.message); + res.status(500).json({ error: 'Erreur serveur' }); + } +}); + +// ── DELETE /api/profil/vehicule ────────────────────────── +app.delete('/api/profil/vehicule', authenticateToken, async (req, res) => { + try { + await pool.request() + .input('id', sql.Int, req.user.id) + .query(` + UPDATE CollaborateurAD SET + chevauxFiscaux = NULL, + vehiculeMarque = NULL, + vehiculeModele = NULL, + vehiculeImmat = NULL, + vehiculeDateMaj = NULL, + DateModification = GETDATE() + WHERE id = @id + `); + res.json({ success: true }); + } catch (error) { + res.status(500).json({ error: error.message }); + } +}); + +// ================================================ +// GESTION DES ERREURS +// ================================================ +app.use((err, req, res, next) => { + console.error('❌ Erreur middleware:', err.stack); + res.status(500).json({ error: 'Une erreur est survenue', details: process.env.NODE_ENV === 'development' ? err.message : undefined }); +}); + +// ================================================ +// DÉMARRAGE DU SERVEUR +// ================================================ +const server = app.listen(PORT, '0.0.0.0', () => { + console.log('\n================================================'); + console.log(`✅ SERVEUR DÉMARRÉ sur http://0.0.0.0:${PORT}`); + console.log('================================================'); + + setTimeout(async () => { + console.log('\n🚀 Lancement synchronisation automatique Entra ID...'); + await syncEntraIdUsers(); + setInterval(async () => { + console.log('\n🔁 Synchronisation périodique Entra ID...'); + await syncEntraIdUsers(); + }, 6 * 60 * 60 * 1000); + }, 5000); +}); + +server.on('error', (error) => { + console.error('\n❌ ERREUR SERVEUR:', error); + if (error.code === 'EADDRINUSE') console.error(`⚠️ Le port ${PORT} est déjà utilisé`); + process.exit(1); +}); + +setInterval(() => { }, 60000); \ No newline at end of file diff --git a/ndf/public/img/NDF_Image_Logo.png b/ndf/public/img/NDF_Image_Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..3ba6b46099e098db903ffad2cc7d8513f09a235e GIT binary patch literal 885952 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%0ACBPb7v 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%0DXp{|lBGo~pJSFHA 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