sonamu 0.4.6 → 0.4.8

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 (44) hide show
  1. package/dist/{base-model-CWRKUX49.d.ts → base-model-C24du9JT.d.ts} +1 -1
  2. package/dist/{base-model-BzMJ2E_I.d.mts → base-model-IZdmwmB5.d.mts} +1 -1
  3. package/dist/bin/cli.js +51 -51
  4. package/dist/bin/cli.mjs +2 -2
  5. package/dist/{chunk-WJGRXAXE.js → chunk-FXWN5PEO.js} +84 -65
  6. package/dist/chunk-FXWN5PEO.js.map +1 -0
  7. package/dist/{chunk-6SP5N5ND.mjs → chunk-GQVZQZ5J.mjs} +2 -2
  8. package/dist/{chunk-HVVCQLAU.mjs → chunk-IEP5SWTY.mjs} +2 -2
  9. package/dist/{chunk-N6N3LENC.js → chunk-IEXW7P6A.js} +4 -4
  10. package/dist/{chunk-4K2F3SOM.mjs → chunk-OBPWSOYN.mjs} +2 -2
  11. package/dist/{chunk-ZFLQLW37.mjs → chunk-VBBKB2LD.mjs} +46 -27
  12. package/dist/chunk-VBBKB2LD.mjs.map +1 -0
  13. package/dist/{chunk-UAG3SKFM.js → chunk-WZJODZL6.js} +7 -7
  14. package/dist/{chunk-EUP6N7EK.js → chunk-ZNWZQLRN.js} +100 -100
  15. package/dist/database/drivers/knex/base-model.d.mts +2 -2
  16. package/dist/database/drivers/knex/base-model.d.ts +2 -2
  17. package/dist/database/drivers/knex/base-model.js +8 -8
  18. package/dist/database/drivers/knex/base-model.mjs +3 -3
  19. package/dist/database/drivers/kysely/base-model.d.mts +2 -2
  20. package/dist/database/drivers/kysely/base-model.d.ts +2 -2
  21. package/dist/database/drivers/kysely/base-model.js +9 -9
  22. package/dist/database/drivers/kysely/base-model.mjs +3 -3
  23. package/dist/index.d.mts +10 -5
  24. package/dist/index.d.ts +10 -5
  25. package/dist/index.js +11 -7
  26. package/dist/index.js.map +1 -1
  27. package/dist/index.mjs +7 -3
  28. package/dist/index.mjs.map +1 -1
  29. package/dist/{model-CAH_4oQh.d.ts → model-Dbbfpk2X.d.mts} +1 -1
  30. package/dist/{model-CAH_4oQh.d.mts → model-Dbbfpk2X.d.ts} +1 -1
  31. package/package.json +1 -1
  32. package/src/api/sonamu.ts +43 -25
  33. package/src/database/drivers/knex/db.ts +10 -5
  34. package/src/database/drivers/kysely/db.ts +1 -1
  35. package/src/database/types.ts +2 -1
  36. package/src/index.ts +2 -0
  37. package/dist/chunk-WJGRXAXE.js.map +0 -1
  38. package/dist/chunk-ZFLQLW37.mjs.map +0 -1
  39. /package/dist/{chunk-6SP5N5ND.mjs.map → chunk-GQVZQZ5J.mjs.map} +0 -0
  40. /package/dist/{chunk-HVVCQLAU.mjs.map → chunk-IEP5SWTY.mjs.map} +0 -0
  41. /package/dist/{chunk-N6N3LENC.js.map → chunk-IEXW7P6A.js.map} +0 -0
  42. /package/dist/{chunk-4K2F3SOM.mjs.map → chunk-OBPWSOYN.mjs.map} +0 -0
  43. /package/dist/{chunk-UAG3SKFM.js.map → chunk-WZJODZL6.js.map} +0 -0
  44. /package/dist/{chunk-EUP6N7EK.js.map → chunk-ZNWZQLRN.js.map} +0 -0
