emilsoftware-utilities 2.0.0-dev.70 → 2.0.0-dev.72
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.MD +30 -0
- package/dist/accessi/client/admin/index.d.ts +18 -0
- package/dist/accessi/client/admin/index.js +58 -0
- package/dist/accessi/client/admin/index.js.map +1 -0
- package/dist/accessi/client/createAccessiClient.d.ts +21 -0
- package/dist/accessi/client/createAccessiClient.js +31 -0
- package/dist/accessi/client/createAccessiClient.js.map +1 -0
- package/dist/accessi/client/generated/admin.d.ts +601 -0
- package/dist/accessi/client/generated/admin.js +557 -0
- package/dist/accessi/client/generated/admin.js.map +1 -0
- package/dist/accessi/client/generated/public.d.ts +121 -0
- package/dist/accessi/client/generated/public.js +119 -0
- package/dist/accessi/client/generated/public.js.map +1 -0
- package/dist/accessi/client/generated/service.d.ts +53 -0
- package/dist/accessi/client/generated/service.js +63 -0
- package/dist/accessi/client/generated/service.js.map +1 -0
- package/dist/accessi/client/index.d.ts +29 -11
- package/dist/accessi/client/index.js +52 -2
- package/dist/accessi/client/index.js.map +1 -1
- package/dist/accessi/client/public/index.d.ts +18 -0
- package/dist/accessi/client/public/index.js +58 -0
- package/dist/accessi/client/public/index.js.map +1 -0
- package/dist/accessi/client/service/index.d.ts +17 -0
- package/dist/accessi/client/service/index.js +57 -0
- package/dist/accessi/client/service/index.js.map +1 -0
- package/dist/accessi-module/Console/accessiFetch.d.ts +27 -0
- package/dist/accessi-module/Console/accessiFetch.js +41 -5
- package/dist/accessi-module/Console/accessiFetch.js.map +1 -1
- package/dist/accessi-module/Console/console.js +14 -3
- package/dist/accessi-module/Console/wiki.js +10 -1
- package/dist/accessi-module/Console/wiki.js.map +1 -1
- package/dist/accessi-module/Controllers/AccessiIntrospectionController.js +1 -1
- package/dist/accessi-module/Controllers/AccessiIntrospectionController.js.map +1 -1
- package/dist/accessi-module/security/accessTokenRevocation.js +5 -2
- package/dist/accessi-module/security/accessTokenRevocation.js.map +1 -1
- package/dist/emilsoftware-utilities-2.0.0-dev.72.tgz +0 -0
- package/integration-prompt.md +6 -2
- package/package.json +23 -4
- package/dist/emilsoftware-utilities-2.0.0-dev.70.tgz +0 -0
package/integration-prompt.md
CHANGED
|
@@ -41,7 +41,10 @@ Se per ora Accessi e montato dentro Backend A, va bene: Backend A e il proprieta
|
|
|
41
41
|
|---|---|
|
|
42
42
|
| `emilsoftware-utilities/accessi/server` | Backend che ospita Accessi: `AccessiModule`, `initializeAccessiModule`, updater DB, migrazioni, console. |
|
|
43
43
|
| `emilsoftware-utilities/accessi/resource-server` | Backend fratello: middleware Express, guard Nest, verifica JWT e introspection. |
|
|
44
|
-
| `emilsoftware-utilities/accessi/client` | Client OpenAPI
|
|
44
|
+
| `emilsoftware-utilities/accessi/client` | Client OpenAPI completo, con configurazione globale o per istanza (`createAccessiClient`). |
|
|
45
|
+
| `emilsoftware-utilities/accessi/client/public` | Solo API pubbliche (login, refresh, 2FA, reset password, ticket console): da preferire nei frontend. |
|
|
46
|
+
| `emilsoftware-utilities/accessi/client/admin` | Solo API amministrative (utenti, ruoli, menu, filtri, provider federati, schema): console e tool admin. |
|
|
47
|
+
| `emilsoftware-utilities/accessi/client/service` | Solo API service-to-service (service token e introspezione): backend fratelli e job. |
|
|
45
48
|
| `emilsoftware-utilities/accessi/contracts` | Tipi, enum e helper puri browser-safe. |
|
|
46
49
|
| `emilsoftware-utilities/accessi/contracts/dtos` | DTO Nest con `class-validator` e decoratori OpenAPI. Solo backend. |
|
|
47
50
|
| `emilsoftware-utilities/accessi/openapi` | `setupOpenApi`, `mergeOpenApiDocuments`. |
|
|
@@ -628,6 +631,7 @@ I componenti sono frameworkless e ricevono i dati via proprieta; non fanno chiam
|
|
|
628
631
|
- `accessi/contracts`: tipi/enum/helper puri, adatti anche al browser.
|
|
629
632
|
- `accessi/contracts/dtos`: DTO Nest con decoratori; non usarli in bundle frontend leggeri.
|
|
630
633
|
- `accessi/client`: tipi generati dall'OpenAPI e funzioni HTTP; e la fonte consigliata per frontend e backend fratelli.
|
|
634
|
+
- `accessi/client/public` / `admin` / `service`: stessi tipi e funzioni, filtrati per scope. Il client pubblico non espone operazioni amministrative; usare `createAccessiPublicClient`, `createAccessiAdminClient` o `createAccessiServiceClient` per isolare base URL e token per istanza.
|
|
631
635
|
|
|
632
636
|
Non usare i DTO server come contratto pubblico se il frontend non ha `class-validator`, `class-transformer` e `reflect-metadata`.
|
|
633
637
|
|
|
@@ -755,7 +759,7 @@ Checklist:
|
|
|
755
759
|
|
|
756
760
|
### Per un frontend
|
|
757
761
|
|
|
758
|
-
> Usa `emilsoftware-utilities/accessi/client
|
|
762
|
+
> Usa `emilsoftware-utilities/accessi/client/public` nei frontend (mai il client admin) e `createAccessiClient`/`createAccessiPublicClient` se parli con piu Accessi Service o tenant: chiama `configureAccessiClient({ baseUrl, token })` dopo il login e `getToken` se il token cambia. Il login, il refresh, il 2FA e il reset password passano da Accessi Service. Verso i backend usa `Authorization: Bearer <access-token>`. Non incorporare il database o il server Accessi. Per la console usa `buildAccessiConsoleUrl` con il ticket monouso restituito da `POST /api/accessi/console/entry`; non mettere mai il JWT nell'URL. Per i componenti UI usa gli asset di `accessi/ui`. Gestisci gli errori 401 (`AUTH_TOKEN_INVALID`) portando l'utente al login e 403 (`AUTH_INSUFFICIENT_PERMISSIONS`) mostrando un messaggio di permessi insufficienti.
|
|
759
763
|
|
|
760
764
|
### Per un agente AI
|
|
761
765
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "emilsoftware-utilities",
|
|
3
|
-
"version": "2.0.0-dev.
|
|
3
|
+
"version": "2.0.0-dev.72",
|
|
4
4
|
"description": "Utilities for EmilSoftware",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -60,6 +60,24 @@
|
|
|
60
60
|
"import": "./dist/accessi/client/index.js",
|
|
61
61
|
"default": "./dist/accessi/client/index.js"
|
|
62
62
|
},
|
|
63
|
+
"./accessi/client/public": {
|
|
64
|
+
"types": "./dist/accessi/client/public/index.d.ts",
|
|
65
|
+
"require": "./dist/accessi/client/public/index.js",
|
|
66
|
+
"import": "./dist/accessi/client/public/index.js",
|
|
67
|
+
"default": "./dist/accessi/client/public/index.js"
|
|
68
|
+
},
|
|
69
|
+
"./accessi/client/admin": {
|
|
70
|
+
"types": "./dist/accessi/client/admin/index.d.ts",
|
|
71
|
+
"require": "./dist/accessi/client/admin/index.js",
|
|
72
|
+
"import": "./dist/accessi/client/admin/index.js",
|
|
73
|
+
"default": "./dist/accessi/client/admin/index.js"
|
|
74
|
+
},
|
|
75
|
+
"./accessi/client/service": {
|
|
76
|
+
"types": "./dist/accessi/client/service/index.d.ts",
|
|
77
|
+
"require": "./dist/accessi/client/service/index.js",
|
|
78
|
+
"import": "./dist/accessi/client/service/index.js",
|
|
79
|
+
"default": "./dist/accessi/client/service/index.js"
|
|
80
|
+
},
|
|
63
81
|
"./accessi/openapi": {
|
|
64
82
|
"types": "./dist/accessi/openapi/index.d.ts",
|
|
65
83
|
"require": "./dist/accessi/openapi/index.js",
|
|
@@ -106,11 +124,12 @@
|
|
|
106
124
|
"typecheck": "tsc --noEmit",
|
|
107
125
|
"lint": "node scripts/lint.cjs",
|
|
108
126
|
"test": "npm run typecheck && npm run lint && npm run test:unit",
|
|
109
|
-
"test:unit": "node --test test/angular-components.cjs test/menus-catalog.mjs test/menu-scopes.cjs test/accessi-regressions.cjs test/password-reset-regressions.cjs test/two-factor.cjs test/accessi-schema.cjs test/utilities-regressions.cjs test/service-token-regressions.cjs test/accessi-email-config.cjs test/accessi-catalog-scripts.cjs test/openapi-config.cjs test/resource-server.cjs test/accessi-security-standards.cjs test/accessi-service.cjs test/refresh-token.cjs test/token-revocation.cjs",
|
|
110
|
-
"test:coverage": "node --experimental-test-coverage --test-coverage-lines=50 --test-coverage-functions=60 --test-coverage-branches=60 --test test/angular-components.cjs test/menus-catalog.mjs test/menu-scopes.cjs test/accessi-regressions.cjs test/password-reset-regressions.cjs test/two-factor.cjs test/accessi-schema.cjs test/utilities-regressions.cjs test/service-token-regressions.cjs test/accessi-email-config.cjs test/accessi-catalog-scripts.cjs test/openapi-config.cjs test/resource-server.cjs test/accessi-security-standards.cjs test/accessi-service.cjs test/refresh-token.cjs test/token-revocation.cjs",
|
|
127
|
+
"test:unit": "node --test test/angular-components.cjs test/menus-catalog.mjs test/menu-scopes.cjs test/accessi-regressions.cjs test/password-reset-regressions.cjs test/two-factor.cjs test/accessi-schema.cjs test/utilities-regressions.cjs test/service-token-regressions.cjs test/accessi-email-config.cjs test/accessi-catalog-scripts.cjs test/openapi-config.cjs test/resource-server.cjs test/accessi-security-standards.cjs test/accessi-service.cjs test/refresh-token.cjs test/token-revocation.cjs test/accessi-client.cjs test/accessi-client-scopes.cjs",
|
|
128
|
+
"test:coverage": "node --experimental-test-coverage --test-coverage-lines=50 --test-coverage-functions=60 --test-coverage-branches=60 --test test/angular-components.cjs test/menus-catalog.mjs test/menu-scopes.cjs test/accessi-regressions.cjs test/password-reset-regressions.cjs test/two-factor.cjs test/accessi-schema.cjs test/utilities-regressions.cjs test/service-token-regressions.cjs test/accessi-email-config.cjs test/accessi-catalog-scripts.cjs test/openapi-config.cjs test/resource-server.cjs test/accessi-security-standards.cjs test/accessi-service.cjs test/refresh-token.cjs test/token-revocation.cjs test/accessi-client.cjs test/accessi-client-scopes.cjs",
|
|
111
129
|
"test:accessi": "npm run test:unit",
|
|
112
|
-
"test:all": "npm test && npm run test:integration",
|
|
130
|
+
"test:all": "npm test && npm run test:integration && npm run test:integration:redis",
|
|
113
131
|
"test:integration": "node test/integration/run-firebird.cjs 5",
|
|
132
|
+
"test:integration:redis": "node --test test/integration/redis-stores.integration.cjs",
|
|
114
133
|
"test:integration:fb5": "node test/integration/run-firebird.cjs 5",
|
|
115
134
|
"test:integration:fb3": "node test/integration/run-firebird.cjs 3",
|
|
116
135
|
"test:integration:fb25": "node test/integration/run-firebird.cjs 2.5",
|
|
Binary file
|