@lenne.tech/nest-server 8.6.12 → 8.6.15

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.
Files changed (55) hide show
  1. package/dist/core/common/interfaces/server-options.interface.d.ts +1 -1
  2. package/dist/core/common/services/module.service.js +0 -1
  3. package/dist/core/common/services/module.service.js.map +1 -1
  4. package/dist/core/common/types/maybe-promise.type.d.ts +1 -0
  5. package/dist/core/common/types/maybe-promise.type.js +3 -0
  6. package/dist/core/common/types/maybe-promise.type.js.map +1 -0
  7. package/dist/core/modules/file/{file-info.output.d.ts → core-file-info.model.d.ts} +4 -3
  8. package/dist/core/modules/file/{file-info.output.js → core-file-info.model.js} +35 -20
  9. package/dist/core/modules/file/core-file-info.model.js.map +1 -0
  10. package/dist/core/modules/file/core-file.controller.d.ts +7 -0
  11. package/dist/core/modules/file/core-file.controller.js +52 -0
  12. package/dist/core/modules/file/core-file.controller.js.map +1 -0
  13. package/dist/core/modules/file/core-file.resolver.d.ts +10 -0
  14. package/dist/core/modules/file/core-file.resolver.js +70 -0
  15. package/dist/core/modules/file/core-file.resolver.js.map +1 -0
  16. package/dist/core/modules/file/core-file.service.d.ts +20 -15
  17. package/dist/core/modules/file/core-file.service.js +58 -22
  18. package/dist/core/modules/file/core-file.service.js.map +1 -1
  19. package/dist/index.d.ts +4 -1
  20. package/dist/index.js +4 -1
  21. package/dist/index.js.map +1 -1
  22. package/dist/server/modules/file/file-info.model.d.ts +26 -0
  23. package/dist/server/modules/file/file-info.model.js +21 -0
  24. package/dist/server/modules/file/file-info.model.js.map +1 -0
  25. package/dist/server/modules/file/file.controller.d.ts +2 -3
  26. package/dist/server/modules/file/file.controller.js +4 -26
  27. package/dist/server/modules/file/file.controller.js.map +1 -1
  28. package/dist/server/modules/file/file.module.d.ts +2 -0
  29. package/dist/server/modules/file/file.module.js +27 -0
  30. package/dist/server/modules/file/file.module.js.map +1 -0
  31. package/dist/server/modules/file/file.resolver.d.ts +3 -4
  32. package/dist/server/modules/file/file.resolver.js +4 -5
  33. package/dist/server/modules/file/file.resolver.js.map +1 -1
  34. package/dist/server/modules/file/file.service.js +1 -1
  35. package/dist/server/modules/file/file.service.js.map +1 -1
  36. package/dist/server/server.module.js +4 -6
  37. package/dist/server/server.module.js.map +1 -1
  38. package/dist/tsconfig.build.tsbuildinfo +1 -1
  39. package/package.json +1 -1
  40. package/src/core/common/interfaces/server-options.interface.ts +1 -1
  41. package/src/core/common/services/module.service.ts +0 -1
  42. package/src/core/common/types/maybe-promise.type.ts +4 -0
  43. package/src/core/modules/file/core-file-info.model.ts +40 -0
  44. package/src/core/modules/file/core-file.controller.ts +34 -0
  45. package/src/core/modules/file/core-file.resolver.ts +56 -0
  46. package/src/core/modules/file/core-file.service.ts +80 -27
  47. package/src/index.ts +4 -1
  48. package/src/server/modules/file/file-info.model.ts +15 -0
  49. package/src/server/modules/file/file.controller.ts +7 -36
  50. package/src/server/modules/file/file.module.ts +17 -0
  51. package/src/server/modules/file/file.resolver.ts +1 -4
  52. package/src/server/modules/file/file.service.ts +4 -1
  53. package/src/server/server.module.ts +6 -8
  54. package/dist/core/modules/file/file-info.output.js.map +0 -1
  55. package/src/core/modules/file/file-info.output.ts +0 -26
@@ -1,7 +1,7 @@
1
1
  import { ApolloDriverConfig } from '@nestjs/apollo';
2
2
  import { GqlModuleAsyncOptions } from '@nestjs/graphql';
3
3
  import { JwtModuleOptions } from '@nestjs/jwt';
4
- import { MongooseModuleOptions } from '@nestjs/mongoose/dist/interfaces/mongoose-options.interface';
4
+ import { MongooseModuleOptions } from '@nestjs/mongoose';
5
5
  import { ServeStaticOptions } from '@nestjs/platform-express/interfaces/serve-static-options.interface';
6
6
  import * as SMTPTransport from 'nodemailer/lib/smtp-transport';
7
7
  import { MailjetOptions } from './mailjet-options.interface';
@@ -13,7 +13,6 @@ class ModuleService {
13
13
  }
