@node-c/data-redis 1.0.0-beta4 → 1.0.0-beta6

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.
@@ -8,6 +8,7 @@ export interface BaseOptions {
8
8
  }
9
9
  export type BulkCreateOptions = BaseCreateOptions;
10
10
  export interface BulkCreatePrivateOptions extends DataBulkCreatePrivateOptions {
11
+ ttl?: number;
11
12
  validate?: boolean;
12
13
  }
13
14
  export interface CountOptions extends BaseOptions, Omit<DataCountOptions, 'withDeleted'> {
@@ -15,6 +16,7 @@ export interface CountOptions extends BaseOptions, Omit<DataCountOptions, 'withD
15
16
  export type CountPrivateOptions = DataCountPrivateOptions;
16
17
  export type CreateOptions = BaseCreateOptions;
17
18
  export interface CreatePrivateOptions extends DataCreatePrivateOptions {
19
+ ttl?: number;
18
20
  validate?: boolean;
19
21
  }
20
22
  export interface DeleteOptions extends BaseOptions, Omit<DataDeleteOptions, 'softDelete'> {
@@ -35,10 +37,12 @@ export interface ServiceSaveOptions {
35
37
  generatePrimaryKeys: boolean;
36
38
  processObjectAllowedFieldsEnabled?: boolean;
37
39
  transactionId?: string;
40
+ ttl?: number;
38
41
  validate?: boolean;
39
42
  }
40
43
  export interface UpdateOptions extends BaseCreateOptions, DataUpdateOptions {
41
44
  }
42
45
  export interface UpdatePrivateOptions extends DataUpdatePrivateOptions {
46
+ ttl?: number;
43
47
  validate?: boolean;
44
48
  }
@@ -35,11 +35,12 @@ class RedisEntityService extends core_1.DataEntityService {
35
35
  yield store.endTransaction(tId);
36
36
  return result;
37
37
  }
38
- const { processInputAllowedFieldsEnabled, validate } = actualPrivateOptions;
38
+ const { processInputAllowedFieldsEnabled, ttl, validate } = actualPrivateOptions;
39
39
  return yield this.save(data, {
40
40
  generatePrimaryKeys: true,
41
41
  processObjectAllowedFieldsEnabled: processInputAllowedFieldsEnabled,
42
42
  transactionId,
43
+ ttl,
43
44
  validate
44
45
  });
45
46
  });
@@ -72,11 +73,12 @@ class RedisEntityService extends core_1.DataEntityService {
72
73
  yield store.endTransaction(tId);
73
74
  return result;
74
75
  }
75
- const { processInputAllowedFieldsEnabled, validate } = actualPrivateOptions;
76
+ const { processInputAllowedFieldsEnabled, ttl, validate } = actualPrivateOptions;
76
77
  return yield this.save(data instanceof Array ? data[0] : data, {
77
78
  generatePrimaryKeys: false,
78
79
  processObjectAllowedFieldsEnabled: processInputAllowedFieldsEnabled,
79
80
  transactionId,
81
+ ttl,
80
82
  validate
81
83
  });
82
84
  });
