@node-c/persistance-rdb 1.0.0-alpha2 → 1.0.0-alpha20

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 (65) hide show
  1. package/README.md +1 -1
  2. package/dist/common/definitions/common.constants.d.ts +4 -0
  3. package/dist/common/definitions/common.constants.js +5 -1
  4. package/dist/common/definitions/common.constants.js.map +1 -1
  5. package/dist/{entityService → entity}/index.d.ts +2 -1
  6. package/dist/{entityService → entity}/index.js +2 -1
  7. package/dist/entity/index.js.map +1 -0
  8. package/dist/entity/rdb.entity.schema.d.ts +10 -0
  9. package/dist/{module/rdb.module.definitions.js → entity/rdb.entity.schema.js} +1 -1
  10. package/dist/entity/rdb.entity.schema.js.map +1 -0
  11. package/dist/entity/rdb.entity.service.d.ts +39 -0
  12. package/dist/entity/rdb.entity.service.definitions.d.ts +28 -0
  13. package/dist/{entityService → entity}/rdb.entity.service.definitions.js +1 -1
  14. package/dist/entity/rdb.entity.service.definitions.js.map +1 -0
  15. package/dist/{entityService → entity}/rdb.entity.service.js +179 -71
  16. package/dist/entity/rdb.entity.service.js.map +1 -0
  17. package/dist/index.d.ts +2 -2
  18. package/dist/index.js +2 -2
  19. package/dist/index.js.map +1 -1
  20. package/dist/ormQueryBuilder/index.d.ts +1 -0
  21. package/dist/{module → ormQueryBuilder}/index.js +1 -2
  22. package/dist/ormQueryBuilder/index.js.map +1 -0
  23. package/dist/ormQueryBuilder/rdb.ormQueryBuilder.d.ts +38 -0
  24. package/dist/ormQueryBuilder/rdb.ormQueryBuilder.js +16 -0
  25. package/dist/ormQueryBuilder/rdb.ormQueryBuilder.js.map +1 -0
  26. package/dist/repository/index.d.ts +1 -2
  27. package/dist/repository/index.js +1 -2
  28. package/dist/repository/index.js.map +1 -1
  29. package/dist/repository/rdb.repository.d.ts +22 -0
  30. package/dist/repository/rdb.repository.js +10 -0
  31. package/dist/repository/rdb.repository.js.map +1 -0
  32. package/dist/sqlQueryBuilder/index.d.ts +3 -3
  33. package/dist/sqlQueryBuilder/index.js +3 -3
  34. package/dist/sqlQueryBuilder/index.js.map +1 -1
  35. package/dist/sqlQueryBuilder/{sqlQueryBuilder.definitions.d.ts → rdb.sqlQueryBuilder.definitions.d.ts} +2 -6
  36. package/dist/{repository/rdb.repository.definitions.js → sqlQueryBuilder/rdb.sqlQueryBuilder.definitions.js} +1 -1
  37. package/dist/sqlQueryBuilder/rdb.sqlQueryBuilder.definitions.js.map +1 -0
  38. package/dist/sqlQueryBuilder/{sqlQueryBuilder.module.d.ts → rdb.sqlQueryBuilder.module.d.ts} +1 -1
  39. package/dist/sqlQueryBuilder/{sqlQueryBuilder.module.js → rdb.sqlQueryBuilder.module.js} +6 -6
  40. package/dist/sqlQueryBuilder/rdb.sqlQueryBuilder.module.js.map +1 -0
  41. package/dist/sqlQueryBuilder/{sqlQueryBuilder.service.d.ts → rdb.sqlQueryBuilder.service.d.ts} +7 -8
  42. package/dist/sqlQueryBuilder/{sqlQueryBuilder.service.js → rdb.sqlQueryBuilder.service.js} +26 -19
  43. package/dist/sqlQueryBuilder/rdb.sqlQueryBuilder.service.js.map +1 -0
  44. package/package.json +6 -4
  45. package/dist/entityService/index.js.map +0 -1
  46. package/dist/entityService/rdb.entity.service.d.ts +0 -34
  47. package/dist/entityService/rdb.entity.service.definitions.d.ts +0 -21
  48. package/dist/entityService/rdb.entity.service.definitions.js.map +0 -1
  49. package/dist/entityService/rdb.entity.service.js.map +0 -1
  50. package/dist/module/index.d.ts +0 -2
  51. package/dist/module/index.js.map +0 -1
  52. package/dist/module/rdb.module.d.ts +0 -5
  53. package/dist/module/rdb.module.definitions.d.ts +0 -15
  54. package/dist/module/rdb.module.definitions.js.map +0 -1
  55. package/dist/module/rdb.module.js +0 -45
  56. package/dist/module/rdb.module.js.map +0 -1
  57. package/dist/repository/rdb.repository.definitions.d.ts +0 -5
  58. package/dist/repository/rdb.repository.definitions.js.map +0 -1
  59. package/dist/repository/rdb.repository.module.d.ts +0 -6
  60. package/dist/repository/rdb.repository.module.js +0 -38
  61. package/dist/repository/rdb.repository.module.js.map +0 -1
  62. package/dist/sqlQueryBuilder/sqlQueryBuilder.definitions.js +0 -3
  63. package/dist/sqlQueryBuilder/sqlQueryBuilder.definitions.js.map +0 -1
  64. package/dist/sqlQueryBuilder/sqlQueryBuilder.module.js.map +0 -1
  65. package/dist/sqlQueryBuilder/sqlQueryBuilder.service.js.map +0 -1
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
1
  # Node-C / Persistance: RDB