14
14
  checkRights(input, currentUser, options) {
15
15
  const config = {
16
- metatype: this.mainModelConstructor,
17
16
  ...options,
18
17
  };
19
18
  return (0, input_helper_1.check)(input, currentUser, config);
@@ -1 +1 @@
1
- {"version":3,"file":"module.service.js","sourceRoot":"","sources":["../../../../src/core/common/services/module.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module.service.js","sourceRoot":"","sources":["../../../../src/core/common/services/module.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare type MaybePromise<T = any> = T | Promise<T>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=maybe-promise.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maybe-promise.type.js","sourceRoot":"","sources":["../../../../src/core/common/types/maybe-promise.type.ts"],"names":[],"mappings":""}
@@ -1,10 +1,11 @@
1
1
  import { Types } from 'mongoose';
2
2
  import { CoreModel } from '../../common/models/core-model.model';
3
- export declare class FileInfo extends CoreModel {
3
+ export declare class CoreFileInfo extends CoreModel {
4
4
  _id: Types.ObjectId;
5
5
  id: string;
6
- length: number;
7
6
  chunkSize: number;
8
- filename?: string;
9
7
  contentType?: string;
8
+ filename?: string;
9
+ length: number;
10
+ uploadDate: Date;
10
11
  }
@@ -9,41 +9,56 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.FileInfo = void 0;
12
+ exports.CoreFileInfo = void 0;
13
13
  const graphql_1 = require("@nestjs/graphql");
14
+ const mongoose_1 = require("@nestjs/mongoose");
14
15
  const core_model_model_1 = require("../../common/models/core-model.model");
15
- let FileInfo = class FileInfo extends core_model_model_1.CoreModel {
16
+ let CoreFileInfo = class CoreFileInfo extends core_model_model_1.CoreModel {
16
17
  constructor() {
17
18
  super(...arguments);
18
19
  this.id = undefined;
19
- this.length = undefined;
20
20
  this.chunkSize = undefined;
21
- this.filename = undefined;
22
21
  this.contentType = undefined;
22
+ this.filename = undefined;
23
+ this.length = undefined;
24
+ this.uploadDate = undefined;
23
25
  }
24
26
  };
25
27
  __decorate([
26
- (0, graphql_1.Field)(() => String, { description: 'ID of the file in bytes' }),
28
+ (0, graphql_1.Field)(() => String, { description: 'ID of the file' }),
27
29
  __metadata("design:type", String)
28
- ], FileInfo.prototype, "id", void 0);
30
+ ], CoreFileInfo.prototype, "id", void 0);
29
31
  __decorate([
30
- (0, graphql_1.Field)(() => Number, { description: 'Length of the file in bytes', nullable: true }),
32
+ (0, graphql_1.Field)(() => Number, {
33
+ description: 'The size of each chunk in bytes. GridFS divides the document into chunks of size chunkSize, ' +
34
+ 'except for the last, which is only as large as needed. The default size is 255 kilobytes (kB)',
35
+ nullable: true,
36
+ }),
37
+ (0, mongoose_1.Prop)({ type: Number, required: false }),
31
38
  __metadata("design:type", Number)
32
- ], FileInfo.prototype, "length", void 0);
39
+ ], CoreFileInfo.prototype, "chunkSize", void 0);
33
40
  __decorate([
34
- (0, graphql_1.Field)(() => Number, { description: 'Size of the chunk', nullable: true }),
35
- __metadata("design:type", Number)
36
- ], FileInfo.prototype, "chunkSize", void 0);
41
+ (0, graphql_1.Field)(() => String, { description: 'Content type', nullable: true }),
42
+ (0, mongoose_1.Prop)({ type: String, required: false }),
43
+ __metadata("design:type", String)
44
+ ], CoreFileInfo.prototype, "contentType", void 0);
37
45
  __decorate([
38
46
  (0, graphql_1.Field)(() => String, { description: 'Name of the file', nullable: true }),
47
+ (0, mongoose_1.Prop)({ type: String, required: false }),
39
48
  __metadata("design:type", String)
40
- ], FileInfo.prototype, "filename", void 0);
49
+ ], CoreFileInfo.prototype, "filename", void 0);
41
50
  __decorate([
42
- (0, graphql_1.Field)(() => String, { description: 'Content type', nullable: true }),
43
- __metadata("design:type", String)
44
- ], FileInfo.prototype, "contentType", void 0);
45
- FileInfo = __decorate([
46
- (0, graphql_1.ObjectType)({ description: 'Information about attachment file' })
47
- ], FileInfo);
48
- exports.FileInfo = FileInfo;
49
- //# sourceMappingURL=file-info.output.js.map
51
+ (0, graphql_1.Field)(() => Number, { description: 'The size of the document in bytes', nullable: true }),
52
+ (0, mongoose_1.Prop)({ type: Number, required: false }),
53
+ __metadata("design:type", Number)
54
+ ], CoreFileInfo.prototype, "length", void 0);
55
+ __decorate([
56
+ (0, graphql_1.Field)(() => Date, { description: 'The date the file was first stored', nullable: true }),
57
+ (0, mongoose_1.Prop)({ type: Date, required: false }),
58
+ __metadata("design:type", Date)
59
+ ], CoreFileInfo.prototype, "uploadDate", void 0);
60
+ CoreFileInfo = __decorate([
61
+ (0, graphql_1.ObjectType)({ description: 'Information about file' })
62
+ ], CoreFileInfo);
63
+ exports.CoreFileInfo = CoreFileInfo;
64
+ //# sourceMappingURL=core-file-info.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-file-info.model.js","sourceRoot":"","sources":["../../../../src/core/modules/file/core-file-info.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAoD;AACpD,+CAAwC;AAExC,2EAAiE;AAMjE,IAAa,YAAY,GAAzB,MAAa,YAAa,SAAQ,4BAAS;IAA3C;;QAIE,OAAE,GAAW,SAAS,CAAC;QASvB,cAAS,GAAW,SAAS,CAAC;QAI9B,gBAAW,GAAY,SAAS,CAAC;QAIjC,aAAQ,GAAY,SAAS,CAAC;QAI9B,WAAM,GAAW,SAAS,CAAC;QAI3B,eAAU,GAAS,SAAS,CAAC;IAC/B,CAAC;CAAA,CAAA;AA1BC;IADC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC;;wCAChC;AASvB;IAPC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,MAAM,EAAE;QACnB,WAAW,EACT,8FAA8F;YAC9F,+FAA+F;QACjG,QAAQ,EAAE,IAAI;KACf,CAAC;IACD,IAAA,eAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;+CACV;AAI9B;IAFC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACpE,IAAA,eAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;iDACP;AAIjC;IAFC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACxE,IAAA,eAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;8CACV;AAI9B;IAFC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,mCAAmC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACzF,IAAA,eAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;4CACb;AAI3B;IAFC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,oCAAoC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACxF,IAAA,eAAI,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;8BAC1B,IAAI;gDAAa;AA7BlB,YAAY;IADxB,IAAA,oBAAU,EAAC,EAAE,WAAW,EAAE,wBAAwB,EAAE,CAAC;GACzC,YAAY,CA8BxB;AA9BY,oCAAY"}
@@ -0,0 +1,7 @@
1
+ import { User } from '../../../server/modules/user/user.model';
2
+ import { CoreFileService } from './core-file.service';
3
+ export declare abstract class CoreFileController {
4
+ protected fileService: CoreFileService;
5
+ protected constructor(fileService: CoreFileService);
6
+ getFile(filename: string, res: any, user: User): Promise<any>;
7
+ }
@@ -0,0 +1,52 @@
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.CoreFileController = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const user_model_1 = require("../../../server/modules/user/user.model");
18
+ const rest_user_decorator_1 = require("../../common/decorators/rest-user.decorator");
19
+ const core_file_service_1 = require("./core-file.service");
20
+ let CoreFileController = class CoreFileController {
21
+ constructor(fileService) {
22
+ this.fileService = fileService;
23
+ }
24
+ async getFile(filename, res, user) {
25
+ if (!filename) {
26
+ throw new common_1.BadRequestException('Missing filename for download');
27
+ }
28
+ const file = await this.fileService.getFileInfoByName(filename);
29
+ if (!file) {
30
+ throw new common_1.NotFoundException('File not found');
31
+ }
32
+ const filestream = await this.fileService.getFileStream(file.id);
33
+ res.header('Content-Type', file.contentType);
34
+ res.header('Content-Disposition', 'attachment; filename=' + file.filename);
35
+ return filestream.pipe(res);
36
+ }
37
+ };
38
+ __decorate([
39
+ (0, common_1.Get)(':filename'),
40
+ __param(0, (0, common_1.Param)('filename')),
41
+ __param(1, (0, common_1.Res)()),
42
+ __param(2, (0, rest_user_decorator_1.RESTUser)()),
43
+ __metadata("design:type", Function),
44
+ __metadata("design:paramtypes", [String, Object, user_model_1.User]),
45
+ __metadata("design:returntype", Promise)
46
+ ], CoreFileController.prototype, "getFile", null);
47
+ CoreFileController = __decorate([
48
+ (0, common_1.Controller)('files'),
49
+ __metadata("design:paramtypes", [core_file_service_1.CoreFileService])
50
+ ], CoreFileController);
51
+ exports.CoreFileController = CoreFileController;
52
+ //# sourceMappingURL=core-file.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-file.controller.js","sourceRoot":"","sources":["../../../../src/core/modules/file/core-file.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAqG;AACrG,wEAA+D;AAC/D,qFAAuE;AACvE,2DAAsD;AAMtD,IAAsB,kBAAkB,GAAxC,MAAsB,kBAAkB;IAItC,YAAgC,WAA4B;QAA5B,gBAAW,GAAX,WAAW,CAAiB;IAAG,CAAC;IAMhE,KAAK,CAAC,OAAO,CAAoB,QAAgB,EAAS,GAAG,EAAc,IAAU;QACnF,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,4BAAmB,CAAC,+BAA+B,CAAC,CAAC;SAChE;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,IAAI,0BAAiB,CAAC,gBAAgB,CAAC,CAAC;SAC/C;QACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjE,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7C,GAAG,CAAC,MAAM,CAAC,qBAAqB,EAAE,uBAAuB,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3E,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;CACF,CAAA;AAdC;IADC,IAAA,YAAG,EAAC,WAAW,CAAC;IACF,WAAA,IAAA,cAAK,EAAC,UAAU,CAAC,CAAA;IAAoB,WAAA,IAAA,YAAG,GAAE,CAAA;IAAO,WAAA,IAAA,8BAAQ,GAAE,CAAA;;qDAAO,iBAAI;;iDAapF;AAvBmB,kBAAkB;IADvC,IAAA,mBAAU,EAAC,OAAO,CAAC;qCAK2B,mCAAe;GAJxC,kBAAkB,CAwBvC;AAxBqB,gDAAkB"}
@@ -0,0 +1,10 @@
1
+ import { CoreFileService } from './core-file.service';
2
+ import { FileUpload } from './interfaces/file-upload.interface';
3
+ export declare class CoreFileResolver {
4
+ protected readonly fileService: CoreFileService;
5
+ constructor(fileService: CoreFileService);
6
+ getFileInfo(filename: string): Promise<any>;
7
+ deleteFile(filename: string): Promise<any>;
8
+ uploadFile(file: FileUpload): Promise<any>;
9
+ uploadFiles(files: FileUpload[]): Promise<any>;
10
+ }
@@ -0,0 +1,70 @@
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.CoreFileResolver = void 0;
16
+ const graphql_1 = require("@nestjs/graphql");
17
+ const GraphQLUpload = require("graphql-upload/GraphQLUpload.js");
18
+ const core_file_info_model_1 = require("./core-file-info.model");
19
+ const core_file_service_1 = require("./core-file.service");
20
+ let CoreFileResolver = class CoreFileResolver {
21
+ constructor(fileService) {
22
+ this.fileService = fileService;
23
+ }
24
+ async getFileInfo(filename) {
25
+ return await this.fileService.getFileInfoByName(filename);
26
+ }
27
+ async deleteFile(filename) {
28
+ return await this.fileService.deleteFileByName(filename);
29
+ }
30
+ async uploadFile(file) {
31
+ return await this.fileService.createFile(file);
32
+ }
33
+ async uploadFiles(files) {
34
+ return await this.fileService.createFiles(files);
35
+ }
36
+ };
37
+ __decorate([
38
+ (0, graphql_1.Query)(() => core_file_info_model_1.CoreFileInfo, { nullable: true }),
39
+ __param(0, (0, graphql_1.Args)({ name: 'filename', type: () => String })),
40
+ __metadata("design:type", Function),
41
+ __metadata("design:paramtypes", [String]),
42
+ __metadata("design:returntype", Promise)
43
+ ], CoreFileResolver.prototype, "getFileInfo", null);
44
+ __decorate([
45
+ (0, graphql_1.Mutation)(() => core_file_info_model_1.CoreFileInfo),
46
+ __param(0, (0, graphql_1.Args)({ name: 'filename', type: () => String })),
47
+ __metadata("design:type", Function),
48
+ __metadata("design:paramtypes", [String]),
49
+ __metadata("design:returntype", Promise)
50
+ ], CoreFileResolver.prototype, "deleteFile", null);
51
+ __decorate([
52
+ (0, graphql_1.Mutation)(() => core_file_info_model_1.CoreFileInfo),
53
+ __param(0, (0, graphql_1.Args)({ name: 'file', type: () => GraphQLUpload })),
54
+ __metadata("design:type", Function),
55
+ __metadata("design:paramtypes", [Object]),
56
+ __metadata("design:returntype", Promise)
57
+ ], CoreFileResolver.prototype, "uploadFile", null);
58
+ __decorate([
59
+ (0, graphql_1.Mutation)(() => [core_file_info_model_1.CoreFileInfo]),
60
+ __param(0, (0, graphql_1.Args)({ name: 'files', type: () => [GraphQLUpload] })),
61
+ __metadata("design:type", Function),
62
+ __metadata("design:paramtypes", [Array]),
63
+ __metadata("design:returntype", Promise)
64
+ ], CoreFileResolver.prototype, "uploadFiles", null);
65
+ CoreFileResolver = __decorate([
66
+ (0, graphql_1.Resolver)(),
67
+ __metadata("design:paramtypes", [core_file_service_1.CoreFileService])
68
+ ], CoreFileResolver);
69
+ exports.CoreFileResolver = CoreFileResolver;
70
+ //# sourceMappingURL=core-file.resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-file.resolver.js","sourceRoot":"","sources":["../../../../src/core/modules/file/core-file.resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6CAAkE;AAClE,iEAAiE;AACjE,iEAAsD;AACtD,2DAAsD;AAOtD,IAAa,gBAAgB,GAA7B,MAAa,gBAAgB;IAI3B,YAA+B,WAA4B;QAA5B,gBAAW,GAAX,WAAW,CAAiB;IAAG,CAAC;IAU/D,KAAK,CAAC,WAAW,CAAiD,QAAgB;QAChF,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAC5D,CAAC;IAUD,KAAK,CAAC,UAAU,CAAiD,QAAgB;QAC/E,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAMD,KAAK,CAAC,UAAU,CAAoD,IAAgB;QAClF,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;IAMD,KAAK,CAAC,WAAW,CAAuD,KAAmB;QACzF,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;CACF,CAAA;AA/BC;IADC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,mCAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC3B,WAAA,IAAA,cAAI,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,CAAA;;;;mDAEhE;AAUD;IADC,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,mCAAY,CAAC;IACX,WAAA,IAAA,cAAI,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,CAAA;;;;kDAE/D;AAMD;IADC,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,mCAAY,CAAC;IACX,WAAA,IAAA,cAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC,CAAA;;;;kDAElE;AAMD;IADC,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,CAAC,mCAAY,CAAC,CAAC;IACZ,WAAA,IAAA,cAAI,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;;;;mDAEtE;AA5CU,gBAAgB;IAD5B,IAAA,kBAAQ,GAAE;qCAKmC,mCAAe;GAJhD,gBAAgB,CA6C5B;AA7CY,4CAAgB"}
@@ -3,24 +3,29 @@ import { GridFSBucket, GridFSBucketReadStreamOptions } from 'mongodb';
3
3
  import { Connection, Types } from 'mongoose';