@@ -166,7 +168,7 @@ class RedisEntityService extends core_1.DataEntityService {
166
168
  return __awaiter(this, void 0, void 0, function* () {
167
169
  const { repository, settings } = this;
168
170
  const { validationSettings } = settings;
169
- const { delete: optDelete, generatePrimaryKeys, processObjectAllowedFieldsEnabled, transactionId, validate } = options || {};
171
+ const { delete: optDelete, generatePrimaryKeys, processObjectAllowedFieldsEnabled, transactionId, ttl, validate } = options || {};
170
172
  if (optDelete) {
171
173
  return (yield repository.save(data, {
172
174
  delete: true,
@@ -183,6 +185,7 @@ class RedisEntityService extends core_1.DataEntityService {
183
185
  return (yield repository.save(dataToSave, {
184
186
  generatePrimaryKeys,
185
187
  transactionId,
188
+ ttl,
186
189
  validate: typeof validate !== 'undefined' ? validate : !!(validationSettings === null || validationSettings === void 0 ? void 0 : validationSettings.isEnabled)
187
190
  }));
188
191
  });
@@ -198,7 +201,7 @@ class RedisEntityService extends core_1.DataEntityService {
198
201
  yield store.endTransaction(tId);
199
202
  return result;
200
203
  }
201
- const { processFiltersAllowedFieldsEnabled, processInputAllowedFieldsEnabled, requirePrimaryKeys = true, validate } = actualPrivateOptions;
204
+ const { processFiltersAllowedFieldsEnabled, processInputAllowedFieldsEnabled, requirePrimaryKeys = true, ttl, validate } = actualPrivateOptions;
202
205
  const dataToReturn = {};
203
206
  const { items: itemsToUpdate } = yield this.find({ filters, findAll: true }, { processFiltersAllowedFieldsEnabled, requirePrimaryKeys });
204
207
  if (!itemsToUpdate.length) {
@@ -215,6 +218,7 @@ class RedisEntityService extends core_1.DataEntityService {
215
218
  generatePrimaryKeys: false,
216
219
  processObjectAllowedFieldsEnabled: processInputAllowedFieldsEnabled,
217
220
  transactionId,
221
+ ttl,
218
222
  validate
219
223
  });
220
224
  dataToReturn.count = updateResult.length;
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@node-c/data-redis",
3
- "version": "1.0.0-beta4",
3
+ "version": "1.0.0-beta6",
4
4
  "license": "MIT",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -16,7 +16,7 @@
16
16
  },
17
17
  "dependencies": {
18
18
  "@nestjs/common": "^11.1.16",
19
- "@node-c/core": "^1.0.0-beta4",
19
+ "@node-c/core": "^1.0.0-beta6",
20
20
  "class-validator": "^0.14.1",
21
21
  "ioredis": "^5.6.1",
22
22
  "iovalkey": "^0.3.3",
@@ -25,6 +25,7 @@ export interface BaseOptions {
25
25
  export type BulkCreateOptions = BaseCreateOptions;
26
26
 
27
27
  export interface BulkCreatePrivateOptions extends DataBulkCreatePrivateOptions {
28
+ ttl?: number;
28
29
  validate?: boolean;
29
30
  }
30
31
 
@@ -35,6 +36,7 @@ export type CountPrivateOptions = DataCountPrivateOptions;
35
36
  export type CreateOptions = BaseCreateOptions;
36
37
 
37
38
  export interface CreatePrivateOptions extends DataCreatePrivateOptions {
39
+ ttl?: number;
38
40
  validate?: boolean;
39
41
  }
40
42
 
@@ -61,11 +63,13 @@ export interface ServiceSaveOptions {
61
63
  generatePrimaryKeys: boolean;
62
64
  processObjectAllowedFieldsEnabled?: boolean;
63
65
  transactionId?: string;
66
+ ttl?: number;
64
67
  validate?: boolean;
65
68
  }
66
69
 
67
70
  export interface UpdateOptions extends BaseCreateOptions, DataUpdateOptions {}
68
71
 
69
72
  export interface UpdatePrivateOptions extends DataUpdatePrivateOptions {
73
+ ttl?: number;
70
74
  validate?: boolean;
71
75
  }
@@ -64,11 +64,12 @@ export class RedisEntityService<Entity extends object> extends DataEntityService
64
64
  await store.endTransaction(tId);
65
65
  return result;
66
66
  }
67
- const { processInputAllowedFieldsEnabled, validate } = actualPrivateOptions;
67
+ const { processInputAllowedFieldsEnabled, ttl, validate } = actualPrivateOptions;
68
68
  return await this.save(data, {
69
69
  generatePrimaryKeys: true,
70
70
  processObjectAllowedFieldsEnabled: processInputAllowedFieldsEnabled,
71
71
  transactionId,
72
+ ttl,
72
73
  validate
73
74
  });
74
75
  }
@@ -99,11 +100,12 @@ export class RedisEntityService<Entity extends object> extends DataEntityService
99
100
  await store.endTransaction(tId);
100
101
  return result;
101
102
  }
102
- const { processInputAllowedFieldsEnabled, validate } = actualPrivateOptions;
103
+ const { processInputAllowedFieldsEnabled, ttl, validate } = actualPrivateOptions;
103
104
  return await this.save<Partial<Entity>, Entity>(data instanceof Array ? data[0] : data, {
104
105
  generatePrimaryKeys: false,
105
106
  processObjectAllowedFieldsEnabled: processInputAllowedFieldsEnabled,
106
107
  transactionId,
108
+ ttl,
107
109
  validate
108
110
  });
109
111
  }
@@ -211,6 +213,7 @@ export class RedisEntityService<Entity extends object> extends DataEntityService
211
213
  generatePrimaryKeys,
212
214
  processObjectAllowedFieldsEnabled,
213
215
  transactionId,
216
+ ttl,
214
217
  validate
215
218
  } = options || {};
216
219
  if (optDelete) {
@@ -229,6 +232,7 @@ export class RedisEntityService<Entity extends object> extends DataEntityService
229
232
  return (await repository.save(dataToSave as Entity, {
230
233
  generatePrimaryKeys,
231
234
  transactionId,
235
+ ttl,
232
236
  validate: typeof validate !== 'undefined' ? validate : !!validationSettings?.isEnabled
233
237
  })) as ReturnData;
234
238
  }
@@ -253,6 +257,7 @@ export class RedisEntityService<Entity extends object> extends DataEntityService
253
257
  processFiltersAllowedFieldsEnabled,
254
258
  processInputAllowedFieldsEnabled,
255
259
  requirePrimaryKeys = true,
260
+ ttl,
256
261
  validate
257
262
  } = actualPrivateOptions;
258
263
  const dataToReturn: DataUpdateResult<Entity> = {};
@@ -276,6 +281,7 @@ export class RedisEntityService<Entity extends object> extends DataEntityService
276
281
  generatePrimaryKeys: false,
277
282
  processObjectAllowedFieldsEnabled: processInputAllowedFieldsEnabled,
278
283
  transactionId,
284
+ ttl,
279
285
  validate
280
286
  }
281
287
  );