@hotfusion/modeller 0.0.13 → 0.0.16

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 (104) hide show
  1. package/README.md +99 -0
  2. package/dist/adapters/cipher.js +51 -0
  3. package/dist/adapters/cipher.js.map +1 -0
  4. package/dist/connector.js +81 -41
  5. package/dist/connector.js.map +1 -1
  6. package/dist/core.js +2 -48
  7. package/dist/core.js.map +1 -1
  8. package/dist/index.js +9 -1
  9. package/dist/index.js.map +1 -1
  10. package/dist/model.js +27 -50
  11. package/dist/model.js.map +1 -1
  12. package/dist/oidc/adapter.js +177 -0
  13. package/dist/oidc/adapter.js.map +1 -0
  14. package/dist/oidc/adapters/cipher.js +51 -0
  15. package/dist/oidc/adapters/cipher.js.map +1 -0
  16. package/dist/oidc/client.js +66 -0
  17. package/dist/oidc/client.js.map +1 -0
  18. package/dist/oidc/code.js +37 -0
  19. package/dist/oidc/code.js.map +1 -0
  20. package/dist/oidc/default.config.js +200 -0
  21. package/dist/oidc/default.config.js.map +1 -0
  22. package/dist/oidc/federation.js +51 -0
  23. package/dist/oidc/federation.js.map +1 -0
  24. package/dist/oidc/grant.js +37 -0
  25. package/dist/oidc/grant.js.map +1 -0
  26. package/dist/oidc/interaction.js +36 -0
  27. package/dist/oidc/interaction.js.map +1 -0
  28. package/dist/oidc/oidc.config.js +79 -0
  29. package/dist/oidc/oidc.config.js.map +1 -0
  30. package/dist/oidc/schemas/client.schema.json +62 -0
  31. package/dist/oidc/schemas/code.schema.json +16 -0
  32. package/dist/oidc/schemas/grant.schema.json +13 -0
  33. package/dist/oidc/schemas/interaction.schema.json +26 -0
  34. package/dist/oidc/schemas/session.schema.json +14 -0
  35. package/dist/oidc/schemas/token.schema.json +16 -0
  36. package/dist/oidc/schemas/user.schema.json +44 -0
  37. package/dist/oidc/session.js +36 -0
  38. package/dist/oidc/session.js.map +1 -0
  39. package/dist/oidc/session.token.js +24 -0
  40. package/dist/oidc/session.token.js.map +1 -0
  41. package/dist/oidc/token.js +23 -0
  42. package/dist/oidc/token.js.map +1 -0
  43. package/dist/oidc/user.js +95 -0
  44. package/dist/oidc/user.js.map +1 -0
  45. package/dist/oidc/utils.js +154 -0
  46. package/dist/oidc/utils.js.map +1 -0
  47. package/dist/server.js +722 -113
  48. package/dist/server.js.map +1 -1
  49. package/dist/types/adapters/cipher.d.ts +12 -0
  50. package/dist/types/adapters/cipher.d.ts.map +1 -0
  51. package/dist/types/connector.d.ts +13 -1
  52. package/dist/types/connector.d.ts.map +1 -1
  53. package/dist/types/core.d.ts +2 -2
  54. package/dist/types/core.d.ts.map +1 -1
  55. package/dist/types/index.d.ts +4 -0
  56. package/dist/types/index.d.ts.map +1 -1
  57. package/dist/types/model.d.ts +26 -2
  58. package/dist/types/model.d.ts.map +1 -1
  59. package/dist/types/oidc/adapter.d.ts +16 -0
  60. package/dist/types/oidc/adapter.d.ts.map +1 -0
  61. package/dist/types/oidc/adapters/cipher.d.ts +12 -0
  62. package/dist/types/oidc/adapters/cipher.d.ts.map +1 -0
  63. package/dist/types/oidc/client.d.ts +3 -0
  64. package/dist/types/oidc/client.d.ts.map +1 -0
  65. package/dist/types/oidc/code.d.ts +3 -0
  66. package/dist/types/oidc/code.d.ts.map +1 -0
  67. package/dist/types/oidc/default.config.d.ts +33 -0
  68. package/dist/types/oidc/default.config.d.ts.map +1 -0
  69. package/dist/types/oidc/federation.d.ts +3 -0
  70. package/dist/types/oidc/federation.d.ts.map +1 -0
  71. package/dist/types/oidc/grant.d.ts +3 -0
  72. package/dist/types/oidc/grant.d.ts.map +1 -0
  73. package/dist/types/oidc/interaction.d.ts +3 -0
  74. package/dist/types/oidc/interaction.d.ts.map +1 -0
  75. package/dist/types/oidc/oidc.config.d.ts +7 -0
  76. package/dist/types/oidc/oidc.config.d.ts.map +1 -0
  77. package/dist/types/oidc/session.d.ts +3 -0
  78. package/dist/types/oidc/session.d.ts.map +1 -0
  79. package/dist/types/oidc/session.token.d.ts +3 -0
  80. package/dist/types/oidc/session.token.d.ts.map +1 -0
  81. package/dist/types/oidc/token.d.ts +3 -0
  82. package/dist/types/oidc/token.d.ts.map +1 -0
  83. package/dist/types/oidc/user.d.ts +3 -0
  84. package/dist/types/oidc/user.d.ts.map +1 -0
  85. package/dist/types/oidc/utils.d.ts +56 -0
  86. package/dist/types/oidc/utils.d.ts.map +1 -0
  87. package/dist/types/server.d.ts +8 -3
  88. package/dist/types/server.d.ts.map +1 -1
  89. package/dist/types/types.d.ts +264 -0
  90. package/dist/types/utils/bundler.d.ts.map +1 -1
  91. package/dist/types/utils/display.d.ts +23 -0
  92. package/dist/types/utils/display.d.ts.map +1 -0
  93. package/dist/utils/_secret.key +1 -0
  94. package/dist/utils/bundler.js +48 -8
  95. package/dist/utils/bundler.js.map +1 -1
  96. package/dist/utils/display.js +207 -0
  97. package/dist/utils/display.js.map +1 -0
  98. package/package.json +28 -4
  99. package/docs/CORE.md +0 -191
  100. package/docs/ERRORS.md +0 -90
  101. package/docs/MODEL.md +0 -296
  102. package/docs/PATTERNS.md +0 -182
  103. package/docs/SERVER.md +0 -88
  104. package/docs/UTILITIES.md +0 -111