2
- This is Node-C's package providing the functionality for relational databases. Currently, PostgreSQL and MySQL are supported.
2
+ This is Node-C's package providing the functionality for relational databases that TypeORMDB can work with. Currently, PostgreSQL and MySQL are supported.
3
3
 
4
4
  The documentation can be found on the [Node-C Github repo homepage](https://github.com/RazorDude/node-c).
@@ -1,4 +1,8 @@
1
1
  export declare enum Constants {
2
+ RDB_ENTITY_REPOSITORY = "RDB_ENTITY_REPOSITORY",
3
+ RDB_REPOSITORY_CONNECTION_NAME = "RDB_REPOSITORY_CONNECTION_NAME",
4
+ RDB_REPOSITORY_DATASOURCE = "RDB_REPOSITORY_DATASOURCE",
5
+ RDB_REPOSITORY_ENTITY_CLASS = "RDB_REPOSITORY_ENTITY_CLASS",
2
6
  SQL_BUILDER_DB_CONFIG_PATH = "SQL_BUILDER_DB_CONFIG_PATH",
3
7
  SQL_BUILDER_SERVICE_TOKEN_SUFFIX = "_SQL_BUILDER_SERVICE"
4
8
  }
@@ -3,7 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Constants = void 0;
4
4
  var Constants;
5
5
  (function (Constants) {
6
+ Constants["RDB_ENTITY_REPOSITORY"] = "RDB_ENTITY_REPOSITORY";
7
+ Constants["RDB_REPOSITORY_CONNECTION_NAME"] = "RDB_REPOSITORY_CONNECTION_NAME";
8
+ Constants["RDB_REPOSITORY_DATASOURCE"] = "RDB_REPOSITORY_DATASOURCE";
9
+ Constants["RDB_REPOSITORY_ENTITY_CLASS"] = "RDB_REPOSITORY_ENTITY_CLASS";
6
10
  Constants["SQL_BUILDER_DB_CONFIG_PATH"] = "SQL_BUILDER_DB_CONFIG_PATH";
7
11
  Constants["SQL_BUILDER_SERVICE_TOKEN_SUFFIX"] = "_SQL_BUILDER_SERVICE";
8
- })(Constants = exports.Constants || (exports.Constants = {}));
12
+ })(Constants || (exports.Constants = Constants = {}));
9
13
  //# sourceMappingURL=common.constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.constants.js","sourceRoot":"","sources":["../../../src/common/definitions/common.constants.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAKX;AALD,WAAY,SAAS;IAEnB,sEAAyD,CAAA;IAEzD,sEAAyD,CAAA;AAC3D,CAAC,EALW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAKpB"}