4
4
  import { MongooseGridFS } from 'mongoose-gridfs';
5
5
  import { FilterArgs } from '../../common/args/filter.args';
6
- import { FileInfo } from './file-info.output';
6
+ import { MaybePromise } from '../../common/types/maybe-promise.type';
7
+ import { CoreFileInfo } from './core-file-info.model';
7
8
  import { FileServiceOptions } from './interfaces/file-service-options.interface';
8
9
  import { FileUpload } from './interfaces/file-upload.interface';
10
+ export declare type FileInputCheckType = 'file' | 'files' | 'filterArgs' | 'id' | 'filename';
9
11
  export declare abstract class CoreFileService {
10
12
  protected readonly connection: Connection;
11
13
  files: GridFSBucket & MongooseGridFS;
12
- protected constructor(connection: Connection, modelName?: string);
13
- createFile(file: FileUpload, serviceOptions?: FileServiceOptions): Promise<FileInfo>;
14
- createFiles(files: FileUpload[], serviceOptions?: FileServiceOptions): Promise<FileInfo[]>;
15
- findFileInfo(filterArgs?: FilterArgs, serviceOptions?: FileServiceOptions): Promise<FileInfo[]>;
16
- getFileInfo(id: string | Types.ObjectId, serviceOptions?: FileServiceOptions): Promise<FileInfo>;
17
- getFileInfoByName(filename: string, serviceOptions?: FileServiceOptions): Promise<FileInfo>;
18
- getFileStream(id: string | Types.ObjectId, options?: GridFSBucketReadStreamOptions): any;
19
- getFileStreamByName(filename: string): GridFSBucketReadStreamOptions;
20
- getBuffer(id: string | Types.ObjectId): Promise<Buffer>;
21
- getBufferByName(filename: string): Promise<Buffer>;
22
- deleteFile(id: string | Types.ObjectId, serviceOptions?: FileServiceOptions): Promise<FileInfo>;
23
- deleteFileByName(filename: string, serviceOptions?: FileServiceOptions): Promise<FileInfo>;
24
- protected prepareOutput(fileInfo: FileInfo | FileInfo[], options?: FileServiceOptions): Promise<any>;
25
- protected setId(fileInfo: FileInfo | FileInfo[]): FileInfo | FileInfo[];
14
+ protected constructor(connection: Connection, bucketName?: string);
15
+ createFile(file: MaybePromise<FileUpload>, serviceOptions?: FileServiceOptions): Promise<CoreFileInfo>;
16
+ createFiles(files: MaybePromise<FileUpload>[], serviceOptions?: FileServiceOptions): Promise<CoreFileInfo[]>;
17
+ findFileInfo(filterArgs?: FilterArgs, serviceOptions?: FileServiceOptions): Promise<CoreFileInfo[]>;
18
+ getFileInfo(id: string | Types.ObjectId, serviceOptions?: FileServiceOptions): Promise<CoreFileInfo>;
19
+ getFileInfoByName(filename: string, serviceOptions?: FileServiceOptions): Promise<CoreFileInfo>;
20
+ getFileStream(id: string | Types.ObjectId, serviceOptions?: FileServiceOptions): Promise<any>;
21
+ getFileStreamByName(filename: string, serviceOptions?: FileServiceOptions): Promise<GridFSBucketReadStreamOptions>;
22
+ getBuffer(id: string | Types.ObjectId, serviceOptions?: FileServiceOptions): Promise<Buffer>;
23
+ getBufferByName(filename: string, serviceOptions?: FileServiceOptions): Promise<Buffer>;
24
+ deleteFile(id: string | Types.ObjectId, serviceOptions?: FileServiceOptions): Promise<CoreFileInfo>;
25
+ deleteFileByName(filename: string, serviceOptions?: FileServiceOptions): Promise<CoreFileInfo>;
26
+ protected checkRights(input: any, options?: FileServiceOptions & {
27
+ checkInputType: FileInputCheckType;
28
+ }): MaybePromise<boolean>;
29
+ protected prepareOutput(fileInfo: CoreFileInfo | CoreFileInfo[], options?: FileServiceOptions): Promise<any>;
30
+ protected setId(fileInfo: CoreFileInfo | CoreFileInfo[]): CoreFileInfo | CoreFileInfo[];
26
31
  }