package/dist/core.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Adapter = exports.KeyGen = exports.Model = exports.Bundler = exports.Server = void 0;
3
+ exports.display = exports.UserModel = exports.ClientModel = exports.FederationModel = exports.Adapter = exports.KeyGen = exports.Model = exports.Bundler = exports.Server = void 0;
4
4
  var server_1 = require("./server");
5
5
  Object.defineProperty(exports, "Server", { enumerable: true, get: function () { return server_1.Server; } });
6
6
  var bundler_1 = require("./utils/bundler");
@@ -11,4 +11,12 @@ var keygen_1 = require("./utils/keygen");
11
11
  Object.defineProperty(exports, "KeyGen", { enumerable: true, get: function () { return keygen_1.KeyGen; } });
12
12
  var core_1 = require("./core");
13
13
  Object.defineProperty(exports, "Adapter", { enumerable: true, get: function () { return core_1.Adapter; } });
14
+ var federation_1 = require("./oidc/federation");
15
+ Object.defineProperty(exports, "FederationModel", { enumerable: true, get: function () { return federation_1.FederationModel; } });
16
+ var client_1 = require("./oidc/client");
17
+ Object.defineProperty(exports, "ClientModel", { enumerable: true, get: function () { return client_1.ClientModel; } });
18
+ var user_1 = require("./oidc/user");
19
+ Object.defineProperty(exports, "UserModel", { enumerable: true, get: function () { return user_1.UserModel; } });
20
+ var display_1 = require("./utils/display");
21
+ Object.defineProperty(exports, "display", { enumerable: true, get: function () { return display_1.display; } });
14
22
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mCAAiC;AAAzB,gGAAA,MAAM,OAAA;AACd,2CAAuC;AAA/B,kGAAA,OAAO,OAAA;AACf,iCAA6B;AAArB,8FAAA,KAAK,OAAA;AACb,yCAAqC;AAA7B,gGAAA,MAAM,OAAA;AACd,+BAA8B;AAAtB,+FAAA,OAAO,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mCAAiC;AAAzB,gGAAA,MAAM,OAAA;AACd,2CAAuC;AAA/B,kGAAA,OAAO,OAAA;AACf,iCAA6B;AAArB,8FAAA,KAAK,OAAA;AACb,yCAAqC;AAA7B,gGAAA,MAAM,OAAA;AACd,+BAA8B;AAAtB,+FAAA,OAAO,OAAA;AACf,gDAAkD;AAA1C,6GAAA,eAAe,OAAA;AACvB,wCAA0C;AAAlC,qGAAA,WAAW,OAAA;AACnB,oCAAsC;AAA9B,iGAAA,SAAS,OAAA;AACjB,2CAAwC;AAAhC,kGAAA,OAAO,OAAA"}
package/dist/model.js CHANGED
@@ -11,6 +11,7 @@ const node_path_1 = require("node:path");
11
11
  const node_url_1 = require("node:url");
