emilsoftware-utilities 2.0.0-dev.71 → 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.
Files changed (34) hide show
  1. package/README.MD +1 -0
  2. package/dist/accessi/client/admin/index.d.ts +18 -0
  3. package/dist/accessi/client/admin/index.js +58 -0
  4. package/dist/accessi/client/admin/index.js.map +1 -0
  5. package/dist/accessi/client/createAccessiClient.d.ts +21 -0
  6. package/dist/accessi/client/createAccessiClient.js +31 -0
  7. package/dist/accessi/client/createAccessiClient.js.map +1 -0
  8. package/dist/accessi/client/generated/admin.d.ts +601 -0
  9. package/dist/accessi/client/generated/admin.js +557 -0
  10. package/dist/accessi/client/generated/admin.js.map +1 -0
  11. package/dist/accessi/client/generated/public.d.ts +121 -0
  12. package/dist/accessi/client/generated/public.js +119 -0
  13. package/dist/accessi/client/generated/public.js.map +1 -0
  14. package/dist/accessi/client/generated/service.d.ts +53 -0
  15. package/dist/accessi/client/generated/service.js +63 -0
  16. package/dist/accessi/client/generated/service.js.map +1 -0
  17. package/dist/accessi/client/index.d.ts +7 -13
  18. package/dist/accessi/client/index.js +16 -29
  19. package/dist/accessi/client/index.js.map +1 -1
  20. package/dist/accessi/client/public/index.d.ts +18 -0
  21. package/dist/accessi/client/public/index.js +58 -0
  22. package/dist/accessi/client/public/index.js.map +1 -0
  23. package/dist/accessi/client/service/index.d.ts +17 -0
  24. package/dist/accessi/client/service/index.js +57 -0
  25. package/dist/accessi/client/service/index.js.map +1 -0
  26. package/dist/accessi-module/Console/console.js +4 -0
  27. package/dist/accessi-module/Console/wiki.js +4 -0
  28. package/dist/accessi-module/Console/wiki.js.map +1 -1
  29. package/dist/accessi-module/Controllers/AccessiIntrospectionController.js +1 -1
  30. package/dist/accessi-module/Controllers/AccessiIntrospectionController.js.map +1 -1
  31. package/dist/emilsoftware-utilities-2.0.0-dev.72.tgz +0 -0
  32. package/integration-prompt.md +6 -2
  33. package/package.json +21 -3
  34. package/dist/emilsoftware-utilities-2.0.0-dev.71.tgz +0 -0
@@ -44,20 +44,23 @@ exports.createAccessiClient = createAccessiClient;
44
44
  *
45
45
  * Il client e pensato per essere usato da backend fratelli, frontend e tool
46
46
  * amministrativi. Configurare base URL e token provider prima della prima call.
47
+ *
48
+ * Per limitare le operazioni disponibili usare gli entry point per scope:
49
+ * `accessi/client/public`, `accessi/client/admin` e `accessi/client/service`.
47
50
  */
48
51
  const generated = __importStar(require("../../accessi-module/Console/generated/emilsoftware-utilities"));
49
- const accessiFetch_1 = require("../../accessi-module/Console/accessiFetch");
52
+ const createAccessiClient_1 = require("./createAccessiClient");
50
53
  __exportStar(require("../../accessi-module/Console/generated/emilsoftware-utilities"), exports);
51
54
  __exportStar(require("../../accessi-module/Console/generated/model"), exports);
55
+ var accessiFetch_1 = require("../../accessi-module/Console/accessiFetch");
56
+ Object.defineProperty(exports, "AccessiRequestError", { enumerable: true, get: function () { return accessiFetch_1.AccessiRequestError; } });
52
57
  var accessiFetch_2 = require("../../accessi-module/Console/accessiFetch");
