@builder6/files 0.15.4 → 0.15.5
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.
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { FilesService } from './files.service';
|
|
2
|
-
import { Response } from 'express';
|
|
2
|
+
import { Request, Response } from 'express';
|
|
3
|
+
import { AuthService } from '@builder6/core';
|
|
3
4
|
export declare class FilesController {
|
|
4
5
|
private readonly filesService;
|
|
5
|
-
|
|
6
|
+
private readonly authService;
|
|
7
|
+
constructor(filesService: FilesService, authService: AuthService);
|
|
6
8
|
uploadFile(collectionName: string, file: Express.Multer.File, object_name: string, record_id: string, parent: string, req: Request): Promise<object>;
|
|
7
9
|
downloadFileDirect(collectionName: string, fileId: string, fileName: string, res: Response): Promise<void>;
|
|
8
|
-
downloadFile(collectionName: string, fileId: string, res: Response): Promise<void>;
|
|
9
|
-
downloadFileWithFileName(collectionName: string, fileId: string, res: Response): Promise<void>;
|
|
10
|
+
downloadFile(collectionName: string, fileId: string, req: Request, res: Response): Promise<void>;
|
|
11
|
+
downloadFileWithFileName(collectionName: string, fileId: string, req: Request, res: Response): Promise<void>;
|
|
10
12
|
presignedUrls(collectionName: string, records: string[]): Promise<{
|
|
11
13
|
urls: string[];
|
|
12
14
|
}>;
|
|
@@ -19,8 +19,9 @@ const files_service_1 = require("./files.service");
|
|
|
19
19
|
const swagger_1 = require("@nestjs/swagger");
|
|
20
20
|
const core_1 = require("@builder6/core");
|
|
21
21
|
let FilesController = class FilesController {
|
|
22
|
-
constructor(filesService) {
|
|
22
|
+
constructor(filesService, authService) {
|
|
23
23
|
this.filesService = filesService;
|
|
24
|
+
this.authService = authService;
|
|
24
25
|
}
|
|
25
26
|
async uploadFile(collectionName, file, object_name, record_id, parent, req) {
|
|
26
27
|
const user = req['user'];
|
|
@@ -41,7 +42,11 @@ let FilesController = class FilesController {
|
|
|
41
42
|
throw new common_1.HttpException(error.message, common_1.HttpStatus.INTERNAL_SERVER_ERROR);
|
|
42
43
|
}
|
|
43
44
|
}
|
|
44
|
-
async downloadFile(collectionName, fileId, res) {
|
|
45
|
+
async downloadFile(collectionName, fileId, req, res) {
|
|
46
|
+
const user = await this.authService.getUserByRequest(req);
|
|
47
|
+
if (!user && collectionName !== 'cfs.avatar.filerecord') {
|
|
48
|
+
throw new common_1.HttpException('Unauthorized', common_1.HttpStatus.UNAUTHORIZED);
|
|
49
|
+
}
|
|
45
50
|
try {
|
|
46
51
|
if (this.filesService.cfsStore === 'S3') {
|
|
47
52
|
const s3SignedUrl = await this.filesService.getPreSignedUrl(collectionName, fileId);
|
|
@@ -58,8 +63,8 @@ let FilesController = class FilesController {
|
|
|
58
63
|
throw new common_1.HttpException(error.message, common_1.HttpStatus.INTERNAL_SERVER_ERROR);
|
|
59
64
|
}
|
|
60
65
|
}
|
|
61
|
-
async downloadFileWithFileName(collectionName, fileId, res) {
|
|
62
|
-
return this.downloadFile(collectionName, fileId, res);
|
|
66
|
+
async downloadFileWithFileName(collectionName, fileId, req, res) {
|
|
67
|
+
return this.downloadFile(collectionName, fileId, req, res);
|
|
63
68
|
}
|
|
64
69
|
async presignedUrls(collectionName, records) {
|
|
65
70
|
const urls = await Promise.all(records.map(async (attachmentId) => {
|
|
@@ -71,6 +76,7 @@ let FilesController = class FilesController {
|
|
|
71
76
|
exports.FilesController = FilesController;
|
|
72
77
|
__decorate([
|
|
73
78
|
(0, common_1.Post)(':collectionName'),
|
|
79
|
+
(0, common_1.UseGuards)(core_1.AuthGuard),
|
|
74
80
|
(0, common_1.HttpCode)(200),
|
|
75
81
|
(0, swagger_1.ApiOperation)({ summary: 'Upload a file' }),
|
|
76
82
|
(0, swagger_1.ApiParam)({
|
|
@@ -117,11 +123,12 @@ __decorate([
|
|
|
117
123
|
__param(4, (0, common_1.Body)('parent')),
|
|
118
124
|
__param(5, (0, common_1.Req)()),
|
|
119
125
|
__metadata("design:type", Function),
|
|
120
|
-
__metadata("design:paramtypes", [String, Object, String, String, String,
|
|
126
|
+
__metadata("design:paramtypes", [String, Object, String, String, String, Object]),
|
|
121
127
|
__metadata("design:returntype", Promise)
|
|
122
128
|
], FilesController.prototype, "uploadFile", null);
|
|
123
129
|
__decorate([
|
|
124
130
|
(0, common_1.Get)('download/:collectionName/:fileId/:fileName'),
|
|
131
|
+
(0, common_1.UseGuards)(core_1.AuthGuard),
|
|
125
132
|
(0, swagger_1.ApiOperation)({ summary: 'Download a file directly' }),
|
|
126
133
|
(0, swagger_1.ApiParam)({
|
|
127
134
|
name: 'collectionName',
|
|
@@ -164,13 +171,15 @@ __decorate([
|
|
|
164
171
|
}),
|
|
165
172
|
__param(0, (0, common_1.Param)('collectionName')),
|
|
166
173
|
__param(1, (0, common_1.Param)('fileId')),
|
|
167
|
-
__param(2, (0, common_1.
|
|
174
|
+
__param(2, (0, common_1.Req)()),
|
|
175
|
+
__param(3, (0, common_1.Res)()),
|
|
168
176
|
__metadata("design:type", Function),
|
|
169
|
-
__metadata("design:paramtypes", [String, String, Object]),
|
|
177
|
+
__metadata("design:paramtypes", [String, String, Object, Object]),
|
|
170
178
|
__metadata("design:returntype", Promise)
|
|
171
179
|
], FilesController.prototype, "downloadFile", null);
|
|
172
180
|
__decorate([
|
|
173
181
|
(0, common_1.Get)(':collectionName/:fileId/:fileName'),
|
|
182
|
+
(0, common_1.UseGuards)(core_1.AuthGuard),
|
|
174
183
|
(0, swagger_1.ApiOperation)({
|
|
175
184
|
summary: 'Download a file with filename, with s3 signed url.',
|
|
176
185
|
}),
|
|
@@ -191,12 +200,14 @@ __decorate([
|
|
|
191
200
|
__param(0, (0, common_1.Param)('collectionName')),
|
|
192
201
|
__param(1, (0, common_1.Param)('fileId')),
|
|
193
202
|
__param(2, (0, common_1.Res)()),
|
|
203
|
+
__param(3, (0, common_1.Res)()),
|
|
194
204
|
__metadata("design:type", Function),
|
|
195
|
-
__metadata("design:paramtypes", [String, String, Object]),
|
|
205
|
+
__metadata("design:paramtypes", [String, String, Object, Object]),
|
|
196
206
|
__metadata("design:returntype", Promise)
|
|
197
207
|
], FilesController.prototype, "downloadFileWithFileName", null);
|
|
198
208
|
__decorate([
|
|
199
209
|
(0, common_1.Post)(':collectionName/presigned-urls'),
|
|
210
|
+
(0, common_1.UseGuards)(core_1.AuthGuard),
|
|
200
211
|
(0, swagger_1.ApiOperation)({ summary: 'Get presigned urls for files' }),
|
|
201
212
|
(0, swagger_1.ApiBody)({
|
|
202
213
|
schema: {
|
|
@@ -229,7 +240,7 @@ __decorate([
|
|
|
229
240
|
], FilesController.prototype, "presignedUrls", null);
|
|
230
241
|
exports.FilesController = FilesController = __decorate([
|
|
231
242
|
(0, common_1.Controller)('api/v6/files/'),
|
|
232
|
-
(
|
|
233
|
-
|
|
243
|
+
__metadata("design:paramtypes", [files_service_1.FilesService,
|
|
244
|
+
core_1.AuthService])
|
|
234
245
|
], FilesController);
|
|
235
246
|
//# sourceMappingURL=files.controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.controller.js","sourceRoot":"","sources":["../../src/files/files.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAcwB;AACxB,+DAA2D;AAC3D,mDAA+C;AAE/C,6CAA+E;AAC/E,
|
|
1
|
+
{"version":3,"file":"files.controller.js","sourceRoot":"","sources":["../../src/files/files.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAcwB;AACxB,+DAA2D;AAC3D,mDAA+C;AAE/C,6CAA+E;AAC/E,yCAAwD;AAGjD,IAAM,eAAe,GAArB,MAAM,eAAe;IAC1B,YACmB,YAA0B,EAC1B,WAAwB;QADxB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,gBAAW,GAAX,WAAW,CAAa;IACxC,CAAC;IA2CE,AAAN,KAAK,CAAC,UAAU,CACW,cAAsB,EAC/B,IAAyB,EACpB,WAAmB,EACrB,SAAiB,EACpB,MAAc,EACvB,GAAY;QAEnB,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;QACzB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;QAC9B,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CACnD,cAAc,EACd,IAAI,EACJ,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CACvE,CAAC;QACF,OAAO,UAAU,CAAC;IACpB,CAAC;IAmBK,AAAN,KAAK,CAAC,kBAAkB,CACG,cAAsB,EAC9B,MAAc,EACZ,QAAgB,EAC5B,GAAa;QAEpB,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAC3D,cAAc,EACd,MAAM,CACP,CAAC;YAGF,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACpC,MAAM,IAAI,sBAAa,CACrB,QAAQ,EACR,mBAAU,CAAC,qBAAqB,CACjC,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,sBAAa,CAAC,KAAK,CAAC,OAAO,EAAE,mBAAU,CAAC,qBAAqB,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAkBK,AAAN,KAAK,CAAC,YAAY,CACS,cAAsB,EAC9B,MAAc,EACxB,GAAY,EACZ,GAAa;QAEpB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,IAAI,cAAc,KAAK,uBAAuB,EAAE,CAAC;YACxD,MAAM,IAAI,sBAAa,CAAC,cAAc,EAAE,mBAAU,CAAC,YAAY,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,CAAC;YAEH,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACxC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,CACzD,cAAc,EACd,MAAM,CACP,CAAC;gBACF,IAAI,WAAW,EAAE,CAAC;oBAEhB,OAAO,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;YAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAC3D,cAAc,EACd,MAAM,CACP,CAAC;YAGF,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACpC,MAAM,IAAI,sBAAa,CACrB,QAAQ,EACR,mBAAU,CAAC,qBAAqB,CACjC,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,sBAAa,CAAC,KAAK,CAAC,OAAO,EAAE,mBAAU,CAAC,qBAAqB,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAqBK,AAAN,KAAK,CAAC,wBAAwB,CACH,cAAsB,EAC9B,MAAc,EACxB,GAAY,EACZ,GAAa;QAEpB,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC7D,CAAC;IA6BK,AAAN,KAAK,CAAC,aAAa,CACQ,cAAsB,EAC9B,OAAiB;QAElC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;YACjC,OAAO,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QACzE,CAAC,CAAC,CACH,CAAC;QACF,OAAO,EAAE,IAAI,EAAE,CAAC;IAClB,CAAC;CACF,CAAA;AAvOY,0CAAe;AA+CpB;IAzCL,IAAA,aAAI,EAAC,iBAAiB,CAAC;IACvB,IAAA,kBAAS,EAAC,gBAAS,CAAC;IACpB,IAAA,iBAAQ,EAAC,GAAG,CAAC;IACb,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;IAC1C,IAAA,kBAAQ,EAAC;QACR,IAAI,EAAE,gBAAgB;QACtB,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,sBAAsB;SAChC;KACF,CAAC;IACD,IAAA,qBAAW,EAAC,qBAAqB,CAAC;IAClC,IAAA,iBAAO,EAAC;QACP,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,QAAQ;iBACjB;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,aAAa;oBAC1B,OAAO,EAAE,EAAE;iBACZ;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,WAAW;oBACxB,OAAO,EAAE,EAAE;iBACZ;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,kBAAkB;oBAC/B,OAAO,EAAE,EAAE;iBACZ;aACF;SACF;KACF,CAAC;IACD,IAAA,wBAAe,EAAC,IAAA,kCAAe,EAAC,MAAM,CAAC,CAAC;IAEtC,WAAA,IAAA,cAAK,EAAC,gBAAgB,CAAC,CAAA;IACvB,WAAA,IAAA,qBAAY,GAAE,CAAA;IACd,WAAA,IAAA,aAAI,EAAC,aAAa,CAAC,CAAA;IACnB,WAAA,IAAA,aAAI,EAAC,WAAW,CAAC,CAAA;IACjB,WAAA,IAAA,aAAI,EAAC,QAAQ,CAAC,CAAA;IACd,WAAA,IAAA,YAAG,GAAE,CAAA;;;;iDAYP;AAmBK;IAjBL,IAAA,YAAG,EAAC,4CAA4C,CAAC;IACjD,IAAA,kBAAS,EAAC,gBAAS,CAAC;IACpB,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC;IACrD,IAAA,kBAAQ,EAAC;QACR,IAAI,EAAE,gBAAgB;QACtB,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,sBAAsB;SAChC;KACF,CAAC;IACD,IAAA,kBAAQ,EAAC;QACR,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,QAAQ;KACf,CAAC;IAEC,WAAA,IAAA,cAAK,EAAC,gBAAgB,CAAC,CAAA;IACvB,WAAA,IAAA,cAAK,EAAC,QAAQ,CAAC,CAAA;IACf,WAAA,IAAA,cAAK,EAAC,UAAU,CAAC,CAAA;IACjB,WAAA,IAAA,YAAG,GAAE,CAAA;;;;yDAkBP;AAkBK;IAhBL,IAAA,YAAG,EAAC,yBAAyB,CAAC;IAC9B,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,qCAAqC,EAAE,CAAC;IAChE,IAAA,kBAAQ,EAAC;QACR,IAAI,EAAE,gBAAgB;QACtB,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,sBAAsB;SAChC;KACF,CAAC;IACD,IAAA,kBAAQ,EAAC;QACR,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,QAAQ;KACf,CAAC;IAEC,WAAA,IAAA,cAAK,EAAC,gBAAgB,CAAC,CAAA;IACvB,WAAA,IAAA,cAAK,EAAC,QAAQ,CAAC,CAAA;IACf,WAAA,IAAA,YAAG,GAAE,CAAA;IACL,WAAA,IAAA,YAAG,GAAE,CAAA;;;;mDAmCP;AAqBK;IAnBL,IAAA,YAAG,EAAC,mCAAmC,CAAC;IACxC,IAAA,kBAAS,EAAC,gBAAS,CAAC;IACpB,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,oDAAoD;KAC9D,CAAC;IACD,IAAA,kBAAQ,EAAC;QACR,IAAI,EAAE,gBAAgB;QACtB,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,sBAAsB;SAChC;KACF,CAAC;IACD,IAAA,kBAAQ,EAAC;QACR,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,QAAQ;KACf,CAAC;IAEC,WAAA,IAAA,cAAK,EAAC,gBAAgB,CAAC,CAAA;IACvB,WAAA,IAAA,cAAK,EAAC,QAAQ,CAAC,CAAA;IACf,WAAA,IAAA,YAAG,GAAE,CAAA;IACL,WAAA,IAAA,YAAG,GAAE,CAAA;;;;+DAGP;AA6BK;IA1BL,IAAA,aAAI,EAAC,gCAAgC,CAAC;IACtC,IAAA,kBAAS,EAAC,gBAAS,CAAC;IACpB,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC;IACzD,IAAA,iBAAO,EAAC;QACP,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,oBAAoB;YACjC,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;qBACf;iBACF;aACF;SACF;KACF,CAAC;IACD,IAAA,kBAAQ,EAAC;QACR,IAAI,EAAE,gBAAgB;QACtB,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,sBAAsB;SAChC;KACF,CAAC;IAEC,WAAA,IAAA,cAAK,EAAC,gBAAgB,CAAC,CAAA;IACvB,WAAA,IAAA,aAAI,EAAC,SAAS,CAAC,CAAA;;;;oDAQjB;0BAtOU,eAAe;IAD3B,IAAA,mBAAU,EAAC,eAAe,CAAC;qCAGO,4BAAY;QACb,kBAAW;GAHhC,eAAe,CAuO3B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@builder6/files",
|
|
3
|
-
"version": "0.15.
|
|
3
|
+
"version": "0.15.5",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"files": [
|
|
@@ -12,11 +12,11 @@
|
|
|
12
12
|
"build:watch": "rimraf dist && tsc --watch"
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@builder6/core": "0.15.
|
|
15
|
+
"@builder6/core": "0.15.5",
|
|
16
16
|
"nodemailer": "^6.9.16"
|
|
17
17
|
},
|
|
18
18
|
"publishConfig": {
|
|
19
19
|
"access": "public"
|
|
20
20
|
},
|
|
21
|
-
"gitHead": "
|
|
21
|
+
"gitHead": "b28edf03179280c46a45bd499adb84a86a5fe0e8"
|
|
22
22
|
}
|