12
12
  const view_1 = require("./view");
13
13
  const node_fs_2 = __importDefault(require("node:fs"));
14
+ const display_1 = require("./utils/display");
14
15
  // ── Logger ────────────────────────────────────────────────────────────────────
15
16
  const LOG_LEVEL_RANK = {
16
17
  debug: 0,
@@ -125,7 +126,6 @@ class Logger {
125
126
  };
126
127
  this.onEntry?.(entry);
127
128
  this.adapter?.log(entry);
128
- this.toConsole('info', this.formatPrefix(feature, callSite), message, data);
129
129
  }
130
130
  debug(feature, message, data) { this.write('debug', feature, message, data); }
131
131
  info(feature, message, data) { this.write('info', feature, message, data); }
@@ -194,8 +194,13 @@ class Model extends core_1.Core {
194
194
  ...(timestamp !== undefined && { timestamp }),
195
195
  ...(logAdapter !== undefined && { adapter: logAdapter }),
196
196
  ...(features !== undefined && { features }),
197
- onEntry: (entry) => { onEntry?.(entry); this.emitter.emit('log', entry); },
197
+ onEntry: (entry) => {
198
+ onEntry?.(entry);
199
+ this.emitter.emit('log', entry);
200
+ display_1.display.handle(id, entry);
201
+ },
198
202
  });
203
+ display_1.display.register(id);
199
204
  if (bundler) {
200
205
  this._bundler = bundler;
201
206
  this.log.initial('method', `Bundler mounted`);
@@ -207,26 +212,22 @@ class Model extends core_1.Core {
207
212
  this.log.initial('method', `Extension mounted`, { id: ext.id });
208
213
  }
209
214
  }
215
+ setTimeout(() => this.emitter.emit('mounted'), 0);
210
216
  }
211
217
  getExtensions() { return this._extensions; }
212
- // ── EventEmitter API ──────────────────────────────────────────────────────
213
218
  on(event, listener) {
214
- this.log.debug('event', `Listener registered`, { event });
215
219
  this.emitter.on(event, listener);
216
220
  return this;
217
221
  }
218
222
  off(event, listener) {
219
- this.log.debug('event', `Listener removed`, { event });
220
223
  this.emitter.off(event, listener);
221
224
  return this;
222
225
  }
