@node-c/persistance-redis 1.0.0-alpha6 → 1.0.0-alpha60

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.
@@ -1,7 +1,6 @@
1
1
  export declare enum Constants {
2
2
  DEFAULT_STORE_DELIMITER = "-",
3
3
  REDIS_CLIENT = "REDIS_CLIENT",
4
- REDIS_CLIENT_PERSISTANCE_MODULE_NAME = "REDIS_CLIENT_PERSISTANCE_MODULE_NAME",
5
4
  REDIS_CLIENT_STORE_SERVICE_SUFFIX = "_STORE_SERVICE",
6
5
  REDIS_REPOSITORY_SCHEMA = "REDIS_REPOSITORY_SCHEMA"
7
6
  }
@@ -5,7 +5,6 @@ var Constants;
5
5
  (function (Constants) {
6
6
  Constants["DEFAULT_STORE_DELIMITER"] = "-";
7
7
  Constants["REDIS_CLIENT"] = "REDIS_CLIENT";
8
- Constants["REDIS_CLIENT_PERSISTANCE_MODULE_NAME"] = "REDIS_CLIENT_PERSISTANCE_MODULE_NAME";
9
8
  Constants["REDIS_CLIENT_STORE_SERVICE_SUFFIX"] = "_STORE_SERVICE";
10
9
  Constants["REDIS_REPOSITORY_SCHEMA"] = "REDIS_REPOSITORY_SCHEMA";
11
10
  })(Constants || (exports.Constants = Constants = {}));