1
+ {"version":3,"file":"common.constants.js","sourceRoot":"","sources":["../../../src/common/definitions/common.constants.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAaX;AAbD,WAAY,SAAS;IAEnB,4DAA+C,CAAA;IAE/C,8EAAiE,CAAA;IAEjE,oEAAuD,CAAA;IAEvD,wEAA2D,CAAA;IAE3D,sEAAyD,CAAA;IAEzD,sEAAyD,CAAA;AAC3D,CAAC,EAbW,SAAS,yBAAT,SAAS,QAapB"}
@@ -1,2 +1,3 @@
1
- export * from './rdb.entity.service.definitions';
1
+ export * from './rdb.entity.schema';
2
2
  export * from './rdb.entity.service';
3
+ export * from './rdb.entity.service.definitions';
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./rdb.entity.service.definitions"), exports);
17
+ __exportStar(require("./rdb.entity.schema"), exports);
18
18
  __exportStar(require("./rdb.entity.service"), exports);
19
+ __exportStar(require("./rdb.entity.service.definitions"), exports);
19
20
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/entity/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,uDAAqC;AACrC,mEAAiD"}
@@ -0,0 +1,10 @@
1
+ export interface RDBEntitySchema {
2
+ options: {
3
+ columns: {
4
+ [columnName: string]: {
5
+ deleteDate?: boolean;
6
+ primary?: boolean;
7
+ } | undefined;
8
+ };
9
+ };
10
+ }
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=rdb.module.definitions.js.map
3
+ //# sourceMappingURL=rdb.entity.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rdb.entity.schema.js","sourceRoot":"","sources":["../../src/entity/rdb.entity.schema.ts"],"names":[],"mappings":""}
@@ -0,0 +1,39 @@
1
+ import { GenericObject, PersistanceDeleteResult, PersistanceEntityService, PersistanceFindResults, PersistanceNumberItem, PersistanceUpdateResult } from '@node-c/core';
2
+ import { RDBEntitySchema } from './rdb.entity.schema';
3
+ import { BulkCreateOptions, BulkCreatePrivateOptions, CountOptions, CountPrivateOptions, CreateOptions, CreatePrivateOptions, DeleteOptions, DeletePrivateOptions, FindOneOptions, FindOnePrivateOptions, FindOptions, FindPrivateOptions, UpdateOptions, UpdatePrivateOptions } from './rdb.entity.service.definitions';
4
+ import { RDBEntityManager, RDBRepository } from '../repository';
5
+ import { ParsedFilter, SQLQueryBuilderService } from '../sqlQueryBuilder';
6
+ export declare class RDBEntityService<Entity extends GenericObject<unknown>> extends PersistanceEntityService<Entity> {
7
+ protected qb: SQLQueryBuilderService;
8
+ protected repository: RDBRepository<Entity>;
9
+ protected schema: RDBEntitySchema;
10
+ protected columNames: string[];
11
+ protected deletedColumnName?: string;
12
+ protected primaryKeys: string[];
13
+ constructor(qb: SQLQueryBuilderService, repository: RDBRepository<Entity>, schema: RDBEntitySchema);
14
+ protected buildPrimaryKeyWhereClause(data: Entity[]): {
15
+ field: string;
16
+ value: ParsedFilter;
17
+ };
18
+ bulkCreate(data: Partial<Entity>[], options?: BulkCreateOptions, privateOptions?: BulkCreatePrivateOptions): Promise<Entity[]>;
19
+ count(options: CountOptions, privateOptions?: CountPrivateOptions): Promise<number | undefined>;
20
+ create(data: Partial<Entity>, options?: CreateOptions, privateOptions?: CreatePrivateOptions): Promise<Entity>;
21
+ delete(options: DeleteOptions, privateOptions?: DeletePrivateOptions): Promise<PersistanceDeleteResult<Entity>>;
22
+ find(options: FindOptions, privateOptions?: FindPrivateOptions): Promise<PersistanceFindResults<Entity>>;
23
+ findOne(options: FindOneOptions, privateOptions?: FindOnePrivateOptions): Promise<Entity | null>;
24
+ getEntityTarget(): unknown;
25
+ protected getRepository(transactionManager?: RDBEntityManager): RDBRepository<Entity>;
26
+ protected processManyToMany(data: {
27
+ counterpartColumn: string;
28
+ currentEntityColumn: string;
29
+ id: number;
30
+ items: PersistanceNumberItem[];
31
+ tableName: string;
32
+ }, options?: {
33
+ transactionManager?: RDBEntityManager;
34
+ }): Promise<void>;
35
+ protected save<Data = unknown, ReturnData = unknown>(data: Data, transactionManager?: RDBEntityManager, options?: {
36
+ processObjectAllowedFieldsEnabled?: boolean;
37
+ }): Promise<ReturnData>;
38
+ update(data: Entity, options: UpdateOptions, privateOptions?: UpdatePrivateOptions): Promise<PersistanceUpdateResult<Entity>>;
39
+ }
@@ -0,0 +1,28 @@
1
+ import { PersistanceBulkCreatePrivateOptions, PersistanceCountOptions, PersistanceCountPrivateOptions, PersistanceCreatePrivateOptions, PersistanceDeleteOptions, PersistanceDeletePrivateOptions, PersistanceFindOneOptions, PersistanceFindOnePrivateOptions, PersistanceFindOptions, PersistanceFindPrivateOptions, PersistanceUpdateOptions, PersistanceUpdatePrivateOptions } from '@node-c/core';
2
+ import { RDBEntityManager } from '../repository';
3
+ export interface BaseOptions {
4
+ forceTransaction?: boolean;
5
+ transactionManager?: RDBEntityManager;
6
+ }
7
+ export type BulkCreateOptions = BaseOptions;
8
+ export type BulkCreatePrivateOptions = PersistanceBulkCreatePrivateOptions;
9
+ export interface CountOptions extends BaseOptions, PersistanceCountOptions {
10
+ }
11
+ export type CountPrivateOptions = PersistanceCountPrivateOptions;
12
+ export type CreateOptions = BaseOptions;
13
+ export type CreatePrivateOptions = PersistanceCreatePrivateOptions;
14
+ export interface DeleteOptions extends BaseOptions, PersistanceDeleteOptions {
15
+ }
16
+ export type DeletePrivateOptions = PersistanceDeletePrivateOptions;
17
+ export interface FindOneOptions extends BaseOptions, PersistanceFindOneOptions {
18
+ }
19
+ export type FindOnePrivateOptions = PersistanceFindOnePrivateOptions;
20
+ export interface FindOptions extends BaseOptions, PersistanceFindOptions {
21
+ }
22
+ export type FindPrivateOptions = PersistanceFindPrivateOptions;
23
+ export declare enum PostgresErrorCode {
24
+ UniqueViolation = "23505"
25
+ }
26
+ export interface UpdateOptions extends BaseOptions, PersistanceUpdateOptions {
27
+ }
28
+ export type UpdatePrivateOptions = PersistanceUpdatePrivateOptions;
@@ -4,5 +4,5 @@ exports.PostgresErrorCode = void 0;
4
4
  var PostgresErrorCode;
5
5
  (function (PostgresErrorCode) {
6
6
  PostgresErrorCode["UniqueViolation"] = "23505";
7
- })(PostgresErrorCode = exports.PostgresErrorCode || (exports.PostgresErrorCode = {}));
7
+ })(PostgresErrorCode || (exports.PostgresErrorCode = PostgresErrorCode = {}));
8
8
  //# sourceMappingURL=rdb.entity.service.definitions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rdb.entity.service.definitions.js","sourceRoot":"","sources":["../../src/entity/rdb.entity.service.definitions.ts"],"names":[],"mappings":";;;AA8CA,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IAE3B,8CAAyB,CAAA;AAC3B,CAAC,EAHW,iBAAiB,iCAAjB,iBAAiB,QAG5B"}
