@lenne.tech/nest-server 11.2.0 → 11.3.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/dist/core/common/decorators/unified-field.decorator.d.ts +2 -0
- package/dist/core/common/decorators/unified-field.decorator.js +26 -9
- package/dist/core/common/decorators/unified-field.decorator.js.map +1 -1
- package/dist/core/common/models/core-persistence.model.js +2 -2
- package/dist/core/common/models/core-persistence.model.js.map +1 -1
- package/dist/core/modules/file/core-file-info.model.js +41 -23
- package/dist/core/modules/file/core-file-info.model.js.map +1 -1
- package/dist/core/modules/user/core-user.model.js +95 -54
- package/dist/core/modules/user/core-user.model.js.map +1 -1
- package/dist/main.js +22 -0
- package/dist/main.js.map +1 -1
- package/dist/server/common/models/persistence.model.js +13 -11
- package/dist/server/common/models/persistence.model.js.map +1 -1
- package/dist/server/modules/auth/auth.model.js +6 -2
- package/dist/server/modules/auth/auth.model.js.map +1 -1
- package/dist/server/modules/user/user.controller.d.ts +19 -0
- package/dist/server/modules/user/user.controller.js +256 -0
- package/dist/server/modules/user/user.controller.js.map +1 -0
- package/dist/server/modules/user/user.model.js +37 -24
- package/dist/server/modules/user/user.model.js.map +1 -1
- package/dist/server/modules/user/user.module.js +2 -1
- package/dist/server/modules/user/user.module.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +27 -28
- package/src/core/common/decorators/unified-field.decorator.ts +49 -10
- package/src/core/common/models/core-persistence.model.ts +3 -3
- package/src/core/modules/file/core-file-info.model.ts +40 -22
- package/src/core/modules/user/core-user.model.ts +120 -78
- package/src/main.ts +25 -0
- package/src/server/common/models/persistence.model.ts +15 -13
- package/src/server/modules/auth/auth.model.ts +7 -3
- package/src/server/modules/user/user.controller.ts +242 -0
- package/src/server/modules/user/user.model.ts +39 -26
- package/src/server/modules/user/user.module.ts +2 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { FieldOptions } from '@nestjs/graphql';
|
|
2
|
+
import { PropOptions } from '@nestjs/mongoose';
|
|
2
3
|
import { ApiPropertyOptions } from '@nestjs/swagger';
|
|
3
4
|
import { EnumAllowedTypes } from '@nestjs/swagger/dist/interfaces/schema-object-metadata.interface';
|
|
4
5
|
import { ValidationOptions } from 'class-validator';
|
|
@@ -18,6 +19,7 @@ export interface UnifiedFieldOptions {
|
|
|
18
19
|
isAny?: boolean;
|
|
19
20
|
isArray?: boolean;
|
|
20
21
|
isOptional?: boolean;
|
|
22
|
+
mongoose?: boolean | PropOptions;
|
|
21
23
|
roles?: RestrictedType | RoleEnum | RoleEnum[];
|
|
22
24
|
swaggerApiOptions?: ApiPropertyOptions;
|
|
23
25
|
type?: (() => any) | GraphQLScalarType | (new (...args: any[]) => any) | Record<number | string, number | string>;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.UnifiedField = UnifiedField;
|
|
4
4
|
const graphql_1 = require("@nestjs/graphql");
|
|
5
|
+
const mongoose_1 = require("@nestjs/mongoose");
|
|
5
6
|
const swagger_1 = require("@nestjs/swagger");
|
|
6
7
|
const class_transformer_1 = require("class-transformer");
|
|
7
8
|
const class_validator_1 = require("class-validator");
|
|
@@ -32,7 +33,10 @@ function UnifiedField(opts = {}) {
|
|
|
32
33
|
}
|
|
33
34
|
return metadataType;
|
|
34
35
|
};
|
|
35
|
-
const
|
|
36
|
+
const resolvedType = resolvedTypeFn();
|
|
37
|
+
const baseType = isArrayField && Array.isArray(resolvedType) && resolvedType.length === 1
|
|
38
|
+
? resolvedType[0]
|
|
39
|
+
: resolvedType;
|
|
36
40
|
const gqlOpts = { ...opts.gqlOptions };
|
|
37
41
|
const swaggerOpts = { ...opts.swaggerApiOptions };
|
|
38
42
|
const valOpts = { ...opts.validationOptions };
|
|
@@ -79,7 +83,10 @@ function UnifiedField(opts = {}) {
|
|
|
79
83
|
valOpts.each = false;
|
|
80
84
|
}
|
|
81
85
|
const gqlTypeFn = isArrayField
|
|
82
|
-
? () =>
|
|
86
|
+
? () => {
|
|
87
|
+
const resolved = opts.enum?.enum || opts.gqlType || resolvedTypeFn();
|
|
88
|
+
return [Array.isArray(resolved) && resolved.length === 1 ? resolved[0] : resolved];
|
|
89
|
+
}
|
|
83
90
|
: () => opts.enum?.enum || opts.gqlType || resolvedTypeFn();
|
|
84
91
|
(0, graphql_1.Field)(gqlTypeFn, gqlOpts)(target, propertyKey);
|
|
85
92
|
(0, swagger_1.ApiProperty)(swaggerOpts)(target, propertyKey);
|
|
@@ -87,7 +94,7 @@ function UnifiedField(opts = {}) {
|
|
|
87
94
|
(0, class_validator_1.ValidateIf)(opts.validateIf)(target, propertyKey);
|
|
88
95
|
}
|
|
89
96
|
if (opts.validator) {
|
|
90
|
-
opts.validator(valOpts).forEach(d => d(target, propertyKey));
|
|
97
|
+
opts.validator(valOpts).forEach((d) => d(target, propertyKey));
|
|
91
98
|
}
|
|
92
99
|
else if (!opts.isAny) {
|
|
93
100
|
const validator = getBuiltInValidator(baseType, valOpts, isArrayField, target);
|
|
@@ -105,6 +112,16 @@ function UnifiedField(opts = {}) {
|
|
|
105
112
|
const rolesArr = Array.isArray(opts.roles) ? opts.roles : [opts.roles];
|
|
106
113
|
(0, restricted_decorator_1.Restricted)(...rolesArr)(target, propertyKey);
|
|
107
114
|
}
|
|
115
|
+
if (opts.mongoose) {
|
|
116
|
+
const propOptions = typeof opts.mongoose === 'object' ? opts.mongoose : {};
|
|
117
|
+
if (typeof propOptions === 'object' && !Array.isArray(propOptions) && !propOptions.type && baseType) {
|
|
118
|
+
propOptions.type = baseType;
|
|
119
|
+
}
|
|
120
|
+
if (typeof propOptions === 'object' && !Array.isArray(propOptions) && isArrayField && !propOptions.type) {
|
|
121
|
+
propOptions.type = [baseType];
|
|
122
|
+
}
|
|
123
|
+
(0, mongoose_1.Prop)(propOptions)(target, propertyKey);
|
|
124
|
+
}
|
|
108
125
|
};
|
|
109
126
|
}
|
|
110
127
|
function getBuiltInValidator(type, opts, each, target) {
|
|
@@ -125,12 +142,12 @@ function getBuiltInValidator(type, opts, each, target) {
|
|
|
125
142
|
return decorator;
|
|
126
143
|
}
|
|
127
144
|
function isGraphQLScalar(type) {
|
|
128
|
-
return ((type
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
145
|
+
return ((type &&
|
|
146
|
+
typeof type === 'function' &&
|
|
147
|
+
typeof type.prototype?.serialize === 'function' &&
|
|
148
|
+
typeof type.prototype?.parseValue === 'function' &&
|
|
149
|
+
typeof type.prototype?.parseLiteral === 'function') ||
|
|
150
|
+
type instanceof graphql_2.GraphQLScalarType);
|
|
134
151
|
}
|
|
135
152
|
function isPrimitive(fn) {
|
|
136
153
|
return [Boolean, Date, Number, String].includes(fn);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unified-field.decorator.js","sourceRoot":"","sources":["../../../../src/core/common/decorators/unified-field.decorator.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"unified-field.decorator.js","sourceRoot":"","sources":["../../../../src/core/common/decorators/unified-field.decorator.ts"],"names":[],"mappings":"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"}
|
|
@@ -89,10 +89,10 @@ __decorate([
|
|
|
89
89
|
__metadata("design:type", String)
|
|
90
90
|
], CorePersistenceModel.prototype, "id", void 0);
|
|
91
91
|
__decorate([
|
|
92
|
-
(0, mongoose_1.Prop)(),
|
|
93
92
|
(0, unified_field_decorator_1.UnifiedField)({
|
|
94
93
|
description: 'Created date',
|
|
95
94
|
isOptional: true,
|
|
95
|
+
mongoose: true,
|
|
96
96
|
roles: role_enum_1.RoleEnum.S_EVERYONE,
|
|
97
97
|
swaggerApiOptions: { example: 1740037703939, format: 'int64', type: Date },
|
|
98
98
|
type: Date,
|
|
@@ -100,10 +100,10 @@ __decorate([
|
|
|
100
100
|
__metadata("design:type", Date)
|
|
101
101
|
], CorePersistenceModel.prototype, "createdAt", void 0);
|
|
102
102
|
__decorate([
|
|
103
|
-
(0, mongoose_1.Prop)(),
|
|
104
103
|
(0, unified_field_decorator_1.UnifiedField)({
|
|
105
104
|
description: 'Updated date',
|
|
106
105
|
isOptional: true,
|
|
106
|
+
mongoose: true,
|
|
107
107
|
roles: role_enum_1.RoleEnum.S_EVERYONE,
|
|
108
108
|
swaggerApiOptions: { example: 1740037703939, format: 'int64', type: Date },
|
|
109
109
|
type: Date,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-persistence.model.js","sourceRoot":"","sources":["../../../../src/core/common/models/core-persistence.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA6C;AAC7C,+
|
|
1
|
+
{"version":3,"file":"core-persistence.model.js","sourceRoot":"","sources":["../../../../src/core/common/models/core-persistence.model.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,9 +11,9 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.CoreFileInfo = void 0;
|
|
13
13
|
const graphql_1 = require("@nestjs/graphql");
|
|
14
|
-
const mongoose_1 = require("
|
|
15
|
-
const mongoose_2 = require("mongoose");
|
|
14
|
+
const mongoose_1 = require("mongoose");
|
|
16
15
|
const restricted_decorator_1 = require("../../common/decorators/restricted.decorator");
|
|
16
|
+
const unified_field_decorator_1 = require("../../common/decorators/unified-field.decorator");
|
|
17
17
|
const role_enum_1 = require("../../common/enums/role.enum");
|
|
18
18
|
const core_model_model_1 = require("../../common/models/core-model.model");
|
|
19
19
|
let CoreFileInfo = class CoreFileInfo extends core_model_model_1.CoreModel {
|
|
@@ -27,7 +27,7 @@ let CoreFileInfo = class CoreFileInfo extends core_model_model_1.CoreModel {
|
|
|
27
27
|
this.uploadDate = undefined;
|
|
28
28
|
}
|
|
29
29
|
get _id() {
|
|
30
|
-
return new
|
|
30
|
+
return new mongoose_1.Types.ObjectId(this.id);
|
|
31
31
|
}
|
|
32
32
|
};
|
|
33
33
|
exports.CoreFileInfo = CoreFileInfo;
|
|
@@ -37,42 +37,60 @@ __decorate([
|
|
|
37
37
|
__metadata("design:paramtypes", [])
|
|
38
38
|
], CoreFileInfo.prototype, "_id", null);
|
|
39
39
|
__decorate([
|
|
40
|
-
(0,
|
|
41
|
-
|
|
40
|
+
(0, unified_field_decorator_1.UnifiedField)({
|
|
41
|
+
description: 'ID of the file',
|
|
42
|
+
roles: role_enum_1.RoleEnum.S_EVERYONE,
|
|
43
|
+
type: () => String,
|
|
44
|
+
}),
|
|
42
45
|
__metadata("design:type", String)
|
|
43
46
|
], CoreFileInfo.prototype, "id", void 0);
|
|
44
47
|
__decorate([
|
|
45
|
-
(0,
|
|
46
|
-
description: 'The size of each chunk in bytes. GridFS divides the document into chunks of size chunkSize, '
|
|
47
|
-
|
|
48
|
-
|
|
48
|
+
(0, unified_field_decorator_1.UnifiedField)({
|
|
49
|
+
description: 'The size of each chunk in bytes. GridFS divides the document into chunks of size chunkSize, ' +
|
|
50
|
+
'except for the last, which is only as large as needed. The default size is 255 kilobytes (kB)',
|
|
51
|
+
isOptional: true,
|
|
52
|
+
mongoose: { required: false, type: Number },
|
|
53
|
+
roles: role_enum_1.RoleEnum.S_EVERYONE,
|
|
54
|
+
type: () => Number,
|
|
49
55
|
}),
|
|
50
|
-
(0, mongoose_1.Prop)({ required: false, type: Number }),
|
|
51
|
-
(0, restricted_decorator_1.Restricted)(role_enum_1.RoleEnum.S_EVERYONE),
|
|
52
56
|
__metadata("design:type", Number)
|
|
53
57
|
], CoreFileInfo.prototype, "chunkSize", void 0);
|
|
54
58
|
__decorate([
|
|
55
|
-
(0,
|
|
56
|
-
|
|
57
|
-
|
|
59
|
+
(0, unified_field_decorator_1.UnifiedField)({
|
|
60
|
+
description: 'Content type',
|
|
61
|
+
isOptional: true,
|
|
62
|
+
mongoose: { required: false, type: String },
|
|
63
|
+
roles: role_enum_1.RoleEnum.S_EVERYONE,
|
|
64
|
+
}),
|
|
58
65
|
__metadata("design:type", String)
|
|
59
66
|
], CoreFileInfo.prototype, "contentType", void 0);
|
|
60
67
|
__decorate([
|
|
61
|
-
(0,
|
|
62
|
-
|
|
63
|
-
|
|
68
|
+
(0, unified_field_decorator_1.UnifiedField)({
|
|
69
|
+
description: 'Name of the file',
|
|
70
|
+
isOptional: true,
|
|
71
|
+
mongoose: { required: false, type: String },
|
|
72
|
+
roles: role_enum_1.RoleEnum.S_EVERYONE,
|
|
73
|
+
}),
|
|
64
74
|
__metadata("design:type", String)
|
|
65
75
|
], CoreFileInfo.prototype, "filename", void 0);
|
|
66
76
|
__decorate([
|
|
67
|
-
(0,
|
|
68
|
-
|
|
69
|
-
|
|
77
|
+
(0, unified_field_decorator_1.UnifiedField)({
|
|
78
|
+
description: 'The size of the document in bytes',
|
|
79
|
+
isOptional: true,
|
|
80
|
+
mongoose: { required: false, type: Number },
|
|
81
|
+
roles: role_enum_1.RoleEnum.S_EVERYONE,
|
|
82
|
+
type: () => Number,
|
|
83
|
+
}),
|
|
70
84
|
__metadata("design:type", Number)
|
|
71
85
|
], CoreFileInfo.prototype, "length", void 0);
|
|
72
86
|
__decorate([
|
|
73
|
-
(0,
|
|
74
|
-
|
|
75
|
-
|
|
87
|
+
(0, unified_field_decorator_1.UnifiedField)({
|
|
88
|
+
description: 'The date the file was first stored',
|
|
89
|
+
isOptional: true,
|
|
90
|
+
mongoose: { required: false, type: Date },
|
|
91
|
+
roles: role_enum_1.RoleEnum.S_EVERYONE,
|
|
92
|
+
type: () => Date,
|
|
93
|
+
}),
|
|
76
94
|
__metadata("design:type", Date)
|
|
77
95
|
], CoreFileInfo.prototype, "uploadDate", void 0);
|
|
78
96
|
exports.CoreFileInfo = CoreFileInfo = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-file-info.model.js","sourceRoot":"","sources":["../../../../src/core/modules/file/core-file-info.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"core-file-info.model.js","sourceRoot":"","sources":["../../../../src/core/modules/file/core-file-info.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA6C;AAC7C,uCAAiC;AAEjC,uFAA0E;AAC1E,6FAA+E;AAC/E,4DAAwD;AACxD,2EAAiE;AAO1D,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,4BAAS;IAApC;;QAmBL,OAAE,GAAW,SAAS,CAAC;QAWvB,cAAS,GAAW,SAAS,CAAC;QAQ9B,gBAAW,GAAY,SAAS,CAAC;QAQjC,aAAQ,GAAY,SAAS,CAAC;QAS9B,WAAM,GAAW,SAAS,CAAC;QAS3B,eAAU,GAAS,SAAS,CAAC;IAC/B,CAAC;IA5DC,IACI,GAAG;QACL,OAAO,IAAI,gBAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC;CAyDF,CAAA;AAjEY,oCAAY;AAKvB;IAAC,IAAA,iCAAU,EAAC,oBAAQ,CAAC,UAAU,CAAC;;;uCAG/B;AAWD;IALC,IAAA,sCAAY,EAAC;QACZ,WAAW,EAAE,gBAAgB;QAC7B,KAAK,EAAE,oBAAQ,CAAC,UAAU;QAC1B,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM;KACnB,CAAC;;wCACqB;AAWvB;IATC,IAAA,sCAAY,EAAC;QACZ,WAAW,EACT,8FAA8F;YAC9F,+FAA+F;QACjG,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE;QAC3C,KAAK,EAAE,oBAAQ,CAAC,UAAU;QAC1B,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM;KACnB,CAAC;;+CAC4B;AAQ9B;IANC,IAAA,sCAAY,EAAC;QACZ,WAAW,EAAE,cAAc;QAC3B,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE;QAC3C,KAAK,EAAE,oBAAQ,CAAC,UAAU;KAC3B,CAAC;;iDAC+B;AAQjC;IANC,IAAA,sCAAY,EAAC;QACZ,WAAW,EAAE,kBAAkB;QAC/B,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE;QAC3C,KAAK,EAAE,oBAAQ,CAAC,UAAU;KAC3B,CAAC;;8CAC4B;AAS9B;IAPC,IAAA,sCAAY,EAAC;QACZ,WAAW,EAAE,mCAAmC;QAChD,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE;QAC3C,KAAK,EAAE,oBAAQ,CAAC,UAAU;QAC1B,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM;KACnB,CAAC;;4CACyB;AAS3B;IAPC,IAAA,sCAAY,EAAC;QACZ,WAAW,EAAE,oCAAoC;QACjD,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE;QACzC,KAAK,EAAE,oBAAQ,CAAC,UAAU;QAC1B,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI;KACjB,CAAC;8BACU,IAAI;gDAAa;uBAhElB,YAAY;IAFxB,IAAA,oBAAU,EAAC,EAAE,WAAW,EAAE,wBAAwB,EAAE,CAAC;IACrD,IAAA,iCAAU,EAAC,oBAAQ,CAAC,UAAU,CAAC;GACnB,YAAY,CAiExB"}
|
|
@@ -13,8 +13,8 @@ exports.CoreUserModel = void 0;
|
|
|
13
13
|
const graphql_1 = require("@nestjs/graphql");
|
|
14
14
|
const mongoose_1 = require("@nestjs/mongoose");
|
|
15
15
|
const swagger_1 = require("@nestjs/swagger");
|
|
16
|
-
const class_validator_1 = require("class-validator");
|
|
17
16
|
const restricted_decorator_1 = require("../../common/decorators/restricted.decorator");
|
|
17
|
+
const unified_field_decorator_1 = require("../../common/decorators/unified-field.decorator");
|
|
18
18
|
const role_enum_1 = require("../../common/enums/role.enum");
|
|
19
19
|
const core_persistence_model_1 = require("../../common/models/core-persistence.model");
|
|
20
20
|
let CoreUserModel = class CoreUserModel extends core_persistence_model_1.CorePersistenceModel {
|
|
@@ -40,7 +40,7 @@ let CoreUserModel = class CoreUserModel extends core_persistence_model_1.CorePer
|
|
|
40
40
|
if (!this.roles || this.roles.length < 1) {
|
|
41
41
|
return false;
|
|
42
42
|
}
|
|
43
|
-
return !roles || roles.length < 1 ? true : this.roles.some(role => roles.includes(role));
|
|
43
|
+
return !roles || roles.length < 1 ? true : this.roles.some((role) => roles.includes(role));
|
|
44
44
|
}
|
|
45
45
|
hasAllRoles(roles) {
|
|
46
46
|
if (typeof roles === 'string') {
|
|
@@ -49,7 +49,7 @@ let CoreUserModel = class CoreUserModel extends core_persistence_model_1.CorePer
|
|
|
49
49
|
if (!this.roles || this.roles.length < 1) {
|
|
50
50
|
return false;
|
|
51
51
|
}
|
|
52
|
-
return !roles ? true : roles.every(role => this.roles.includes(role));
|
|
52
|
+
return !roles ? true : roles.every((role) => this.roles.includes(role));
|
|
53
53
|
}
|
|
54
54
|
init() {
|
|
55
55
|
super.init();
|
|
@@ -63,55 +63,66 @@ let CoreUserModel = class CoreUserModel extends core_persistence_model_1.CorePer
|
|
|
63
63
|
};
|
|
64
64
|
exports.CoreUserModel = CoreUserModel;
|
|
65
65
|
__decorate([
|
|
66
|
-
(0,
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
66
|
+
(0, unified_field_decorator_1.UnifiedField)({
|
|
67
|
+
description: 'Email of the user',
|
|
68
|
+
isOptional: true,
|
|
69
|
+
mongoose: { index: true, lowercase: true, trim: true },
|
|
70
|
+
roles: role_enum_1.RoleEnum.S_EVERYONE,
|
|
71
|
+
}),
|
|
70
72
|
__metadata("design:type", String)
|
|
71
73
|
], CoreUserModel.prototype, "email", void 0);
|
|
72
74
|
__decorate([
|
|
73
|
-
(0,
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
75
|
+
(0, unified_field_decorator_1.UnifiedField)({
|
|
76
|
+
description: 'First name of the user',
|
|
77
|
+
isOptional: true,
|
|
78
|
+
mongoose: true,
|
|
79
|
+
roles: role_enum_1.RoleEnum.S_EVERYONE,
|
|
80
|
+
}),
|
|
78
81
|
__metadata("design:type", String)
|
|
79
82
|
], CoreUserModel.prototype, "firstName", void 0);
|
|
80
83
|
__decorate([
|
|
81
|
-
(0,
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
84
|
+
(0, unified_field_decorator_1.UnifiedField)({
|
|
85
|
+
description: 'Last name of the user',
|
|
86
|
+
isOptional: true,
|
|
87
|
+
mongoose: true,
|
|
88
|
+
roles: role_enum_1.RoleEnum.S_EVERYONE,
|
|
89
|
+
}),
|
|
86
90
|
__metadata("design:type", String)
|
|
87
91
|
], CoreUserModel.prototype, "lastName", void 0);
|
|
88
92
|
__decorate([
|
|
89
|
-
(0,
|
|
90
|
-
|
|
91
|
-
|
|
93
|
+
(0, unified_field_decorator_1.UnifiedField)({
|
|
94
|
+
isOptional: true,
|
|
95
|
+
mongoose: true,
|
|
96
|
+
roles: role_enum_1.RoleEnum.S_NO_ONE,
|
|
97
|
+
}),
|
|
92
98
|
__metadata("design:type", String)
|
|
93
99
|
], CoreUserModel.prototype, "password", void 0);
|
|
94
100
|
__decorate([
|
|
95
|
-
(0,
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
101
|
+
(0, unified_field_decorator_1.UnifiedField)({
|
|
102
|
+
description: 'Roles of the user',
|
|
103
|
+
isArray: true,
|
|
104
|
+
isOptional: true,
|
|
105
|
+
mongoose: [String],
|
|
106
|
+
roles: role_enum_1.RoleEnum.S_EVERYONE,
|
|
107
|
+
type: () => String,
|
|
108
|
+
}),
|
|
100
109
|
__metadata("design:type", Array)
|
|
101
110
|
], CoreUserModel.prototype, "roles", void 0);
|
|
102
111
|
__decorate([
|
|
103
|
-
(0,
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
112
|
+
(0, unified_field_decorator_1.UnifiedField)({
|
|
113
|
+
description: 'Username of the user',
|
|
114
|
+
isOptional: true,
|
|
115
|
+
mongoose: true,
|
|
116
|
+
roles: role_enum_1.RoleEnum.S_EVERYONE,
|
|
117
|
+
}),
|
|
108
118
|
__metadata("design:type", String)
|
|
109
119
|
], CoreUserModel.prototype, "username", void 0);
|
|
110
120
|
__decorate([
|
|
111
|
-
(0,
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
121
|
+
(0, unified_field_decorator_1.UnifiedField)({
|
|
122
|
+
isOptional: true,
|
|
123
|
+
mongoose: true,
|
|
124
|
+
roles: role_enum_1.RoleEnum.S_NO_ONE,
|
|
125
|
+
}),
|
|
115
126
|
__metadata("design:type", String)
|
|
116
127
|
], CoreUserModel.prototype, "passwordResetToken", void 0);
|
|
117
128
|
__decorate([
|
|
@@ -119,9 +130,21 @@ __decorate([
|
|
|
119
130
|
(0, swagger_1.ApiProperty)({
|
|
120
131
|
additionalProperties: {
|
|
121
132
|
properties: {
|
|
122
|
-
deviceDescription: {
|
|
123
|
-
|
|
124
|
-
|
|
133
|
+
deviceDescription: {
|
|
134
|
+
description: 'Description of the device from which the token was generated',
|
|
135
|
+
nullable: true,
|
|
136
|
+
type: 'string',
|
|
137
|
+
},
|
|
138
|
+
deviceId: {
|
|
139
|
+
description: 'ID of the device from which the token was generated',
|
|
140
|
+
nullable: true,
|
|
141
|
+
type: 'string',
|
|
142
|
+
},
|
|
143
|
+
tokenId: {
|
|
144
|
+
description: 'Token ID to make sure that there is only one RefreshToken for each device',
|
|
145
|
+
nullable: false,
|
|
146
|
+
type: 'string',
|
|
147
|
+
},
|
|
125
148
|
},
|
|
126
149
|
type: 'object',
|
|
127
150
|
},
|
|
@@ -140,7 +163,6 @@ __decorate([
|
|
|
140
163
|
},
|
|
141
164
|
type: 'object',
|
|
142
165
|
}),
|
|
143
|
-
(0, class_validator_1.IsOptional)(),
|
|
144
166
|
(0, mongoose_1.Prop)((0, mongoose_1.raw)({})),
|
|
145
167
|
(0, restricted_decorator_1.Restricted)(role_enum_1.RoleEnum.S_NO_ONE),
|
|
146
168
|
__metadata("design:type", Object)
|
|
@@ -150,9 +172,23 @@ __decorate([
|
|
|
150
172
|
(0, swagger_1.ApiProperty)({
|
|
151
173
|
additionalProperties: {
|
|
152
174
|
properties: {
|
|
153
|
-
createdAt: {
|
|
154
|
-
|
|
155
|
-
|
|
175
|
+
createdAt: {
|
|
176
|
+
description: 'Token Created At',
|
|
177
|
+
example: 1740037703939,
|
|
178
|
+
format: 'int64',
|
|
179
|
+
nullable: true,
|
|
180
|
+
type: 'number',
|
|
181
|
+
},
|
|
182
|
+
deviceId: {
|
|
183
|
+
description: 'ID of the device from which the token was generated',
|
|
184
|
+
nullable: true,
|
|
185
|
+
type: 'string',
|
|
186
|
+
},
|
|
187
|
+
tokenId: {
|
|
188
|
+
description: 'Token ID to make sure that there is only one RefreshToken for each device',
|
|
189
|
+
nullable: false,
|
|
190
|
+
type: 'string',
|
|
191
|
+
},
|
|
156
192
|
},
|
|
157
193
|
type: 'object',
|
|
158
194
|
},
|
|
@@ -171,30 +207,35 @@ __decorate([
|
|
|
171
207
|
},
|
|
172
208
|
type: 'object',
|
|
173
209
|
}),
|
|
174
|
-
(0, class_validator_1.IsOptional)(),
|
|
175
210
|
(0, mongoose_1.Prop)((0, mongoose_1.raw)({})),
|
|
176
211
|
(0, restricted_decorator_1.Restricted)(role_enum_1.RoleEnum.S_NO_ONE),
|
|
177
212
|
__metadata("design:type", Object)
|
|
178
213
|
], CoreUserModel.prototype, "tempTokens", void 0);
|
|
179
214
|
__decorate([
|
|
180
|
-
(0,
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
215
|
+
(0, unified_field_decorator_1.UnifiedField)({
|
|
216
|
+
isOptional: true,
|
|
217
|
+
mongoose: true,
|
|
218
|
+
roles: role_enum_1.RoleEnum.S_NO_ONE,
|
|
219
|
+
}),
|
|
184
220
|
__metadata("design:type", String)
|
|
185
221
|
], CoreUserModel.prototype, "verificationToken", void 0);
|
|
186
222
|
__decorate([
|
|
187
|
-
(0,
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
223
|
+
(0, unified_field_decorator_1.UnifiedField)({
|
|
224
|
+
description: 'Verification state of the user',
|
|
225
|
+
isOptional: true,
|
|
226
|
+
mongoose: { type: Boolean },
|
|
227
|
+
roles: role_enum_1.RoleEnum.S_EVERYONE,
|
|
228
|
+
type: () => Boolean,
|
|
229
|
+
}),
|
|
191
230
|
__metadata("design:type", Boolean)
|
|
192
231
|
], CoreUserModel.prototype, "verified", void 0);
|
|
193
232
|
__decorate([
|
|
194
|
-
(0,
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
233
|
+
(0, unified_field_decorator_1.UnifiedField)({
|
|
234
|
+
description: 'Verified date',
|
|
235
|
+
isOptional: true,
|
|
236
|
+
mongoose: true,
|
|
237
|
+
roles: role_enum_1.RoleEnum.S_EVERYONE,
|
|
238
|
+
}),
|
|
198
239
|
__metadata("design:type", Date)
|
|
199
240
|
], CoreUserModel.prototype, "verifiedAt", void 0);
|
|
200
241
|
exports.CoreUserModel = CoreUserModel = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-user.model.js","sourceRoot":"","sources":["../../../../src/core/modules/user/core-user.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"core-user.model.js","sourceRoot":"","sources":["../../../../src/core/modules/user/core-user.model.ts"],"names":[],"mappings":"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"}
|
package/dist/main.js
CHANGED
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const core_1 = require("@nestjs/core");
|
|
4
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
4
5
|
const child_process_1 = require("child_process");
|
|
5
6
|
const compression = require("compression");
|
|
6
7
|
const cookieParser = require("cookie-parser");
|
|
7
8
|
const config_env_1 = require("./config.env");
|
|
9
|
+
const filter_args_1 = require("./core/common/args/filter.args");
|
|
8
10
|
const http_exception_log_filter_1 = require("./core/common/filters/http-exception-log.filter");
|
|
11
|
+
const core_persistence_model_1 = require("./core/common/models/core-persistence.model");
|
|
12
|
+
const core_auth_model_1 = require("./core/modules/auth/core-auth.model");
|
|
13
|
+
const core_user_model_1 = require("./core/modules/user/core-user.model");
|
|
14
|
+
const persistence_model_1 = require("./server/common/models/persistence.model");
|
|
15
|
+
const auth_model_1 = require("./server/modules/auth/auth.model");
|
|
16
|
+
const user_model_1 = require("./server/modules/user/user.model");
|
|
9
17
|
const server_module_1 = require("./server/server.module");
|
|
10
18
|
async function bootstrap() {
|
|
11
19
|
const server = await core_1.NestFactory.create(server_module_1.ServerModule);
|
|
@@ -33,6 +41,20 @@ async function bootstrap() {
|
|
|
33
41
|
server.setBaseViewsDir(config_env_1.default.templates.path);
|
|
34
42
|
server.setViewEngine(config_env_1.default.templates.engine);
|
|
35
43
|
server.enableCors();
|
|
44
|
+
const config = new swagger_1.DocumentBuilder()
|
|
45
|
+
.setTitle('Nest Server API')
|
|
46
|
+
.setDescription('API lenne.Tech Nest Server')
|
|
47
|
+
.setVersion('1.0.0')
|
|
48
|
+
.addBearerAuth()
|
|
49
|
+
.build();
|
|
50
|
+
const documentFactory = () => swagger_1.SwaggerModule.createDocument(server, config, {
|
|
51
|
+
autoTagControllers: true,
|
|
52
|
+
deepScanRoutes: true,
|
|
53
|
+
extraModels: [core_user_model_1.CoreUserModel, core_auth_model_1.CoreAuthModel, auth_model_1.Auth, user_model_1.User, persistence_model_1.PersistenceModel, core_persistence_model_1.CorePersistenceModel, filter_args_1.FilterArgs],
|
|
54
|
+
});
|
|
55
|
+
swagger_1.SwaggerModule.setup('swagger', server, documentFactory, {
|
|
56
|
+
jsonDocumentUrl: '/api-docs-json',
|
|
57
|
+
});
|
|
36
58
|
await server.listen(config_env_1.default.port, config_env_1.default.hostname);
|
|
37
59
|
console.debug(`Server startet at ${await server.getUrl()}`);
|
|
38
60
|
if (config_env_1.default.execAfterInit) {
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";;AAAA,uCAA2C;AAE3C,iDAAqC;AACrC,2CAA4C;AAC5C,8CAA+C;AAE/C,6CAAqC;AACrC,+FAAyF;AACzF,0DAAsD;AAKtD,KAAK,UAAU,SAAS;IAEtB,MAAM,MAAM,GAAG,MAAM,kBAAW,CAAC,MAAM,CAErC,4BAAY,CACb,CAAC;IAGF,IAAI,oBAAS,CAAC,aAAa,EAAE,CAAC;QAC5B,MAAM,CAAC,gBAAgB,CAAC,IAAI,kDAAsB,EAAE,CAAC,CAAC;IACxD,CAAC;IAGD,IAAI,oBAAS,CAAC,WAAW,EAAE,CAAC;QAC1B,IAAI,qBAAqB,GAAG,EAAE,CAAC;QAC/B,IAAI,OAAO,oBAAS,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YAC9C,qBAAqB,GAAG,oBAAS,CAAC,WAAW,CAAC;QAChD,CAAC;QACD,MAAM,kBAAkB,GAAG;YACzB,MAAM,EAAE,GAAG,EAAE;gBACX,OAAO,IAAI,CAAC;YACd,CAAC;YACD,SAAS,EAAE,CAAC;YACZ,GAAG,qBAAqB;SACzB,CAAC;QACF,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC9C,CAAC;IAGD,IAAI,oBAAS,CAAC,OAAO,EAAE,CAAC;QACtB,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;IAC7B,CAAC;IAGD,MAAM,CAAC,eAAe,CAAC,oBAAS,CAAC,YAAY,CAAC,IAAI,EAAE,oBAAS,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAGpF,MAAM,CAAC,eAAe,CAAC,oBAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,CAAC,aAAa,CAAC,oBAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAGjD,MAAM,CAAC,UAAU,EAAE,CAAC;IAGpB,MAAM,MAAM,CAAC,MAAM,CAAC,oBAAS,CAAC,IAAI,EAAE,oBAAS,CAAC,QAAQ,CAAC,CAAC;IACxD,OAAO,CAAC,KAAK,CAAC,qBAAqB,MAAM,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAG5D,IAAI,oBAAS,CAAC,aAAa,EAAE,CAAC;QAC5B,IAAA,oBAAI,EAAC,oBAAS,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YACtD,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,KAAK,CAAC,UAAU,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBACzC,OAAO;YACT,CAAC;YAED,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC;gBACnC,OAAO;YACT,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAGD,SAAS,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|