53
- Object.defineProperty(exports, "AccessiRequestError", { enumerable: true, get: function () { return accessiFetch_2.AccessiRequestError; } });
54
- var accessiFetch_3 = require("../../accessi-module/Console/accessiFetch");
55
- Object.defineProperty(exports, "ACCESSI_UNAUTHORIZED_EVENT", { enumerable: true, get: function () { return accessiFetch_3.ACCESSI_UNAUTHORIZED_EVENT; } });
56
- Object.defineProperty(exports, "getAccessiClientConfig", { enumerable: true, get: function () { return accessiFetch_3.getAccessiClientConfig; } });
57
- Object.defineProperty(exports, "runWithAccessiClient", { enumerable: true, get: function () { return accessiFetch_3.runWithAccessiClient; } });
58
- Object.defineProperty(exports, "setAccessiFetchBaseUrl", { enumerable: true, get: function () { return accessiFetch_3.setAccessiFetchBaseUrl; } });
59
- Object.defineProperty(exports, "setAccessiFetchTokenProvider", { enumerable: true, get: function () { return accessiFetch_3.setAccessiFetchTokenProvider; } });
60
- const accessiFetch_4 = require("../../accessi-module/Console/accessiFetch");
58
+ Object.defineProperty(exports, "ACCESSI_UNAUTHORIZED_EVENT", { enumerable: true, get: function () { return accessiFetch_2.ACCESSI_UNAUTHORIZED_EVENT; } });
59
+ Object.defineProperty(exports, "getAccessiClientConfig", { enumerable: true, get: function () { return accessiFetch_2.getAccessiClientConfig; } });
60
+ Object.defineProperty(exports, "runWithAccessiClient", { enumerable: true, get: function () { return accessiFetch_2.runWithAccessiClient; } });
61
+ Object.defineProperty(exports, "setAccessiFetchBaseUrl", { enumerable: true, get: function () { return accessiFetch_2.setAccessiFetchBaseUrl; } });
62
+ Object.defineProperty(exports, "setAccessiFetchTokenProvider", { enumerable: true, get: function () { return accessiFetch_2.setAccessiFetchTokenProvider; } });
63
+ const accessiFetch_3 = require("../../accessi-module/Console/accessiFetch");
61
64
  /**
62
65
  * Configura il trasporto del client generato globale.
63
66
  *
@@ -70,12 +73,12 @@ const accessiFetch_4 = require("../../accessi-module/Console/accessiFetch");
70
73
  */
71
74
  function configureAccessiClient(config = {}) {
72
75
  var _a;
73
- (0, accessiFetch_4.setAccessiFetchBaseUrl)((_a = config.baseUrl) !== null && _a !== void 0 ? _a : null);
76
+ (0, accessiFetch_3.setAccessiFetchBaseUrl)((_a = config.baseUrl) !== null && _a !== void 0 ? _a : null);
74
77
  if (config.getToken) {
75
- (0, accessiFetch_4.setAccessiFetchTokenProvider)(config.getToken);
78
+ (0, accessiFetch_3.setAccessiFetchTokenProvider)(config.getToken);
76
79
  return;
77
80
  }
78
- (0, accessiFetch_4.setAccessiFetchTokenProvider)(() => { var _a; return (_a = config.token) !== null && _a !== void 0 ? _a : null; });
81
+ (0, accessiFetch_3.setAccessiFetchTokenProvider)(() => { var _a; return (_a = config.token) !== null && _a !== void 0 ? _a : null; });
79
82
  }
80
83
  /**
81
84
  * Crea un client isolato con la propria base URL e il proprio token.
@@ -91,22 +94,6 @@ function configureAccessiClient(config = {}) {
91
94
  * ```
92
95
  */
93
96
  function createAccessiClient(config = {}) {
94
- let current = Object.assign({}, config);
95
- return new Proxy(generated, {
96
- get(target, property, receiver) {
97
- if (property === 'configure') {
98
- return (next) => {
99
- current = Object.assign({}, next);
100
- };
101
- }
102
- if (property === 'getConfig') {
103
- return () => (Object.assign({}, current));
104
- }
105
- const value = Reflect.get(target, property, receiver);
106
- if (typeof value !== 'function')
107
- return value;
108
- return (...args) => (0, accessiFetch_1.runWithAccessiClient)(current, () => value(...args));
109
- },
110
- });
97
+ return (0, createAccessiClient_1.createAccessiClientFromModule)(generated, config);
111
98
  }