@@ -16,7 +16,7 @@ import {
16
16
  isStringProp,
17
17
  isTextProp,
18
18
  isVirtualProp
19
- } from "./chunk-ZFLQLW37.mjs";
19
+ } from "./chunk-VBBKB2LD.mjs";
20
20
 
21
21
  // src/entity/migrator.ts
22
22
  import _ from "lodash";
@@ -1576,4 +1576,4 @@ export {
1576
1576
  FixtureManagerClass,
1577
1577
  FixtureManager
1578
1578
  };
1579
- //# sourceMappingURL=chunk-6SP5N5ND.mjs.map
1579
+ //# sourceMappingURL=chunk-GQVZQZ5J.mjs.map
@@ -2,7 +2,7 @@ import {
2
2
  DB,
3
3
  EntityManager,
4
4
  nonNullable
5
- } from "./chunk-ZFLQLW37.mjs";
5
+ } from "./chunk-VBBKB2LD.mjs";
6
6
 
7
7
  // src/database/upsert-builder.ts
8
8
  import { v4 as uuidv4 } from "uuid";
@@ -277,4 +277,4 @@ export {
277
277
  isRefField,
278
278
  UpsertBuilder
279
279
  };
280
- //# sourceMappingURL=chunk-HVVCQLAU.mjs.map
280
+ //# sourceMappingURL=chunk-IEP5SWTY.mjs.map
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } var _class;
2
2
 
3
- var _chunkWJGRXAXEjs = require('./chunk-WJGRXAXE.js');
3
+ var _chunkFXWN5PEOjs = require('./chunk-FXWN5PEO.js');
4
4
 
5
5
  // src/database/base-model.ts
6
6
  var _luxon = require('luxon');