@@ -14,18 +14,25 @@ const core_1 = require("@node-c/core");
14
14
  const rdb_entity_service_definitions_1 = require("./rdb.entity.service.definitions");
15
15
  class RDBEntityService extends core_1.PersistanceEntityService {
16
16
  constructor(qb, repository, schema) {
17
- var _a;
18
17
  super();
19
18
  this.qb = qb;
20
19
  this.repository = repository;
21
20
  this.schema = schema;
22
21
  const { columns } = schema.options;
23
22
  const primaryKeys = [];
23
+ let deletedColumnName;
24
+ this.columNames = [];
24
25
  for (const columnName in columns) {
25
- if ((_a = columns[columnName]) === null || _a === void 0 ? void 0 : _a.primary) {
26
+ const { deleteDate, primary } = columns[columnName] || {};
27
+ this.columNames.push(columnName);
28
+ if (primary) {
26
29
  primaryKeys.push(columnName);
27
30
  }
31
+ if (!deletedColumnName && deleteDate) {
32
+ deletedColumnName = columnName;
33
+ }
28
34
  }
35
+ this.deletedColumnName = deletedColumnName;
29
36
  this.primaryKeys = primaryKeys;
30
37
  }
31
38
  buildPrimaryKeyWhereClause(data) {
@@ -55,91 +62,115 @@ class RDBEntityService extends core_1.PersistanceEntityService {
55
62
  });
56
63
  return { field: core_1.PersistanceSelectOperator.Or, value: { params, query: `(${query.join(' or ')})` } };
57
64
  }
58
- bulkCreate(data, options) {
65
+ bulkCreate(data, options, privateOptions) {
59
66
  return __awaiter(this, void 0, void 0, function* () {
60
- const actualOptions = Object.assign(options || {});
67
+ const actualOptions = options || {};
68
+ const actualPrivateOptions = privateOptions || {};
61
69
  const { forceTransaction, transactionManager } = actualOptions;
70
+ const { processInputAllowedFieldsEnabled } = actualPrivateOptions;
62
71
  if (!transactionManager && forceTransaction) {
63
72
  return this.repository.manager.transaction(tm => {
64
- return this.bulkCreate(data, Object.assign(Object.assign({}, actualOptions), { transactionManager: tm }));
73
+ return this.bulkCreate(data, Object.assign(Object.assign({}, actualOptions), { transactionManager: tm }), actualPrivateOptions);
65
74
  });
66
75
  }
67
- return yield this.save(data, transactionManager);
76
+ return yield this.save(data, transactionManager, {
77
+ processObjectAllowedFieldsEnabled: processInputAllowedFieldsEnabled
78
+ });
68
79
  });
69
80
  }
70
- create(data, options) {
81
+ count(options, privateOptions) {
71
82
  return __awaiter(this, void 0, void 0, function* () {
72
- const actualOptions = Object.assign(options || {});
73
- const { forceTransaction, transactionManager } = actualOptions;
83
+ const { filters, forceTransaction, transactionManager, withDeleted = false } = options;
84
+ const actualPrivateOptions = privateOptions || {};
74
85
  if (!transactionManager && forceTransaction) {
75
86
  return this.repository.manager.transaction(tm => {
76
- return this.create(data, Object.assign(Object.assign({}, actualOptions), { transactionManager: tm }));
87
+ return this.count(Object.assign(Object.assign({}, options), { transactionManager: tm }), actualPrivateOptions);
77
88
  });
78
89
  }
79
- try {
80
- return yield this.save(data, transactionManager);
81
- }
82
- catch (e) {
83
- const error = e;
84
- if (error.code === rdb_entity_service_definitions_1.PostgresErrorCode.UniqueViolation) {
85
- const extractVariableName = new RegExp(/^Key \((.*)\)\=(.*)$/g);
86
- const result = extractVariableName.exec(error.detail);
87
- throw new core_1.ApplicationError(`${error.table}: ${result ? result[1] : 'a column value you have provided'} needs to be unique`);
88
- }
89
- throw e;
90
+ const { processFiltersAllowedFieldsEnabled } = actualPrivateOptions;
91
+ const entityName = this.repository.metadata.name;
92
+ const tableName = this.repository.metadata.name;
93
+ const queryBuilder = this.getRepository(transactionManager).createQueryBuilder(entityName);
94
+ const parsedFilters = (yield this.processObjectAllowedFields(filters, {
95
+ allowedFields: this.columNames,
96
+ isEnabled: processFiltersAllowedFieldsEnabled,
97
+ objectType: core_1.ProcessObjectAllowedFieldsType.Filters
98
+ }));
99
+ if (!Object.keys(parsedFilters).length) {
100
+ throw new core_1.ApplicationError('At least one filter field for counting is required.');
90
101
  }
102
+ const { where, include: includeFromFilters } = this.qb.parseFilters(tableName, parsedFilters);
103
+ const include = this.qb.parseRelations(tableName, [], includeFromFilters);
104
+ this.qb.buildQuery(queryBuilder, {
105
+ deletedColumnName: this.deletedColumnName,
106
+ include,
107
+ where,
108
+ withDeleted
109
+ });
110
+ return yield queryBuilder.getCount();
91
111
  });
92
112
  }
93
- count(options) {
113
+ create(data, options, privateOptions) {
94
114
  return __awaiter(this, void 0, void 0, function* () {
95
- const { filters, forceTransaction, transactionManager, withDeleted = false } = options;
115
+ const actualOptions = options || {};
116
+ const actualPrivateOptions = privateOptions || {};
117
+ const { forceTransaction, transactionManager } = actualOptions;
96
118
  if (!transactionManager && forceTransaction) {
97
119
  return this.repository.manager.transaction(tm => {
98
- return this.count(Object.assign(Object.assign({}, options), { transactionManager: tm }));
120
+ return this.create(data, Object.assign(Object.assign({}, actualOptions), { transactionManager: tm }), actualPrivateOptions);
99
121
  });
100
122
  }
101
- const entityName = this.repository.metadata.name;
102
- const tableName = this.repository.metadata.name;
103
- const queryBuilder = this.getRepository(transactionManager).createQueryBuilder(entityName);
104
- const { where, include: includeFromFilters } = this.qb.parseFilters(tableName, filters);
105
- const include = this.qb.parseRelations(tableName, [], includeFromFilters);
106
- this.qb.buildQuery(queryBuilder, { where, include, withDeleted });
107
- return yield queryBuilder.getCount();
123
+ return yield this.save(data, transactionManager, {
124
+ processObjectAllowedFieldsEnabled: actualPrivateOptions.processInputAllowedFieldsEnabled
125
+ });
108
126
  });
109
127
  }
110
- delete(options) {
128
+ delete(options, privateOptions) {
111
129
  return __awaiter(this, void 0, void 0, function* () {
112
- const { filters, forceTransaction, transactionManager, softDelete = true } = options;
130
+ const { filters, forceTransaction, returnOriginalItems, transactionManager, softDelete = true } = options;
131
+ const actualPrivateOptions = privateOptions || {};
113
132
  if (!transactionManager && forceTransaction) {
114
133
  return this.repository.manager.transaction(tm => {
115
- return this.delete(Object.assign(Object.assign({}, options), { transactionManager: tm }));
134
+ return this.delete(Object.assign(Object.assign({}, options), { transactionManager: tm }), actualPrivateOptions);
116
135
  });
117
136
  }
137
+ const { processFiltersAllowedFieldsEnabled } = actualPrivateOptions;
118
138
  const entityName = this.repository.metadata.name;
119
- const tableName = this.repository.metadata.tableName;
139
+ const tableName = this.repository.metadata.name;
140
+ const dataToReturn = {};
120
141
  const deleteType = softDelete ? 'softDelete' : 'delete';
121
142
  const queryBuilder = this.getRepository(transactionManager).createQueryBuilder(entityName)[deleteType]();
122
- const { where: parsedWhere, include } = this.qb.parseFilters(tableName, filters);
143
+ const parsedFilters = (yield this.processObjectAllowedFields(filters, {
144
+ allowedFields: this.columNames,
145
+ isEnabled: processFiltersAllowedFieldsEnabled,
146
+ objectType: core_1.ProcessObjectAllowedFieldsType.Filters
147
+ }));
148
+ if (!Object.keys(parsedFilters).length) {
149
+ throw new core_1.ApplicationError('At least one filter field for deletion is required.');
150
+ }
151
+ const { where: parsedWhere, include } = this.qb.parseFilters(tableName, parsedFilters);
123
152
  let where = {};
124
- if (Object.keys(include).length) {
125
- const findData = yield this.find({ filters, transactionManager });
153
+ if (Object.keys(include).length || returnOriginalItems) {
154
+ const findData = yield this.find({ filters: parsedFilters, transactionManager });
126
155
  const { field, value } = this.buildPrimaryKeyWhereClause(findData.items);
127
156
  where[field] = value;
157
+ dataToReturn.originalItems = findData.items;
128
158
  }
129
159
  else {
130
160
  where = parsedWhere;
131
161
  }
132
- this.qb.buildQuery(queryBuilder, { where });
162
+ this.qb.buildQuery(queryBuilder, { deletedColumnName: this.deletedColumnName, where });
133
163
  const result = yield queryBuilder.execute();
134
- return { count: typeof result.affected === 'number' ? result.affected : undefined };
164
+ return Object.assign(Object.assign({}, dataToReturn), { count: typeof result.affected === 'number' ? result.affected : undefined });
135
165
  });
136
166
  }
137
- find(options) {
167
+ find(options, privateOptions) {
138
168
  return __awaiter(this, void 0, void 0, function* () {
139
- const { filters, forceTransaction, page: optPage, perPage: optPerPage, findAll: optFindAll, include: optRelations, orderBy: optOrderBy, transactionManager, withDeleted = false } = options;
169
+ const { filters, forceTransaction, getTotalCount = true, page: optPage, perPage: optPerPage, findAll: optFindAll, include: optRelations, orderBy: optOrderBy, transactionManager, withDeleted = false } = options;
170
+ const actualPrivateOptions = privateOptions || {};
140
171
  if (!transactionManager && forceTransaction) {
141
172
  return this.repository.manager.transaction(tm => {
142
- return this.find(Object.assign(Object.assign({}, options), { transactionManager: tm }));
173
+ return this.find(Object.assign(Object.assign({}, options), { transactionManager: tm }), actualPrivateOptions);
143
174
  });
144
175
  }
145
176
  const page = optPage ? parseInt(optPage, 10) : 1;
@@ -147,13 +178,18 @@ class RDBEntityService extends core_1.PersistanceEntityService {
147
178
  const findAll = optFindAll === true || optFindAll === 'true';
148
179
  const findResults = { page: 1, perPage: 0, items: [], more: false };
149
180
  const entityName = this.repository.metadata.name;
181
+ const processedFilters = (yield this.processObjectAllowedFields(filters || {}, {
182
+ allowedFields: this.columNames,
183
+ isEnabled: actualPrivateOptions.processFiltersAllowedFieldsEnabled,
184
+ objectType: core_1.ProcessObjectAllowedFieldsType.Filters
185
+ }));
150
186
  const tableName = this.repository.metadata.name;
151
187
  const queryBuilder = this.getRepository(transactionManager).createQueryBuilder(entityName);
152
188
  let where = {};
153
189
  let include = {};
154
190
  let orderBy = [];
155
- if (filters) {
156
- const parsedFiltersData = this.qb.parseFilters(tableName, filters);
191
+ if (Object.keys(processedFilters).length) {
192
+ const parsedFiltersData = this.qb.parseFilters(tableName, processedFilters);
157
193
  where = Object.assign({}, parsedFiltersData.where);
158
194
  include = Object.assign({}, parsedFiltersData.include);
159
195
  }
@@ -163,7 +199,13 @@ class RDBEntityService extends core_1.PersistanceEntityService {
163
199
  include = Object.assign(Object.assign({}, parsedOrderByData.include), include);
164
200
  orderBy = [...parsedOrderByData.orderBy];
165
201
  }
166
- this.qb.buildQuery(queryBuilder, { where, include, orderBy, withDeleted });
202
+ this.qb.buildQuery(queryBuilder, {
203
+ deletedColumnName: this.deletedColumnName,
204
+ where,
205
+ include,
206
+ orderBy,
207
+ withDeleted
208
+ });
167
209
  if (!findAll) {
168
210
  queryBuilder.skip((page - 1) * perPage).take(perPage + 1);
169
211
  findResults.page = page;
@@ -173,26 +215,40 @@ class RDBEntityService extends core_1.PersistanceEntityService {
173
215
  if (findAll) {
174
216
  findResults.perPage = items.length;
175
217
  }
176
- else if (items.length === perPage + 1) {
177
- items.pop();
178
- findResults.more = true;
218
+ else {
219
+ if (items.length === perPage + 1) {
220
+ items.pop();
221
+ findResults.more = true;
222
+ }
223
+ if (getTotalCount) {
224
+ findResults.totalCount = yield this.count(Object.assign(Object.assign({}, options), { filters: processedFilters }));
225
+ }
179
226
  }
180
227
  findResults.items = items;
181
228
  return findResults;
182
229
  });
183
230
  }
184
- findOne(options) {
231
+ findOne(options, privateOptions) {
185
232
  return __awaiter(this, void 0, void 0, function* () {
186
233
  const { filters, forceTransaction, transactionManager, selectOperator, include: optRelations, orderBy: optOrderBy, withDeleted = false } = options;
234
+ const actualPrivateOptions = privateOptions || {};
187
235
  if (!transactionManager && forceTransaction) {
188
236
  return this.repository.manager.transaction(tm => {
189
- return this.findOne(Object.assign(Object.assign({}, options), { transactionManager: tm }));
237
+ return this.findOne(Object.assign(Object.assign({}, options), { transactionManager: tm }), actualPrivateOptions);
190
238
  });
191
239
  }
192
240
  const entityName = this.repository.metadata.name;
193
241
  const tableName = this.repository.metadata.name;
194
242
  const queryBuilder = this.getRepository(transactionManager).createQueryBuilder(entityName);
195
- const { where, include: includeFromFilters } = this.qb.parseFilters(tableName, filters, {
243
+ const parsedFilters = (yield this.processObjectAllowedFields(filters, {
244
+ allowedFields: this.columNames,
245
+ isEnabled: actualPrivateOptions.processFiltersAllowedFieldsEnabled,
246
+ objectType: core_1.ProcessObjectAllowedFieldsType.Filters
247
+ }));
248
+ if (!Object.keys(parsedFilters).length) {
249
+ throw new core_1.ApplicationError('At least one filter field is required for the findOne method.');
250
+ }
251
+ const { where, include: includeFromFilters } = this.qb.parseFilters(tableName, parsedFilters, {
196
252
  operator: selectOperator,
197
253
  isTopLevel: true
198
254
  });
@@ -202,7 +258,13 @@ class RDBEntityService extends core_1.PersistanceEntityService {
202
258
  const parsedOrderByData = this.qb.parseOrderBy(tableName, optOrderBy);
203
259
  orderBy = [...parsedOrderByData.orderBy];
204
260
  }
205
- this.qb.buildQuery(queryBuilder, { where, include, orderBy, withDeleted });
261
+ this.qb.buildQuery(queryBuilder, {
262
+ deletedColumnName: this.deletedColumnName,
263
+ where,
264
+ include,
265
+ orderBy,
266
+ withDeleted
267
+ });
206
268
  return yield queryBuilder.getOne();
207
269
  });
208
270
  }
@@ -258,45 +320,91 @@ class RDBEntityService extends core_1.PersistanceEntityService {
258
320
  }
259
321
  });
260
322
  }
261
- save(data, transactionManager) {
323
+ save(data, transactionManager, options) {
262
324
  return __awaiter(this, void 0, void 0, function* () {
263
- if (transactionManager) {
264
- return (yield transactionManager.save(this.repository.target, data));
325
+ const { columNames, repository } = this;
326
+ const { processObjectAllowedFieldsEnabled } = options || {};
327
+ const dataToSave = yield this.processObjectAllowedFields(data, {
328
+ allowedFields: columNames,
329
+ isEnabled: processObjectAllowedFieldsEnabled,
330
+ objectType: core_1.ProcessObjectAllowedFieldsType.Input
331
+ });
332
+ try {
333
+ if (transactionManager) {
334
+ return (yield transactionManager.save(repository.target, dataToSave));
335
+ }
336
+ return repository.save(dataToSave);
337
+ }
338
+ catch (e) {
339
+ const error = e;
340
+ if (error.code === rdb_entity_service_definitions_1.PostgresErrorCode.UniqueViolation) {
341
+ const extractVariableName = new RegExp(/^Key \((.*)\)\=(.*)$/g);
342
+ const result = extractVariableName.exec(error.detail);
343
+ throw new core_1.ApplicationError(`${error.table}: ${result ? result[1] : 'a column value you have provided'} needs to be unique`);
344
+ }
345
+ throw e;
265
346
  }
266
- return this.repository.save(data);
267
347
  });
268
348
  }
269
- update(data, options) {
349
+ update(data, options, privateOptions) {
270
350
  return __awaiter(this, void 0, void 0, function* () {
271
- const { filters, forceTransaction, returnData, transactionManager } = options;
351
+ const { columNames, repository } = this;
352
+ const { filters, forceTransaction, returnData, returnOriginalItems, transactionManager } = options;
353
+ const { processFiltersAllowedFieldsEnabled, processInputAllowedFieldsEnabled } = privateOptions || {};
272
354
  if (!transactionManager && forceTransaction) {
273
- return this.repository.manager.transaction(tm => {
274
- return this.update(data, Object.assign(Object.assign({}, options), { transactionManager: tm }));
355
+ return repository.manager.transaction(tm => {
356
+ return this.update(data, Object.assign(Object.assign({}, options), { transactionManager: tm }), privateOptions);
275
357
  });
276
358
  }
277
- const entityName = this.repository.metadata.name;
278
- const tableName = this.repository.metadata.tableName;
359
+ const dataToUpdate = (yield this.processObjectAllowedFields(data, {
360
+ allowedFields: columNames,
361
+ isEnabled: processInputAllowedFieldsEnabled,
362
+ objectType: core_1.ProcessObjectAllowedFieldsType.Input
363
+ }));
364
+ if (!Object.keys(dataToUpdate).length) {
365
+ throw new core_1.ApplicationError('At least one field for update is required.');
366
+ }
367
+ const entityName = repository.metadata.name;
368
+ const tableName = repository.metadata.name;
369
+ const processedFilters = (yield this.processObjectAllowedFields(filters, {
370
+ allowedFields: this.columNames,
371
+ isEnabled: processFiltersAllowedFieldsEnabled,
372
+ objectType: core_1.ProcessObjectAllowedFieldsType.Filters
373
+ }));
374
+ if (!Object.keys(processedFilters).length) {
375
+ throw new core_1.ApplicationError('At least one filter field for update is required.');
376
+ }
279
377
  const queryBuilder = this.getRepository(transactionManager)
280
378
  .createQueryBuilder(entityName)
281
379
  .update()
282
- .set(data);
283
- const { where: parsedWhere, include } = this.qb.parseFilters(tableName, filters);
380
+ .set(dataToUpdate);
381
+ const { where: parsedWhere, include } = this.qb.parseFilters(tableName, processedFilters);
382
+ let originalItems = [];
284
383
  let where = {};
285
- if (Object.keys(include).length) {
286
- const findData = yield this.find({ filters, transactionManager });
384
+ if (Object.keys(include).length || returnOriginalItems) {
385
+ const findData = yield this.find({ filters: processedFilters, transactionManager });
287
386
  const { field, value } = this.buildPrimaryKeyWhereClause(findData.items);
387
+ originalItems = findData.items;
288
388
  where[field] = value;
289
389
  }
290
390
  else {
291
391
  where = parsedWhere;
292
392
  }
293
- this.qb.buildQuery(queryBuilder, { where });
393
+ this.qb.buildQuery(queryBuilder, { deletedColumnName: this.deletedColumnName, where });
394
+ const dataToReturn = {};
395
+ if (returnOriginalItems) {
396
+ dataToReturn.originalItems = originalItems;
397
+ }
294
398
  if (returnData) {
295
399
  const result = yield queryBuilder.returning('*').execute();
296
- return { items: result.raw };
400
+ dataToReturn.count = result.raw.length;
401
+ dataToReturn.items = result.raw;
297
402
  }
298
- const result = yield queryBuilder.execute();
299
- return { count: typeof result.affected === 'number' ? result.affected : undefined };
403
+ else {
404
+ const result = yield queryBuilder.execute();
405
+ dataToReturn.count = typeof result.affected === 'number' ? result.affected : undefined;
406
+ }
407
+ return dataToReturn;
300
408
  });
301
409
  }
302
410
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rdb.entity.service.js","sourceRoot":"","sources":["../../src/entity/rdb.entity.service.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export * from './common/definitions';
2
- export * from './entityService';
3
- export * from './module';
2
+ export * from './entity';
3
+ export * from './ormQueryBuilder';
4
4
  export * from './repository';
5
5
  export * from './sqlQueryBuilder';
package/dist/index.js CHANGED
@@ -15,8 +15,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./common/definitions"), exports);
18
- __exportStar(require("./entityService"), exports);
19
- __exportStar(require("./module"), exports);
18
+ __exportStar(require("./entity"), exports);
19
+ __exportStar(require("./ormQueryBuilder"), exports);
20
20
  __exportStar(require("./repository"), exports);
21
21
  __exportStar(require("./sqlQueryBuilder"), exports);
22
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,uDAAqC;AACrC,kDAAgC;AAChC,2CAAyB;AACzB,+CAA6B;AAC7B,oDAAkC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,2CAAyB;AACzB,oDAAkC;AAClC,+CAA6B;AAC7B,oDAAkC"}
@@ -0,0 +1 @@
1
+ export * from './rdb.ormQueryBuilder';
@@ -14,6 +14,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./rdb.module.definitions"), exports);
18
- __exportStar(require("./rdb.module"), exports);
17
+ __exportStar(require("./rdb.ormQueryBuilder"), exports);
19
18
  //# sourceMappingURL=index.js.map