@@ -1 +1 @@
1
- {"version":3,"file":"common.constants.js","sourceRoot":"","sources":["../../../src/common/definitions/common.constants.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAWX;AAXD,WAAY,SAAS;IAEnB,0CAA6B,CAAA;IAE7B,0CAA6B,CAAA;IAE7B,0FAA6E,CAAA;IAE7E,iEAAoD,CAAA;IAEpD,gEAAmD,CAAA;AACrD,CAAC,EAXW,SAAS,yBAAT,SAAS,QAWpB"}
1
+ {"version":3,"file":"common.constants.js","sourceRoot":"","sources":["../../../src/common/definitions/common.constants.ts"],"names":[],"mappings":";;;AAAA,IAAY,SASX;AATD,WAAY,SAAS;IAEnB,0CAA6B,CAAA;IAE7B,0CAA6B,CAAA;IAE7B,iEAAoD,CAAA;IAEpD,gEAAmD,CAAA;AACrD,CAAC,EATW,SAAS,yBAAT,SAAS,QASpB"}
@@ -1,16 +1,19 @@
1
- import { PersistanceDeleteResult, PersistanceEntityService, PersistanceFindResults, PersistanceUpdateResult } from '@node-c/core';
2
- import { BulkCreateOptions, CreateOptions, DeleteOptions, FindOneOptions, FindOptions, UpdateOptions } from './redis.entity.service.definitions';
1
+ import { AppConfigCommonPersistanceNoSQLEntityServiceSettings, ConfigProviderService, PersistanceDeleteResult, PersistanceEntityService, PersistanceFindResults, PersistanceUpdateResult } from '@node-c/core';
2
+ import { BulkCreateOptions, BulkCreatePrivateOptions, CountOptions, CountPrivateOptions, CreateOptions, CreatePrivateOptions, DeleteOptions, DeletePrivateOptions, FindOneOptions, FindOnePrivateOptions, FindOptions, FindPrivateOptions, ServiceSaveOptions, UpdateOptions, UpdatePrivateOptions } from './redis.entity.service.definitions';
3
3
  import { RedisRepositoryService } from '../repository';
4
4
  import { RedisStoreService } from '../store';
5
5
  export declare class RedisEntityService<Entity extends object> extends PersistanceEntityService<Entity> {
6
+ protected configProvider: ConfigProviderService;
6
7
  protected repository: RedisRepositoryService<Entity>;
7
8
  protected store: RedisStoreService;
8
- constructor(repository: RedisRepositoryService<Entity>, store: RedisStoreService);
9
- bulkCreate(data: Entity[], options?: BulkCreateOptions): Promise<Entity[]>;
10
- create(data: Entity, options?: CreateOptions): Promise<Entity>;
11
- count(options: FindOptions): Promise<number | undefined>;
12
- delete(options: DeleteOptions): Promise<PersistanceDeleteResult>;
13
- find(options: FindOptions): Promise<PersistanceFindResults<Entity>>;
14
- findOne(options: FindOneOptions): Promise<Entity | null>;
15
- update(data: Entity, options: UpdateOptions): Promise<PersistanceUpdateResult<Entity>>;
9
+ protected settings: AppConfigCommonPersistanceNoSQLEntityServiceSettings;
10
+ constructor(configProvider: ConfigProviderService, repository: RedisRepositoryService<Entity>, store: RedisStoreService);
11
+ bulkCreate(data: Partial<Entity>[], options?: BulkCreateOptions, privateOptions?: BulkCreatePrivateOptions): Promise<Entity[]>;
12
+ count(options: CountOptions, privateOptions?: CountPrivateOptions): Promise<number | undefined>;
13
+ create(data: Partial<Entity>, options?: CreateOptions, privateOptions?: CreatePrivateOptions): Promise<Entity>;
14
+ delete(options: DeleteOptions, privateOptions?: DeletePrivateOptions): Promise<PersistanceDeleteResult<Entity>>;
15
+ find(options: FindOptions, privateOptions?: FindPrivateOptions): Promise<PersistanceFindResults<Entity>>;
16
+ findOne(options: FindOneOptions, privateOptions?: FindOnePrivateOptions): Promise<Entity | null>;
17
+ protected save<Data extends Partial<Entity> | Partial<Entity>[], ReturnData = unknown>(data: Data, options: ServiceSaveOptions): Promise<ReturnData>;
18
+ update(data: Entity, options: UpdateOptions, privateOptions?: UpdatePrivateOptions): Promise<PersistanceUpdateResult<Entity>>;
16
19
  }
@@ -1,4 +1,4 @@
1
- import { PersistanceCountOptions, PersistanceDeleteOptions, PersistanceFindOneOptions, PersistanceFindOptions, PersistanceUpdateOptions } from '@node-c/core';
1
+ import { PersistanceBulkCreatePrivateOptions, PersistanceCountOptions, PersistanceCountPrivateOptions, PersistanceCreatePrivateOptions, PersistanceDeleteOptions, PersistanceDeletePrivateOptions, PersistanceFindOneOptions, PersistanceFindOnePrivateOptions, PersistanceFindOptions, PersistanceFindPrivateOptions, PersistanceUpdateOptions, PersistanceUpdatePrivateOptions } from '@node-c/core';
2
2
  export interface BaseCreateOptions extends BaseOptions {
3
3
  ttl?: number;
4
4
  }
@@ -7,16 +7,38 @@ export interface BaseOptions {
7
7
  transactionId?: string;
8
8
  }
9
9
  export type BulkCreateOptions = BaseCreateOptions;
10
+ export interface BulkCreatePrivateOptions extends PersistanceBulkCreatePrivateOptions {
11
+ validate?: boolean;
12
+ }
10
13
  export interface CountOptions extends BaseOptions, Omit<PersistanceCountOptions, 'withDeleted'> {
11
14
  }
15
+ export type CountPrivateOptions = PersistanceCountPrivateOptions;
12
16
  export type CreateOptions = BaseCreateOptions;
17
+ export interface CreatePrivateOptions extends PersistanceCreatePrivateOptions {
18
+ validate?: boolean;
19
+ }
13
20
  export interface DeleteOptions extends BaseOptions, Omit<PersistanceDeleteOptions, 'softDelete'> {
14
21
  }
22
+ export type DeletePrivateOptions = PersistanceDeletePrivateOptions;
15
23
  export interface FindOneOptions extends BaseOptions, Omit<PersistanceFindOneOptions, 'include' | 'orderBy' | 'select' | 'selectOperator' | 'withDeleted'> {
24
+ }
25
+ export interface FindOnePrivateOptions extends PersistanceFindOnePrivateOptions {
16
26
  requirePrimaryKeys?: boolean;
17
27
  }
18
28
  export interface FindOptions extends BaseOptions, Omit<PersistanceFindOptions, 'include' | 'orderBy' | 'select' | 'selectOperator' | 'withDeleted'> {
29
+ }
30
+ export interface FindPrivateOptions extends PersistanceFindPrivateOptions {
19
31
  requirePrimaryKeys?: boolean;
20
32
  }
33
+ export interface ServiceSaveOptions {
34
+ delete?: boolean;
35
+ generatePrimaryKeys: boolean;
36
+ processObjectAllowedFieldsEnabled?: boolean;
37
+ transactionId?: string;
38
+ validate?: boolean;
39
+ }
21
40
  export interface UpdateOptions extends BaseCreateOptions, PersistanceUpdateOptions {
22
41
  }
42
+ export interface UpdatePrivateOptions extends PersistanceUpdatePrivateOptions {
43
+ validate?: boolean;
44
+ }
@@ -8,112 +8,222 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.RedisEntityService = void 0;
13
16
  const core_1 = require("@node-c/core");
14
- const ramda_1 = require("ramda");
17
+ const lodash_1 = __importDefault(require("lodash"));
15
18
  class RedisEntityService extends core_1.PersistanceEntityService {
16
- constructor(repository, store) {
17
- super();
19
+ constructor(configProvider, repository, store) {
20
+ super(configProvider, repository.persistanceModuleName);
21
+ this.configProvider = configProvider;
18
22
  this.repository = repository;
19
23
  this.store = store;
20
24
  }
21
- bulkCreate(data, options) {
25
+ bulkCreate(data, options, privateOptions) {
22
26
  return __awaiter(this, void 0, void 0, function* () {
23
- const { repository, store } = this;
24
- const actualOptions = Object.assign(options || {});
27
+ const { store } = this;
28
+ const actualOptions = options || {};
29
+ const actualPrivateOptions = privateOptions || {};
25
30
  const { forceTransaction, transactionId } = actualOptions;
26
31
  if (!transactionId && forceTransaction) {
27
32
  const tId = store.createTransaction();
28
- const result = yield this.bulkCreate(data, Object.assign(Object.assign({}, actualOptions), { transactionId: tId }));
33
+ const result = yield this.bulkCreate(data, Object.assign(Object.assign({}, actualOptions), { transactionId: tId }), actualPrivateOptions);
29
34
  yield store.endTransaction(tId);
30
35
  return result;
31
36
  }
32
- return (yield repository.save(data, { transactionId }));
37
+ const { processInputAllowedFieldsEnabled, validate } = actualPrivateOptions;
38
+ return yield this.save(data, {
39
+ generatePrimaryKeys: true,
40
+ processObjectAllowedFieldsEnabled: processInputAllowedFieldsEnabled,
41
+ transactionId,
42
+ validate
43
+ });
33
44
  });
34
45
  }
35
- create(data, options) {
46
+ count(options, privateOptions) {
36
47
  return __awaiter(this, void 0, void 0, function* () {
37
- const { repository, store } = this;
38
- const actualOptions = Object.assign(options || {});
48
+ const { repository } = this;
49
+ const { filters, findAll } = options;
50
+ const { allowCountWithoutFilters, processFiltersAllowedFieldsEnabled } = privateOptions || {};
51
+ const parsedFilters = (yield this.processObjectAllowedFields(filters || {}, {
52
+ allowedFields: repository.columnNames,
53
+ isEnabled: processFiltersAllowedFieldsEnabled,
54
+ objectType: core_1.ProcessObjectAllowedFieldsType.Filters
55
+ }));
56
+ if (!allowCountWithoutFilters && !Object.keys(parsedFilters).length) {
57
+ throw new core_1.ApplicationError('At least one filter field for counting is required.');
58
+ }
59
+ return (yield repository.find({ filters: parsedFilters, findAll, individualSearch: false })).items.length;
60
+ });
61
+ }
62
+ create(data, options, privateOptions) {
63
+ return __awaiter(this, void 0, void 0, function* () {
64
+ const { store } = this;
65
+ const actualOptions = options || {};
66
+ const actualPrivateOptions = privateOptions || {};
39
67
  const { forceTransaction, transactionId } = actualOptions;
40
68
  if (!transactionId && forceTransaction) {
41
69
  const tId = store.createTransaction();
42
- const result = yield this.create(data, Object.assign(Object.assign({}, actualOptions), { transactionId: tId }));
70
+ const result = yield this.create(data, Object.assign(Object.assign({}, actualOptions), { transactionId: tId }), actualPrivateOptions);
43
71
  yield store.endTransaction(tId);
44
72
  return result;
45
73
  }
46
- return (yield repository.save(data, { transactionId }))[0];
74
+ const { processInputAllowedFieldsEnabled, validate } = actualPrivateOptions;
75
+ return yield this.save(data instanceof Array ? data[0] : data, {
76
+ generatePrimaryKeys: false,
77
+ processObjectAllowedFieldsEnabled: processInputAllowedFieldsEnabled,
78
+ transactionId,
79
+ validate
80
+ });
47
81
  });
48
82
  }
49
- count(options) {
50
- return __awaiter(this, void 0, void 0, function* () {
51
- const { repository } = this;
52
- const { filters, findAll } = options;
53
- return (yield repository.find({ filters, findAll })).length;
54
- });
55
- }
56
- delete(options) {
83
+ delete(options, privateOptions) {
57
84
  return __awaiter(this, void 0, void 0, function* () {
58
85
  const { repository, store } = this;
59
- const { filters, forceTransaction, transactionId } = options;
86
+ const { filters, forceTransaction, returnOriginalItems, transactionId } = options;
87
+ const actualPrivateOptions = privateOptions || {};
60
88
  if (!transactionId && forceTransaction) {
61
89
  const tId = store.createTransaction();
62
- const result = yield this.delete(Object.assign(Object.assign({}, options), { transactionId: tId }));
90
+ const result = yield this.delete(Object.assign(Object.assign({}, options), { transactionId: tId }), actualPrivateOptions);
63
91
  yield store.endTransaction(tId);
64
92
  return result;
65
93
  }
66
- const { items: itemsToDelete } = yield this.find({ filters, findAll: true, requirePrimaryKeys: true });
67
- const results = yield repository.save(itemsToDelete, { delete: true, transactionId });
68
- return { count: results.length };
94
+ const { processFiltersAllowedFieldsEnabled, requirePrimaryKeys = true } = actualPrivateOptions;
95
+ const parsedFilters = (yield this.processObjectAllowedFields(filters, {
96
+ allowedFields: repository.columnNames,
97
+ isEnabled: processFiltersAllowedFieldsEnabled,
98
+ objectType: core_1.ProcessObjectAllowedFieldsType.Filters
99
+ }));
100
+ if (!Object.keys(parsedFilters).length) {
101
+ throw new core_1.ApplicationError('At least one filter field for deleting data is required.');
102
+ }
103
+ const { items: itemsToDelete } = yield this.find({ filters, findAll: true }, { requirePrimaryKeys });
104
+ const results = yield this.save(itemsToDelete, {
105
+ delete: true,
106
+ generatePrimaryKeys: false,
107
+ transactionId
108
+ });
109
+ const dataToReturn = { count: results.length };
110
+ if (returnOriginalItems) {
111
+ dataToReturn.originalItems = itemsToDelete;
112
+ }
113
+ return dataToReturn;
69
114
  });
70
115
  }
71
- find(options) {
116
+ find(options, privateOptions) {
72
117
  return __awaiter(this, void 0, void 0, function* () {
73
- const { filters, page: optPage, perPage: optPerPage, findAll: optFindAll } = options;
118
+ const { repository } = this;
119
+ const { filters, getTotalCount = true, individualSearch, page: optPage, perPage: optPerPage, findAll: optFindAll } = options;
120
+ const { processFiltersAllowedFieldsEnabled, requirePrimaryKeys } = privateOptions || {};
74
121
  const page = optPage ? parseInt(optPage, 10) : 1;
75
122
  const perPage = optPerPage ? parseInt(optPerPage, 10) : 10;
76
123
  const findAll = optFindAll === true || optFindAll === 'true';
77
124
  const findResults = { page: 1, perPage: 0, items: [], more: false };
125
+ const parsedFilters = (yield this.processObjectAllowedFields(filters || {}, {
126
+ allowedFields: repository.columnNames,
127
+ isEnabled: processFiltersAllowedFieldsEnabled,
128
+ objectType: core_1.ProcessObjectAllowedFieldsType.Filters
129
+ }));
78
130
  if (!findAll) {
79
131
  findResults.page = page;
80
132
  findResults.perPage = perPage;
81
133
  }
82
- const items = yield this.repository.find({ filters, findAll, page, perPage });
134
+ const { items, more } = yield repository.find({ filters: parsedFilters, findAll, individualSearch, page, perPage }, { requirePrimaryKeys });
83
135
  if (findAll) {
84
136
  findResults.perPage = items.length;
85
137
  }
86
- else if (items.length === perPage + 1) {
87
- items.pop();
88
- findResults.more = true;
138
+ else {
139
+ findResults.more = more;
140
+ if (getTotalCount) {
141
+ findResults.totalCount = yield this.count(options, { allowCountWithoutFilters: true });
142
+ }
89
143
  }
90
144
  findResults.items = items;
91
145
  return findResults;
92
146
  });
93
147
  }
94
- findOne(options) {
148
+ findOne(options, privateOptions) {
95
149
  return __awaiter(this, void 0, void 0, function* () {
96
150
  const { filters } = options;
97
- const items = yield this.repository.find({ filters, page: 1, perPage: 1 });
98
- return items[0] || null;
151
+ const { processFiltersAllowedFieldsEnabled, requirePrimaryKeys } = privateOptions || {};
152
+ const parsedFilters = (yield this.processObjectAllowedFields(filters, {
153
+ allowedFields: this.repository.columnNames,
154
+ isEnabled: processFiltersAllowedFieldsEnabled,
155
+ objectType: core_1.ProcessObjectAllowedFieldsType.Filters
156
+ }));
157
+ if (!Object.keys(parsedFilters).length) {
158
+ throw new core_1.ApplicationError('At least one filter field is required for the findOne method.');
159
+ }
160
+ const result = yield this.repository.find({ filters, individualSearch: true, page: 1, perPage: 1 }, { requirePrimaryKeys });
161
+ return result.items[0] || null;
99
162
  });
100
163
  }
101
- update(data, options) {
164
+ save(data, options) {
102
165
  return __awaiter(this, void 0, void 0, function* () {
103
- const { repository, store } = this;
104
- const { filters, forceTransaction, transactionId } = options;
166
+ const { repository, settings } = this;
167
+ const { validationSettings } = settings;
168
+ const { delete: optDelete, generatePrimaryKeys, processObjectAllowedFieldsEnabled, transactionId, validate } = options || {};
169
+ if (optDelete) {
170
+ return (yield repository.save(data, {
171
+ delete: true,
172
+ generatePrimaryKeys: false,
173
+ transactionId,
174
+ validate: false
175
+ }));
176
+ }
177
+ const dataToSave = yield this.processObjectAllowedFields(data, {
178
+ allowedFields: repository.columnNames,
179
+ isEnabled: processObjectAllowedFieldsEnabled,
180
+ objectType: core_1.ProcessObjectAllowedFieldsType.Input
181
+ });
182
+ return (yield repository.save(dataToSave, {
183
+ generatePrimaryKeys,
184
+ transactionId,
185
+ validate: typeof validate !== 'undefined' ? validate : !!(validationSettings === null || validationSettings === void 0 ? void 0 : validationSettings.isEnabled)
186
+ }));
187
+ });
188
+ }
189
+ update(data, options, privateOptions) {
190
+ return __awaiter(this, void 0, void 0, function* () {
191
+ const { store } = this;
192
+ const { filters, forceTransaction, returnData, returnOriginalItems, transactionId } = options;
193
+ const actualPrivateOptions = privateOptions || {};
105
194
  if (!transactionId && forceTransaction) {
106
195
  const tId = store.createTransaction();
107
- const result = yield this.update(data, Object.assign(Object.assign({}, options), { transactionId: tId }));
196
+ const result = yield this.update(data, Object.assign(Object.assign({}, options), { transactionId: tId }), actualPrivateOptions);
108
197
  yield store.endTransaction(tId);
109
198
  return result;
110
199
  }
111
- const itemToUpdate = yield this.findOne({ filters, requirePrimaryKeys: true });
112
- if (!itemToUpdate) {
113
- return { count: 0, items: [] };
200
+ const { processFiltersAllowedFieldsEnabled, processInputAllowedFieldsEnabled, requirePrimaryKeys = true, validate } = actualPrivateOptions;
201
+ const dataToReturn = {};
202
+ const { items: itemsToUpdate } = yield this.find({ filters, findAll: true }, { processFiltersAllowedFieldsEnabled, requirePrimaryKeys });
203
+ if (!itemsToUpdate.length) {
204
+ dataToReturn.count = 0;
205
+ if (returnData) {
206
+ dataToReturn.items = [];
207
+ }
208
+ if (returnOriginalItems) {
209
+ dataToReturn.originalItems = [];
210
+ }
211
+ return dataToReturn;
212
+ }
213
+ const updateResult = yield this.save(itemsToUpdate.map(item => lodash_1.default.merge(item, data)), {
214
+ generatePrimaryKeys: false,
215
+ processObjectAllowedFieldsEnabled: processInputAllowedFieldsEnabled,
216
+ transactionId,
217
+ validate
218
+ });
219
+ dataToReturn.count = updateResult.length;
220
+ if (returnData) {
221
+ dataToReturn.items = updateResult;
222
+ }
223
+ if (returnOriginalItems) {
224
+ dataToReturn.originalItems = itemsToUpdate;
114
225
  }
115
- const updateResult = yield repository.save((0, ramda_1.mergeDeepRight)(itemToUpdate, data), { transactionId });
116
- return { count: updateResult.length, items: updateResult };
226
+ return dataToReturn;
117
227
  });
118
228
  }
119
229
  }
@@ -1 +1 @@
1
- {"version":3,"file":"redis.entity.service.js","sourceRoot":"","sources":["../../src/entityService/redis.entity.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"redis.entity.service.js","sourceRoot":"","sources":["../../src/entityService/redis.entity.service.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { ModuleMetadata } from '@nestjs/common';
2
2
  import { GenericObject } from '@node-c/core';
3
3
  export interface RedisModuleOptions {
4
+ entityModuleRegisterOptions?: unknown;
4
5
  exports?: ModuleMetadata['exports'];
5
6
  folderData: GenericObject<unknown>;
6
7
  imports?: {
@@ -11,4 +12,5 @@ export interface RedisModuleOptions {
11
12
  moduleClass: unknown;
12
13
  moduleName: string;
13
14
  providers?: ModuleMetadata['providers'];
15
+ registerOptionsPerEntityModule?: GenericObject;
14
16
  }
@@ -7,7 +7,10 @@ class RedisModule {
7
7
  static register(options) {
8
8
  const { folderData, imports: additionalImports, moduleClass, moduleName } = options;
9
9
  const { atEnd: importsAtEnd, postStore: importsPostStore, preStore: importsPreStore } = additionalImports || {};
10
- const { modules } = (0, core_1.loadDynamicModules)(folderData);
10
+ const { modules } = (0, core_1.loadDynamicModules)(folderData, {
11
+ moduleRegisterOptions: options.entityModuleRegisterOptions,
12
+ registerOptionsPerModule: options.registerOptionsPerEntityModule
13
+ });
11
14
  return {
12
15
  global: true,
13
16
  module: moduleClass,
@@ -1 +1 @@
1
- {"version":3,"file":"redis.module.js","sourceRoot":"","sources":["../../src/module/redis.module.ts"],"names":[],"mappings":";;;AAEA,uCAAkD;AAIlD,oCAA4C;AAE5C,MAAa,WAAW;IACtB,MAAM,CAAC,QAAQ,CAAC,OAA2B;QACzC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;QACpF,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,iBAAiB,IAAI,EAAE,CAAC;QAChH,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,yBAAkB,EAAC,UAAU,CAAC,CAAC;QACnD,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,WAAsC;YAC9C,OAAO,EAAE;gBACP,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC;gBAC1B,wBAAgB,CAAC,QAAQ,CAAC,EAAE,qBAAqB,EAAE,UAAU,EAAE,CAAC;gBAChE,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC;gBAC3B,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;gBAClB,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;aACxB;YACD,SAAS,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;YACzC,OAAO,EAAE,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;SAC1D,CAAC;IACJ,CAAC;CACF;AAnBD,kCAmBC"}
1
+ {"version":3,"file":"redis.module.js","sourceRoot":"","sources":["../../src/module/redis.module.ts"],"names":[],"mappings":";;;AAEA,uCAAkD;AAIlD,oCAA4C;AAE5C,MAAa,WAAW;IACtB,MAAM,CAAC,QAAQ,CAAC,OAA2B;QACzC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;QACpF,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,iBAAiB,IAAI,EAAE,CAAC;QAChH,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,yBAAkB,EAAC,UAAU,EAAE;YACjD,qBAAqB,EAAE,OAAO,CAAC,2BAA2B;YAC1D,wBAAwB,EAAE,OAAO,CAAC,8BAA8B;SACjE,CAAC,CAAC;QACH,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,WAAsC;YAC9C,OAAO,EAAE;gBACP,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC;gBAC1B,wBAAgB,CAAC,QAAQ,CAAC,EAAE,qBAAqB,EAAE,UAAU,EAAE,CAAC;gBAChE,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC;gBAC3B,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;gBAClB,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;aACxB;YACD,SAAS,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;YACzC,OAAO,EAAE,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;SAC1D,CAAC;IACJ,CAAC;CACF;AAtBD,kCAsBC"}
@@ -1,27 +1,46 @@
1
1
  import { GenericObject } from '@node-c/core';
2
+ import { ValidationSchema } from 'class-validator';
2
3
  export interface EntitySchema {
3
4
  columns: {
4
5
  [columnName: string]: {
5
6
  generated?: boolean;
6
7
  isCreationDate?: boolean;
7
8
  isDeletionDate?: boolean;
9
+ isInnerPrimary?: boolean;
8
10
  isUpdateDate?: boolean;
9
11
  primary?: boolean;
10
12
  primaryOrder?: number;
11
13
  type?: EntitySchemaColumnType;
14
+ validationProperties?: ValidationSchema['properties'][''];
12
15
  };
13
16
  };
17
+ isArray?: boolean;
14
18
  name: string;
19
+ nestedObjectContainerPath?: string;
15
20
  paranoid?: boolean;
21
+ storeKey: string;
16
22
  }
17
23
  export declare enum EntitySchemaColumnType {
24
+ Array = "array",
25
+ Boolean = "boolean",
18
26
  Integer = "integer",
27
+ Object = "object",
19
28
  String = "string",
20
29
  TimestampTz = "timestampTz",
21
30
  UUIDV4 = "uuidv4"
22
31
  }
32
+ export interface FilterItemOptions {
33
+ keysToSkip?: GenericObject<boolean>;
34
+ skippableKeysToForceCheck?: GenericObject<boolean>;
35
+ }
36
+ export interface GetValuesFromResultsOptions {
37
+ filters?: GenericObject<unknown>;
38
+ flattenArray?: boolean;
39
+ hasNonPrimaryKeyFilters?: boolean;
40
+ primaryKeyFiltersToForceCheck?: GenericObject<boolean>;
41
+ }
23
42
  export interface PrepareOptions {
24
- generatePrimaryKeys?: boolean;
43
+ generatePrimaryKeys: boolean;
25
44
  onConflict?: SaveOptionsOnConflict;
26
45
  validate?: boolean;
27
46
  }
@@ -30,18 +49,23 @@ export interface RedisRepositoryModuleOptions {
30
49
  schema: EntitySchema;
31
50
  }
32
51
  export interface RepositoryFindOptions {
33
- exactSearch?: boolean;
34
52
  filters?: GenericObject<unknown>;
35
53
  findAll?: boolean;
54
+ individualSearch?: boolean;
36
55
  page?: number;
37
56
  perPage?: number;
38
57
  withValues?: boolean;
39
58
  }
59
+ export interface RepositoryFindPrivateOptions {
60
+ requirePrimaryKeys?: boolean;
61
+ }
40
62
  export interface SaveOptions {
41
63
  delete?: boolean;
64
+ generatePrimaryKeys: boolean;
42
65
  onConflict?: SaveOptionsOnConflict;
43
66
  transactionId?: string;
44
67
  ttl?: number;
68
+ validate?: boolean;
45
69
  }
46
70
  export declare enum SaveOptionsOnConflict {
47
71
  DoNothing = "doNothing",
@@ -3,7 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SaveOptionsOnConflict = exports.EntitySchemaColumnType = void 0;
4
4
  var EntitySchemaColumnType;
5
5
  (function (EntitySchemaColumnType) {
6
+ EntitySchemaColumnType["Array"] = "array";
7
+ EntitySchemaColumnType["Boolean"] = "boolean";
6
8
  EntitySchemaColumnType["Integer"] = "integer";
9
+ EntitySchemaColumnType["Object"] = "object";
7
10
  EntitySchemaColumnType["String"] = "string";
8
11
  EntitySchemaColumnType["TimestampTz"] = "timestampTz";
9
12
  EntitySchemaColumnType["UUIDV4"] = "uuidv4";
@@ -1 +1 @@
1
- {"version":3,"file":"redis.repository.definitions.js","sourceRoot":"","sources":["../../src/repository/redis.repository.definitions.ts"],"names":[],"mappings":";;;AAkBA,IAAY,sBASX;AATD,WAAY,sBAAsB;IAEhC,6CAAmB,CAAA;IAEnB,2CAAiB,CAAA;IAEjB,qDAA2B,CAAA;IAE3B,2CAAiB,CAAA;AACnB,CAAC,EATW,sBAAsB,sCAAtB,sBAAsB,QASjC;AA6BD,IAAY,qBAOX;AAPD,WAAY,qBAAqB;IAE/B,gDAAuB,CAAA;IAEvB,kDAAyB,CAAA;IAEzB,0CAAiB,CAAA;AACnB,CAAC,EAPW,qBAAqB,qCAArB,qBAAqB,QAOhC"}
1
+ {"version":3,"file":"redis.repository.definitions.js","sourceRoot":"","sources":["../../src/repository/redis.repository.definitions.ts"],"names":[],"mappings":";;;AA2BA,IAAY,sBAeX;AAfD,WAAY,sBAAsB;IAEhC,yCAAe,CAAA;IAEf,6CAAmB,CAAA;IAEnB,6CAAmB,CAAA;IAEnB,2CAAiB,CAAA;IAEjB,2CAAiB,CAAA;IAEjB,qDAA2B,CAAA;IAE3B,2CAAiB,CAAA;AACnB,CAAC,EAfW,sBAAsB,sCAAtB,sBAAsB,QAejC;AA+CD,IAAY,qBAOX;AAPD,WAAY,qBAAqB;IAE/B,gDAAuB,CAAA;IAEvB,kDAAyB,CAAA;IAEzB,0CAAiB,CAAA;AACnB,CAAC,EAPW,qBAAqB,qCAArB,qBAAqB,QAOhC"}
@@ -9,6 +9,7 @@ var RedisRepositoryModule_1;
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.RedisRepositoryModule = void 0;
11
11
  const common_1 = require("@nestjs/common");
12
+ const core_1 = require("@node-c/core");
12
13
  const redis_repository_service_1 = require("./redis.repository.service");
13
14
  const definitions_1 = require("../common/definitions");
14
15
  const store_1 = require("../store");
@@ -23,7 +24,7 @@ let RedisRepositoryModule = RedisRepositoryModule_1 = class RedisRepositoryModul
23
24
  provide: definitions_1.Constants.REDIS_REPOSITORY_SCHEMA,
24
25
  useValue: schema
25
26
  },
26
- { provide: definitions_1.Constants.REDIS_CLIENT_PERSISTANCE_MODULE_NAME, useValue: persistanceModuleName },
27
+ { provide: core_1.Constants.PERSISTANCE_MODULE_NAME, useValue: persistanceModuleName },
27
28
  {
28
29
  provide: store_1.RedisStoreService,
29
30
  useFactory: (redisStoreService) => redisStoreService,
@@ -1 +1 @@
1
- {"version":3,"file":"redis.repository.module.js","sourceRoot":"","sources":["../../src/repository/redis.repository.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAuD;AAGvD,yEAAoE;AAEpE,uDAAkD;AAClD,oCAA6C;AAGtC,IAAM,qBAAqB,6BAA3B,MAAM,qBAAqB;IAChC,MAAM,CAAC,QAAQ,CAAS,OAAqC;QAC3D,MAAM,EAAE,qBAAqB,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAClD,OAAO;YACL,MAAM,EAAE,uBAAqB;YAC7B,OAAO,EAAE,EAAE;YACX,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,uBAAS,CAAC,uBAAuB;oBAC1C,QAAQ,EAAE,MAAM;iBACjB;gBACD,EAAE,OAAO,EAAE,uBAAS,CAAC,oCAAoC,EAAE,QAAQ,EAAE,qBAAqB,EAAE;gBAC5F;oBACE,OAAO,EAAE,yBAAiB;oBAC1B,UAAU,EAAE,CAAC,iBAAoC,EAAE,EAAE,CAAC,iBAAiB;oBACvE,MAAM,EAAE,CAAC,GAAG,qBAAqB,GAAG,uBAAS,CAAC,iCAAiC,EAAE,CAAC;iBACnF;gBACD,CAAA,iDAA8B,CAAA;aAC/B;YACD,OAAO,EAAE,CAAC,CAAA,iDAA8B,CAAA,EAAE,yBAAiB,CAAC;SAC7D,CAAC;IACJ,CAAC;CACF,CAAA;AAtBY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,qBAAqB,CAsBjC"}
1
+ {"version":3,"file":"redis.repository.module.js","sourceRoot":"","sources":["../../src/repository/redis.repository.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAuD;AAEvD,uCAA0D;AAG1D,yEAAoE;AAEpE,uDAAkD;AAClD,oCAA6C;AAGtC,IAAM,qBAAqB,6BAA3B,MAAM,qBAAqB;IAChC,MAAM,CAAC,QAAQ,CAAS,OAAqC;QAC3D,MAAM,EAAE,qBAAqB,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAClD,OAAO;YACL,MAAM,EAAE,uBAAqB;YAC7B,OAAO,EAAE,EAAE;YACX,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,uBAAS,CAAC,uBAAuB;oBAC1C,QAAQ,EAAE,MAAM;iBACjB;gBACD,EAAE,OAAO,EAAE,gBAAa,CAAC,uBAAuB,EAAE,QAAQ,EAAE,qBAAqB,EAAE;gBACnF;oBACE,OAAO,EAAE,yBAAiB;oBAC1B,UAAU,EAAE,CAAC,iBAAoC,EAAE,EAAE,CAAC,iBAAiB;oBACvE,MAAM,EAAE,CAAC,GAAG,qBAAqB,GAAG,uBAAS,CAAC,iCAAiC,EAAE,CAAC;iBACnF;gBACD,CAAA,iDAA8B,CAAA;aAC/B;YACD,OAAO,EAAE,CAAC,CAAA,iDAA8B,CAAA,EAAE,yBAAiB,CAAC;SAC7D,CAAC;IACJ,CAAC;CACF,CAAA;AAtBY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,qBAAqB,CAsBjC"}
@@ -1,16 +1,36 @@
1
- import { ConfigProviderService } from '@node-c/core';
2
- import { EntitySchema, PrepareOptions, RepositoryFindOptions, SaveOptions } from './redis.repository.definitions';
1
+ import { AppConfigCommonPersistanceNoSQLValidationSettings, ConfigProviderService, GenericObject } from '@node-c/core';
2
+ import { ValidationSchema } from 'class-validator';
3
+ import { EntitySchema, FilterItemOptions, GetValuesFromResultsOptions, PrepareOptions, RepositoryFindOptions, RepositoryFindPrivateOptions, SaveOptions } from './redis.repository.definitions';
3
4
  import { RedisStoreService } from '../store';
4
5
  export declare class RedisRepositoryService<Entity> {
5
6
  protected configProvider: ConfigProviderService;
6
- protected persistanceModuleName: string;
7
+ protected _persistanceModuleName: string;
7
8
  protected schema: EntitySchema;
8
9
  protected store: RedisStoreService;
10
+ protected _columnNames: string[];
11
+ protected _innerPrimaryKeys: string[];
12
+ protected _innerPrimaryKeysMap: GenericObject<boolean>;
13
+ protected _primaryKeys: string[];
14
+ protected _primaryKeysMap: GenericObject<boolean>;
9
15
  protected defaultTTL?: number;
10
- protected primaryKeys: string[];
16
+ protected defaultIndividualSearchEnabled: boolean;
17
+ protected experimentalDeletionEnabled: boolean;
11
18
  protected storeDelimiter: string;
12
- constructor(configProvider: ConfigProviderService, persistanceModuleName: string, schema: EntitySchema, store: RedisStoreService);
13
- find<ResultItem extends Entity | string = Entity>(options: RepositoryFindOptions): Promise<ResultItem[]>;
19
+ protected validationSchemaProperties: ValidationSchema['properties'];
20
+ protected validationSettings: AppConfigCommonPersistanceNoSQLValidationSettings;
21
+ get columnNames(): string[];
22
+ get innerPrimaryKeys(): string[];
23
+ get innerPrimaryKeysMap(): GenericObject<boolean>;
24
+ get persistanceModuleName(): string;
25
+ get primaryKeys(): string[];
26
+ get primaryKeysMap(): GenericObject<boolean>;
27
+ constructor(configProvider: ConfigProviderService, _persistanceModuleName: string, schema: EntitySchema, store: RedisStoreService);
28
+ find<ResultItem extends Entity | string = Entity>(options: RepositoryFindOptions, privateOptions?: RepositoryFindPrivateOptions): Promise<{
29
+ items: ResultItem[];
30
+ more: boolean;
31
+ }>;
32
+ protected filterItem<Item>(item: Item, filters: GenericObject<unknown>, options?: FilterItemOptions): boolean;
33
+ protected getValuesFromResults<ResultItem>(inputData: ResultItem[], options?: GetValuesFromResultsOptions): ResultItem[];
14
34
  protected prepare(data: Entity, options?: PrepareOptions): Promise<{
15
35
  data: Entity;
16
36
  storeEntityKey: string;