@smartsoft001/crud-shell-nestjs 1.1.90 → 1.2.0
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/.eslintrc +13 -0
- package/README.md +37 -4
- package/jest.config.ts +27 -0
- package/package.json +2 -45
- package/project.json +43 -0
- package/src/index.ts +4 -0
- package/src/lib/controllers/crud/crud.controller.spec.ts +111 -0
- package/src/lib/controllers/crud/crud.controller.ts +353 -0
- package/src/lib/controllers/crud/query-to-mongo.spec.ts +32 -0
- package/src/lib/controllers/crud/query-to-mongo.ts +295 -0
- package/src/lib/controllers/index.ts +5 -0
- package/src/lib/gateways/crud/crud.gateway.spec.ts +122 -0
- package/src/lib/gateways/crud/crud.gateway.ts +72 -0
- package/src/lib/gateways/index.ts +3 -0
- package/src/lib/guards/auth/auth.guard.spec.ts +60 -0
- package/src/lib/guards/auth/auth.guard.ts +22 -0
- package/src/lib/nestjs.module.ts +94 -0
- package/tsconfig.json +13 -0
- package/tsconfig.lib.json +11 -0
- package/tsconfig.spec.json +20 -0
- package/src/index.d.ts +0 -4
- package/src/index.js +0 -8
- package/src/index.js.map +0 -1
- package/src/lib/controllers/crud/crud.controller.d.ts +0 -39
- package/src/lib/controllers/crud/crud.controller.js +0 -327
- package/src/lib/controllers/crud/crud.controller.js.map +0 -1
- package/src/lib/controllers/crud/query-to-mongo.d.ts +0 -5
- package/src/lib/controllers/crud/query-to-mongo.js +0 -286
- package/src/lib/controllers/crud/query-to-mongo.js.map +0 -1
- package/src/lib/controllers/index.d.ts +0 -3
- package/src/lib/controllers/index.js +0 -10
- package/src/lib/controllers/index.js.map +0 -1
- package/src/lib/gateways/crud/crud.gateway.d.ts +0 -18
- package/src/lib/gateways/crud/crud.gateway.js +0 -56
- package/src/lib/gateways/crud/crud.gateway.js.map +0 -1
- package/src/lib/gateways/index.d.ts +0 -2
- package/src/lib/gateways/index.js +0 -8
- package/src/lib/gateways/index.js.map +0 -1
- package/src/lib/guards/auth/auth.guard.d.ts +0 -10
- package/src/lib/guards/auth/auth.guard.js +0 -32
- package/src/lib/guards/auth/auth.guard.js.map +0 -1
- package/src/lib/nestjs.module.d.ts +0 -31
- package/src/lib/nestjs.module.js +0 -81
- package/src/lib/nestjs.module.js.map +0 -1
- package/test-setup.js +0 -1
- package/test-setup.js.map +0 -1
- /package/{test-setup.d.ts → test-setup.ts} +0 -0
|
@@ -1,286 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.q2m = void 0;
|
|
4
|
-
const querystring = require("querystring");
|
|
5
|
-
const iso8601 = /^\d{4}(-(0[1-9]|1[0-2])(-(0[1-9]|[12][0-9]|3[01]))?)?(T([01][0-9]|2[0-3]):[0-5]\d(:[0-5]\d(\.\d+)?)?(Z|[+-]\d{2}:\d{2}))?$/;
|
|
6
|
-
// Convert comma separated list to a mongo projection.
|
|
7
|
-
// for example f('field1,field2,field3') -> {field1:true,field2:true,field3:true}
|
|
8
|
-
function fieldsToMongo(fields) {
|
|
9
|
-
if (!fields)
|
|
10
|
-
return null;
|
|
11
|
-
const hash = {};
|
|
12
|
-
fields.split(',').forEach(function (field) {
|
|
13
|
-
hash[field.trim()] = 1;
|
|
14
|
-
});
|
|
15
|
-
return hash;
|
|
16
|
-
}
|
|
17
|
-
function convertRegex(val) {
|
|
18
|
-
return val.toString().replace(/\*/g, '[*]');
|
|
19
|
-
}
|
|
20
|
-
// Convert comma separated list to a mongo projection which specifies fields to omit.
|
|
21
|
-
// for example f('field2') -> {field2:false}
|
|
22
|
-
function omitFieldsToMongo(omitFields) {
|
|
23
|
-
if (!omitFields)
|
|
24
|
-
return null;
|
|
25
|
-
const hash = {};
|
|
26
|
-
omitFields.split(',').forEach(function (omitField) {
|
|
27
|
-
hash[omitField.trim()] = 0;
|
|
28
|
-
});
|
|
29
|
-
return hash;
|
|
30
|
-
}
|
|
31
|
-
// Convert comma separated list to mongo sort options.
|
|
32
|
-
// for example f('field1,+field2,-field3') -> {field1:1,field2:1,field3:-1}
|
|
33
|
-
function sortToMongo(sort) {
|
|
34
|
-
if (!sort)
|
|
35
|
-
return null;
|
|
36
|
-
const hash = {};
|
|
37
|
-
let c;
|
|
38
|
-
sort.split(',').forEach(function (field) {
|
|
39
|
-
c = field.charAt(0);
|
|
40
|
-
if (c === '-')
|
|
41
|
-
field = field.substr(1);
|
|
42
|
-
hash[field.trim()] = (c === '-') ? -1 : 1;
|
|
43
|
-
});
|
|
44
|
-
return hash;
|
|
45
|
-
}
|
|
46
|
-
// Convert String to Number, Date, or Boolean if possible. Also strips ! prefix
|
|
47
|
-
function typedValue(value) {
|
|
48
|
-
if (value[0] === '!')
|
|
49
|
-
value = value.substr(1);
|
|
50
|
-
const regex = value.match(/^\/(.*)\/(i?)$/);
|
|
51
|
-
const quotedString = value.match(/(["'])(?:\\\1|.)*?\1/);
|
|
52
|
-
if (regex) {
|
|
53
|
-
return new RegExp(regex[1], regex[2]);
|
|
54
|
-
}
|
|
55
|
-
else if (quotedString) {
|
|
56
|
-
return quotedString[0].substr(1, quotedString[0].length - 2);
|
|
57
|
-
}
|
|
58
|
-
else if (value === 'true') {
|
|
59
|
-
return true;
|
|
60
|
-
}
|
|
61
|
-
else if (value === 'false') {
|
|
62
|
-
return false;
|
|
63
|
-
}
|
|
64
|
-
else if (iso8601.test(value) && value.length !== 4 && value.length !== 10) {
|
|
65
|
-
return new Date(value);
|
|
66
|
-
}
|
|
67
|
-
else if (!isNaN(Number(value))) {
|
|
68
|
-
return Number(value);
|
|
69
|
-
}
|
|
70
|
-
return value;
|
|
71
|
-
}
|
|
72
|
-
// Convert a comma separated string value to an array of values. Commas
|
|
73
|
-
// in a quoted strings and regexes are ignored. Also strips ! prefix from values.
|
|
74
|
-
function typedValues(svalue) {
|
|
75
|
-
const commaSplit = /("[^"]*")|('[^']*')|(\/[^\/]*\/i?)|([^,]+)/g;
|
|
76
|
-
const values = [];
|
|
77
|
-
svalue
|
|
78
|
-
.match(commaSplit)
|
|
79
|
-
.forEach(function (value) {
|
|
80
|
-
values.push(typedValue(value));
|
|
81
|
-
});
|
|
82
|
-
return values;
|
|
83
|
-
}
|
|
84
|
-
// Convert a key/value pair split at an equals sign into a mongo comparison.
|
|
85
|
-
// Converts value Strings to Numbers or Booleans when possible.
|
|
86
|
-
// for example:
|
|
87
|
-
// + f('key','value') => {key:'key',value:'value'}
|
|
88
|
-
// + f('key>','value') => {key:'key',value:{$gte:'value'}}
|
|
89
|
-
// + f('key') => {key:'key',value:{$exists: true}}
|
|
90
|
-
// + f('!key') => {key:'key',value:{$exists: false}}
|
|
91
|
-
// + f('key:op','value') => {key: 'key', value:{ $op: value}}
|
|
92
|
-
// + f('key','op:value') => {key: 'key', value:{ $op: value}}
|
|
93
|
-
function comparisonToMongo(key, value) {
|
|
94
|
-
const join = (value === '') ? key : key.concat('=', value);
|
|
95
|
-
const parts = join.match(/^(!?[^><~!=:]+)(?:=?([><]=?|~?=|!?=|:.+=)(.+))?$/);
|
|
96
|
-
let op;
|
|
97
|
-
const hash = {};
|
|
98
|
-
if (!parts)
|
|
99
|
-
return null;
|
|
100
|
-
key = parts[1];
|
|
101
|
-
op = parts[2];
|
|
102
|
-
if (!op) {
|
|
103
|
-
if (key[0] !== '!')
|
|
104
|
-
value = { '$exists': true };
|
|
105
|
-
else {
|
|
106
|
-
key = key.substr(1);
|
|
107
|
-
value = { '$exists': false };
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
else if (op === '=' && parts[3] === '!') {
|
|
111
|
-
value = { '$exists': false };
|
|
112
|
-
}
|
|
113
|
-
else if (op === '=' || op === '!=') {
|
|
114
|
-
if (op === '=' && parts[3][0] === '!')
|
|
115
|
-
op = '!=';
|
|
116
|
-
// tslint:disable-next-line:no-shadowed-variable
|
|
117
|
-
const array = typedValues(parts[3]);
|
|
118
|
-
if (array.length > 1) {
|
|
119
|
-
value = {};
|
|
120
|
-
op = (op === '=') ? '$in' : '$nin';
|
|
121
|
-
value[op] = array;
|
|
122
|
-
}
|
|
123
|
-
else if (op === '!=') {
|
|
124
|
-
value = array[0] instanceof RegExp ?
|
|
125
|
-
{ '$not': array[0] } :
|
|
126
|
-
{ '$ne': array[0] };
|
|
127
|
-
}
|
|
128
|
-
else if (array[0][0] === '!') {
|
|
129
|
-
const sValue = array[0].substr(1);
|
|
130
|
-
const regex = sValue.match(/^\/(.*)\/(i?)$/);
|
|
131
|
-
value = regex ?
|
|
132
|
-
{ '$not': new RegExp(regex[1], regex[2]) } :
|
|
133
|
-
{ '$ne': sValue };
|
|
134
|
-
}
|
|
135
|
-
else {
|
|
136
|
-
value = array[0];
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
else if (op[0] === ':' && op[op.length - 1] === '=') {
|
|
140
|
-
op = '$' + op.substr(1, op.length - 2);
|
|
141
|
-
const array = [];
|
|
142
|
-
// tslint:disable-next-line:no-shadowed-variable
|
|
143
|
-
parts[3].split(',').forEach(function (value) {
|
|
144
|
-
array.push(typedValue(value));
|
|
145
|
-
});
|
|
146
|
-
value = {};
|
|
147
|
-
value[op] = array.length === 1 ? array[0] : array;
|
|
148
|
-
}
|
|
149
|
-
else {
|
|
150
|
-
value = typedValue(parts[3]);
|
|
151
|
-
if (op === '>')
|
|
152
|
-
value = { '$gt': value };
|
|
153
|
-
else if (op === '>=')
|
|
154
|
-
value = { '$gte': value };
|
|
155
|
-
else if (op === '<')
|
|
156
|
-
value = { '$lt': value };
|
|
157
|
-
else if (op === '<=')
|
|
158
|
-
value = { '$lte': value };
|
|
159
|
-
else if (op === '~=')
|
|
160
|
-
value = {
|
|
161
|
-
$regex: value ? convertRegex(value) : '',
|
|
162
|
-
$options: "i",
|
|
163
|
-
};
|
|
164
|
-
}
|
|
165
|
-
hash.key = key;
|
|
166
|
-
hash.value = value;
|
|
167
|
-
return hash;
|
|
168
|
-
}
|
|
169
|
-
// Checks for keys that are ordinal positions, such as {'0':'one','1':'two','2':'three'}
|
|
170
|
-
function hasOrdinalKeys(obj) {
|
|
171
|
-
let c = 0;
|
|
172
|
-
for (const key in obj) {
|
|
173
|
-
if (Number(key) !== c++)
|
|
174
|
-
return false;
|
|
175
|
-
}
|
|
176
|
-
return true;
|
|
177
|
-
}
|
|
178
|
-
// Convert query parameters to a mongo query criteria.
|
|
179
|
-
// for example {field1:"red","field2>2":""} becomes {field1:"red",field2:{$gt:2}}
|
|
180
|
-
function queryCriteriaToMongo(query, options = null) {
|
|
181
|
-
const hash = {};
|
|
182
|
-
let deep, p;
|
|
183
|
-
options = options || {};
|
|
184
|
-
for (const key in query) {
|
|
185
|
-
if (Object.prototype.hasOwnProperty.call(query, key) && (!options.ignore || options.ignore.indexOf(key) === -1)) {
|
|
186
|
-
deep = (typeof query[key] === 'object' && !hasOrdinalKeys(query[key]));
|
|
187
|
-
if (deep) {
|
|
188
|
-
p = {
|
|
189
|
-
key: key,
|
|
190
|
-
value: queryCriteriaToMongo(query[key])
|
|
191
|
-
};
|
|
192
|
-
}
|
|
193
|
-
else {
|
|
194
|
-
p = comparisonToMongo(key, query[key]);
|
|
195
|
-
}
|
|
196
|
-
if (p) {
|
|
197
|
-
if (!hash[p.key]) {
|
|
198
|
-
hash[p.key] = p.value;
|
|
199
|
-
}
|
|
200
|
-
else if (typeof p.value === 'string') {
|
|
201
|
-
hash[p.key] = Object.assign(hash[p.key], {
|
|
202
|
-
$eq: p.value
|
|
203
|
-
});
|
|
204
|
-
}
|
|
205
|
-
else {
|
|
206
|
-
hash[p.key] = Object.assign(hash[p.key], p.value);
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
return hash;
|
|
212
|
-
}
|
|
213
|
-
// Convert query parameters to a mongo query options.
|
|
214
|
-
// for example {fields:'a,b',offset:8,limit:16} becomes {fields:{a:true,b:true},skip:8,limit:16}
|
|
215
|
-
function queryOptionsToMongo(query, options) {
|
|
216
|
-
const hash = {}, fields = fieldsToMongo(query[options.keywords.fields]), omitFields = omitFieldsToMongo(query[options.keywords.omit]), sort = sortToMongo(query[options.keywords.sort]), maxLimit = options.maxLimit || 9007199254740992;
|
|
217
|
-
let limit = options.maxLimit || 0;
|
|
218
|
-
if (fields)
|
|
219
|
-
hash.fields = fields;
|
|
220
|
-
// omit intentionally overwrites fields if both have been specified in the query
|
|
221
|
-
// mongo does not accept mixed true/fals field specifiers for projections
|
|
222
|
-
if (omitFields)
|
|
223
|
-
hash.fields = omitFields;
|
|
224
|
-
if (sort)
|
|
225
|
-
hash.sort = sort;
|
|
226
|
-
if (query[options.keywords.offset])
|
|
227
|
-
hash.skip = Number(query[options.keywords.offset]);
|
|
228
|
-
if (query[options.keywords.limit])
|
|
229
|
-
limit = Math.min(Number(query[options.keywords.limit]), maxLimit);
|
|
230
|
-
if (limit) {
|
|
231
|
-
hash.limit = limit;
|
|
232
|
-
}
|
|
233
|
-
else if (options.maxLimit) {
|
|
234
|
-
hash.limit = maxLimit;
|
|
235
|
-
}
|
|
236
|
-
return hash;
|
|
237
|
-
}
|
|
238
|
-
function q2m(query = null, options = null) {
|
|
239
|
-
query = query || {};
|
|
240
|
-
options = options || {};
|
|
241
|
-
options.keywords = options.keywords || {};
|
|
242
|
-
const defaultKeywords = { fields: 'fields', omit: 'omit', sort: 'sort', offset: 'offset', limit: 'limit' };
|
|
243
|
-
options.keywords = Object.assign(defaultKeywords, options.keywords);
|
|
244
|
-
const ignoreKeywords = [options.keywords.fields, options.keywords.omit, options.keywords.sort, options.keywords.offset, options.keywords.limit];
|
|
245
|
-
if (!options.ignore) {
|
|
246
|
-
options.ignore = [];
|
|
247
|
-
}
|
|
248
|
-
else {
|
|
249
|
-
options.ignore = (typeof options.ignore === 'string') ? [options.ignore] : options.ignore;
|
|
250
|
-
}
|
|
251
|
-
options.ignore = options.ignore.concat(ignoreKeywords);
|
|
252
|
-
if (!options.parser)
|
|
253
|
-
options.parser = querystring;
|
|
254
|
-
if (typeof query === 'string')
|
|
255
|
-
query = options.parser.parse(query);
|
|
256
|
-
return {
|
|
257
|
-
criteria: queryCriteriaToMongo(query, options),
|
|
258
|
-
options: queryOptionsToMongo(query, options),
|
|
259
|
-
links: function (url, totalCount) {
|
|
260
|
-
const offset = this.options.skip || 0;
|
|
261
|
-
const limit = Math.min(this.options.limit || 0, totalCount);
|
|
262
|
-
const links = {};
|
|
263
|
-
const last = {};
|
|
264
|
-
if (!limit)
|
|
265
|
-
return null;
|
|
266
|
-
options = options || {};
|
|
267
|
-
if (offset > 0) {
|
|
268
|
-
query[options.keywords.offset] = Math.max(offset - limit, 0);
|
|
269
|
-
links['prev'] = url + '?' + options.parser.stringify(query);
|
|
270
|
-
query[options.keywords.offset] = 0;
|
|
271
|
-
links['first'] = url + '?' + options.parser.stringify(query);
|
|
272
|
-
}
|
|
273
|
-
if (offset + limit < totalCount) {
|
|
274
|
-
last.pages = Math.ceil(totalCount / limit);
|
|
275
|
-
last.offset = (last.pages - 1) * limit;
|
|
276
|
-
query[options.keywords.offset] = Math.min(offset + limit, last.offset);
|
|
277
|
-
links['next'] = url + '?' + options.parser.stringify(query);
|
|
278
|
-
query[options.keywords.offset] = last.offset;
|
|
279
|
-
links['last'] = url + '?' + options.parser.stringify(query);
|
|
280
|
-
}
|
|
281
|
-
return links;
|
|
282
|
-
}
|
|
283
|
-
};
|
|
284
|
-
}
|
|
285
|
-
exports.q2m = q2m;
|
|
286
|
-
//# sourceMappingURL=query-to-mongo.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"query-to-mongo.js","sourceRoot":"","sources":["../../../../../../../../../libs/crud/shell/nestjs/src/lib/controllers/crud/query-to-mongo.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CONTROLLERS = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const crud_controller_1 = require("./crud/crud.controller");
|
|
6
|
-
tslib_1.__exportStar(require("./crud/crud.controller"), exports);
|
|
7
|
-
exports.CONTROLLERS = [
|
|
8
|
-
crud_controller_1.CrudController
|
|
9
|
-
];
|
|
10
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../libs/crud/shell/nestjs/src/lib/controllers/index.ts"],"names":[],"mappings":";;;;AAAA,4DAAsD;AAEtD,iEAAuC;AAE1B,QAAA,WAAW,GAAG;IACvB,gCAAc;CACjB,CAAC"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { OnGatewayConnection, OnGatewayDisconnect, OnGatewayInit, WsResponse } from "@nestjs/websockets";
|
|
2
|
-
import { Socket } from "socket.io";
|
|
3
|
-
import { CrudService } from "@smartsoft001/crud-shell-app-services";
|
|
4
|
-
import { IEntity } from "@smartsoft001/domain-core";
|
|
5
|
-
import { Observable } from "rxjs";
|
|
6
|
-
import { ItemChangedData } from "@smartsoft001/crud-shell-dtos";
|
|
7
|
-
export declare class CrudGateway<T extends IEntity<string>> implements OnGatewayInit, OnGatewayConnection, OnGatewayDisconnect {
|
|
8
|
-
private service;
|
|
9
|
-
private _clientsSubscriptions;
|
|
10
|
-
constructor(service: CrudService<T>);
|
|
11
|
-
handleFilter(data: {
|
|
12
|
-
id?: string;
|
|
13
|
-
}, client: Socket): Observable<WsResponse<ItemChangedData>>;
|
|
14
|
-
afterInit(server: any): void;
|
|
15
|
-
handleDisconnect(client: any): void;
|
|
16
|
-
private clearSubscription;
|
|
17
|
-
handleConnection(client: any, ...args: any[]): void;
|
|
18
|
-
}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CrudGateway = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const websockets_1 = require("@nestjs/websockets");
|
|
6
|
-
const socket_io_1 = require("socket.io");
|
|
7
|
-
const crud_shell_app_services_1 = require("@smartsoft001/crud-shell-app-services");
|
|
8
|
-
const rxjs_1 = require("rxjs");
|
|
9
|
-
let CrudGateway = exports.CrudGateway = class CrudGateway {
|
|
10
|
-
constructor(service) {
|
|
11
|
-
this.service = service;
|
|
12
|
-
}
|
|
13
|
-
handleFilter(data, client) {
|
|
14
|
-
const event = 'changes';
|
|
15
|
-
return new rxjs_1.Observable((observer => {
|
|
16
|
-
this.clearSubscription(client);
|
|
17
|
-
this._clientsSubscriptions.set(client.id, this.service.changes(data).subscribe(res => {
|
|
18
|
-
observer.next({ event, data: res });
|
|
19
|
-
}, error => observer.error(error)));
|
|
20
|
-
}));
|
|
21
|
-
}
|
|
22
|
-
afterInit(server) {
|
|
23
|
-
this._clientsSubscriptions = new Map();
|
|
24
|
-
console.log("CrudGateway Init");
|
|
25
|
-
}
|
|
26
|
-
handleDisconnect(client) {
|
|
27
|
-
this.clearSubscription(client);
|
|
28
|
-
console.log(`Client disconnected: ${client.id}`);
|
|
29
|
-
}
|
|
30
|
-
clearSubscription(client) {
|
|
31
|
-
if (this._clientsSubscriptions.has(client.id)) {
|
|
32
|
-
this._clientsSubscriptions.get(client.id).unsubscribe();
|
|
33
|
-
this._clientsSubscriptions.delete(client.id);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
handleConnection(client, ...args) {
|
|
37
|
-
console.log(`Client connected: ${client.id}`);
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
tslib_1.__decorate([
|
|
41
|
-
(0, websockets_1.SubscribeMessage)("changes"),
|
|
42
|
-
tslib_1.__param(0, (0, websockets_1.MessageBody)()),
|
|
43
|
-
tslib_1.__param(1, (0, websockets_1.ConnectedSocket)()),
|
|
44
|
-
tslib_1.__metadata("design:type", Function),
|
|
45
|
-
tslib_1.__metadata("design:paramtypes", [Object, socket_io_1.Socket]),
|
|
46
|
-
tslib_1.__metadata("design:returntype", rxjs_1.Observable)
|
|
47
|
-
], CrudGateway.prototype, "handleFilter", null);
|
|
48
|
-
exports.CrudGateway = CrudGateway = tslib_1.__decorate([
|
|
49
|
-
(0, websockets_1.WebSocketGateway)({
|
|
50
|
-
transports: ["websocket"],
|
|
51
|
-
path: "/" + process.env.URL_PREFIX + "/_socket",
|
|
52
|
-
namespace: "/" + process.env.URL_PREFIX
|
|
53
|
-
}),
|
|
54
|
-
tslib_1.__metadata("design:paramtypes", [crud_shell_app_services_1.CrudService])
|
|
55
|
-
], CrudGateway);
|
|
56
|
-
//# sourceMappingURL=crud.gateway.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"crud.gateway.js","sourceRoot":"","sources":["../../../../../../../../../libs/crud/shell/nestjs/src/lib/gateways/crud/crud.gateway.ts"],"names":[],"mappings":";;;;AAAA,mDAQ4B;AAC5B,yCAAmC;AACnC,mFAAoE;AAEpE,+BAA8C;AAQvC,IAAM,WAAW,yBAAjB,MAAM,WAAW;IAItB,YAAoB,OAAuB;QAAvB,YAAO,GAAP,OAAO,CAAgB;IAAG,CAAC;IAG/C,YAAY,CACO,IAAqB,EAAqB,MAAc;QAEzE,MAAM,KAAK,GAAG,SAAS,CAAC;QAExB,OAAO,IAAI,iBAAU,CAA8B,CAAC,QAAQ,CAAC,EAAE;YAC7D,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAE/B,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;gBACnF,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;YACtC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,SAAS,CAAC,MAAW;QACnB,IAAI,CAAC,qBAAqB,GAAG,IAAI,GAAG,EAAwB,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAClC,CAAC;IAED,gBAAgB,CAAC,MAAW;QAC1B,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAE/B,OAAO,CAAC,GAAG,CAAC,wBAAwB,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;IACnD,CAAC;IAEO,iBAAiB,CAAC,MAAW;QACnC,IAAI,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;YAC7C,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YACxD,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;SAC9C;IACH,CAAC;IAED,gBAAgB,CAAC,MAAW,EAAE,GAAG,IAAW;QAC1C,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;IAChD,CAAC;CACF,CAAA;AAnCC;IADC,IAAA,6BAAgB,EAAC,SAAS,CAAC;IAEvB,mBAAA,IAAA,wBAAW,GAAE,CAAA;IAAyB,mBAAA,IAAA,4BAAe,GAAE,CAAA;;qDAAS,kBAAM;4CACxE,iBAAU;+CAUZ;sBAnBU,WAAW;IALvB,IAAA,6BAAgB,EAAC;QAChB,UAAU,EAAE,CAAC,WAAW,CAAC;QACzB,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,UAAU;QAC/C,SAAS,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU;KACxC,CAAC;6CAK6B,qCAAW;GAJ7B,WAAW,CA0CvB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../libs/crud/shell/nestjs/src/lib/gateways/index.ts"],"names":[],"mappings":";;;AAAA,sDAAgD;AAEnC,QAAA,QAAQ,GAAG;IACpB,0BAAW;CACd,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
declare const AuthJwtGuard_base: import("@nestjs/passport").Type<import("@nestjs/passport").IAuthGuard>;
|
|
2
|
-
export declare class AuthJwtGuard extends AuthJwtGuard_base {
|
|
3
|
-
private readonly logger;
|
|
4
|
-
handleRequest(err: any, user: any, info: any): any;
|
|
5
|
-
}
|
|
6
|
-
declare const AuthOrAnonymousJwtGuard_base: import("@nestjs/passport").Type<import("@nestjs/passport").IAuthGuard>;
|
|
7
|
-
export declare class AuthOrAnonymousJwtGuard extends AuthOrAnonymousJwtGuard_base {
|
|
8
|
-
handleRequest(err: any, user: any, info: any): any;
|
|
9
|
-
}
|
|
10
|
-
export {};
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var AuthJwtGuard_1;
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.AuthOrAnonymousJwtGuard = exports.AuthJwtGuard = void 0;
|
|
5
|
-
const tslib_1 = require("tslib");
|
|
6
|
-
const common_1 = require("@nestjs/common");
|
|
7
|
-
const passport_1 = require("@nestjs/passport");
|
|
8
|
-
let AuthJwtGuard = exports.AuthJwtGuard = AuthJwtGuard_1 = class AuthJwtGuard extends (0, passport_1.AuthGuard)('jwt') {
|
|
9
|
-
constructor() {
|
|
10
|
-
super(...arguments);
|
|
11
|
-
this.logger = new common_1.Logger(AuthJwtGuard_1.name, { timestamp: true });
|
|
12
|
-
}
|
|
13
|
-
handleRequest(err, user, info) {
|
|
14
|
-
if (err || !user) {
|
|
15
|
-
this.logger.warn(JSON.stringify(info));
|
|
16
|
-
throw err || new common_1.UnauthorizedException();
|
|
17
|
-
}
|
|
18
|
-
return user;
|
|
19
|
-
}
|
|
20
|
-
};
|
|
21
|
-
exports.AuthJwtGuard = AuthJwtGuard = AuthJwtGuard_1 = tslib_1.__decorate([
|
|
22
|
-
(0, common_1.Injectable)()
|
|
23
|
-
], AuthJwtGuard);
|
|
24
|
-
let AuthOrAnonymousJwtGuard = exports.AuthOrAnonymousJwtGuard = class AuthOrAnonymousJwtGuard extends (0, passport_1.AuthGuard)('jwt') {
|
|
25
|
-
handleRequest(err, user, info) {
|
|
26
|
-
return user;
|
|
27
|
-
}
|
|
28
|
-
};
|
|
29
|
-
exports.AuthOrAnonymousJwtGuard = AuthOrAnonymousJwtGuard = tslib_1.__decorate([
|
|
30
|
-
(0, common_1.Injectable)()
|
|
31
|
-
], AuthOrAnonymousJwtGuard);
|
|
32
|
-
//# sourceMappingURL=auth.guard.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auth.guard.js","sourceRoot":"","sources":["../../../../../../../../../libs/crud/shell/nestjs/src/lib/guards/auth/auth.guard.ts"],"names":[],"mappings":";;;;;AAAA,2CAA2E;AAC3E,+CAA2C;AAGpC,IAAM,YAAY,2CAAlB,MAAM,YAAa,SAAQ,IAAA,oBAAS,EAAC,KAAK,CAAC;IAA3C;;QACc,WAAM,GAAG,IAAI,eAAM,CAAC,cAAY,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IASjF,CAAC;IAPG,aAAa,CAAC,GAAQ,EAAE,IAAS,EAAE,IAAS;QACxC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE;YACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YACvC,MAAM,GAAG,IAAI,IAAI,8BAAqB,EAAE,CAAC;SAC5C;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ,CAAA;uBAVY,YAAY;IADxB,IAAA,mBAAU,GAAE;GACA,YAAY,CAUxB;AAGM,IAAM,uBAAuB,qCAA7B,MAAM,uBAAwB,SAAQ,IAAA,oBAAS,EAAC,KAAK,CAAC;IACzD,aAAa,CAAC,GAAQ,EAAE,IAAS,EAAE,IAAS;QACxC,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ,CAAA;kCAJY,uBAAuB;IADnC,IAAA,mBAAU,GAAE;GACA,uBAAuB,CAInC"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { DynamicModule } from "@nestjs/common";
|
|
2
|
-
import { SharedConfig } from "@smartsoft001/nestjs";
|
|
3
|
-
export declare class CrudShellNestjsModule {
|
|
4
|
-
static forRoot<T>(options: SharedConfig & {
|
|
5
|
-
db: {
|
|
6
|
-
host: string;
|
|
7
|
-
port: number;
|
|
8
|
-
database: string;
|
|
9
|
-
username?: string;
|
|
10
|
-
password?: string;
|
|
11
|
-
collection?: string;
|
|
12
|
-
type?: T;
|
|
13
|
-
};
|
|
14
|
-
} & {
|
|
15
|
-
restApi: boolean;
|
|
16
|
-
socket: boolean;
|
|
17
|
-
}): DynamicModule;
|
|
18
|
-
}
|
|
19
|
-
export declare class CrudShellNestjsCoreModule {
|
|
20
|
-
static forRoot<T>(options: SharedConfig & {
|
|
21
|
-
db: {
|
|
22
|
-
host: string;
|
|
23
|
-
port: number;
|
|
24
|
-
database: string;
|
|
25
|
-
username?: string;
|
|
26
|
-
password?: string;
|
|
27
|
-
collection?: string;
|
|
28
|
-
type?: any;
|
|
29
|
-
};
|
|
30
|
-
}): DynamicModule;
|
|
31
|
-
}
|
package/src/lib/nestjs.module.js
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var CrudShellNestjsModule_1;
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.CrudShellNestjsCoreModule = exports.CrudShellNestjsModule = void 0;
|
|
5
|
-
const tslib_1 = require("tslib");
|
|
6
|
-
const common_1 = require("@nestjs/common");
|
|
7
|
-
const passport_1 = require("@nestjs/passport");
|
|
8
|
-
const jwt_1 = require("@nestjs/jwt");
|
|
9
|
-
const crud_shell_app_services_1 = require("@smartsoft001/crud-shell-app-services");
|
|
10
|
-
const nestjs_1 = require("@smartsoft001/nestjs");
|
|
11
|
-
const mongo_1 = require("@smartsoft001/mongo");
|
|
12
|
-
const controllers_1 = require("./controllers");
|
|
13
|
-
const auth_guard_1 = require("./guards/auth/auth.guard");
|
|
14
|
-
const gateways_1 = require("./gateways");
|
|
15
|
-
let CrudShellNestjsModule = exports.CrudShellNestjsModule = CrudShellNestjsModule_1 = class CrudShellNestjsModule {
|
|
16
|
-
static forRoot(options) {
|
|
17
|
-
return {
|
|
18
|
-
module: CrudShellNestjsModule_1,
|
|
19
|
-
controllers: options.restApi ? controllers_1.CONTROLLERS : [],
|
|
20
|
-
providers: [
|
|
21
|
-
...crud_shell_app_services_1.SERVICES,
|
|
22
|
-
...(options.socket ? gateways_1.GATEWAYS : []),
|
|
23
|
-
auth_guard_1.AuthJwtGuard,
|
|
24
|
-
],
|
|
25
|
-
imports: [
|
|
26
|
-
...(options.restApi && options.tokenConfig.secretOrPrivateKey
|
|
27
|
-
? [
|
|
28
|
-
passport_1.PassportModule.register({
|
|
29
|
-
defaultStrategy: "jwt",
|
|
30
|
-
session: false,
|
|
31
|
-
}),
|
|
32
|
-
jwt_1.JwtModule.register({
|
|
33
|
-
secret: options.tokenConfig.secretOrPrivateKey,
|
|
34
|
-
signOptions: {
|
|
35
|
-
expiresIn: options.tokenConfig.expiredIn,
|
|
36
|
-
},
|
|
37
|
-
}),
|
|
38
|
-
]
|
|
39
|
-
: []),
|
|
40
|
-
nestjs_1.SharedModule.forFeature(options),
|
|
41
|
-
mongo_1.MongoModule.forRoot(options.db)
|
|
42
|
-
],
|
|
43
|
-
exports: [
|
|
44
|
-
...crud_shell_app_services_1.SERVICES,
|
|
45
|
-
auth_guard_1.AuthJwtGuard,
|
|
46
|
-
mongo_1.MongoModule.forRoot(options.db)
|
|
47
|
-
],
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
exports.CrudShellNestjsModule = CrudShellNestjsModule = CrudShellNestjsModule_1 = tslib_1.__decorate([
|
|
52
|
-
(0, common_1.Module)({})
|
|
53
|
-
], CrudShellNestjsModule);
|
|
54
|
-
let CrudShellNestjsCoreModule = exports.CrudShellNestjsCoreModule = class CrudShellNestjsCoreModule {
|
|
55
|
-
static forRoot(options) {
|
|
56
|
-
return {
|
|
57
|
-
module: CrudShellNestjsModule,
|
|
58
|
-
providers: [
|
|
59
|
-
...crud_shell_app_services_1.SERVICES,
|
|
60
|
-
...gateways_1.GATEWAYS,
|
|
61
|
-
auth_guard_1.AuthJwtGuard,
|
|
62
|
-
],
|
|
63
|
-
imports: [
|
|
64
|
-
passport_1.PassportModule.register({ defaultStrategy: "jwt", session: false }),
|
|
65
|
-
jwt_1.JwtModule.register({
|
|
66
|
-
secret: options.tokenConfig.secretOrPrivateKey,
|
|
67
|
-
signOptions: {
|
|
68
|
-
expiresIn: options.tokenConfig.expiredIn,
|
|
69
|
-
},
|
|
70
|
-
}),
|
|
71
|
-
nestjs_1.SharedModule.forRoot(options),
|
|
72
|
-
mongo_1.MongoModule.forRoot(options.db)
|
|
73
|
-
],
|
|
74
|
-
exports: [],
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
};
|
|
78
|
-
exports.CrudShellNestjsCoreModule = CrudShellNestjsCoreModule = tslib_1.__decorate([
|
|
79
|
-
(0, common_1.Module)({})
|
|
80
|
-
], CrudShellNestjsCoreModule);
|
|
81
|
-
//# sourceMappingURL=nestjs.module.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nestjs.module.js","sourceRoot":"","sources":["../../../../../../../libs/crud/shell/nestjs/src/lib/nestjs.module.ts"],"names":[],"mappings":";;;;;AAAA,2CAAuD;AACvD,+CAAkD;AAClD,qCAAwC;AAExC,mFAE+C;AAC/C,iDAAkE;AAClE,+CAAkD;AAElD,+CAA4C;AAC5C,yDAAwD;AACxD,yCAAsC;AAG/B,IAAM,qBAAqB,6DAA3B,MAAM,qBAAqB;IAChC,MAAM,CAAC,OAAO,CACZ,OAaC;QAED,OAAO;YACL,MAAM,EAAE,uBAAqB;YAC7B,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAW,CAAC,CAAC,CAAC,EAAE;YAC/C,SAAS,EAAE;gBACT,GAAG,kCAAQ;gBACX,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnC,yBAAY;aACb;YACD,OAAO,EAAE;gBACP,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC,kBAAkB;oBAC3D,CAAC,CAAC;wBACE,yBAAc,CAAC,QAAQ,CAAC;4BACtB,eAAe,EAAE,KAAK;4BACtB,OAAO,EAAE,KAAK;yBACf,CAAC;wBACF,eAAS,CAAC,QAAQ,CAAC;4BACjB,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,kBAAkB;4BAC9C,WAAW,EAAE;gCACX,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,SAAS;6BACzC;yBACF,CAAC;qBACH;oBACH,CAAC,CAAC,EAAE,CAAC;gBACP,qBAAY,CAAC,UAAU,CAAC,OAAO,CAAC;gBAChC,mBAAW,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;aAChC;YACD,OAAO,EAAE;gBACP,GAAG,kCAAQ;gBACX,yBAAY;gBACZ,mBAAW,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;aAChC;SACF,CAAC;IACJ,CAAC;CACF,CAAA;gCAlDY,qBAAqB;IADjC,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,qBAAqB,CAkDjC;AAGM,IAAM,yBAAyB,uCAA/B,MAAM,yBAAyB;IACpC,MAAM,CAAC,OAAO,CACZ,OAUC;QAED,OAAO;YACL,MAAM,EAAE,qBAAqB;YAC7B,SAAS,EAAE;gBACT,GAAG,kCAAQ;gBACX,GAAG,mBAAQ;gBACX,yBAAY;aACb;YACD,OAAO,EAAE;gBACP,yBAAc,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;gBACnE,eAAS,CAAC,QAAQ,CAAC;oBACjB,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,kBAAkB;oBAC9C,WAAW,EAAE;wBACX,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,SAAS;qBACzC;iBACF,CAAC;gBACF,qBAAY,CAAC,OAAO,CAAC,OAAO,CAAC;gBAC7B,mBAAW,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;aAChC;YACD,OAAO,EAAE,EAAE;SACZ,CAAC;IACJ,CAAC;CACF,CAAA;oCAnCY,yBAAyB;IADrC,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,yBAAyB,CAmCrC"}
|
package/test-setup.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=test-setup.js.map
|
package/test-setup.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test-setup.js","sourceRoot":"","sources":["../../../../../libs/crud/shell/nestjs/test-setup.ts"],"names":[],"mappings":""}
|
|
File without changes
|