223
226
  once(event, listener) {
224
- this.log.debug('event', `One-time listener registered`, { event });
225
227
  this.emitter.once(event, listener);
226
228
  return this;
227
229
  }
228
230
  emit(event, payload) {
229
- this.log.debug('event', `Emitting`, { event, payload });
230
231
  this.emitter.emit(event, payload);
231
232
  }
232
233
  // ── Hook API ──────────────────────────────────────────────────────────────
@@ -237,38 +238,33 @@ class Model extends core_1.Core {
237
238
  }
238
239
  unhook(id) {
239
240
  const deleted = this._hooks.delete(id);
240
- if (deleted)
241
- this.log.warn('hook', `Hook removed`, { id });
242
- else
241
+ if (!deleted)
243
242
  this.log.warn('hook', `Hook not found`, { id });
244
243
  return this;
245
244
  }
246
245
  async fire(event, payload) {
247
246
  const matching = Array.from(this._hooks.entries()).filter(([, opts]) => Array.isArray(opts.on) ? opts.on.includes(event) : opts.on === event);
248
- this.log.debug('hook', `Firing event`, { event, matched: matching.length });
249
247
  for (const [id, opts] of matching) {
250
248
  if (opts.schedule) {
251
- this.log.debug('hook', `Scheduling hook`, { id, delay: opts.schedule });
252
- setTimeout(() => {
253
- this.log.debug('hook', `Executing scheduled hook`, { id, event });
254
- opts.callback(payload);
255
- }, opts.schedule);
249
+ setTimeout(() => { opts.callback(payload); }, opts.schedule);
256
250
  }
257
251
  else {
258
252
  try {
259
- this.log.debug('hook', `Executing hook`, { id, event });
260
253
  await opts.callback(payload);
261
254
  }
262
255
  catch (err) {
263
256
  this.log.error('hook', `Hook threw an error`, { id, event, error: err?.message ?? err });
264
- throw err;
257
+ display_1.display.error(this.id, `Hook [${id}] on [${event}] failed: ${err?.message ?? err}`);
258
+ const e = new Error(err?.message ?? JSON.stringify(err));
259
+ e.code = err?.code;
260
+ e.details = err?.details ?? err;
261
+ throw e;
265
262
  }
266
263
  }
267
264
  }
268
265
  }
269
266
  // ── Worker API ────────────────────────────────────────────────────────────
