@loopback/sequelize 0.5.2 → 0.5.4

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 (62) hide show
  1. package/dist/sequelize/sequelize.datasource.base.d.ts +1 -1
  2. package/dist/sequelize/sequelize.datasource.base.js +2 -3
  3. package/dist/sequelize/sequelize.datasource.base.js.map +1 -1
  4. package/dist/sequelize/sequelize.repository.base.d.ts +19 -4
  5. package/dist/sequelize/sequelize.repository.base.js +26 -6
  6. package/dist/sequelize/sequelize.repository.base.js.map +1 -1
  7. package/dist/sequelize/utils.d.ts +8 -0
  8. package/dist/sequelize/utils.js +21 -1
  9. package/dist/sequelize/utils.js.map +1 -1
  10. package/package.json +13 -11
  11. package/src/sequelize/sequelize.datasource.base.ts +4 -5
  12. package/src/sequelize/sequelize.repository.base.ts +58 -14
  13. package/src/sequelize/utils.ts +18 -0
  14. package/dist/.sandbox/23319CTsyje/application.js +0 -15
  15. package/dist/.sandbox/23319CTsyje/controllers/book-category.controller.js +0 -41
  16. package/dist/.sandbox/23319CTsyje/controllers/book.controller.js +0 -210
  17. package/dist/.sandbox/23319CTsyje/controllers/category.controller.js +0 -198
  18. package/dist/.sandbox/23319CTsyje/controllers/developer.controller.js +0 -177
  19. package/dist/.sandbox/23319CTsyje/controllers/doctor-patient.controller.js +0 -112
  20. package/dist/.sandbox/23319CTsyje/controllers/doctor.controller.js +0 -177
  21. package/dist/.sandbox/23319CTsyje/controllers/index.js +0 -23
  22. package/dist/.sandbox/23319CTsyje/controllers/patient.controller.js +0 -165
  23. package/dist/.sandbox/23319CTsyje/controllers/product.controller.js +0 -177
  24. package/dist/.sandbox/23319CTsyje/controllers/programming-languange.controller.js +0 -204
  25. package/dist/.sandbox/23319CTsyje/controllers/task.controller.js +0 -210
  26. package/dist/.sandbox/23319CTsyje/controllers/test.controller.base.js +0 -27
  27. package/dist/.sandbox/23319CTsyje/controllers/todo-list-todo.controller.js +0 -113
  28. package/dist/.sandbox/23319CTsyje/controllers/todo-list.controller.js +0 -177
  29. package/dist/.sandbox/23319CTsyje/controllers/todo-todo-list.controller.js +0 -41
  30. package/dist/.sandbox/23319CTsyje/controllers/todo.controller.js +0 -177
  31. package/dist/.sandbox/23319CTsyje/controllers/transaction.controller.js +0 -157
  32. package/dist/.sandbox/23319CTsyje/controllers/user-todo-list.controller.js +0 -113
  33. package/dist/.sandbox/23319CTsyje/controllers/user.controller.js +0 -210
  34. package/dist/.sandbox/23319CTsyje/datasources/config.js +0 -65
  35. package/dist/.sandbox/23319CTsyje/datasources/primary.datasource.js +0 -28
  36. package/dist/.sandbox/23319CTsyje/datasources/secondary.datasource.js +0 -28
  37. package/dist/.sandbox/23319CTsyje/models/appointment.model.js +0 -37
  38. package/dist/.sandbox/23319CTsyje/models/book.model.js +0 -48
  39. package/dist/.sandbox/23319CTsyje/models/category.model.js +0 -32
  40. package/dist/.sandbox/23319CTsyje/models/developer.model.js +0 -47
  41. package/dist/.sandbox/23319CTsyje/models/doctor.model.js +0 -44
  42. package/dist/.sandbox/23319CTsyje/models/index.js +0 -17
  43. package/dist/.sandbox/23319CTsyje/models/patient.model.js +0 -32
  44. package/dist/.sandbox/23319CTsyje/models/product.model.js +0 -41
  45. package/dist/.sandbox/23319CTsyje/models/programming-language.model.js +0 -39
  46. package/dist/.sandbox/23319CTsyje/models/task.model.js +0 -74
  47. package/dist/.sandbox/23319CTsyje/models/todo-list.model.js +0 -45
  48. package/dist/.sandbox/23319CTsyje/models/todo.model.js +0 -44
  49. package/dist/.sandbox/23319CTsyje/models/user.model.js +0 -92
  50. package/dist/.sandbox/23319CTsyje/repositories/appointment.repository.js +0 -20
  51. package/dist/.sandbox/23319CTsyje/repositories/book.repository.js +0 -25
  52. package/dist/.sandbox/23319CTsyje/repositories/category.repository.js +0 -20
  53. package/dist/.sandbox/23319CTsyje/repositories/developer.repository.js +0 -25
  54. package/dist/.sandbox/23319CTsyje/repositories/doctor.repository.js +0 -27
  55. package/dist/.sandbox/23319CTsyje/repositories/index.js +0 -17
  56. package/dist/.sandbox/23319CTsyje/repositories/patient.repository.js +0 -20
  57. package/dist/.sandbox/23319CTsyje/repositories/product.repository.js +0 -20
  58. package/dist/.sandbox/23319CTsyje/repositories/programming-language.repository.js +0 -20
  59. package/dist/.sandbox/23319CTsyje/repositories/task.repository.js +0 -26
  60. package/dist/.sandbox/23319CTsyje/repositories/todo-list.repository.js +0 -25
  61. package/dist/.sandbox/23319CTsyje/repositories/todo.repository.js +0 -25
  62. package/dist/.sandbox/23319CTsyje/repositories/user.repository.js +0 -25
