@node-c/persistance-redis 1.0.0-alpha3 → 1.0.0-alpha31

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.
@@ -35,35 +35,59 @@ const redis_repository_definitions_1 = require("./redis.repository.definitions")
35
35
  const definitions_1 = require("../common/definitions");
36
36
  const store_1 = require("../store");
37
37
  let RedisRepositoryService = class RedisRepositoryService {
38
- constructor(configProvider, persistanceModuleName, schema, store) {
38
+ get columnNames() {
39
+ return this._columnNames;
40
+ }
41
+ get persistanceModuleName() {
42
+ return this._persistanceModuleName;
43
+ }
44
+ get primaryKeys() {
45
+ return this._primaryKeys;
46
+ }
47
+ constructor(configProvider, _persistanceModuleName, schema, store) {
39
48
  this.configProvider = configProvider;
40
- this.persistanceModuleName = persistanceModuleName;
49
+ this._persistanceModuleName = _persistanceModuleName;
41
50
  this.schema = schema;
42
51
  this.store = store;
43
- const { storeDelimiter } = configProvider.config.persistance[persistanceModuleName];
52
+ const { defaultTTL, storeDelimiter, settingsPerEntity } = configProvider.config.persistance[_persistanceModuleName];
44
53
  const { columns, name: entityName } = schema;
54
+ const columnNames = [];
45
55
  const primaryKeys = [];
56
+ const validationSchemaProperties = {};
57
+ this.defaultTTL = (settingsPerEntity === null || settingsPerEntity === void 0 ? void 0 : settingsPerEntity[entityName].ttl) || defaultTTL;
46
58
  for (const columnName in columns) {
47
- const { primary, primaryOrder } = columns[columnName];
59
+ const { primary, primaryOrder, validationProperties } = columns[columnName];
60
+ columnNames.push(columnName);
48
61
  if (primary) {
49
62
  if (typeof primaryOrder === 'undefined') {
50
63
  throw new core_1.ApplicationError(`At schema "${entityName}", column "${columnName}": the field "primaryOrder" is required for primary key columns.`);
51
64
  }
52
65
  primaryKeys.push(columnName);
53
66
  }
67
+ if (validationProperties) {
68
+ validationSchemaProperties[columnName] = validationProperties;
69
+ }
54
70
  }
55
- this.primaryKeys = primaryKeys.sort((columnName0, columnName1) => columns[columnName0].primaryOrder - columns[columnName1].primaryOrder);
71
+ this._columnNames = columnNames;
72
+ this._primaryKeys = primaryKeys.sort((columnName0, columnName1) => columns[columnName0].primaryOrder - columns[columnName1].primaryOrder);
56
73
  this.storeDelimiter = storeDelimiter || definitions_1.Constants.DEFAULT_STORE_DELIMITER;
74
+ this.validationSchemaProperties = validationSchemaProperties;
75
+ (0, class_validator_1.registerSchema)({ name: entityName, properties: validationSchemaProperties });
57
76
  }
58
- find(options) {
77
+ find(options, privateOptions) {
59
78
  return __awaiter(this, void 0, void 0, function* () {
60
79
  const { primaryKeys, schema, store, storeDelimiter } = this;
61
80
  const { name: entityName } = schema;
62
- const { exactSearch, filters, findAll, page, perPage, withValues: optWithValues } = options;
81
+ const { filters, findAll, page, perPage, withValues: optWithValues } = options;
82
+ const { requirePrimaryKeys } = privateOptions || {};
63
83
  const paginationOptions = {};
84
+ const primaryKeyFiltersToForceCheck = [];
64
85
  const withValues = typeof optWithValues === 'undefined' || optWithValues === true ? true : false;
86
+ let count = 0;
87
+ let hasNonPrimaryKeyFilters = false;
65
88
  let storeEntityKey = '';
66
- if (filters) {
89
+ if (filters && Object.keys(filters).length) {
90
+ let primaryKeyFiltersCount = 0;
67
91
  storeEntityKey =
68
92
  storeDelimiter +
69
93
  primaryKeys
@@ -72,17 +96,36 @@ let RedisRepositoryService = class RedisRepositoryService {
72
96
  if (typeof value !== 'undefined' &&
73
97
  typeof value !== 'object' &&
74
98
  (typeof value !== 'string' || value.length)) {
99
+ primaryKeyFiltersCount++;
75
100
  return value;
76
101
  }
77
- if (exactSearch) {
102
+ if (value instanceof Array) {
103
+ const finalValues = [];
104
+ value.forEach(valueItem => {
105
+ if ((typeof valueItem === 'string' && !valueItem.length) ||
106
+ (typeof valueItem !== 'string' && typeof valueItem !== 'number')) {
107
+ return;
108
+ }
109
+ finalValues.push(valueItem);
110
+ });
111
+ if (finalValues.length) {
112
+ hasNonPrimaryKeyFilters = true;
113
+ primaryKeyFiltersToForceCheck.push(field);
114
+ return '*';
115
+ }
116
+ }
117
+ if (requirePrimaryKeys) {
78
118
  throw new core_1.ApplicationError(`[RedisRepositoryService ${entityName}][Find Error]: ` +
79
- `The primary key field ${field} is required when exactSearch is set to true.`);
119
+ `The primary key field ${field} is required when requirePrimaryKeys is set to true.`);
80
120
  }
81
121
  return '*';
82
122
  })
83
123
  .join(storeDelimiter);
124
+ if (!hasNonPrimaryKeyFilters) {
125
+ hasNonPrimaryKeyFilters = primaryKeyFiltersCount === Object.keys(filters).length;
126
+ }
84
127
  if (!findAll) {
85
- const count = perPage || 100;
128
+ count = perPage || 100;
86
129
  paginationOptions.count = count;
87
130
  paginationOptions.cursor = (page ? page - 1 : 0) * count;
88
131
  }
@@ -91,7 +134,59 @@ let RedisRepositoryService = class RedisRepositoryService {
91
134
  throw new core_1.ApplicationError(`[RedisRepositoryService ${entityName}][Error]: ` +
92
135
  'Either filters or findAll is required when calling the find method.');
93
136
  }
94
- return yield store.scan(`${entityName}${storeEntityKey}`, Object.assign(Object.assign({}, paginationOptions), { scanAll: findAll, withValues }));
137
+ if (findAll) {
138
+ const { values: initialResults } = yield store.scan(`${entityName}${storeEntityKey}`, Object.assign(Object.assign({}, paginationOptions), { parseToJSON: true, scanAll: findAll, withValues }));
139
+ if (!hasNonPrimaryKeyFilters) {
140
+ return initialResults;
141
+ }
142
+ return initialResults.filter(item => {
143
+ let filterResult = true;
144
+ for (const key in filters) {
145
+ if (primaryKeys.includes(key) && !primaryKeyFiltersToForceCheck.includes(key)) {
146
+ continue;
147
+ }
148
+ const filterValue = filters[key];
149
+ const itemValue = item[key];
150
+ if (filterValue instanceof Array) {
151
+ if (!filterValue.includes(itemValue)) {
152
+ filterResult = false;
153
+ break;
154
+ }
155
+ continue;
156
+ }
157
+ if (filterValue !== itemValue) {
158
+ filterResult = false;
159
+ break;
160
+ }
161
+ }
162
+ return filterResult;
163
+ });
164
+ }
165
+ let results = [];
166
+ while (results.length < count) {
167
+ const { cursor: newCursor, values: innerResults } = yield store.scan(`${entityName}${storeEntityKey}`, Object.assign(Object.assign({}, paginationOptions), { parseToJSON: true, scanAll: false, withValues }));
168
+ results = results.concat(innerResults.filter(item => {
169
+ let filterResult = true;
170
+ for (const key in filters) {
171
+ if (primaryKeys.includes(key)) {
172
+ continue;
173
+ }
174
+ if (item[key] !== filters[key]) {
175
+ filterResult = false;
176
+ break;
177
+ }
178
+ }
179
+ return filterResult;
180
+ }));
181
+ if (newCursor === 0) {
182
+ break;
183
+ }
184
+ paginationOptions.cursor = newCursor;
185
+ }
186
+ if (results.length > count) {
187
+ results = results.slice(0, count);
188
+ }
189
+ return results;
95
190
  });
96
191
  }
97
192
  prepare(data, options) {
@@ -151,7 +246,7 @@ let RedisRepositoryService = class RedisRepositoryService {
151
246
  storeEntityKey += `${value}`;
152
247
  }
153
248
  if (optValidate) {
154
- const validationErrors = yield (0, class_validator_1.validate)(data);
249
+ const validationErrors = yield (0, class_validator_1.validate)(entityName, data);
155
250
  if (validationErrors.length) {
156
251
  throw new core_1.ApplicationError(`[RedisRepositoryService ${entityName}][Validation Error]: ${validationErrors.join('\n')}`);
157
252
  }
@@ -178,31 +273,36 @@ let RedisRepositoryService = class RedisRepositoryService {
178
273
  }
179
274
  save(data, options) {
180
275
  return __awaiter(this, void 0, void 0, function* () {
181
- const { schema, store, storeDelimiter } = this;
276
+ const { defaultTTL, schema, store, storeDelimiter } = this;
182
277
  const { name: entityName } = schema;
183
- const { delete: optDelete, onConflict, transactionId } = options || {};
278
+ const { delete: optDelete, onConflict, transactionId, ttl, validate } = options || {};
184
279
  const actualData = data instanceof Array ? data : [data];
185
280
  if (optDelete) {
186
281
  const prepareOptions = {
187
282
  onConflict: redis_repository_definitions_1.SaveOptionsOnConflict.DoNothing,
188
- validate: true
283
+ validate: false
189
284
  };
190
285
  const deleteKeys = [];
191
286
  for (const i in actualData) {
192
- deleteKeys.push((yield this.prepare(actualData[i], prepareOptions)).storeEntityKey);
287
+ deleteKeys.push(`${entityName}${storeDelimiter}${(yield this.prepare(actualData[i], prepareOptions)).storeEntityKey}`);
288
+ }
289
+ if (deleteKeys.length) {
290
+ yield store.delete(deleteKeys, { transactionId });
193
291
  }
194
- yield store.delete(deleteKeys, { transactionId });
195
292
  return deleteKeys;
196
293
  }
197
294
  const prepareOptions = {
198
295
  generatePrimaryKeys: true,
199
296
  onConflict,
200
- validate: true
297
+ validate
201
298
  };
202
299
  const results = [];
203
300
  for (const i in actualData) {
204
301
  const { data: validatedEntity, storeEntityKey } = yield this.prepare(actualData[i], prepareOptions);
205
- yield store.set(`${entityName}${storeDelimiter}${storeEntityKey}`, validatedEntity, { transactionId });
302
+ yield store.set(`${entityName}${storeDelimiter}${storeEntityKey}`, validatedEntity, {
303
+ transactionId,
304
+ ttl: ttl || defaultTTL
305
+ });
206
306
  results.push(validatedEntity);
207
307
  }
208
308
  return results;
@@ -212,7 +312,7 @@ let RedisRepositoryService = class RedisRepositoryService {
212
312
  exports.RedisRepositoryService = RedisRepositoryService;
213
313
  exports.RedisRepositoryService = RedisRepositoryService = __decorate([
214
314
  (0, common_1.Injectable)(),
215
- __param(1, (0, common_1.Inject)(definitions_1.Constants.REDIS_CLIENT_PERSISTANCE_MODULE_NAME)),
315
+ __param(1, (0, common_1.Inject)(core_1.Constants.PERSISTANCE_MODULE_NAME)),
216
316
  __param(2, (0, common_1.Inject)(definitions_1.Constants.REDIS_REPOSITORY_SCHEMA)),
217
317
  __metadata("design:paramtypes", [core_1.ConfigProviderService, String, Object, store_1.RedisStoreService])
218
318
  ], RedisRepositoryService);
@@ -1 +1 @@
1
- {"version":3,"file":"redis.repository.service.js","sourceRoot":"","sources":["../../src/repository/redis.repository.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"redis.repository.service.js","sourceRoot":"","sources":["../../src/repository/redis.repository.service.ts"],"names":[],"mappings":"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"}
@@ -1,22 +1,9 @@
1
- import { RedisClientType } from 'redis';
2
1
  export interface GetOptions {
3
2
  parseToJSON?: boolean;
4
3
  }
5
- export type RedisClientScanMethod = (_key: string, _cursor: number, _options?: {
6
- count?: number;
7
- match: string;
8
- }) => Promise<{
9
- cursor: number;
10
- keys?: string[];
11
- tuples?: {
12
- field: string;
13
- value: string;
14
- }[];
15
- }>;
16
4
  export interface RedisStoreModuleOptions {
17
5
  persistanceModuleName: string;
18
6
  }
19
- export type RedisTransaction = ReturnType<RedisClientType['multi']>;
20
7
  export interface ScanOptions {
21
8
  count?: number;
22
9
  cursor?: number;
@@ -26,6 +13,7 @@ export interface ScanOptions {
26
13
  }
27
14
  export interface SetOptions {
28
15
  transactionId?: string;
16
+ ttl?: number;
29
17
  }
30
18
  export interface StoreDeleteOptions {
31
19
  transactionId?: string;
@@ -32,11 +32,12 @@ let RedisStoreModule = RedisStoreModule_1 = class RedisStoreModule {
32
32
  {
33
33
  provide: definitions_1.Constants.REDIS_CLIENT,
34
34
  useFactory: (configProvider) => __awaiter(this, void 0, void 0, function* () {
35
- return yield redis_store_service_1.RedisStoreService.createClient(configProvider.config, { persistanceModuleName });
35
+ const client = yield redis_store_service_1.RedisStoreService.createClient(configProvider.config, { persistanceModuleName });
36
+ return client;
36
37
  }),
37
38
  inject: [core_1.ConfigProviderService]
38
39
  },
39
- { provide: definitions_1.Constants.REDIS_CLIENT_PERSISTANCE_MODULE_NAME, useValue: persistanceModuleName },
40
+ { provide: core_1.Constants.PERSISTANCE_MODULE_NAME, useValue: persistanceModuleName },
40
41
  { provide: serviceToken, useClass: redis_store_service_1.RedisStoreService }
41
42
  ],
42
43
  exports: [{ provide: serviceToken, useClass: redis_store_service_1.RedisStoreService }]
@@ -1 +1 @@
1
- {"version":3,"file":"redis.store.module.js","sourceRoot":"","sources":["../../src/store/redis.store.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,2CAAuD;AAEvD,uCAAqD;AAGrD,+DAA0D;AAE1D,uDAAkD;AAG3C,IAAM,gBAAgB,wBAAtB,MAAM,gBAAgB;IAC3B,MAAM,CAAC,QAAQ,CAAC,OAAgC;QAC9C,MAAM,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAC;QAC1C,MAAM,YAAY,GAAG,GAAG,qBAAqB,GAAG,uBAAS,CAAC,iCAAiC,EAAE,CAAC;QAC9F,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,kBAAgB;YACxB,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,uBAAS,CAAC,YAAY;oBAC/B,UAAU,EAAE,CAAO,cAAqC,EAAE,EAAE;wBAC1D,OAAO,MAAM,uCAAiB,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,qBAAqB,EAAE,CAAC,CAAC;oBAChG,CAAC,CAAA;oBACD,MAAM,EAAE,CAAC,4BAAqB,CAAC;iBAChC;gBACD,EAAE,OAAO,EAAE,uBAAS,CAAC,oCAAoC,EAAE,QAAQ,EAAE,qBAAqB,EAAE;gBAC5F,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,uCAAiB,EAAE;aACvD;YACD,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,uCAAiB,EAAE,CAAC;SAClE,CAAC;IACJ,CAAC;CACF,CAAA;AArBY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,gBAAgB,CAqB5B"}
1
+ {"version":3,"file":"redis.store.module.js","sourceRoot":"","sources":["../../src/store/redis.store.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,2CAAuD;AAEvD,uCAAiF;AAGjF,+DAA0D;AAE1D,uDAAkD;AAG3C,IAAM,gBAAgB,wBAAtB,MAAM,gBAAgB;IAC3B,MAAM,CAAC,QAAQ,CAAC,OAAgC;QAC9C,MAAM,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAC;QAC1C,MAAM,YAAY,GAAG,GAAG,qBAAqB,GAAG,uBAAS,CAAC,iCAAiC,EAAE,CAAC;QAC9F,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,kBAAgB;YACxB,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,uBAAS,CAAC,YAAY;oBAC/B,UAAU,EAAE,CAAO,cAAqC,EAAE,EAAE;wBAE1D,MAAM,MAAM,GAAG,MAAM,uCAAiB,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,qBAAqB,EAAE,CAAC,CAAC;wBACtG,OAAO,MAAM,CAAC;oBAChB,CAAC,CAAA;oBACD,MAAM,EAAE,CAAC,4BAAqB,CAAC;iBAChC;gBACD,EAAE,OAAO,EAAE,gBAAa,CAAC,uBAAuB,EAAE,QAAQ,EAAE,qBAAqB,EAAE;gBACnF,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,uCAAiB,EAAE;aACvD;YACD,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,uCAAiB,EAAE,CAAC;SAClE,CAAC;IACJ,CAAC;CACF,CAAA;AAvBY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,gBAAgB,CAuB5B"}
@@ -1,20 +1,26 @@
1
1
  import { AppConfig, ConfigProviderService, GenericObject } from '@node-c/core';
2
- import { RedisClientType } from 'redis';
3
- import { GetOptions, RedisTransaction, ScanOptions, SetOptions, StoreDeleteOptions } from './redis.store.definitions';
2
+ import Redis, { ChainableCommander, Cluster } from 'ioredis';
3
+ import { GetOptions, ScanOptions, SetOptions, StoreDeleteOptions } from './redis.store.definitions';
4
4
  export declare class RedisStoreService {
5
5
  protected configProvider: ConfigProviderService;
6
- protected client: RedisClientType;
6
+ protected client: Redis | Cluster;
7
7
  protected persistanceModuleName: string;
8
+ protected defaultTTL?: number;
9
+ protected storeDelimiter: string;
8
10
  protected storeKey: string;
9
- protected transactions: GenericObject<RedisTransaction>;
10
- constructor(configProvider: ConfigProviderService, client: RedisClientType, persistanceModuleName: string);
11
+ protected transactions: GenericObject<ChainableCommander>;
12
+ protected useHashmap: boolean;
13
+ constructor(configProvider: ConfigProviderService, client: Redis | Cluster, persistanceModuleName: string);
11
14
  static createClient(config: AppConfig, options: {
12
15
  persistanceModuleName: string;
13
- }): Promise<RedisClientType>;
16
+ }): Promise<Redis | Cluster>;
14
17
  createTransaction(): string;
15
18
  delete(handle: string | string[], options?: StoreDeleteOptions): Promise<number>;
16
19
  endTransaction(transactionId: string): Promise<void>;
17
20
  get<Value = unknown>(handle: string, options?: GetOptions): Promise<Value>;
18
- scan<Values = unknown[]>(handle: string, options: ScanOptions): Promise<Values>;
21
+ scan<Values = unknown[]>(handle: string, options: ScanOptions): Promise<{
22
+ cursor: number;
23
+ values: Values;
24
+ }>;
19
25
  set<Entry = unknown>(handle: string, entry: Entry, options?: SetOptions): Promise<void>;
20
26
  }