270
267
  worker(id, options) {
271
- console.log('worker', id, options);
272
268
  const state = { id, options, running: false };
273
269
  this._workers.set(id || options.id, state);
274
270
  this.log.initial('worker', `Worker registered`, { id, interval: options.interval });
@@ -277,10 +273,8 @@ class Model extends core_1.Core {
277
273
  start(id) {
278
274
  if (id) {
279
275
  const state = this._workers.get(id);
280
- if (!state) {
281
- this.log.warn('worker', `Worker not found`, { id });
282
- return this;
283
- }
276
+ if (!state)
277
+ throw new Error(`Worker not found: ${id}`);
284
278
  this._startWorker(state);
285
279
  }
286
280
  else {
@@ -292,10 +286,8 @@ class Model extends core_1.Core {
292
286
  stop(id) {
293
287
  if (id) {
294
288
  const state = this._workers.get(id);
295
- if (!state) {
296
- this.log.warn('worker', `Worker not found`, { id });
297
- return this;
298
- }
289
+ if (!state)
290
+ throw new Error(`Worker not found: ${id}`);
299
291
  this._stopWorker(state);
300
292
  }
301
293
  else {
@@ -308,23 +300,21 @@ class Model extends core_1.Core {
308
300
  return this._workers.get(id)?.running ?? false;
309
301
  }
310
302
  _startWorker(state) {
311
- if (state.running) {
312
- this.log.warn('worker', `Worker already running, skipping`, { id: state.id });
303
+ if (state.running)
313
304
  return;
314
- }
315
305
  state.running = true;
316
306
  const run = () => Promise.resolve(state.options.handler(this))
317
- .then(() => { this.log.debug('worker', `Worker tick completed`, { id: state.id }); })
318
- .catch(err => { this.log.error('worker', `Worker tick failed`, { id: state.id, error: err?.message ?? err }); });
307
+ .catch(err => {
308
+ this.log.error('worker', `Worker tick failed`, { id: state.id, error: err?.message ?? err });
309
+ display_1.display.error(this.id, `Worker [${state.id}] tick failed: ${err?.message ?? err}`);
310
+ });
319
311
  if (state.options.immediate !== false)
320
312
  run();
321
313
  state.timer = setInterval(run, state.options.interval);
322
314
  }
323
315
  _stopWorker(state) {
324
- if (!state.running) {
325
- this.log.warn('worker', `Worker is not running, skipping`, { id: state.id });
316
+ if (!state.running)
326
317
  return;
327
- }
328
318
  clearInterval(state.timer);
329
319
  state.running = false;
330
320
  }
@@ -386,7 +376,6 @@ class Model extends core_1.Core {
386
376
  getConfiguration(key) { return this._configurations[key]; }
387
377
  setConfiguration(key, value) {
388
378
  this._configurations[key] = value;
389
- this.log.debug('method', `Configuration updated`, { key });
390
379
  return this;
391
380
  }
392
381
  // ── Event / Subscription API ──────────────────────────────────────────────
@@ -420,46 +409,35 @@ class Model extends core_1.Core {
420
409
  args = args.slice(0, -1);
421
410
  }
422
411
  const data = Object.assign({}, key, ...args);
423
- this.log.debug('crud', `Insert started`, { data });
424
412
  await this.fire('before:insert', { operation: 'insert', timing: 'before', data });
425
413
  const result = await super.insert(data, opts);
426
414
  await this.fire('after:insert', { operation: 'insert', timing: 'after', data, key: { _id: result?._id } });
427
- this.log.debug('crud', `Insert completed`, { result });
428
415
  this.emit('insert', result);
429
416
  return result;
430
417
  }
431
418
  async update(key, updates, opts = {}) {
432
419
  const data = Object.assign({}, updates);
433
- this.log.debug('crud', `Update started`, { key, data });
434
420
  await this.fire('before:update', { operation: 'update', timing: 'before', key, data });
435
421
  const result = await super.update(key, data, opts);
436
422
  await this.fire('after:update', { operation: 'update', timing: 'after', key, data });
437
- this.log.debug('crud', `Update completed`, { key, result });
438
423
  this.emit('update', { key, data });
439
424
  return result;
440
425
  }
441
426
  async delete(key) {
442
- this.log.debug('crud', `Delete started`, { key });
443
427
  await this.fire('before:delete', { operation: 'delete', timing: 'before', key });
444
- const result = await super.delete(key);
428
+ const result = await super.delete({ _id: key._id });
445
429
  await this.fire('after:delete', { operation: 'delete', timing: 'after', key, data: result });
446
- this.log.debug('crud', `Delete completed`, { key, result });
447
430
  this.emit('delete', result);
448
431
  return result;
449
432
  }
450
433
  async list(query = {}, options = {}) {
451
- this.log.debug('crud', `List started`, { query, options });
452
434
  await this.fire('before:list', { operation: 'list', timing: 'before', data: query });
453
435
  const result = await super.list(query, options);
454
436
  await this.fire('after:list', { operation: 'list', timing: 'after', data: query });
455
- this.log.debug('crud', `List completed`, { count: result.length });
456
437
  return result;
457
438
  }
458
439
  async find(query = {}, opts = {}) {
459
- this.log.debug('crud', `Find started`, { query, opts });
460
- const result = await super.find(query, opts);
461
- this.log.debug('crud', `Find completed`, { count: result.length });
462
- return result;
440
+ return super.find(query, opts);
463
441
  }
464
442
  // ── View API ──────────────────────────────────────────────────────────────
465
443
  view(path, props = {}) {
@@ -468,7 +446,6 @@ class Model extends core_1.Core {
468
446
  if (this._bundler) {
469
447
  this._bundler.build().then(result => { v.result = result; });
470
448
  node_fs_2.default.watch(this._bundler.path, () => {
471
- this.log.debug('method', `View file changed, rebuilding...`, { path });
472
449
  this._bundler.rebuild().then(result => { v.result = result; });
473
450
  });
474
451
  }
package/dist/model.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,177 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OIDCAdapter = void 0;
4
+ const client_1 = require("./client");
5
+ const session_token_1 = require("./session.token");
6
+ const session_1 = require("./session");
7
+ const grant_1 = require("./grant");
8
+ const code_1 = require("./code");
9
+ const interaction_1 = require("./interaction");
10
+ const MODEL_MAP = {
11
+ Client: client_1.ClientModel,
12
+ AccessToken: session_token_1.SessionTokenModel,
13
+ RefreshToken: session_token_1.SessionTokenModel,
14
+ IdToken: session_token_1.SessionTokenModel,
15
+ Session: session_1.SessionModel,
16
+ Grant: grant_1.GrantModel,
17
+ AuthorizationCode: code_1.CodeModel,
18
+ Interaction: interaction_1.InteractionModel,
19
+ DeviceCode: session_token_1.SessionTokenModel,
20
+ ClientCredentials: session_token_1.SessionTokenModel,
21
+ InitialAccessToken: session_token_1.SessionTokenModel,
22
+ RegistrationAccessToken: session_token_1.SessionTokenModel,
23
+ ReplayDetection: session_token_1.SessionTokenModel,
24
+ PushedAuthorizationRequest: interaction_1.InteractionModel,
25
+ BackchannelAuthenticationRequest: interaction_1.InteractionModel,
26
+ };
27
+ class OIDCAdapter {
28
+ model;
29
+ name;
30
+ constructor(name, clientModel) {
31
+ this.name = name;
32
+ this.model = MODEL_MAP[name];
33
+ }
34
+ get isClient() { return this.name === 'Client'; }
35
+ get isSession() { return this.name === 'Session'; }
36
+ get hasModel() { return !!this.model; }
37
+ async upsert(id, payload, expiresIn) {
38
+ if (!this.hasModel)
39
+ return;
40
+ try {
41
+ const expiresAt = expiresIn
42
+ ? new Date(Date.now() + expiresIn * 1000).toISOString()
43
+ : undefined;
44
+ // ?? Session rotation — update existing session record in place by uid
45
+ // so the browser cookie (pointing to old jti) still resolves correctly ??
46
+ if (this.isSession && payload.uid) {
47
+ const existing = await this.model.find({ uid: payload.uid }, { private: true, max: 1 });
48
+ if (existing?.[0]) {
49
+ await this.model.update({ _id: existing[0]._id }, {
50
+ jti: id,
51
+ uid: payload.uid,
52
+ payload: JSON.stringify(payload),
53
+ ...(expiresAt && { expiresAt }),
54
+ _sync: true,
55
+ });
56
+ return;
57
+ }
58
+ }
59
+ const query = this.isClient ? { client_id: id } : { jti: id };
60
+ const existing = await this.model.get(query).catch(() => null);
61
+ const idField = this.isClient ? { client_id: id } : { jti: id };
62
+ const uidField = !this.isClient && payload.uid ? { uid: payload.uid } : {};
63
+ const data = this.isClient
64
+ ? { ...payload, ...idField, ...(expiresAt && { expiresAt }), _sync: true }
65
+ : { ...idField, ...uidField, payload: JSON.stringify(payload), ...(expiresAt && { expiresAt }), _sync: true };
66
+ if (existing) {
67
+ await this.model.update({ _id: existing._id }, data);
68
+ }
69
+ else {
70
+ await this.model.insert(data);
71
+ }
72
+ }
73
+ catch (err) {
74
+ console.error('[adapter upsert error]', this.name, id, JSON.stringify(err));
75
+ throw err;
76
+ }
77
+ }
78
+ async find(id) {
79
+ if (!this.hasModel)
80
+ return undefined;
81
+ try {
82
+ const query = this.isClient ? { client_id: id } : { jti: id };
83
+ const record = await this.model.get(query, { private: true });
84
+ if (!record)
85
+ return undefined;
86
+ if (record.expiresAt && new Date(record.expiresAt) < new Date()) {
87
+ await this.destroy(id);
88
+ return undefined;
89
+ }
90
+ if (this.isClient) {
91
+ const { _id, _sync, expiresAt, ...client } = record;
92
+ return client;
93
+ }
94
+ if (record.payload) {
95
+ return JSON.parse(record.payload);
96
+ }
97
+ return undefined;
98
+ }
99
+ catch {
100
+ return undefined;
101
+ }
102
+ }
103
+ async findByUserCode(userCode) {
104
+ if (!this.hasModel)
105
+ return undefined;
106
+ try {
107
+ const records = await this.model.find({ userCode }, { private: true });
108
+ const record = records?.[0];
109
+ if (!record)
110
+ return undefined;
111
+ return record.payload ? JSON.parse(record.payload) : undefined;
112
+ }
113
+ catch {
114
+ return undefined;
115
+ }
116
+ }
117
+ async findByUid(uid) {
118
+ if (!this.hasModel)
119
+ return undefined;
120
+ try {
121
+ const records = await this.model.find({ uid }, { private: true });
122
+ const record = records?.[0];
123
+ if (!record)
124
+ return undefined;
125
+ return record.payload ? JSON.parse(record.payload) : undefined;
126
+ }
127
+ catch {
128
+ return undefined;
129
+ }
130
+ }
131
+ async consume(id) {
132
+ if (!this.hasModel)
133
+ return;
134
+ try {
135
+ const record = await this.model.get({ jti: id });
136
+ if (!record)
137
+ return;
138
+ const payload = record.payload ? JSON.parse(record.payload) : {};
139
+ payload.consumed = Math.floor(Date.now() / 1000);
140
+ await this.model.update({ _id: record._id }, {
141
+ payload: JSON.stringify(payload),
142
+ _sync: true,
143
+ });
144
+ }
145
+ catch (err) {
146
+ throw { code: 'ADAPTER_CONSUME_FAILED', message: err?.message ?? err };
147
+ }
148
+ }
149
+ async destroy(id) {
150
+ if (!this.hasModel)
151
+ return;
152
+ try {
153
+ const query = this.isClient ? { client_id: id } : { jti: id };
154
+ const record = await this.model.get(query);
155
+ if (record)
156
+ await this.model.delete({ _id: record._id, _sync: true });
157
+ }
158
+ catch (err) {
159
+ throw { code: 'ADAPTER_DESTROY_FAILED', message: err?.message ?? err };
160
+ }
161
+ }
162
+ async revokeByGrantId(grantId) {
163
+ if (!this.hasModel)
164
+ return;
165
+ try {
166
+ const records = await this.model.list({ grantId }, { count: 10000 });
167
+ for (const record of records) {
168
+ await this.model.delete({ _id: record._id, _sync: true });
169
+ }
170
+ }
171
+ catch (err) {
172
+ throw { code: 'ADAPTER_REVOKE_FAILED', message: err?.message ?? err };
173
+ }
174
+ }
175
+ }
176
+ exports.OIDCAdapter = OIDCAdapter;
177
+ //# sourceMappingURL=adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/oidc/adapter.ts"],"names":[],"mappings":"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"}