112
99
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/accessi/client/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDA,wDAOC;AAeD,kDAqBC;AA/FD;;;;;GAKG;AACH,yGAA2F;AAC3F,4EAGmD;AAEnD,gGAA8E;AAC9E,+EAA6D;AAC7D,0EAAgF;AAAvE,mHAAA,mBAAmB,OAAA;AAC5B,0EAMmD;AALjD,0HAAA,0BAA0B,OAAA;AAC1B,sHAAA,sBAAsB,OAAA;AACtB,oHAAA,oBAAoB,OAAA;AACpB,sHAAA,sBAAsB,OAAA;AACtB,4HAAA,4BAA4B,OAAA;AAI9B,4EAGmD;AAenD;;;;;;;;;GASG;AACH,SAAgB,sBAAsB,CAAC,SAA8B,EAAE;;IACrE,IAAA,qCAAsB,EAAC,MAAA,MAAM,CAAC,OAAO,mCAAI,IAAI,CAAC,CAAC;IAC/C,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,IAAA,2CAA4B,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC9C,OAAO;IACT,CAAC;IACD,IAAA,2CAA4B,EAAC,GAAG,EAAE,WAAC,OAAA,MAAA,MAAM,CAAC,KAAK,mCAAI,IAAI,CAAA,EAAA,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,mBAAmB,CAAC,SAA8B,EAAE;IAClE,IAAI,OAAO,qBAA6B,MAAM,CAAE,CAAC;IAEjD,OAAO,IAAI,KAAK,CAAC,SAAqC,EAAE;QACtD,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ;YAC5B,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;gBAC7B,OAAO,CAAC,IAAyB,EAAE,EAAE;oBACnC,OAAO,qBAAQ,IAAI,CAAE,CAAC;gBACxB,CAAC,CAAC;YACJ,CAAC;YACD,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC,mBAAM,OAAO,EAAG,CAAC;YAChC,CAAC;YAED,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAY,CAAC;YACjE,IAAI,OAAO,KAAK,KAAK,UAAU;gBAAE,OAAO,KAAK,CAAC;YAE9C,OAAO,CAAC,GAAG,IAAe,EAAE,EAAE,CAC5B,IAAA,mCAAoB,EAAC,OAAO,EAAE,GAAG,EAAE,CAAE,KAA6C,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QACjG,CAAC;KACF,CAAC,CAAC;AACL,CAAC","sourcesContent":["/**\n * Client HTTP generato dal contratto OpenAPI di Accessi.\n *\n * Il client e pensato per essere usato da backend fratelli, frontend e tool\n * amministrativi. Configurare base URL e token provider prima della prima call.\n */\nimport * as generated from \"../../accessi-module/Console/generated/emilsoftware-utilities\";\nimport {\n runWithAccessiClient,\n type AccessiClientConfig,\n} from \"../../accessi-module/Console/accessiFetch\";\n\nexport * from \"../../accessi-module/Console/generated/emilsoftware-utilities\";\nexport * from \"../../accessi-module/Console/generated/model\";\nexport { AccessiRequestError } from \"../../accessi-module/Console/accessiFetch\";\nexport {\n ACCESSI_UNAUTHORIZED_EVENT,\n getAccessiClientConfig,\n runWithAccessiClient,\n setAccessiFetchBaseUrl,\n setAccessiFetchTokenProvider,\n} from \"../../accessi-module/Console/accessiFetch\";\nexport type { AccessiClientConfig } from \"../../accessi-module/Console/accessiFetch\";\n\nimport {\n setAccessiFetchBaseUrl,\n setAccessiFetchTokenProvider,\n} from \"../../accessi-module/Console/accessiFetch\";\n\n/**\n * Client completo generato, con la configurazione isolata per istanza.\n *\n * Ogni metodo e lo stesso del client globale, ma base URL e token vengono presi\n * dalla configurazione dell'istanza e non interferiscono con altri client.\n */\nexport type AccessiClient = typeof generated & {\n /** Sostituisce la configurazione dell'istanza senza toccare quella globale. */\n configure(config: AccessiClientConfig): void;\n /** Copia della configurazione corrente dell'istanza. */\n getConfig(): AccessiClientConfig;\n};\n\n/**\n * Configura il trasporto del client generato globale.\n *\n * Uso tipico backend: `configureAccessiClient({ baseUrl, getToken })`.\n * Uso tipico frontend: `configureAccessiClient({ baseUrl, token })` dopo il login.\n *\n * Per usare piu Accessi Service (o tenant) nello stesso processo preferire\n * `createAccessiClient`: la configurazione globale resta il default per le\n * chiamate agli export del package.\n */\nexport function configureAccessiClient(config: AccessiClientConfig = {}): void {\n setAccessiFetchBaseUrl(config.baseUrl ?? null);\n if (config.getToken) {\n setAccessiFetchTokenProvider(config.getToken);\n return;\n }\n setAccessiFetchTokenProvider(() => config.token ?? null);\n}\n\n/**\n * Crea un client isolato con la propria base URL e il proprio token.\n *\n * Le istanze possono essere usate in concorrenza: la configurazione viene\n * applicata alla singola chiamata, quindi due client con base URL o token\n * diversi non si sovrascrivono.\n *\n * ```ts\n * const milano = createAccessiClient({ baseUrl: 'https://accessi-milano.example.com', getToken });\n * const roma = createAccessiClient({ baseUrl: 'https://accessi-roma.example.com', token });\n * const [utentiMilano, utentiRoma] = await Promise.all([milano.getUsers(), roma.getUsers()]);\n * ```\n */\nexport function createAccessiClient(config: AccessiClientConfig = {}): AccessiClient {\n let current: AccessiClientConfig = { ...config };\n\n return new Proxy(generated as unknown as AccessiClient, {\n get(target, property, receiver) {\n if (property === 'configure') {\n return (next: AccessiClientConfig) => {\n current = { ...next };\n };\n }\n if (property === 'getConfig') {\n return () => ({ ...current });\n }\n\n const value = Reflect.get(target, property, receiver) as unknown;\n if (typeof value !== 'function') return value;\n\n return (...args: unknown[]) =>\n runWithAccessiClient(current, () => (value as (...callArgs: unknown[]) => unknown)(...args));\n },\n });\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/accessi/client/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8CA,wDAOC;AAeD,kDAEC;AAtED;;;;;;;;GAQG;AACH,yGAA2F;AAE3F,+DAG+B;AAE/B,gGAA8E;AAC9E,+EAA6D;AAC7D,0EAAgF;AAAvE,mHAAA,mBAAmB,OAAA;AAC5B,0EAMmD;AALjD,0HAAA,0BAA0B,OAAA;AAC1B,sHAAA,sBAAsB,OAAA;AACtB,oHAAA,oBAAoB,OAAA;AACpB,sHAAA,sBAAsB,OAAA;AACtB,4HAAA,4BAA4B,OAAA;AAI9B,4EAGmD;AAKnD;;;;;;;;;GASG;AACH,SAAgB,sBAAsB,CAAC,SAA8B,EAAE;;IACrE,IAAA,qCAAsB,EAAC,MAAA,MAAM,CAAC,OAAO,mCAAI,IAAI,CAAC,CAAC;IAC/C,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,IAAA,2CAA4B,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC9C,OAAO;IACT,CAAC;IACD,IAAA,2CAA4B,EAAC,GAAG,EAAE,WAAC,OAAA,MAAA,MAAM,CAAC,KAAK,mCAAI,IAAI,CAAA,EAAA,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,mBAAmB,CAAC,SAA8B,EAAE;IAClE,OAAO,IAAA,mDAA6B,EAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAC1D,CAAC","sourcesContent":["/**\n * Client HTTP generato dal contratto OpenAPI di Accessi.\n *\n * Il client e pensato per essere usato da backend fratelli, frontend e tool\n * amministrativi. Configurare base URL e token provider prima della prima call.\n *\n * Per limitare le operazioni disponibili usare gli entry point per scope:\n * `accessi/client/public`, `accessi/client/admin` e `accessi/client/service`.\n */\nimport * as generated from \"../../accessi-module/Console/generated/emilsoftware-utilities\";\nimport type { AccessiClientConfig } from \"../../accessi-module/Console/accessiFetch\";\nimport {\n createAccessiClientFromModule,\n type AccessiScopedClient,\n} from \"./createAccessiClient\";\n\nexport * from \"../../accessi-module/Console/generated/emilsoftware-utilities\";\nexport * from \"../../accessi-module/Console/generated/model\";\nexport { AccessiRequestError } from \"../../accessi-module/Console/accessiFetch\";\nexport {\n ACCESSI_UNAUTHORIZED_EVENT,\n getAccessiClientConfig,\n runWithAccessiClient,\n setAccessiFetchBaseUrl,\n setAccessiFetchTokenProvider,\n} from \"../../accessi-module/Console/accessiFetch\";\nexport type { AccessiClientConfig } from \"../../accessi-module/Console/accessiFetch\";\n\nimport {\n setAccessiFetchBaseUrl,\n setAccessiFetchTokenProvider,\n} from \"../../accessi-module/Console/accessiFetch\";\n\n/** Client completo: tutte le operazioni, con configurazione isolata per istanza. */\nexport type AccessiClient = AccessiScopedClient<typeof generated>;\n\n/**\n * Configura il trasporto del client generato globale.\n *\n * Uso tipico backend: `configureAccessiClient({ baseUrl, getToken })`.\n * Uso tipico frontend: `configureAccessiClient({ baseUrl, token })` dopo il login.\n *\n * Per usare piu Accessi Service (o tenant) nello stesso processo preferire\n * `createAccessiClient`: la configurazione globale resta il default per le\n * chiamate agli export del package.\n */\nexport function configureAccessiClient(config: AccessiClientConfig = {}): void {\n setAccessiFetchBaseUrl(config.baseUrl ?? null);\n if (config.getToken) {\n setAccessiFetchTokenProvider(config.getToken);\n return;\n }\n setAccessiFetchTokenProvider(() => config.token ?? null);\n}\n\n/**\n * Crea un client isolato con la propria base URL e il proprio token.\n *\n * Le istanze possono essere usate in concorrenza: la configurazione viene\n * applicata alla singola chiamata, quindi due client con base URL o token\n * diversi non si sovrascrivono.\n *\n * ```ts\n * const milano = createAccessiClient({ baseUrl: 'https://accessi-milano.example.com', getToken });\n * const roma = createAccessiClient({ baseUrl: 'https://accessi-roma.example.com', token });\n * const [utentiMilano, utentiRoma] = await Promise.all([milano.getUsers(), roma.getUsers()]);\n * ```\n */\nexport function createAccessiClient(config: AccessiClientConfig = {}): AccessiClient {\n return createAccessiClientFromModule(generated, config);\n}\n"]}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Client per le API pubbliche di Accessi: login, refresh, 2FA, reset password,
3
+ * registrazione pubblica e scambio ticket console.
4
+ *
5
+ * Non include le operazioni amministrative (utenti, ruoli, menu, schema, filtri,
6
+ * service token). Per quelle usare `accessi/client/admin`.
7
+ */
8
+ import * as generated from '../generated/public';
9
+ import type { AccessiClientConfig } from '../../../accessi-module/Console/accessiFetch';
10
+ import { type AccessiScopedClient } from '../createAccessiClient';
11
+ export * from '../generated/public';
12
+ export * from '../../../accessi-module/Console/generated/model';
13
+ export { AccessiRequestError } from '../../../accessi-module/Console/accessiFetch';
14
+ export type { AccessiClientConfig } from '../../../accessi-module/Console/accessiFetch';
15
+ /** Client pubblico con configurazione isolata per istanza. */
16
+ export type AccessiPublicClient = AccessiScopedClient<typeof generated>;
17
+ /** Crea un client delle sole API pubbliche, con base URL e token propri. */
18
+ export declare function createAccessiPublicClient(config?: AccessiClientConfig): AccessiPublicClient;
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
36
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.AccessiRequestError = void 0;
40
+ exports.createAccessiPublicClient = createAccessiPublicClient;
41
+ /**
42
+ * Client per le API pubbliche di Accessi: login, refresh, 2FA, reset password,
43
+ * registrazione pubblica e scambio ticket console.
44
+ *
45
+ * Non include le operazioni amministrative (utenti, ruoli, menu, schema, filtri,
46
+ * service token). Per quelle usare `accessi/client/admin`.
47
+ */
48
+ const generated = __importStar(require("../generated/public"));
49
+ const createAccessiClient_1 = require("../createAccessiClient");
50
+ __exportStar(require("../generated/public"), exports);
51
+ __exportStar(require("../../../accessi-module/Console/generated/model"), exports);
52
+ var accessiFetch_1 = require("../../../accessi-module/Console/accessiFetch");
53
+ Object.defineProperty(exports, "AccessiRequestError", { enumerable: true, get: function () { return accessiFetch_1.AccessiRequestError; } });
54
+ /** Crea un client delle sole API pubbliche, con base URL e token propri. */
55
+ function createAccessiPublicClient(config = {}) {
56
+ return (0, createAccessiClient_1.createAccessiClientFromModule)(generated, config);
57
+ }
58
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/accessi/client/public/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBA,8DAIC;AA3BD;;;;;;GAMG;AACH,+DAAiD;AAEjD,gEAGgC;AAEhC,sDAAoC;AACpC,kFAAgE;AAChE,6EAAmF;AAA1E,mHAAA,mBAAmB,OAAA;AAM5B,4EAA4E;AAC5E,SAAgB,yBAAyB,CACvC,SAA8B,EAAE;IAEhC,OAAO,IAAA,mDAA6B,EAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAC1D,CAAC","sourcesContent":["/**\n * Client per le API pubbliche di Accessi: login, refresh, 2FA, reset password,\n * registrazione pubblica e scambio ticket console.\n *\n * Non include le operazioni amministrative (utenti, ruoli, menu, schema, filtri,\n * service token). Per quelle usare `accessi/client/admin`.\n */\nimport * as generated from '../generated/public';\nimport type { AccessiClientConfig } from '../../../accessi-module/Console/accessiFetch';\nimport {\n createAccessiClientFromModule,\n type AccessiScopedClient,\n} from '../createAccessiClient';\n\nexport * from '../generated/public';\nexport * from '../../../accessi-module/Console/generated/model';\nexport { AccessiRequestError } from '../../../accessi-module/Console/accessiFetch';\nexport type { AccessiClientConfig } from '../../../accessi-module/Console/accessiFetch';\n\n/** Client pubblico con configurazione isolata per istanza. */\nexport type AccessiPublicClient = AccessiScopedClient<typeof generated>;\n\n/** Crea un client delle sole API pubbliche, con base URL e token propri. */\nexport function createAccessiPublicClient(\n config: AccessiClientConfig = {},\n): AccessiPublicClient {\n return createAccessiClientFromModule(generated, config);\n}\n"]}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Client per le API service-to-service di Accessi: gestione dei service token
3
+ * (creazione, rotazione, revoca, elenco) e introspezione degli access token.
4
+ *
5
+ * Pensato per backend fratelli e job: non va distribuito a frontend pubblici.
6
+ */
7
+ import * as generated from '../generated/service';
8
+ import type { AccessiClientConfig } from '../../../accessi-module/Console/accessiFetch';
9
+ import { type AccessiScopedClient } from '../createAccessiClient';
10
+ export * from '../generated/service';
11
+ export * from '../../../accessi-module/Console/generated/model';
12
+ export { AccessiRequestError } from '../../../accessi-module/Console/accessiFetch';
13
+ export type { AccessiClientConfig } from '../../../accessi-module/Console/accessiFetch';
14
+ /** Client service-to-service con configurazione isolata per istanza. */
15
+ export type AccessiServiceClient = AccessiScopedClient<typeof generated>;
16
+ /** Crea un client delle API service-to-service, con base URL e token propri. */
17
+ export declare function createAccessiServiceClient(config?: AccessiClientConfig): AccessiServiceClient;
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
36
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.AccessiRequestError = void 0;
40
+ exports.createAccessiServiceClient = createAccessiServiceClient;
41
+ /**
42
+ * Client per le API service-to-service di Accessi: gestione dei service token
43
+ * (creazione, rotazione, revoca, elenco) e introspezione degli access token.
44
+ *
45
+ * Pensato per backend fratelli e job: non va distribuito a frontend pubblici.
46
+ */
47
+ const generated = __importStar(require("../generated/service"));
48
+ const createAccessiClient_1 = require("../createAccessiClient");
49
+ __exportStar(require("../generated/service"), exports);
50
+ __exportStar(require("../../../accessi-module/Console/generated/model"), exports);
51
+ var accessiFetch_1 = require("../../../accessi-module/Console/accessiFetch");
52
+ Object.defineProperty(exports, "AccessiRequestError", { enumerable: true, get: function () { return accessiFetch_1.AccessiRequestError; } });
53
+ /** Crea un client delle API service-to-service, con base URL e token propri. */
54
+ function createAccessiServiceClient(config = {}) {
55
+ return (0, createAccessiClient_1.createAccessiClientFromModule)(generated, config);
56
+ }
57
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/accessi/client/service/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBA,gEAIC;AA1BD;;;;;GAKG;AACH,gEAAkD;AAElD,gEAGgC;AAEhC,uDAAqC;AACrC,kFAAgE;AAChE,6EAAmF;AAA1E,mHAAA,mBAAmB,OAAA;AAM5B,gFAAgF;AAChF,SAAgB,0BAA0B,CACxC,SAA8B,EAAE;IAEhC,OAAO,IAAA,mDAA6B,EAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAC1D,CAAC","sourcesContent":["/**\n * Client per le API service-to-service di Accessi: gestione dei service token\n * (creazione, rotazione, revoca, elenco) e introspezione degli access token.\n *\n * Pensato per backend fratelli e job: non va distribuito a frontend pubblici.\n */\nimport * as generated from '../generated/service';\nimport type { AccessiClientConfig } from '../../../accessi-module/Console/accessiFetch';\nimport {\n createAccessiClientFromModule,\n type AccessiScopedClient,\n} from '../createAccessiClient';\n\nexport * from '../generated/service';\nexport * from '../../../accessi-module/Console/generated/model';\nexport { AccessiRequestError } from '../../../accessi-module/Console/accessiFetch';\nexport type { AccessiClientConfig } from '../../../accessi-module/Console/accessiFetch';\n\n/** Client service-to-service con configurazione isolata per istanza. */\nexport type AccessiServiceClient = AccessiScopedClient<typeof generated>;\n\n/** Crea un client delle API service-to-service, con base URL e token propri. */\nexport function createAccessiServiceClient(\n config: AccessiClientConfig = {},\n): AccessiServiceClient {\n return createAccessiClientFromModule(generated, config);\n}\n"]}
@@ -1002,6 +1002,9 @@ var WIKI_SECTIONS = [
1002
1002
  ["accessi/server", "Bootstrap completo: DB, SMTP, migrazioni, console, API.", "s\xEC"],
1003
1003
  ["accessi/resource-server", "Guard/middleware per backend fratelli: verifica JWT e autorizzazione remota.", "no"],
1004
1004
  ["accessi/client", "Client OpenAPI generato per chiamare Accessi Service.", "no"],
1005
+ ["accessi/client/public", "Solo API pubbliche (login, refresh, 2FA, reset password, registrazione, ticket console).", "no"],
1006
+ ["accessi/client/admin", "Solo API amministrative (utenti, ruoli, menu, filtri, provider federati, schema).", "no"],
1007
+ ["accessi/client/service", "Solo API service-to-service (service token e introspezione), mai nei frontend.", "no"],
1005
1008
  ["accessi/contracts", "Tipi, enum e helper puri browser-safe.", "no"],
1006
1009
  ["accessi/contracts/dtos", "DTO Nest con class-validator e decoratori OpenAPI.", "no"],
1007
1010
  ["accessi/openapi", "setupOpenApi e merge del documento OpenAPI.", "no"],
@@ -1025,6 +1028,7 @@ var WIKI_SECTIONS = [
1025
1028
  "const [utentiMilano, utentiRoma] = await Promise.all([milano.getUsers(), roma.getUsers()]);"
1026
1029
  ].join("\n"), "Import corretti per ruolo"),
