@lenne.tech/nest-server 11.1.14 → 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/helpers/gridfs.helper.d.ts +42 -0
- package/dist/core/common/helpers/gridfs.helper.js +107 -0
- package/dist/core/common/helpers/gridfs.helper.js.map +1 -0
- 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/common/services/brevo.service.d.ts +1 -0
- package/dist/core/common/services/brevo.service.js +19 -18
- package/dist/core/common/services/brevo.service.js.map +1 -1
- package/dist/core/common/services/crud.service.js +1 -1
- package/dist/core/common/services/crud.service.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/file/core-file.controller.d.ts +2 -1
- package/dist/core/modules/file/core-file.controller.js +1 -1
- package/dist/core/modules/file/core-file.controller.js.map +1 -1
- package/dist/core/modules/file/core-file.service.d.ts +7 -7
- package/dist/core/modules/file/core-file.service.js +28 -51
- package/dist/core/modules/file/core-file.service.js.map +1 -1
- package/dist/core/modules/file/interfaces/file-upload.interface.d.ts +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/core/modules/user/core-user.service.js +2 -3
- package/dist/core/modules/user/core-user.service.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1 -0
- package/dist/index.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/file/file-info.model.d.ts +7 -3
- package/dist/server/modules/file/file.controller.d.ts +6 -4
- package/dist/server/modules/file/file.controller.js +15 -4
- package/dist/server/modules/file/file.controller.js.map +1 -1
- package/dist/server/modules/file/file.resolver.js +1 -1
- package/dist/server/modules/file/file.resolver.js.map +1 -1
- package/dist/server/modules/file/multer-config.service.d.ts +0 -2
- package/dist/server/modules/file/multer-config.service.js +3 -22
- package/dist/server/modules/file/multer-config.service.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.d.ts +7 -3
- 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/dist/types/graphql-upload.d.ts +25 -0
- package/package.json +41 -44
- package/src/core/common/decorators/unified-field.decorator.ts +49 -10
- package/src/core/common/helpers/gridfs.helper.ts +227 -0
- package/src/core/common/models/core-persistence.model.ts +3 -3
- package/src/core/common/services/brevo.service.ts +20 -18
- package/src/core/common/services/crud.service.ts +3 -3
- package/src/core/modules/file/core-file-info.model.ts +40 -22
- package/src/core/modules/file/core-file.controller.ts +3 -2
- package/src/core/modules/file/core-file.service.ts +49 -60
- package/src/core/modules/file/interfaces/file-upload.interface.ts +2 -1
- package/src/core/modules/user/core-user.model.ts +120 -78
- package/src/core/modules/user/core-user.service.ts +3 -3
- package/src/index.ts +1 -0
- 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/file/file.controller.ts +25 -7
- package/src/server/modules/file/file.resolver.ts +1 -2
- package/src/server/modules/file/multer-config.service.ts +6 -21
- 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
- package/src/types/graphql-upload.d.ts +25 -0
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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"}
|
|
@@ -11,10 +11,10 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.PersistenceModel = void 0;
|
|
13
13
|
const graphql_1 = require("@nestjs/graphql");
|
|
14
|
-
const mongoose_1 = require("@nestjs/mongoose");
|
|
15
14
|
const swagger_1 = require("@nestjs/swagger");
|
|
16
15
|
const mongoose = require("mongoose");
|
|
17
16
|
const restricted_decorator_1 = require("../../../core/common/decorators/restricted.decorator");
|
|
17
|
+
const unified_field_decorator_1 = require("../../../core/common/decorators/unified-field.decorator");
|
|
18
18
|
const role_enum_1 = require("../../../core/common/enums/role.enum");
|
|
19
19
|
const core_persistence_model_1 = require("../../../core/common/models/core-persistence.model");
|
|
20
20
|
const user_model_1 = require("../../modules/user/user.model");
|
|
@@ -35,23 +35,25 @@ let PersistenceModel = class PersistenceModel extends core_persistence_model_1.C
|
|
|
35
35
|
};
|
|
36
36
|
exports.PersistenceModel = PersistenceModel;
|
|
37
37
|
__decorate([
|
|
38
|
-
(0,
|
|
39
|
-
(0, graphql_1.Field)(() => user_model_1.User, {
|
|
38
|
+
(0, unified_field_decorator_1.UnifiedField)({
|
|
40
39
|
description: 'ID of the user who created the object',
|
|
41
|
-
|
|
40
|
+
isOptional: true,
|
|
41
|
+
mongoose: { ref: 'User', type: mongoose.Schema.Types.ObjectId },
|
|
42
|
+
roles: role_enum_1.RoleEnum.ADMIN,
|
|
43
|
+
swaggerApiOptions: { type: String },
|
|
44
|
+
type: () => user_model_1.User,
|
|
42
45
|
}),
|
|
43
|
-
(0, mongoose_1.Prop)({ ref: 'User', type: mongoose.Schema.Types.ObjectId }),
|
|
44
|
-
(0, restricted_decorator_1.Restricted)(role_enum_1.RoleEnum.ADMIN),
|
|
45
46
|
__metadata("design:type", Object)
|
|
46
47
|
], PersistenceModel.prototype, "createdBy", void 0);
|
|
47
48
|
__decorate([
|
|
48
|
-
(0,
|
|
49
|
-
(0, graphql_1.Field)(() => user_model_1.User, {
|
|
49
|
+
(0, unified_field_decorator_1.UnifiedField)({
|
|
50
50
|
description: 'ID of the user who updated the object',
|
|
51
|
-
|
|
51
|
+
isOptional: true,
|
|
52
|
+
mongoose: { ref: 'User', type: mongoose.Schema.Types.ObjectId },
|
|
53
|
+
roles: role_enum_1.RoleEnum.ADMIN,
|
|
54
|
+
swaggerApiOptions: { type: user_model_1.User },
|
|
55
|
+
type: () => user_model_1.User,
|
|
52
56
|
}),
|
|
53
|
-
(0, mongoose_1.Prop)({ ref: 'User', type: mongoose.Schema.Types.ObjectId }),
|
|
54
|
-
(0, restricted_decorator_1.Restricted)(role_enum_1.RoleEnum.ADMIN),
|
|
55
57
|
__metadata("design:type", Object)
|
|
56
58
|
], PersistenceModel.prototype, "updatedBy", void 0);
|
|
57
59
|
exports.PersistenceModel = PersistenceModel = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistence.model.js","sourceRoot":"","sources":["../../../../src/server/common/models/persistence.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"persistence.model.js","sourceRoot":"","sources":["../../../../src/server/common/models/persistence.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA6C;AAC7C,6CAAiD;AAEjD,qCAAsC;AAEtC,+FAAkF;AAClF,qGAAuF;AACvF,oEAAgE;AAChE,+FAA0F;AAC1F,8DAAqD;AAa9C,IAAe,gBAAgB,GAA/B,MAAe,gBAAiB,SAAQ,6CAAoB;IAA5D;;QAkBL,cAAS,GAA6B,SAAS,CAAC;QAehD,cAAS,GAA6B,SAAS,CAAC;IAwBlD,CAAC;IAfU,IAAI;QACX,KAAK,CAAC,IAAI,EAAE,CAAC;QAEb,OAAO,IAAI,CAAC;IACd,CAAC;IAKQ,GAAG,CAAC,KAAK;QAChB,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAGjB,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AAzDqB,4CAAgB;AAkBpC;IARC,IAAA,sCAAY,EAAC;QACZ,WAAW,EAAE,uCAAuC;QACpD,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE;QAC/D,KAAK,EAAE,oBAAQ,CAAC,KAAK;QACrB,iBAAiB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;QACnC,IAAI,EAAE,GAAG,EAAE,CAAC,iBAAI;KACjB,CAAC;;mDAC8C;AAehD;IARC,IAAA,sCAAY,EAAC;QACZ,WAAW,EAAE,uCAAuC;QACpD,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE;QAC/D,KAAK,EAAE,oBAAQ,CAAC,KAAK;QACrB,iBAAiB,EAAE,EAAE,IAAI,EAAE,iBAAI,EAAE;QACjC,IAAI,EAAE,GAAG,EAAE,CAAC,iBAAI;KACjB,CAAC;;mDAC8C;2BAjC5B,gBAAgB;IANrC,IAAA,wBAAc,EAAC,6CAAoB,CAAC;IACpC,IAAA,oBAAU,EAAC;QACV,WAAW,EAAE,6CAA6C;QAC1D,UAAU,EAAE,IAAI;KACjB,CAAC;IACD,IAAA,iCAAU,EAAC,oBAAQ,CAAC,KAAK,CAAC;GACL,gBAAgB,CAyDrC"}
|
|
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.Auth = void 0;
|
|
13
13
|
const graphql_1 = require("@nestjs/graphql");
|
|
14
14
|
const restricted_decorator_1 = require("../../../core/common/decorators/restricted.decorator");
|
|
15
|
+
const unified_field_decorator_1 = require("../../../core/common/decorators/unified-field.decorator");
|
|
15
16
|
const role_enum_1 = require("../../../core/common/enums/role.enum");
|
|
16
17
|
const model_helper_1 = require("../../../core/common/helpers/model.helper");
|
|
17
18
|
const core_auth_model_1 = require("../../../core/modules/auth/core-auth.model");
|
|
@@ -32,8 +33,11 @@ let Auth = class Auth extends core_auth_model_1.CoreAuthModel {
|
|
|
32
33
|
};
|
|
33
34
|
exports.Auth = Auth;
|
|
34
35
|
__decorate([
|
|
35
|
-
(0,
|
|
36
|
-
|
|
36
|
+
(0, unified_field_decorator_1.UnifiedField)({
|
|
37
|
+
description: 'User who signed in',
|
|
38
|
+
roles: role_enum_1.RoleEnum.S_EVERYONE,
|
|
39
|
+
type: () => user_model_1.User,
|
|
40
|
+
}),
|
|
37
41
|
__metadata("design:type", user_model_1.User)
|
|
38
42
|
], Auth.prototype, "user", void 0);
|
|
39
43
|
exports.Auth = Auth = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.model.js","sourceRoot":"","sources":["../../../../src/server/modules/auth/auth.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"auth.model.js","sourceRoot":"","sources":["../../../../src/server/modules/auth/auth.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA6C;AAE7C,+FAAkF;AAClF,qGAAuF;AACvF,oEAAgE;AAChE,4EAAuE;AACvE,gFAA2E;AAC3E,mDAA0C;AAOnC,IAAM,IAAI,GAAV,MAAM,IAAK,SAAQ,+BAAa;IAAhC;;QAaI,SAAI,GAAS,SAAS,CAAC;IAsBlC,CAAC;IAbU,IAAI;QACX,KAAK,CAAC,IAAI,EAAE,CAAC;QAEb,OAAO,IAAI,CAAC;IACd,CAAC;IAKQ,GAAG,CAAC,KAAK;QAChB,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjB,OAAO,IAAA,yBAAU,EAAC,KAAK,EAAE,EAAE,IAAI,EAAE,iBAAI,EAAE,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;CACF,CAAA;AAnCY,oBAAI;AAaN;IALR,IAAA,sCAAY,EAAC;QACZ,WAAW,EAAE,oBAAoB;QACjC,KAAK,EAAE,oBAAQ,CAAC,UAAU;QAC1B,IAAI,EAAE,GAAG,EAAE,CAAC,iBAAI;KACjB,CAAC;8BACa,iBAAI;kCAAa;eAbrB,IAAI;IAFhB,IAAA,oBAAU,EAAC,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC;IAClD,IAAA,iCAAU,EAAC,oBAAQ,CAAC,KAAK,CAAC;GACd,IAAI,CAmChB"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import { CoreFileInfo } from '../../../core/modules/file/core-file-info.model';
|
|
2
2
|
export declare class FileInfo extends CoreFileInfo {
|
|
3
3
|
}
|
|
4
|
-
export declare const FileInfoSchema: import("mongoose").Schema<FileInfo, import("mongoose").Model<FileInfo, any, any, any, import("mongoose").Document<unknown, any, FileInfo> & FileInfo & Required<{
|
|
4
|
+
export declare const FileInfoSchema: import("mongoose").Schema<FileInfo, import("mongoose").Model<FileInfo, any, any, any, import("mongoose").Document<unknown, any, FileInfo, any, {}> & FileInfo & Required<{
|
|
5
5
|
_id: import("mongoose").Types.ObjectId;
|
|
6
|
-
}
|
|
6
|
+
}> & {
|
|
7
|
+
__v: number;
|
|
8
|
+
}, any>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, FileInfo, import("mongoose").Document<unknown, {}, import("mongoose").FlatRecord<FileInfo>, {}, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & import("mongoose").FlatRecord<FileInfo> & Required<{
|
|
7
9
|
_id: import("mongoose").Types.ObjectId;
|
|
8
|
-
}
|
|
10
|
+
}> & {
|
|
11
|
+
__v: number;
|
|
12
|
+
}>;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import { Response } from 'express';
|
|
2
|
+
import { CoreFileInfo } from '../../../core/modules/file/core-file-info.model';
|
|
1
3
|
import { FileService } from './file.service';
|
|
2
4
|
export declare class FileController {
|
|
3
5
|
private readonly fileService;
|
|
4
6
|
constructor(fileService: FileService);
|
|
5
|
-
uploadFile(file: Express.Multer.File): any
|
|
6
|
-
getFile(id: string, res:
|
|
7
|
-
getFileInfo(id: string): Promise<
|
|
8
|
-
deleteFile(id: string): Promise<
|
|
7
|
+
uploadFile(file: Express.Multer.File): Promise<any>;
|
|
8
|
+
getFile(id: string, res: Response): Promise<Response<any, Record<string, any>>>;
|
|
9
|
+
getFileInfo(id: string): Promise<CoreFileInfo>;
|
|
10
|
+
deleteFile(id: string): Promise<CoreFileInfo>;
|
|
9
11
|
}
|
|
@@ -15,6 +15,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.FileController = void 0;
|
|
16
16
|
const common_1 = require("@nestjs/common");
|
|
17
17
|
const platform_express_1 = require("@nestjs/platform-express");
|
|
18
|
+
const stream_1 = require("stream");
|
|
18
19
|
const roles_decorator_1 = require("../../../core/common/decorators/roles.decorator");
|
|
19
20
|
const role_enum_1 = require("../../../core/common/enums/role.enum");
|
|
20
21
|
const file_service_1 = require("./file.service");
|
|
@@ -22,8 +23,17 @@ let FileController = class FileController {
|
|
|
22
23
|
constructor(fileService) {
|
|
23
24
|
this.fileService = fileService;
|
|
24
25
|
}
|
|
25
|
-
uploadFile(file) {
|
|
26
|
-
|
|
26
|
+
async uploadFile(file) {
|
|
27
|
+
if (!file) {
|
|
28
|
+
throw new common_1.BadRequestException('No file provided');
|
|
29
|
+
}
|
|
30
|
+
const fileUpload = {
|
|
31
|
+
capacitor: null,
|
|
32
|
+
createReadStream: () => stream_1.Readable.from(file.buffer),
|
|
33
|
+
filename: file.originalname,
|
|
34
|
+
mimetype: file.mimetype,
|
|
35
|
+
};
|
|
36
|
+
return await this.fileService.createFile(fileUpload);
|
|
27
37
|
}
|
|
28
38
|
async getFile(id, res) {
|
|
29
39
|
if (!id) {
|
|
@@ -35,12 +45,13 @@ let FileController = class FileController {
|
|
|
35
45
|
}
|
|
36
46
|
catch (e) {
|
|
37
47
|
console.error(e);
|
|
48
|
+
file = null;
|
|
38
49
|
}
|
|
39
50
|
if (!file) {
|
|
40
51
|
throw new common_1.NotFoundException('File not found');
|
|
41
52
|
}
|
|
42
53
|
const filestream = await this.fileService.getFileStream(id);
|
|
43
|
-
res.header('Content-Type', file.contentType);
|
|
54
|
+
res.header('Content-Type', file.contentType || 'application/octet-stream');
|
|
44
55
|
res.header('Content-Disposition', `attachment; filename=${file.filename}`);
|
|
45
56
|
res.header('Cache-Control', 'max-age=31536000');
|
|
46
57
|
return filestream.pipe(res);
|
|
@@ -63,7 +74,7 @@ __decorate([
|
|
|
63
74
|
__param(0, (0, common_1.UploadedFile)()),
|
|
64
75
|
__metadata("design:type", Function),
|
|
65
76
|
__metadata("design:paramtypes", [Object]),
|
|
66
|
-
__metadata("design:returntype",
|
|
77
|
+
__metadata("design:returntype", Promise)
|
|
67
78
|
], FileController.prototype, "uploadFile", null);
|
|
68
79
|
__decorate([
|
|
69
80
|
(0, common_1.Get)(':id'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.controller.js","sourceRoot":"","sources":["../../../../src/server/modules/file/file.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAWwB;AACxB,+DAA2D;AAE3D,qFAAwE;AACxE,oEAAgE;
|
|
1
|
+
{"version":3,"file":"file.controller.js","sourceRoot":"","sources":["../../../../src/server/modules/file/file.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,7 +37,7 @@ let FileResolver = class FileResolver {
|
|
|
37
37
|
async uploadFiles(files) {
|
|
38
38
|
const promises = [];
|
|
39
39
|
for (const file of files) {
|
|
40
|
-
const { createReadStream,
|
|
40
|
+
const { createReadStream, filename } = await file;
|
|
41
41
|
await fs.promises.mkdir('./uploads', { recursive: true });
|
|
42
42
|
promises.push(new Promise((resolve, reject) => createReadStream()
|
|
43
43
|
.pipe((0, fs_1.createWriteStream)(`./uploads/${filename}`))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.resolver.js","sourceRoot":"","sources":["../../../../src/server/modules/file/file.resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6CAAkE;AAClE,2BAAuC;AACvC,yBAA0B;AAC1B,iEAAkE;AAElE,qFAAwE;AACxE,oEAAgE;AAEhE,uDAA6C;AAC7C,iDAA6C;AAOtC,IAAM,YAAY,GAAlB,MAAM,YAAY;IAIvB,YAA+B,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;IAAG,CAAC;IAWrD,AAAN,KAAK,CAAC,WAAW,CAAiD,QAAgB;QAChF,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAC5D,CAAC;IAWK,AAAN,KAAK,CAAC,UAAU,CAAiD,QAAgB;QAC/E,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAOK,AAAN,KAAK,CAAC,UAAU,CAAoD,IAAgB;QAClF,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;IAOK,AAAN,KAAK,CAAC,WAAW,CAAuD,KAAmB;QAEzF,MAAM,QAAQ,GAAmB,EAAE,CAAC;QACpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"file.resolver.js","sourceRoot":"","sources":["../../../../src/server/modules/file/file.resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,38 +5,19 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
9
|
exports.GridFsMulterConfigService = void 0;
|
|
13
|
-
const multer_gridfs_storage_1 = require("@lenne.tech/multer-gridfs-storage");
|
|
14
10
|
const common_1 = require("@nestjs/common");
|
|
15
|
-
const
|
|
11
|
+
const multer_1 = require("multer");
|
|
16
12
|
let GridFsMulterConfigService = class GridFsMulterConfigService {
|
|
17
|
-
constructor() {
|
|
18
|
-
this.gridFsStorage = new multer_gridfs_storage_1.GridFsStorage({
|
|
19
|
-
file: (req, file) => {
|
|
20
|
-
return new Promise((resolve) => {
|
|
21
|
-
const filename = file.originalname.trim();
|
|
22
|
-
const fileInfo = {
|
|
23
|
-
filename,
|
|
24
|
-
};
|
|
25
|
-
resolve(fileInfo);
|
|
26
|
-
});
|
|
27
|
-
},
|
|
28
|
-
url: config_env_1.default.mongoose.uri,
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
13
|
createMulterOptions() {
|
|
32
14
|
return {
|
|
33
|
-
storage:
|
|
15
|
+
storage: (0, multer_1.memoryStorage)(),
|
|
34
16
|
};
|
|
35
17
|
}
|
|
36
18
|
};
|
|
37
19
|
exports.GridFsMulterConfigService = GridFsMulterConfigService;
|
|
38
20
|
exports.GridFsMulterConfigService = GridFsMulterConfigService = __decorate([
|
|
39
|
-
(0, common_1.Injectable)()
|
|
40
|
-
__metadata("design:paramtypes", [])
|
|
21
|
+
(0, common_1.Injectable)()
|
|
41
22
|
], GridFsMulterConfigService);
|
|
42
23
|
//# sourceMappingURL=multer-config.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multer-config.service.js","sourceRoot":"","sources":["../../../../src/server/modules/file/multer-config.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"multer-config.service.js","sourceRoot":"","sources":["../../../../src/server/modules/file/multer-config.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAE5C,mCAAuC;AAOhC,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IACpC,mBAAmB;QACjB,OAAO;YACL,OAAO,EAAE,IAAA,sBAAa,GAAE;SACzB,CAAC;IACJ,CAAC;CACF,CAAA;AANY,8DAAyB;oCAAzB,yBAAyB;IADrC,IAAA,mBAAU,GAAE;GACA,yBAAyB,CAMrC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { UserCreateInput } from './inputs/user-create.input';
|
|
2
|
+
import { UserInput } from './inputs/user.input';
|
|
3
|
+
import { FindAndCountUsersResult } from './outputs/find-and-count-users-result.output';
|
|
4
|
+
import { User } from './user.model';
|
|
5
|
+
import { UserService } from './user.service';
|
|
6
|
+
export declare class UserController {
|
|
7
|
+
protected readonly userService: UserService;
|
|
8
|
+
constructor(userService: UserService);
|
|
9
|
+
findUsers(currentUser: User): Promise<User[]>;
|
|
10
|
+
findAndCountUsers(currentUser: User): Promise<FindAndCountUsersResult>;
|
|
11
|
+
getVerifiedState(token: string): Promise<boolean>;
|
|
12
|
+
getUser(currentUser: User, id: string): Promise<User>;
|
|
13
|
+
createUser(currentUser: User, input: UserCreateInput): Promise<User>;
|
|
14
|
+
requestPasswordResetMail(email: string): Promise<boolean>;
|
|
15
|
+
resetPassword(token: string, password: string): Promise<boolean>;
|
|
16
|
+
verifyUser(token: string): Promise<boolean>;
|
|
17
|
+
updateUser(currentUser: User, id: string, input: UserInput): Promise<User>;
|
|
18
|
+
deleteUser(currentUser: User, id: string): Promise<User>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.UserController = void 0;
|
|
16
|
+
const common_1 = require("@nestjs/common");
|
|
17
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
18
|
+
const common_error_decorator_1 = require("../../../core/common/decorators/common-error.decorator");
|
|
19
|
+
const current_user_decorator_1 = require("../../../core/common/decorators/current-user.decorator");
|
|
20
|
+
const roles_decorator_1 = require("../../../core/common/decorators/roles.decorator");
|
|
21
|
+
const role_enum_1 = require("../../../core/common/enums/role.enum");
|
|
22
|
+
const auth_guard_strategy_enum_1 = require("../../../core/modules/auth/auth-guard-strategy.enum");
|
|
23
|
+
const auth_guard_1 = require("../../../core/modules/auth/guards/auth.guard");
|
|
24
|
+
const user_create_input_1 = require("./inputs/user-create.input");
|
|
25
|
+
const user_input_1 = require("./inputs/user.input");
|
|
26
|
+
const find_and_count_users_result_output_1 = require("./outputs/find-and-count-users-result.output");
|
|
27
|
+
const user_model_1 = require("./user.model");
|
|
28
|
+
const user_service_1 = require("./user.service");
|
|
29
|
+
let UserController = class UserController {
|
|
30
|
+
constructor(userService) {
|
|
31
|
+
this.userService = userService;
|
|
32
|
+
}
|
|
33
|
+
async findUsers(currentUser) {
|
|
34
|
+
const serviceOptions = {
|
|
35
|
+
currentUser,
|
|
36
|
+
};
|
|
37
|
+
return await this.userService.find({}, serviceOptions);
|
|
38
|
+
}
|
|
39
|
+
async findAndCountUsers(currentUser) {
|
|
40
|
+
const serviceOptions = {
|
|
41
|
+
currentUser,
|
|
42
|
+
};
|
|
43
|
+
return await this.userService.findAndCount({}, serviceOptions);
|
|
44
|
+
}
|
|
45
|
+
async getVerifiedState(token) {
|
|
46
|
+
return await this.userService.getVerifiedState(token);
|
|
47
|
+
}
|
|
48
|
+
async getUser(currentUser, id) {
|
|
49
|
+
const serviceOptions = {
|
|
50
|
+
currentUser,
|
|
51
|
+
roles: [role_enum_1.RoleEnum.ADMIN, role_enum_1.RoleEnum.S_CREATOR, role_enum_1.RoleEnum.S_SELF],
|
|
52
|
+
};
|
|
53
|
+
return await this.userService.get(id, serviceOptions);
|
|
54
|
+
}
|
|
55
|
+
async createUser(currentUser, input) {
|
|
56
|
+
const serviceOptions = {
|
|
57
|
+
currentUser,
|
|
58
|
+
inputType: user_create_input_1.UserCreateInput,
|
|
59
|
+
};
|
|
60
|
+
return await this.userService.create(input, serviceOptions);
|
|
61
|
+
}
|
|
62
|
+
async requestPasswordResetMail(email) {
|
|
63
|
+
return !!(await this.userService.sendPasswordResetMail(email));
|
|
64
|
+
}
|
|
65
|
+
async resetPassword(token, password) {
|
|
66
|
+
return !!(await this.userService.resetPassword(token, password));
|
|
67
|
+
}
|
|
68
|
+
async verifyUser(token) {
|
|
69
|
+
return !!(await this.userService.verify(token));
|
|
70
|
+
}
|
|
71
|
+
async updateUser(currentUser, id, input) {
|
|
72
|
+
const serviceOptions = {
|
|
73
|
+
currentUser,
|
|
74
|
+
inputType: user_input_1.UserInput,
|
|
75
|
+
roles: [role_enum_1.RoleEnum.ADMIN, role_enum_1.RoleEnum.S_CREATOR, role_enum_1.RoleEnum.S_SELF],
|
|
76
|
+
};
|
|
77
|
+
return await this.userService.update(id, input, serviceOptions);
|
|
78
|
+
}
|
|
79
|
+
async deleteUser(currentUser, id) {
|
|
80
|
+
const serviceOptions = {
|
|
81
|
+
currentUser,
|
|
82
|
+
roles: [role_enum_1.RoleEnum.ADMIN, role_enum_1.RoleEnum.S_CREATOR, role_enum_1.RoleEnum.S_SELF],
|
|
83
|
+
};
|
|
84
|
+
return await this.userService.delete(id, serviceOptions);
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
exports.UserController = UserController;
|
|
88
|
+
__decorate([
|
|
89
|
+
(0, swagger_1.ApiBearerAuth)(),
|
|
90
|
+
(0, swagger_1.ApiOkResponse)({ description: 'Users found successfully', type: [user_model_1.User] }),
|
|
91
|
+
(0, swagger_1.ApiOperation)({ description: 'Find users (via filter)', summary: 'Get all users' }),
|
|
92
|
+
(0, common_1.Get)(),
|
|
93
|
+
(0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.ADMIN),
|
|
94
|
+
(0, common_1.UseGuards)((0, auth_guard_1.AuthGuard)(auth_guard_strategy_enum_1.AuthGuardStrategy.JWT)),
|
|
95
|
+
__param(0, (0, current_user_decorator_1.CurrentUser)()),
|
|
96
|
+
__metadata("design:type", Function),
|
|
97
|
+
__metadata("design:paramtypes", [user_model_1.User]),
|
|
98
|
+
__metadata("design:returntype", Promise)
|
|
99
|
+
], UserController.prototype, "findUsers", null);
|
|
100
|
+
__decorate([
|
|
101
|
+
(0, swagger_1.ApiBearerAuth)(),
|
|
102
|
+
(0, swagger_1.ApiOkResponse)({ description: 'Users and count found successfully', type: find_and_count_users_result_output_1.FindAndCountUsersResult }),
|
|
103
|
+
(0, swagger_1.ApiOperation)({
|
|
104
|
+
description: 'Find users and total count (via filter)',
|
|
105
|
+
summary: 'Get users with count',
|
|
106
|
+
}),
|
|
107
|
+
(0, common_1.Get)('count'),
|
|
108
|
+
(0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.ADMIN),
|
|
109
|
+
(0, common_1.UseGuards)((0, auth_guard_1.AuthGuard)(auth_guard_strategy_enum_1.AuthGuardStrategy.JWT)),
|
|
110
|
+
__param(0, (0, current_user_decorator_1.CurrentUser)()),
|
|
111
|
+
__metadata("design:type", Function),
|
|
112
|
+
__metadata("design:paramtypes", [user_model_1.User]),
|
|
113
|
+
__metadata("design:returntype", Promise)
|
|
114
|
+
], UserController.prototype, "findAndCountUsers", null);
|
|
115
|
+
__decorate([
|
|
116
|
+
(0, swagger_1.ApiOkResponse)({ description: 'Verified state retrieved successfully', type: Boolean }),
|
|
117
|
+
(0, swagger_1.ApiOperation)({
|
|
118
|
+
description: 'Get verified state of user with token',
|
|
119
|
+
summary: 'Check if user is verified',
|
|
120
|
+
}),
|
|
121
|
+
(0, swagger_1.ApiQuery)({ description: 'Verification token', name: 'token', type: String }),
|
|
122
|
+
(0, common_1.Get)('verified-state'),
|
|
123
|
+
(0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_EVERYONE),
|
|
124
|
+
__param(0, (0, common_1.Query)('token')),
|
|
125
|
+
__metadata("design:type", Function),
|
|
126
|
+
__metadata("design:paramtypes", [String]),
|
|
127
|
+
__metadata("design:returntype", Promise)
|
|
128
|
+
], UserController.prototype, "getVerifiedState", null);
|
|
129
|
+
__decorate([
|
|
130
|
+
(0, swagger_1.ApiBearerAuth)(),
|
|
131
|
+
(0, swagger_1.ApiOkResponse)({ description: 'User found successfully', type: user_model_1.User }),
|
|
132
|
+
(0, swagger_1.ApiOperation)({ description: 'Get user with specified ID', summary: 'Get user by ID' }),
|
|
133
|
+
(0, swagger_1.ApiParam)({ description: 'User ID', name: 'id', type: String }),
|
|
134
|
+
(0, common_1.Get)(':id'),
|
|
135
|
+
(0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_USER),
|
|
136
|
+
(0, common_1.UseGuards)((0, auth_guard_1.AuthGuard)(auth_guard_strategy_enum_1.AuthGuardStrategy.JWT)),
|
|
137
|
+
__param(0, (0, current_user_decorator_1.CurrentUser)()),
|
|
138
|
+
__param(1, (0, common_1.Param)('id')),
|
|
139
|
+
__metadata("design:type", Function),
|
|
140
|
+
__metadata("design:paramtypes", [user_model_1.User, String]),
|
|
141
|
+
__metadata("design:returntype", Promise)
|
|
142
|
+
], UserController.prototype, "getUser", null);
|
|
143
|
+
__decorate([
|
|
144
|
+
(0, swagger_1.ApiBearerAuth)(),
|
|
145
|
+
(0, swagger_1.ApiBody)({ type: user_create_input_1.UserCreateInput }),
|
|
146
|
+
(0, swagger_1.ApiCreatedResponse)({ description: 'User created successfully', type: user_model_1.User }),
|
|
147
|
+
(0, swagger_1.ApiOperation)({ description: 'Create a new user', summary: 'Create user' }),
|
|
148
|
+
(0, common_1.Post)(),
|
|
149
|
+
(0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.ADMIN),
|
|
150
|
+
(0, common_1.UseGuards)((0, auth_guard_1.AuthGuard)(auth_guard_strategy_enum_1.AuthGuardStrategy.JWT)),
|
|
151
|
+
__param(0, (0, current_user_decorator_1.CurrentUser)()),
|
|
152
|
+
__param(1, (0, common_1.Body)()),
|
|
153
|
+
__metadata("design:type", Function),
|
|
154
|
+
__metadata("design:paramtypes", [user_model_1.User, user_create_input_1.UserCreateInput]),
|
|
155
|
+
__metadata("design:returntype", Promise)
|
|
156
|
+
], UserController.prototype, "createUser", null);
|
|
157
|
+
__decorate([
|
|
158
|
+
(0, swagger_1.ApiBody)({
|
|
159
|
+
description: 'User email',
|
|
160
|
+
schema: {
|
|
161
|
+
properties: {
|
|
162
|
+
email: { type: 'string' },
|
|
163
|
+
},
|
|
164
|
+
type: 'object',
|
|
165
|
+
},
|
|
166
|
+
}),
|
|
167
|
+
(0, swagger_1.ApiOkResponse)({ description: 'Password reset email sent successfully', type: Boolean }),
|
|
168
|
+
(0, swagger_1.ApiOperation)({
|
|
169
|
+
description: 'Request new password for user with email',
|
|
170
|
+
summary: 'Request password reset',
|
|
171
|
+
}),
|
|
172
|
+
(0, common_1.Post)('password/reset-request'),
|
|
173
|
+
(0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_EVERYONE),
|
|
174
|
+
__param(0, (0, common_1.Body)('email')),
|
|
175
|
+
__metadata("design:type", Function),
|
|
176
|
+
__metadata("design:paramtypes", [String]),
|
|
177
|
+
__metadata("design:returntype", Promise)
|
|
178
|
+
], UserController.prototype, "requestPasswordResetMail", null);
|
|
179
|
+
__decorate([
|
|
180
|
+
(0, swagger_1.ApiBody)({
|
|
181
|
+
description: 'Password reset data',
|
|
182
|
+
schema: {
|
|
183
|
+
properties: {
|
|
184
|
+
password: { type: 'string' },
|
|
185
|
+
token: { type: 'string' },
|
|
186
|
+
},
|
|
187
|
+
type: 'object',
|
|
188
|
+
},
|
|
189
|
+
}),
|
|
190
|
+
(0, swagger_1.ApiOkResponse)({ description: 'Password reset successfully', type: Boolean }),
|
|
191
|
+
(0, swagger_1.ApiOperation)({ description: 'Set new password for user with token', summary: 'Reset password' }),
|
|
192
|
+
(0, common_1.Post)('password/reset'),
|
|
193
|
+
(0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_EVERYONE),
|
|
194
|
+
__param(0, (0, common_1.Body)('token')),
|
|
195
|
+
__param(1, (0, common_1.Body)('password')),
|
|
196
|
+
__metadata("design:type", Function),
|
|
197
|
+
__metadata("design:paramtypes", [String, String]),
|
|
198
|
+
__metadata("design:returntype", Promise)
|
|
199
|
+
], UserController.prototype, "resetPassword", null);
|
|
200
|
+
__decorate([
|
|
201
|
+
(0, swagger_1.ApiBody)({
|
|
202
|
+
description: 'Verification token',
|
|
203
|
+
schema: {
|
|
204
|
+
properties: {
|
|
205
|
+
token: { type: 'string' },
|
|
206
|
+
},
|
|
207
|
+
type: 'object',
|
|
208
|
+
},
|
|
209
|
+
}),
|
|
210
|
+
(0, swagger_1.ApiOkResponse)({ description: 'User verified successfully', type: Boolean }),
|
|
211
|
+
(0, swagger_1.ApiOperation)({ description: 'Verify user with email', summary: 'Verify user' }),
|
|
212
|
+
(0, common_1.Post)('verify'),
|
|
213
|
+
(0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_EVERYONE),
|
|
214
|
+
__param(0, (0, common_1.Body)('token')),
|
|
215
|
+
__metadata("design:type", Function),
|
|
216
|
+
__metadata("design:paramtypes", [String]),
|
|
217
|
+
__metadata("design:returntype", Promise)
|
|
218
|
+
], UserController.prototype, "verifyUser", null);
|
|
219
|
+
__decorate([
|
|
220
|
+
(0, swagger_1.ApiBearerAuth)(),
|
|
221
|
+
(0, swagger_1.ApiBody)({ type: user_input_1.UserInput }),
|
|
222
|
+
(0, swagger_1.ApiOkResponse)({ description: 'User updated successfully', type: user_model_1.User }),
|
|
223
|
+
(0, swagger_1.ApiOperation)({ description: 'Update existing user', summary: 'Update user' }),
|
|
224
|
+
(0, swagger_1.ApiParam)({ description: 'User ID', name: 'id', type: String }),
|
|
225
|
+
(0, common_1.Patch)(':id'),
|
|
226
|
+
(0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_USER),
|
|
227
|
+
(0, common_1.UseGuards)((0, auth_guard_1.AuthGuard)(auth_guard_strategy_enum_1.AuthGuardStrategy.JWT)),
|
|
228
|
+
__param(0, (0, current_user_decorator_1.CurrentUser)()),
|
|
229
|
+
__param(1, (0, common_1.Param)('id')),
|
|
230
|
+
__param(2, (0, common_1.Body)()),
|
|
231
|
+
__metadata("design:type", Function),
|
|
232
|
+
__metadata("design:paramtypes", [user_model_1.User, String, user_input_1.UserInput]),
|
|
233
|
+
__metadata("design:returntype", Promise)
|
|
234
|
+
], UserController.prototype, "updateUser", null);
|
|
235
|
+
__decorate([
|
|
236
|
+
(0, swagger_1.ApiBearerAuth)(),
|
|
237
|
+
(0, swagger_1.ApiOkResponse)({ description: 'User deleted successfully', type: user_model_1.User }),
|
|
238
|
+
(0, swagger_1.ApiOperation)({ description: 'Delete existing user', summary: 'Delete user' }),
|
|
239
|
+
(0, swagger_1.ApiParam)({ description: 'User ID', name: 'id', type: String }),
|
|
240
|
+
(0, common_1.Delete)(':id'),
|
|
241
|
+
(0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_USER),
|
|
242
|
+
(0, common_1.UseGuards)((0, auth_guard_1.AuthGuard)(auth_guard_strategy_enum_1.AuthGuardStrategy.JWT)),
|
|
243
|
+
__param(0, (0, current_user_decorator_1.CurrentUser)()),
|
|
244
|
+
__param(1, (0, common_1.Param)('id')),
|
|
245
|
+
__metadata("design:type", Function),
|
|
246
|
+
__metadata("design:paramtypes", [user_model_1.User, String]),
|
|
247
|
+
__metadata("design:returntype", Promise)
|
|
248
|
+
], UserController.prototype, "deleteUser", null);
|
|
249
|
+
exports.UserController = UserController = __decorate([
|
|
250
|
+
(0, common_error_decorator_1.ApiCommonErrorResponses)(),
|
|
251
|
+
(0, swagger_1.ApiTags)('users'),
|
|
252
|
+
(0, common_1.Controller)('users'),
|
|
253
|
+
(0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.ADMIN),
|
|
254
|
+
__metadata("design:paramtypes", [user_service_1.UserService])
|
|
255
|
+
], UserController);
|
|
256
|
+
//# sourceMappingURL=user.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.controller.js","sourceRoot":"","sources":["../../../../src/server/modules/user/user.controller.ts"],"names":[],"mappings":"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"}
|