@@ -53,8 +53,8 @@ var BaseModelClassAbstract = (_class = class {constructor() { _class.prototype._
53
53
  db: _db,
54
54
  optimizeCountQuery
55
55
  }) {
56
- const db = _nullishCoalesce(_db, () => ( _chunkWJGRXAXEjs.DB.getDB(subset.startsWith("A") ? "w" : "r")));
57
- const dbClient = _chunkWJGRXAXEjs.DB.toClient(db);
56
+ const db = _nullishCoalesce(_db, () => ( _chunkFXWN5PEOjs.DB.getDB(subset.startsWith("A") ? "w" : "r")));
57
+ const dbClient = _chunkFXWN5PEOjs.DB.toClient(db);
58
58
  baseTable = _nullishCoalesce(baseTable, () => ( _inflection2.default.pluralize(_inflection2.default.underscore(this.modelName))));
59
59
  const queryMode = _nullishCoalesce(params.queryMode, () => ( (params.id !== void 0 ? "list" : "both")));
60
60
  const { select, virtual, joins, loaders } = subsetQuery;
@@ -228,4 +228,4 @@ var BaseModelClassAbstract = (_class = class {constructor() { _class.prototype._
228
228
 
229
229
 
230
230
  exports.BaseModelClassAbstract = BaseModelClassAbstract;
231
- //# sourceMappingURL=chunk-N6N3LENC.js.map
231
+ //# sourceMappingURL=chunk-IEXW7P6A.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  DB
3
- } from "./chunk-ZFLQLW37.mjs";
3
+ } from "./chunk-VBBKB2LD.mjs";
4
4
 
5
5
  // src/database/base-model.ts
6
6
  import { DateTime } from "luxon";
@@ -228,4 +228,4 @@ var BaseModelClassAbstract = class {
228
228
  export {
229
229
  BaseModelClassAbstract
230
230
  };
231
- //# sourceMappingURL=chunk-4K2F3SOM.mjs.map
231
+ //# sourceMappingURL=chunk-OBPWSOYN.mjs.map
@@ -3092,11 +3092,16 @@ var DBKnexClass = class extends DBClass {
3092
3092
  },
3093
3093
  config.defaultOptions
3094
3094
  );
3095
- const test = _6.merge({}, defaultKnexConfig, {
3096
- connection: {
3097
- database: `${config.database}_test`
3098
- }
3099
- });
3095
+ const test = _6.merge(
3096
+ {},
3097
+ defaultKnexConfig,
3098
+ {
3099
+ connection: {
3100
+ database: `${config.database}_test`
3101
+ }
3102
+ },
3103
+ config.environments?.test
3104
+ );
3100
3105
  const fixture_local = _6.merge({}, defaultKnexConfig, {
3101
3106
  connection: {
3102
3107
  database: `${config.database}_fixture`
@@ -6469,8 +6474,17 @@ function formatDateConstraint(value) {
6469
6474
  }
6470
6475
 
6471
6476
  // src/api/sonamu.ts
6477
+ import { AsyncLocalStorage } from "async_hooks";
6472
6478
  var SonamuClass = class {
6473
6479
  isInitialized = false;
6480
+ asyncLocalStorage = new AsyncLocalStorage();
6481
+ getContext() {
6482
+ const store = this.asyncLocalStorage.getStore();
6483
+ if (store?.context) {
6484
+ return store.context;
6485
+ }
6486
+ throw new Error("Sonamu cannot find context");
6487
+ }
6474
6488
  _apiRootPath = null;
6475
6489
  set apiRootPath(apiRootPath) {
6476
6490
  this._apiRootPath = apiRootPath;
@@ -6642,28 +6656,31 @@ var SonamuClass = class {
6642
6656
  if (cachedData !== null) {
6643
6657
  return cachedData;
6644
6658
  }
6645
- const result = await model[api2.methodName].apply(
6646
- model,
6647
- api2.parameters.map((param) => {
6648
- if (ApiParamType.isContext(param.type)) {
6649
- return config.contextProvider(
6650
- {
6651
- headers: request.headers,
6652
- reply
6653
- },
6654
- request,
6655
- reply
6656
- );
6657
- } else {
6658
- return reqBody[param.name];
6659
- }
6660
- })
6659
+ const context = config.contextProvider(
6660
+ {
6661
+ headers: request.headers,
6662
+ reply
6663
+ },
6664
+ request,
6665
+ reply
6661
6666
  );
6662
- reply.type(api2.options.contentType ?? "application/json");
6663
- if (config.cache && cacheKey) {
6664
- await config.cache.put(cacheKey, result, cacheTtl);
6665
- }
6666
- return result;
6667
+ return this.asyncLocalStorage.run({ context }, async () => {
6668
+ const result = await model[api2.methodName].apply(
6669
+ model,
6670
+ api2.parameters.map((param) => {
6671
+ if (ApiParamType.isContext(param.type)) {
6672
+ return context;
6673
+ } else {
6674
+ return reqBody[param.name];
6675
+ }
6676
+ })
6677
+ );
6678
+ reply.type(api2.options.contentType ?? "application/json");
6679
+ if (config.cache && cacheKey) {
6680
+ await config.cache.put(cacheKey, result, cacheTtl);
6681
+ }
6682
+ return result;
6683
+ });
6667
6684
  }
6668
6685
  });
6669
6686
  });
@@ -7509,6 +7526,8 @@ export {
7509
7526
  objToMap,
7510
7527
  KnexClient,
7511
7528
  KyselyClient,
7529
+ DBKnexClass,
7530
+ DBKyselyClass,
7512
7531
  DB,
7513
7532
  Syncer,
7514
7533
  isLocal,
@@ -7521,4 +7540,4 @@ export {
7521
7540
  isTest,
7522
7541
  Sonamu
7523
7542
  };
7524
- //# sourceMappingURL=chunk-ZFLQLW37.mjs.map
7543
+ //# sourceMappingURL=chunk-VBBKB2LD.mjs.map