@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.
- package/dist/common/definitions/common.constants.d.ts +0 -1
- package/dist/common/definitions/common.constants.js +0 -1
- package/dist/common/definitions/common.constants.js.map +1 -1
- package/dist/entityService/redis.entity.service.d.ts +13 -10
- package/dist/entityService/redis.entity.service.definitions.d.ts +23 -1
- package/dist/entityService/redis.entity.service.js +154 -44
- package/dist/entityService/redis.entity.service.js.map +1 -1
- package/dist/module/redis.module.definitions.d.ts +2 -0
- package/dist/module/redis.module.js +4 -1
- package/dist/module/redis.module.js.map +1 -1
- package/dist/repository/redis.repository.definitions.d.ts +26 -2
- package/dist/repository/redis.repository.definitions.js +3 -0
- package/dist/repository/redis.repository.definitions.js.map +1 -1
- package/dist/repository/redis.repository.module.js +2 -1
- package/dist/repository/redis.repository.module.js.map +1 -1
- package/dist/repository/redis.repository.service.d.ts +26 -6
- package/dist/repository/redis.repository.service.js +310 -87
- package/dist/repository/redis.repository.service.js.map +1 -1
- package/dist/store/redis.store.definitions.d.ts +1 -13
- package/dist/store/redis.store.module.js +3 -2
- package/dist/store/redis.store.module.js.map +1 -1
- package/dist/store/redis.store.service.d.ts +10 -6
- package/dist/store/redis.store.service.js +172 -47
- package/dist/store/redis.store.service.js.map +1 -1
- package/package.json +6 -6
|
@@ -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,
|
|
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
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
count(options:
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
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
|
|
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 {
|
|
24
|
-
const actualOptions =
|
|
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
|
-
|
|
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
|
-
|
|
46
|
+
count(options, privateOptions) {
|
|
36
47
|
return __awaiter(this, void 0, void 0, function* () {
|
|
37
|
-
const { repository
|
|
38
|
-
const
|
|
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
|
-
|
|
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
|
-
|
|
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 {
|
|
67
|
-
const
|
|
68
|
-
|
|
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 {
|
|
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
|
|
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
|
|
87
|
-
|
|
88
|
-
|
|
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
|
|
98
|
-
|
|
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
|
-
|
|
164
|
+
save(data, options) {
|
|
102
165
|
return __awaiter(this, void 0, void 0, function* () {
|
|
103
|
-
const { repository,
|
|
104
|
-
const {
|
|
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
|
|
112
|
-
|
|
113
|
-
|
|
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
|
-
|
|
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":"
|
|
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;
|
|
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
|
|
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":";;;
|
|
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:
|
|
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;
|
|
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 {
|
|
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
|
|
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
|
|
16
|
+
protected defaultIndividualSearchEnabled: boolean;
|
|
17
|
+
protected experimentalDeletionEnabled: boolean;
|
|
11
18
|
protected storeDelimiter: string;
|
|
12
|
-
|
|
13
|
-
|
|
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;
|