@@ -7,15 +7,18 @@ const db_helper_1 = require("../../common/helpers/db.helper");
7
7
  const filter_helper_1 = require("../../common/helpers/filter.helper");
8
8
  const input_helper_1 = require("../../common/helpers/input.helper");
9
9
  const service_helper_1 = require("../../common/helpers/service.helper");
10
- const file_info_output_1 = require("./file-info.output");
10
+ const core_file_info_model_1 = require("./core-file-info.model");
11
11
  class CoreFileService {
12
- constructor(connection, modelName = 'File') {
12
+ constructor(connection, bucketName = 'fs') {
13
13
  this.connection = connection;
14
- this.files = (0, mongoose_gridfs_1.createBucket)({ modelName, connection });
14
+ this.files = (0, mongoose_gridfs_1.createBucket)({ bucketName, connection });
15
15
  }
16
- createFile(file, serviceOptions) {
17
- return new Promise(async (resolve, reject) => {
18
- const { filename, mimetype, encoding, createReadStream } = file;
16
+ async createFile(file, serviceOptions) {
17
+ if (!(await this.checkRights(file, { ...serviceOptions, checkInputType: 'file' }))) {
18
+ return null;
19
+ }
20
+ return await new Promise(async (resolve, reject) => {
21
+ const { filename, mimetype, encoding, createReadStream } = await file;
19
22
  const readStream = createReadStream();
20
23
  const options = { filename, contentType: mimetype };
21
24
  this.files.writeFile(options, readStream, (error, fileInfo) => {
@@ -24,14 +27,20 @@ class CoreFileService {
24
27
  });
25
28
  }
26
29
  async createFiles(files, serviceOptions) {
30
+ if (!(await this.checkRights(files, { ...serviceOptions, checkInputType: 'files' }))) {
31
+ return null;
32
+ }
27
33
  const promises = [];
28
34
  for (const file of files) {
29
35
  promises.push(this.createFile(file, serviceOptions));
30
36
  }
31
37
  return await Promise.all(promises);
32
38
  }
33
- findFileInfo(filterArgs, serviceOptions) {
34
- return new Promise((resolve, reject) => {
39
+ async findFileInfo(filterArgs, serviceOptions) {
40
+ if (!(await this.checkRights(filterArgs, { ...serviceOptions, checkInputType: 'filterArgs' }))) {
41
+ return null;
42
+ }
43
+ return await new Promise((resolve, reject) => {
35
44
  const filterQuery = (0, filter_helper_1.convertFilterArgsToQuery)(filterArgs);
36
45
  const cursor = this.files.find(filterQuery[0], filterQuery[1]);
37
46
  if (!cursor) {
@@ -42,60 +51,87 @@ class CoreFileService {
42
51
  });
43
52
  });
44
53
  }
45
- getFileInfo(id, serviceOptions) {
46
- return new Promise((resolve, reject) => {
54
+ async getFileInfo(id, serviceOptions) {
55
+ if (!(await this.checkRights(id, { ...serviceOptions, checkInputType: 'id' }))) {
56
+ return null;
57
+ }
58
+ return await new Promise((resolve, reject) => {
47
59
  this.files.findById((0, db_helper_1.getObjectIds)(id), (error, fileInfo) => {
48
60
  error ? reject(error) : resolve(this.prepareOutput(fileInfo, serviceOptions));
49
61
  });
50
62
  });
51
63
  }
52
- getFileInfoByName(filename, serviceOptions) {
53
- return new Promise((resolve, reject) => {
64
+ async getFileInfoByName(filename, serviceOptions) {
65
+ if (!(await this.checkRights(filename, { ...serviceOptions, checkInputType: 'filename' }))) {
66
+ return null;
67
+ }
68
+ return await new Promise((resolve, reject) => {
54
69
  this.files.findOne({ filename }, (error, fileInfo) => {
55
70
  error ? reject(error) : resolve(this.prepareOutput(fileInfo, serviceOptions));
56
71
  });
57
72
  });
58
73
  }
59
- getFileStream(id, options) {
60
- return this.files.openDownloadStream((0, db_helper_1.getObjectIds)(id), options);
74
+ async getFileStream(id, serviceOptions) {
75
+ if (!(await this.checkRights(id, { ...serviceOptions, checkInputType: 'id' }))) {
76
+ return null;
77
+ }
78
+ return this.files.openDownloadStream((0, db_helper_1.getObjectIds)(id));
61
79
  }
62
- getFileStreamByName(filename) {
80
+ async getFileStreamByName(filename, serviceOptions) {
81
+ if (!(await this.checkRights(filename, { ...serviceOptions, checkInputType: 'filename' }))) {
82
+ return null;
83
+ }
63
84
  return this.files.readFile({ filename });
64
85
  }
65
- getBuffer(id) {
66
- return new Promise((resolve, reject) => {
86
+ async getBuffer(id, serviceOptions) {
87
+ if (!(await this.checkRights(id, { ...serviceOptions, checkInputType: 'id' }))) {
88
+ return null;
89
+ }
90
+ return await new Promise((resolve, reject) => {
67
91
  this.files.readFile({ _id: (0, db_helper_1.getObjectIds)(id) }, (error, buffer) => {
68
92
  error ? reject(error) : resolve(buffer);
69
93
  });
70
94
  });
71
95
  }
72
- getBufferByName(filename) {
73
- return new Promise((resolve, reject) => {
96
+ async getBufferByName(filename, serviceOptions) {
97
+ if (!(await this.checkRights(filename, { ...serviceOptions, checkInputType: 'filename' }))) {
98
+ return null;
99
+ }
100
+ return await new Promise((resolve, reject) => {
74
101
  this.files.readFile({ filename }, (error, buffer) => {
75
102
  error ? reject(error) : resolve(buffer);
76
103
  });
77
104
  });
78
105
  }
79
- deleteFile(id, serviceOptions) {
80
- return new Promise((resolve, reject) => {
106
+ async deleteFile(id, serviceOptions) {
107
+ if (!(await this.checkRights(id, { ...serviceOptions, checkInputType: 'id' }))) {
108
+ return null;
109
+ }
110
+ return await new Promise((resolve, reject) => {
81
111
  return this.files.unlink((0, db_helper_1.getObjectIds)(id), (error, fileInfo) => {
82
112
  error ? reject(error) : resolve(this.prepareOutput(fileInfo, serviceOptions));
83
113
  });
84
114
  });
85
115
  }
86
116
  async deleteFileByName(filename, serviceOptions) {
117
+ if (!(await this.checkRights(filename, { ...serviceOptions, checkInputType: 'filename' }))) {
118
+ return null;
119
+ }
87
120
  const fileInfo = await this.getFileInfoByName(filename);
88
121
  if (!fileInfo) {
89
122
  throw new common_1.NotFoundException('File not found with filename ' + filename);
90
123
  }
91
124
  return await this.deleteFile(fileInfo.id, serviceOptions);
92
125
  }
126
+ checkRights(input, options) {
127
+ return true;
128
+ }
93
129
  async prepareOutput(fileInfo, options) {
94
130
  if (!fileInfo) {
95
131
  return fileInfo;
96
132
  }
97
133
  this.setId(fileInfo);
98
- fileInfo = await (0, service_helper_1.prepareOutput)(fileInfo, { targetModel: file_info_output_1.FileInfo });
134
+ fileInfo = await (0, service_helper_1.prepareOutput)(fileInfo, { targetModel: core_file_info_model_1.CoreFileInfo });
99
135
  return (0, input_helper_1.check)(fileInfo, options?.currentUser, { roles: options?.roles });
100
136
  }
101
137
  setId(fileInfo) {
@@ -1 +1 @@
1
- {"version":3,"file":"core-file.service.js","sourceRoot":"","sources":["../../../../src/core/modules/file/core-file.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core-file.service.js","sourceRoot":"","sources":["../../../../src/core/modules/file/core-file.service.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -48,6 +48,7 @@ export * from './core/common/services/template.service';
48
48
  export * from './core/common/types/core-model-constructor.type';
49
49
  export * from './core/common/types/field-selection.type';
50
50
  export * from './core/common/types/ids.type';
51
+ export * from './core/common/types/maybe-promise.type';
51
52
  export * from './core/common/types/plain-input.type';
52
53
  export * from './core/common/types/require-only-one.type';
53
54
  export * from './core/common/types/required-at-least-one.type';
@@ -66,8 +67,10 @@ export * from './core/modules/auth/core-auth.resolver';
66
67
  export * from './core/modules/auth/jwt.strategy';
67
68
  export * from './core/modules/file/interfaces/file-service-options.interface';
68
69
  export * from './core/modules/file/interfaces/file-upload.interface';
70
+ export * from './core/modules/file/core-file.controller';
71
+ export * from './core/modules/file/core-file.resolver';
69
72
  export * from './core/modules/file/core-file.service';
70
- export * from './core/modules/file/file-info.output';
73
+ export * from './core/modules/file/core-file-info.model';
71
74
  export * from './core/modules/user/inputs/core-user.input';
72
75
  export * from './core/modules/user/inputs/core-user-create.input';
73
76
  export * from './core/modules/user/core-user.model';
package/dist/index.js CHANGED
@@ -64,6 +64,7 @@ __exportStar(require("./core/common/services/template.service"), exports);
64
64
  __exportStar(require("./core/common/types/core-model-constructor.type"), exports);
65
65
  __exportStar(require("./core/common/types/field-selection.type"), exports);
66
66
  __exportStar(require("./core/common/types/ids.type"), exports);
67
+ __exportStar(require("./core/common/types/maybe-promise.type"), exports);
67
68
  __exportStar(require("./core/common/types/plain-input.type"), exports);
68
69
  __exportStar(require("./core/common/types/require-only-one.type"), exports);
69
70
  __exportStar(require("./core/common/types/required-at-least-one.type"), exports);
@@ -82,8 +83,10 @@ __exportStar(require("./core/modules/auth/core-auth.resolver"), exports);
82
83
  __exportStar(require("./core/modules/auth/jwt.strategy"), exports);
83
84
  __exportStar(require("./core/modules/file/interfaces/file-service-options.interface"), exports);
84
85
  __exportStar(require("./core/modules/file/interfaces/file-upload.interface"), exports);
86
+ __exportStar(require("./core/modules/file/core-file.controller"), exports);
87
+ __exportStar(require("./core/modules/file/core-file.resolver"), exports);
85
88
  __exportStar(require("./core/modules/file/core-file.service"), exports);
86
- __exportStar(require("./core/modules/file/file-info.output"), exports);
89
+ __exportStar(require("./core/modules/file/core-file-info.model"), exports);
87
90
  __exportStar(require("./core/modules/user/inputs/core-user.input"), exports);
88
91
  __exportStar(require("./core/modules/user/inputs/core-user-create.input"), exports);
89
92
  __exportStar(require("./core/modules/user/core-user.model"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAIA,gDAA8B;AAK9B,iEAA+C;AAC/C,qEAAmD;AACnD,kFAAgE;AAChE,+EAA6D;AAC7D,gFAA8D;AAC9D,2EAAyD;AACzD,+EAA6D;AAC7D,4EAA0D;AAC1D,wEAAsD;AACtD,gEAA8C;AAC9C,sEAAoD;AACpD,sEAAoD;AACpD,uEAAqD;AACrD,kEAAgD;AAChD,oEAAkD;AAClD,sEAAoD;AACpD,uEAAqD;AACrD,qEAAmD;AACnD,qEAAmD;AACnD,uEAAqD;AACrD,6EAA2D;AAC3D,wEAAsD;AACtD,oEAAkD;AAClD,2EAAyD;AACzD,kEAAgD;AAChD,wFAAsE;AACtE,4FAA0E;AAC1E,qFAAmE;AACnE,2FAAyE;AACzE,4FAA0E;AAC1E,sFAAoE;AACpE,oFAAkE;AAClE,qFAAmE;AACnE,wEAAsD;AACtD,8EAA4D;AAC5D,uEAAqD;AACrD,4EAA0D;AAC1D,mEAAiD;AACjD,oEAAkD;AAClD,oEAAkD;AAClD,wEAAsD;AACtD,sEAAoD;AACpD,uEAAqD;AACrD,yEAAuD;AACvD,wEAAsD;AACtD,0EAAwD;AACxD,kFAAgE;AAChE,2EAAyD;AACzD,+DAA6C;AAC7C,uEAAqD;AACrD,4EAA0D;AAC1D,iFAA+D;AAC/D,+EAA6D;AAM7D,wEAAsD;AACtD,yEAAuD;AACvD,qFAAmE;AACnE,qFAAmE;AACnE,0FAAwE;AACxE,uFAAqE;AACrE,iFAA+D;AAC/D,sFAAoE;AACpE,sEAAoD;AACpD,uEAAqD;AACrD,yEAAuD;AACvD,mEAAiD;AAMjD,gGAA8E;AAC9E,uFAAqE;AACrE,wEAAsD;AACtD,uEAAqD;AAMrD,6EAA2D;AAC3D,oFAAkE;AAClE,sEAAoD;AACpD,wEAAsD;AAMtD,qDAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAIA,gDAA8B;AAK9B,iEAA+C;AAC/C,qEAAmD;AACnD,kFAAgE;AAChE,+EAA6D;AAC7D,gFAA8D;AAC9D,2EAAyD;AACzD,+EAA6D;AAC7D,4EAA0D;AAC1D,wEAAsD;AACtD,gEAA8C;AAC9C,sEAAoD;AACpD,sEAAoD;AACpD,uEAAqD;AACrD,kEAAgD;AAChD,oEAAkD;AAClD,sEAAoD;AACpD,uEAAqD;AACrD,qEAAmD;AACnD,qEAAmD;AACnD,uEAAqD;AACrD,6EAA2D;AAC3D,wEAAsD;AACtD,oEAAkD;AAClD,2EAAyD;AACzD,kEAAgD;AAChD,wFAAsE;AACtE,4FAA0E;AAC1E,qFAAmE;AACnE,2FAAyE;AACzE,4FAA0E;AAC1E,sFAAoE;AACpE,oFAAkE;AAClE,qFAAmE;AACnE,wEAAsD;AACtD,8EAA4D;AAC5D,uEAAqD;AACrD,4EAA0D;AAC1D,mEAAiD;AACjD,oEAAkD;AAClD,oEAAkD;AAClD,wEAAsD;AACtD,sEAAoD;AACpD,uEAAqD;AACrD,yEAAuD;AACvD,wEAAsD;AACtD,0EAAwD;AACxD,kFAAgE;AAChE,2EAAyD;AACzD,+DAA6C;AAC7C,yEAAuD;AACvD,uEAAqD;AACrD,4EAA0D;AAC1D,iFAA+D;AAC/D,+EAA6D;AAM7D,wEAAsD;AACtD,yEAAuD;AACvD,qFAAmE;AACnE,qFAAmE;AACnE,0FAAwE;AACxE,uFAAqE;AACrE,iFAA+D;AAC/D,sFAAoE;AACpE,sEAAoD;AACpD,uEAAqD;AACrD,yEAAuD;AACvD,mEAAiD;AAMjD,gGAA8E;AAC9E,uFAAqE;AACrE,2EAAyD;AACzD,yEAAuD;AACvD,wEAAsD;AACtD,2EAAyD;AAMzD,6EAA2D;AAC3D,oFAAkE;AAClE,sEAAoD;AACpD,wEAAsD;AAMtD,qDAAmC"}
@@ -0,0 +1,26 @@
1
+ /// <reference types="mongoose/types/aggregate" />
2
+ /// <reference types="mongoose/types/callback" />
3
+ /// <reference types="mongoose/types/collection" />
4
+ /// <reference types="mongoose/types/connection" />
5
+ /// <reference types="mongoose/types/cursor" />
6
+ /// <reference types="mongoose/types/document" />
7
+ /// <reference types="mongoose/types/error" />
8
+ /// <reference types="mongoose/types/helpers" />
9
+ /// <reference types="mongoose/types/middlewares" />
10
+ /// <reference types="mongoose/types/indizes" />
11
+ /// <reference types="mongoose/types/models" />
12
+ /// <reference types="mongoose/types/mongooseoptions" />
13
+ /// <reference types="mongoose/types/pipelinestage" />
14
+ /// <reference types="mongoose/types/populate" />
15
+ /// <reference types="mongoose/types/query" />
16
+ /// <reference types="mongoose/types/schemaoptions" />
17
+ /// <reference types="mongoose/types/schematypes" />
18
+ /// <reference types="mongoose/types/session" />
19
+ /// <reference types="mongoose/types/types" />
20
+ /// <reference types="mongoose/types/utility" />
21
+ /// <reference types="mongoose/types/validation" />
22
+ /// <reference types="mongoose" />
23
+ import { CoreFileInfo } from '../../../core/modules/file/core-file-info.model';
24
+ export declare class FileInfo extends CoreFileInfo {
25
+ }
26
+ export declare const FileInfoSchema: import("mongoose").Schema<FileInfo, import("mongoose").Model<FileInfo, any, any, any>, {}, {}, any>;