1027
1030
  note("warn", `Un solo proprietario`, `Non montare AccessiModule in due backend puntati allo stesso database: migrazioni, bootstrap admin, ticket console e rate limit diventano ambigui.`),
1031
+ note("info", `Client per scope`, `Usare accessi/client/public nei frontend pubblici, accessi/client/admin nella console e nei tool amministrativi, accessi/client/service solo nei backend fratelli. Gli scope partizionano il client completo e condividono gli stessi tipi; il client completo resta disponibile per compatibilita.`),
1028
1032
  note("info", `Prompt di integrazione`, `Il file integration-prompt.md nella root del repository contiene il contesto completo per frontend, backend e agenti AI.`)
1029
1033
  ]
1030
1034
  },
@@ -133,6 +133,9 @@ exports.WIKI_SECTIONS = [
133
133
  ['accessi/server', 'Bootstrap completo: DB, SMTP, migrazioni, console, API.', 'sì'],
134
134
  ['accessi/resource-server', 'Guard/middleware per backend fratelli: verifica JWT e autorizzazione remota.', 'no'],
135
135
  ['accessi/client', 'Client OpenAPI generato per chiamare Accessi Service.', 'no'],
136
+ ['accessi/client/public', 'Solo API pubbliche (login, refresh, 2FA, reset password, registrazione, ticket console).', 'no'],
137
+ ['accessi/client/admin', 'Solo API amministrative (utenti, ruoli, menu, filtri, provider federati, schema).', 'no'],
138
+ ['accessi/client/service', 'Solo API service-to-service (service token e introspezione), mai nei frontend.', 'no'],
136
139
  ['accessi/contracts', 'Tipi, enum e helper puri browser-safe.', 'no'],
137
140
  ['accessi/contracts/dtos', 'DTO Nest con class-validator e decoratori OpenAPI.', 'no'],
138
141
  ['accessi/openapi', 'setupOpenApi e merge del documento OpenAPI.', 'no'],
@@ -155,6 +158,7 @@ exports.WIKI_SECTIONS = [
155
158
  "const [utentiMilano, utentiRoma] = await Promise.all([milano.getUsers(), roma.getUsers()]);",
156
159
  ].join('\n'), 'Import corretti per ruolo'),
157
160
  note('warn', `Un solo proprietario`, `Non montare AccessiModule in due backend puntati allo stesso database: migrazioni, bootstrap admin, ticket console e rate limit diventano ambigui.`),
161
+ note('info', `Client per scope`, `Usare accessi/client/public nei frontend pubblici, accessi/client/admin nella console e nei tool amministrativi, accessi/client/service solo nei backend fratelli. Gli scope partizionano il client completo e condividono gli stessi tipi; il client completo resta disponibile per compatibilita.`),
158
162
  note('info', `Prompt di integrazione`, `Il file integration-prompt.md nella root del repository contiene il contesto completo per frontend, backend e agenti AI.`),
159
163
  ],
160
164
  },