@@ -10,7 +10,7 @@ export declare class SequelizeDataSource implements LifeCycleObserver {
10
10
  name: string;
11
11
  settings: {};
12
12
  constructor(config: SequelizeDataSourceConfig);
13
- sequelize?: Sequelize;
13
+ sequelize: Sequelize;
14
14
  sequelizeConfig: SequelizeOptions;
15
15
  init(): Promise<void>;
16
16
  start(..._injectedArgs: unknown[]): Promise<void>;
@@ -19,9 +19,6 @@ class SequelizeDataSource {
19
19
  !(this.config.connector in connector_mapping_1.SupportedConnectorMapping)) {
20
20
  throw new Error(`Specified connector ${(_a = this.config.connector) !== null && _a !== void 0 ? _a : this.config.dialect} is not supported.`);
21
21
  }
22
- }
23
- async init() {
24
- const { config } = this;
25
22
  const { connector, file, schema, database, host, port, user, username, password, tns, } = config;
26
23
  this.sequelizeConfig = {
27
24
  database,
@@ -45,6 +42,8 @@ class SequelizeDataSource {
45
42
  else {
46
43
  this.sequelize = new sequelize_1.Sequelize(this.sequelizeConfig);
47
44
  }
45
+ }
46
+ async init() {
48
47
  await this.sequelize.authenticate();
49
48
  debug('Connection has been established successfully.');
50
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sequelize.datasource.base.js","sourceRoot":"","sources":["../../src/sequelize/sequelize.datasource.base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sequelize.datasource.base.js","sourceRoot":"","sources":["../../src/sequelize/sequelize.datasource.base.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,22 @@
1
- import { AnyObject, BelongsToAccessor, Command, Count, DataObject, Entity, EntityCrudRepository, Fields, Filter, FilterExcludingWhere, Getter, HasManyRepositoryFactory, HasManyThroughRepositoryFactory, HasOneRepositoryFactory, InclusionFilter, InclusionResolver, NamedParameters, Options, PositionalParameters, PropertyDefinition, ReferencesManyAccessor, Where } from '@loopback/repository';
1
+ import { AnyObject, BelongsToAccessor, Command, Count, DataObject, Entity, EntityCrudRepository, Fields, Filter, Getter, HasManyRepositoryFactory, HasManyThroughRepositoryFactory, HasOneRepositoryFactory, Inclusion, InclusionFilter, InclusionResolver, NamedParameters, Options, PositionalParameters, PropertyDefinition, ReferencesManyAccessor, Where } from '@loopback/repository';
2
2
  import { Attributes, FindAttributeOptions, Includeable, Model, ModelAttributes, ModelStatic, Order, SyncOptions, Transaction, TransactionOptions, WhereOptions } from 'sequelize';
3
3
  import { operatorTranslations } from './operator-translation';
4
4
  import { SequelizeDataSource } from './sequelize.datasource.base';
5
5
  import { SequelizeModel } from './sequelize.model';
6
+ interface InclusionWithRequired extends Inclusion {
7
+ /**
8
+ * Setting this option to true will result in an inner join query that
9
+ * explicitly requires the specified condition for the child model.
10
+ *
11
+ * @see https://loopback.io/pages/en/lb4/readmes/loopback-next/extensions/sequelize/#inner-join
12
+ */
13
+ required?: boolean;
14
+ }
15
+ type InclusionFilterWithRequired = string | InclusionWithRequired;
16
+ interface FilterWithRequired<T extends object> extends Filter<T> {
17
+ include?: InclusionFilterWithRequired[];
18
+ }
19
+ type FilterWithRequiredExcludingWhere<T extends object> = Omit<FilterWithRequired<T>, 'where'>;
6
20
  /**
7
21
  * Sequelize implementation of CRUD repository to be used with default loopback entities
8
22
  * and SequelizeDataSource for SQL Databases
@@ -58,9 +72,9 @@ export declare class SequelizeCrudRepository<T extends Entity, ID, Relations ext
58
72
  updateById(id: ID, data: DataObject<T>, options?: AnyObject): Promise<void>;
59
73
  updateAll(data: DataObject<T>, where?: Where<T>, options?: AnyObject): Promise<Count>;
60
74
  delete(entity: T, options?: AnyObject): Promise<void>;
61
- find(filter?: Filter<T>, options?: AnyObject): Promise<(T & Relations)[]>;
62
- findOne(filter?: Filter<T>, options?: AnyObject): Promise<(T & Relations) | null>;
63
- findById(id: ID, filter?: FilterExcludingWhere<T>, options?: AnyObject): Promise<T & Relations>;
75
+ find(filter?: FilterWithRequired<T>, options?: AnyObject): Promise<(T & Relations)[]>;
76
+ findOne(filter?: FilterWithRequired<T>, options?: AnyObject): Promise<(T & Relations) | null>;
77
+ findById(id: ID, filter?: FilterWithRequiredExcludingWhere<T>, options?: AnyObject): Promise<T & Relations>;
64
78
  replaceById(id: ID, data: DataObject<T>, options?: AnyObject | undefined): Promise<void>;
65
79
  deleteAll(where?: Where<T> | undefined, options?: AnyObject | undefined): Promise<Count>;
66
80
  deleteById(id: ID, options?: AnyObject | undefined): Promise<void>;
@@ -297,3 +311,4 @@ export declare class SequelizeCrudRepository<T extends Entity, ID, Relations ext
297
311
  protected createReferencesManyAccessorFor<Target extends Entity, TargetId>(relationName: string, targetRepoGetter: Getter<EntityCrudRepository<Target, TargetId>>): ReferencesManyAccessor<Target, ID>;
298
312
  beginTransaction(options?: TransactionOptions | TransactionOptions['isolationLevel']): Promise<Transaction>;
299
313
  }
314
+ export {};
@@ -300,7 +300,7 @@ class SequelizeCrudRepository {
300
300
  * @returns Sequelize compatible order filter value
301
301
  */
302
302
  buildSequelizeOrder(order) {
303
- if (order === undefined) {
303
+ if (order === undefined || order === '') {
304
304
  return undefined;
305
305
  }
306
306
  if (typeof order === 'string') {
@@ -418,12 +418,24 @@ class SequelizeCrudRepository {
418
418
  */
419
419
  for (const columnName in where) {
420
420
  const conditionValue = (where[columnName]);
421
+ // Ignoring undefined values for backwards compatibility with Loopback Juggler ORM API
422
+ if (typeof conditionValue === 'undefined') {
423
+ continue;
424
+ }
425
+ const entityClassCol = this.entityClass.definition.properties[columnName];
426
+ const isBooleanColumn = entityClassCol && entityClassCol.type === 'boolean';
421
427
  if ((0, utils_1.isTruelyObject)(conditionValue)) {
422
428
  sequelizeWhere[columnName] = {};
423
429
  for (const lb4Operator of Object.keys(conditionValue)) {
424
430
  const sequelizeOperator = this.getSequelizeOperator(lb4Operator);
425
- sequelizeWhere[columnName][sequelizeOperator] =
426
- conditionValue[lb4Operator];
431
+ if (isBooleanColumn) {
432
+ // Handles boolean column conditions like `{ neq: true }` or `{ eq: false }`
433
+ sequelizeWhere[columnName][sequelizeOperator] = (0, utils_1.castToBoolean)(conditionValue[lb4Operator]);
434
+ }
435
+ else {
436
+ sequelizeWhere[columnName][sequelizeOperator] =
437
+ conditionValue[lb4Operator];
438
+ }
427
439
  }
428
440
  }
429
441
  else if (['and', 'or'].includes(columnName) &&
@@ -440,9 +452,12 @@ class SequelizeCrudRepository {
440
452
  });
441
453
  }
442
454
  else {
443
- // Equals
455
+ // Equals operation. Casting boolean columns to avoid passing strings as boolean values
456
+ // to the Sequelize query builders.
444
457
  sequelizeWhere[columnName] = {
445
- [sequelize_1.Op.eq]: conditionValue,
458
+ [sequelize_1.Op.eq]: isBooleanColumn
459
+ ? (0, utils_1.castToBoolean)(conditionValue)
460
+ : conditionValue,
446
461
  };
447
462
  }
448
463
  }
@@ -465,6 +480,8 @@ class SequelizeCrudRepository {
465
480
  timestamps: false,
466
481
  tableName: this.getTableName(entityClass),
467
482
  freezeTableName: true,
483
+ // Set up optional default scope: https://sequelize.org/docs/v6/other-topics/scopes/#definition
484
+ defaultScope: entityClass.definition.settings.scope,
468
485
  });
469
486
  // Setup associations
470
487
  for (const key in entityClass.definition.relations) {
@@ -472,9 +489,12 @@ class SequelizeCrudRepository {
472
489
  debugModelBuilder(`Setting up relation`, entityClass.definition.relations[key]);
473
490
  if (entityClass.definition.relations[key].type ===
474
491
  repository_1.RelationType.belongsTo) {
475
- const foreignKey = entityClass.definition.relations[key].keyTo;
492
+ const relationDefinition = entityClass.definition.relations[key];
493
+ const foreignKey = relationDefinition.keyFrom;
494
+ const targetKey = relationDefinition.keyTo;
476
495
  sourceModel.belongsTo(targetModel, {
477
496
  foreignKey: { name: foreignKey },
497
+ targetKey,
478
498
  // Which client will pass on in loopback style include filter, eg. `include: ["thisName"]`
479
499
  as: entityClass.definition.relations[key].name,
480
500
  });
@@ -1 +1 @@
1
- {"version":3,"file":"sequelize.repository.base.js","sourceRoot":"","sources":["../../src/sequelize/sequelize.repository.base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sequelize.repository.base.js","sourceRoot":"","sources":["../../src/sequelize/sequelize.repository.base.ts"],"names":[],"mappings":"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"}
@@ -4,3 +4,11 @@
4
4
  * @returns `true` is it is an object `false` otherwise
5
5
  */
6
6
  export declare const isTruelyObject: (value?: unknown) => boolean;
7
+ /**
8
+ * Coerces a value to a boolean. This is used for Where Filter type coercion
9
+ * to avoid passing "true" or "false" as strings to the internal Sequelize queries.
10
+ *
11
+ * @param value - The value to be serialized.
12
+ * @returns The coerced boolean value: true / false.
13
+ */
14
+ export declare const castToBoolean: (value: unknown) => boolean;
@@ -4,7 +4,7 @@
4
4
  // This file is licensed under the MIT License.
5
5
  // License text available at https://opensource.org/licenses/MIT
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.isTruelyObject = void 0;
7
+ exports.castToBoolean = exports.isTruelyObject = void 0;
8
8
  /**
9
9
  * Function to check if the `value` is js object (`{}`)
10
10
  * @param value Target value to check
@@ -14,4 +14,24 @@ const isTruelyObject = (value) => {
14
14
  return typeof value === 'object' && !Array.isArray(value) && value !== null;
15
15
  };
16
16
  exports.isTruelyObject = isTruelyObject;
17
+ /**
18
+ * Coerces a value to a boolean. This is used for Where Filter type coercion
19
+ * to avoid passing "true" or "false" as strings to the internal Sequelize queries.
20
+ *
21
+ * @param value - The value to be serialized.
22
+ * @returns The coerced boolean value: true / false.
23
+ */
24
+ const castToBoolean = (value) => {
25
+ if (typeof value === 'boolean') {
26
+ return value;
27
+ }
28
+ else if (typeof value === 'string') {
29
+ return value.toLowerCase() === 'true';
30
+ }
31
+ else {
32
+ // e.g. null, undefined, 0, 1, etc.
33
+ return Boolean(value);
34
+ }
35
+ };
36
+ exports.castToBoolean = castToBoolean;
17
37
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/sequelize/utils.ts"],"names":[],"mappings":";AAAA,6DAA6D;AAC7D,mCAAmC;AACnC,+CAA+C;AAC/C,gEAAgE;;;AAEhE;;;;GAIG;AACI,MAAM,cAAc,GAAG,CAAC,KAAe,EAAE,EAAE;IAChD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC;AAC9E,CAAC,CAAC;AAFW,QAAA,cAAc,kBAEzB"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/sequelize/utils.ts"],"names":[],"mappings":";AAAA,6DAA6D;AAC7D,mCAAmC;AACnC,+CAA+C;AAC/C,gEAAgE;;;AAEhE;;;;GAIG;AACI,MAAM,cAAc,GAAG,CAAC,KAAe,EAAE,EAAE;IAChD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC;AAC9E,CAAC,CAAC;AAFW,QAAA,cAAc,kBAEzB;AAEF;;;;;;GAMG;AACI,MAAM,aAAa,GAAG,CAAC,KAAc,EAAW,EAAE;IACvD,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE;QAC9B,OAAO,KAAK,CAAC;KACd;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QACpC,OAAO,KAAK,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;KACvC;SAAM;QACL,mCAAmC;QACnC,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;KACvB;AACH,CAAC,CAAC;AATW,QAAA,aAAa,iBASxB"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@loopback/sequelize",
3
3
  "description": "Loopback 4 Extension That Provides Sequelize Crud Repository Compatible With Default Loopback Models.",
4
- "version": "0.5.2",
4
+ "version": "0.5.4",
5
5
  "keywords": [
6
6
  "loopback-extension",
7
7
  "loopback",
@@ -36,7 +36,8 @@
36
36
  "README.md",
37
37
  "dist",
38
38
  "src",
39
- "!*/__tests__"
39
+ "!*/__tests__",
40
+ "!dist/.sandbox"
40
41
  ],
41
42
  "peerDependencies": {
42
43
  "@loopback/core": "^5.0.0",
@@ -44,21 +45,22 @@
44
45
  },
45
46
  "dependencies": {
46
47
  "debug": "^4.3.4",
47
- "sequelize": "^6.33.0",
48
+ "sequelize": "^6.35.2",
48
49
  "tslib": "^2.6.2"
49
50
  },
50
51
  "devDependencies": {
51
- "@loopback/boot": "^6.1.3",
52
- "@loopback/build": "^10.1.3",
53
- "@loopback/core": "^5.1.3",
54
- "@loopback/repository": "^6.1.3",
55
- "@loopback/rest": "^13.1.3",
56
- "@loopback/testlab": "^6.1.3",
57
- "@types/node": "^16.18.50",
52
+ "@loopback/boot": "^6.1.5",
53
+ "@loopback/build": "^10.1.5",
54
+ "@loopback/core": "^5.1.5",
55
+ "@loopback/repository": "^6.1.5",
56
+ "@loopback/rest": "^13.1.5",
57
+ "@loopback/testlab": "^6.1.5",
58
+ "@types/node": "^16.18.70",
59
+ "oracledb": "^6.3.0",
58
60
  "pg": "^8.11.3",
59
61
  "pg-hstore": "^2.3.4",
60
62
  "sqlite3": "5.1.4",
61
63
  "typescript": "~5.2.2"
62
64
  },
63
- "gitHead": "9107199cdf1597260ee03e2a903b7db0dec8445d"
65
+ "gitHead": "3f73360ac38e1615317cae977ac20c2e124e3518"
64
66
  }
@@ -45,12 +45,7 @@ export class SequelizeDataSource implements LifeCycleObserver {
45
45
  } is not supported.`,
46
46
  );
47
47
  }
48
- }
49
48
 
50
- sequelize?: Sequelize;
51
- sequelizeConfig: SequelizeOptions;
52
- async init(): Promise<void> {
53
- const {config} = this;
54
49
  const {
55
50
  connector,
56
51
  file,
@@ -86,7 +81,11 @@ export class SequelizeDataSource implements LifeCycleObserver {
86
81
  } else {
87
82
  this.sequelize = new Sequelize(this.sequelizeConfig);
88
83
  }
84
+ }
89
85
 
86
+ sequelize: Sequelize;
87
+ sequelizeConfig: SequelizeOptions;
88
+ async init(): Promise<void> {
90
89
  await this.sequelize.authenticate();
91
90
  debug('Connection has been established successfully.');
92
91
  }
@@ -15,7 +15,6 @@ import {
15
15
  EntityNotFoundError,
16
16
  Fields,
17
17
  Filter,
18
- FilterExcludingWhere,
19
18
  Getter,
20
19
  HasManyDefinition,
21
20
  HasManyRepositoryFactory,
@@ -63,11 +62,32 @@ import {MakeNullishOptional} from 'sequelize/types/utils';
63
62
  import {operatorTranslations} from './operator-translation';
64
63
  import {SequelizeDataSource} from './sequelize.datasource.base';
65
64
  import {SequelizeModel} from './sequelize.model';
66
- import {isTruelyObject} from './utils';
65
+ import {castToBoolean, isTruelyObject} from './utils';
67
66
 
68
67
  const debug = debugFactory('loopback:sequelize:repository');
69
68
  const debugModelBuilder = debugFactory('loopback:sequelize:modelbuilder');
70
69
 
70
+ interface InclusionWithRequired extends Inclusion {
71
+ /**
72
+ * Setting this option to true will result in an inner join query that
73
+ * explicitly requires the specified condition for the child model.
74
+ *
75
+ * @see https://loopback.io/pages/en/lb4/readmes/loopback-next/extensions/sequelize/#inner-join
76
+ */
77
+ required?: boolean;
78
+ }
79
+
80
+ type InclusionFilterWithRequired = string | InclusionWithRequired;
81
+
82
+ interface FilterWithRequired<T extends object> extends Filter<T> {
83
+ include?: InclusionFilterWithRequired[];
84
+ }
85
+
86
+ type FilterWithRequiredExcludingWhere<T extends object> = Omit<
87
+ FilterWithRequired<T>,
88
+ 'where'
89
+ >;
90
+
71
91
  /**
72
92
  * Sequelize implementation of CRUD repository to be used with default loopback entities
73
93
  * and SequelizeDataSource for SQL Databases
@@ -231,7 +251,7 @@ export class SequelizeCrudRepository<
231
251
  }
232
252
 
233
253
  async find(
234
- filter?: Filter<T>,
254
+ filter?: FilterWithRequired<T>,
235
255
  options?: AnyObject,
236
256
  ): Promise<(T & Relations)[]> {
237
257
  const data = await this.sequelizeModel.findAll({
@@ -252,7 +272,7 @@ export class SequelizeCrudRepository<
252
272
  }
253
273
 
254
274
  async findOne(
255
- filter?: Filter<T>,
275
+ filter?: FilterWithRequired<T>,
256
276
  options?: AnyObject,
257
277
  ): Promise<(T & Relations) | null> {
258
278
  const data = await this.sequelizeModel.findOne({
@@ -279,7 +299,7 @@ export class SequelizeCrudRepository<
279
299
 
280
300
  async findById(
281
301
  id: ID,
282
- filter?: FilterExcludingWhere<T>,
302
+ filter?: FilterWithRequiredExcludingWhere<T>,
283
303
  options?: AnyObject,
284
304
  ): Promise<T & Relations> {
285
305
  const data = await this.sequelizeModel.findByPk(
@@ -469,7 +489,7 @@ export class SequelizeCrudRepository<
469
489
  * @returns Sequelize compatible order filter value
470
490
  */
471
491
  protected buildSequelizeOrder(order?: string[] | string): Order | undefined {
472
- if (order === undefined) {
492
+ if (order === undefined || order === '') {
473
493
  return undefined;
474
494
  }
475
495
 
@@ -621,6 +641,15 @@ export class SequelizeCrudRepository<
621
641
  where[columnName as keyof typeof where]
622
642
  );
623
643
 
644
+ // Ignoring undefined values for backwards compatibility with Loopback Juggler ORM API
645
+ if (typeof conditionValue === 'undefined') {
646
+ continue;
647
+ }
648
+
649
+ const entityClassCol = this.entityClass.definition.properties[columnName];
650
+ const isBooleanColumn =
651
+ entityClassCol && entityClassCol.type === 'boolean';
652
+
624
653
  if (isTruelyObject(conditionValue)) {
625
654
  sequelizeWhere[columnName] = {};
626
655
 
@@ -628,8 +657,16 @@ export class SequelizeCrudRepository<
628
657
  const sequelizeOperator = this.getSequelizeOperator(
629
658
  lb4Operator as keyof typeof operatorTranslations,
630
659
  );
631
- sequelizeWhere[columnName][sequelizeOperator] =
632
- conditionValue![lb4Operator as keyof typeof conditionValue];
660
+
661
+ if (isBooleanColumn) {
662
+ // Handles boolean column conditions like `{ neq: true }` or `{ eq: false }`
663
+ sequelizeWhere[columnName][sequelizeOperator] = castToBoolean(
664
+ conditionValue![lb4Operator as keyof typeof conditionValue],
665
+ );
666
+ } else {
667
+ sequelizeWhere[columnName][sequelizeOperator] =
668
+ conditionValue![lb4Operator as keyof typeof conditionValue];
669
+ }
633
670
  }
634
671
  } else if (
635
672
  ['and', 'or'].includes(columnName) &&
@@ -648,9 +685,12 @@ export class SequelizeCrudRepository<
648
685
  [sequelizeOperator]: conditions,
649
686
  });
650
687
  } else {
651
- // Equals
688
+ // Equals operation. Casting boolean columns to avoid passing strings as boolean values
689
+ // to the Sequelize query builders.
652
690
  sequelizeWhere[columnName] = {
653
- [Op.eq]: conditionValue,
691
+ [Op.eq]: isBooleanColumn
692
+ ? castToBoolean(conditionValue)
693
+ : conditionValue,
654
694
  };
655
695
  }
656
696
  }
@@ -682,6 +722,8 @@ export class SequelizeCrudRepository<
682
722
  timestamps: false,
683
723
  tableName: this.getTableName(entityClass),
684
724
  freezeTableName: true,
725
+ // Set up optional default scope: https://sequelize.org/docs/v6/other-topics/scopes/#definition
726
+ defaultScope: entityClass.definition.settings.scope,
685
727
  },
686
728
  );
687
729
 
@@ -700,12 +742,14 @@ export class SequelizeCrudRepository<
700
742
  entityClass.definition.relations[key].type ===
701
743
  LoopbackRelationType.belongsTo
702
744
  ) {
703
- const foreignKey = (
704
- entityClass.definition.relations[key] as BelongsToDefinition
705
- ).keyTo;
745
+ const relationDefinition = entityClass.definition.relations[
746
+ key
747
+ ] as BelongsToDefinition;
748
+ const foreignKey = relationDefinition.keyFrom;
749
+ const targetKey = relationDefinition.keyTo;
706
750
  sourceModel.belongsTo(targetModel, {
707
751
  foreignKey: {name: foreignKey},
708
-
752
+ targetKey,
709
753
  // Which client will pass on in loopback style include filter, eg. `include: ["thisName"]`
710
754
  as: entityClass.definition.relations[key].name,
711
755
  });
@@ -11,3 +11,21 @@
11
11
  export const isTruelyObject = (value?: unknown) => {
12
12
  return typeof value === 'object' && !Array.isArray(value) && value !== null;
13
13
  };
14
+
15
+ /**
16
+ * Coerces a value to a boolean. This is used for Where Filter type coercion
17
+ * to avoid passing "true" or "false" as strings to the internal Sequelize queries.
18
+ *
19
+ * @param value - The value to be serialized.
20
+ * @returns The coerced boolean value: true / false.
21
+ */
22
+ export const castToBoolean = (value: unknown): boolean => {
23
+ if (typeof value === 'boolean') {
24
+ return value;
25
+ } else if (typeof value === 'string') {
26
+ return value.toLowerCase() === 'true';
27
+ } else {
28
+ // e.g. null, undefined, 0, 1, etc.
29
+ return Boolean(value);
30
+ }
31
+ };
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SequelizeSandboxApplication = void 0;
4
- const boot_1 = require("@loopback/boot");
5
- const repository_1 = require("@loopback/repository");
6
- const rest_1 = require("@loopback/rest");
7
- class SequelizeSandboxApplication extends (0, boot_1.BootMixin)((0, repository_1.RepositoryMixin)(rest_1.RestApplication)) {
8
- constructor(options = {}) {
9
- super(options);
10
- this.projectRoot = __dirname;
11
- }
12
- }
13
- exports.SequelizeSandboxApplication = SequelizeSandboxApplication;
14
- //# sourceMappingURL=application.js.map
15
- //# sourceMappingURL=/Users/dianalau/code/loopback/loopback-next/extensions/sequelize/dist/__tests__/fixtures/application.js.map