@comet/cms-api 8.8.0-canary-20251126125613 → 8.8.0-canary-20251126135231
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/lib/file-uploads/dto/file-upload.body.d.ts +4 -0
- package/lib/file-uploads/dto/file-upload.body.d.ts.map +1 -0
- package/lib/file-uploads/dto/file-upload.body.js +25 -0
- package/lib/file-uploads/dto/file-upload.body.js.map +1 -0
- package/lib/file-uploads/entities/file-upload.entity.d.ts +1 -0
- package/lib/file-uploads/entities/file-upload.entity.d.ts.map +1 -1
- package/lib/file-uploads/entities/file-upload.entity.js +9 -1
- package/lib/file-uploads/entities/file-upload.entity.js.map +1 -1
- package/lib/file-uploads/file-upload-expiration.subscriber.d.ts +12 -0
- package/lib/file-uploads/file-upload-expiration.subscriber.d.ts.map +1 -0
- package/lib/file-uploads/file-upload-expiration.subscriber.js +50 -0
- package/lib/file-uploads/file-upload-expiration.subscriber.js.map +1 -0
- package/lib/file-uploads/file-uploads-upload.controller.d.ts.map +1 -1
- package/lib/file-uploads/file-uploads-upload.controller.js +5 -3
- package/lib/file-uploads/file-uploads-upload.controller.js.map +1 -1
- package/lib/file-uploads/file-uploads.config.d.ts +8 -0
- package/lib/file-uploads/file-uploads.config.d.ts.map +1 -1
- package/lib/file-uploads/file-uploads.module.d.ts.map +1 -1
- package/lib/file-uploads/file-uploads.module.js +7 -1
- package/lib/file-uploads/file-uploads.module.js.map +1 -1
- package/lib/file-uploads/file-uploads.service.d.ts +5 -3
- package/lib/file-uploads/file-uploads.service.d.ts.map +1 -1
- package/lib/file-uploads/file-uploads.service.js +44 -6
- package/lib/file-uploads/file-uploads.service.js.map +1 -1
- package/lib/mikro-orm/migrations/Migration20251013081751.d.ts +5 -0
- package/lib/mikro-orm/migrations/Migration20251013081751.d.ts.map +1 -0
- package/lib/mikro-orm/migrations/Migration20251013081751.js +22 -0
- package/lib/mikro-orm/migrations/Migration20251013081751.js.map +1 -0
- package/lib/mikro-orm/mikro-orm.module.d.ts.map +1 -1
- package/lib/mikro-orm/mikro-orm.module.js +2 -0
- package/lib/mikro-orm/mikro-orm.module.js.map +1 -1
- package/lib/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-upload.body.d.ts","sourceRoot":"","sources":["../../../src/file-uploads/dto/file-upload.body.ts"],"names":[],"mappings":"AAKA,qBAAa,cAAc;IAIvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB"}
|
|
@@ -0,0 +1,25 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.FileUploadBody = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
const is_undefinable_1 = require("../../common/validators/is-undefinable");
|
|
16
|
+
class FileUploadBody {
|
|
17
|
+
}
|
|
18
|
+
exports.FileUploadBody = FileUploadBody;
|
|
19
|
+
__decorate([
|
|
20
|
+
(0, class_validator_1.IsInt)(),
|
|
21
|
+
(0, is_undefinable_1.IsUndefinable)(),
|
|
22
|
+
(0, class_transformer_1.Type)(() => Number),
|
|
23
|
+
__metadata("design:type", Number)
|
|
24
|
+
], FileUploadBody.prototype, "expiresIn", void 0);
|
|
25
|
+
//# sourceMappingURL=file-upload.body.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-upload.body.js","sourceRoot":"","sources":["../../../src/file-uploads/dto/file-upload.body.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAAyC;AACzC,qDAAwC;AAExC,2EAAuE;AAEvE,MAAa,cAAc;CAK1B;AALD,wCAKC;AADG;IAHC,IAAA,uBAAK,GAAE;IACP,IAAA,8BAAa,GAAE;IACf,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;iDACA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-upload.entity.d.ts","sourceRoot":"","sources":["../../../src/file-uploads/entities/file-upload.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA6B,aAAa,EAAwB,MAAM,uBAAuB,CAAC;AAInH,qBAEa,UAAW,SAAQ,UAAU;IACtC,CAAC,aAAa,CAAC,CAAC,EAAE,WAAW,GAAG,WAAW,CAAC;IAI5C,EAAE,EAAE,MAAM,CAAU;IAIpB,IAAI,EAAE,MAAM,CAAC;IAIb,IAAI,EAAE,MAAM,CAAC;IAIb,QAAQ,EAAE,MAAM,CAAC;IAKjB,WAAW,EAAE,MAAM,CAAC;IAMpB,SAAS,EAAE,IAAI,CAAc;IAO7B,SAAS,EAAE,IAAI,CAAc;
|
|
1
|
+
{"version":3,"file":"file-upload.entity.d.ts","sourceRoot":"","sources":["../../../src/file-uploads/entities/file-upload.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA6B,aAAa,EAAwB,MAAM,uBAAuB,CAAC;AAInH,qBAEa,UAAW,SAAQ,UAAU;IACtC,CAAC,aAAa,CAAC,CAAC,EAAE,WAAW,GAAG,WAAW,CAAC;IAI5C,EAAE,EAAE,MAAM,CAAU;IAIpB,IAAI,EAAE,MAAM,CAAC;IAIb,IAAI,EAAE,MAAM,CAAC;IAIb,QAAQ,EAAE,MAAM,CAAC;IAKjB,WAAW,EAAE,MAAM,CAAC;IAMpB,SAAS,EAAE,IAAI,CAAc;IAO7B,SAAS,EAAE,IAAI,CAAc;IAO7B,SAAS,CAAC,EAAE,IAAI,CAAC;CACpB"}
|
|
@@ -17,7 +17,7 @@ let FileUpload = class FileUpload extends postgresql_1.BaseEntity {
|
|
|
17
17
|
constructor() {
|
|
18
18
|
super(...arguments);
|
|
19
19
|
this.id = (0, uuid_1.v4)();
|
|
20
|
-
this.createdAt = new Date();
|
|
20
|
+
this.createdAt = new Date();
|
|
21
21
|
this.updatedAt = new Date();
|
|
22
22
|
}
|
|
23
23
|
};
|
|
@@ -63,6 +63,14 @@ __decorate([
|
|
|
63
63
|
}),
|
|
64
64
|
__metadata("design:type", Date)
|
|
65
65
|
], FileUpload.prototype, "updatedAt", void 0);
|
|
66
|
+
__decorate([
|
|
67
|
+
(0, graphql_1.Field)({ nullable: true, description: "The date and time the file will be deleted. If undefined, the file will never be deleted." }),
|
|
68
|
+
(0, postgresql_1.Property)({
|
|
69
|
+
columnType: "timestamp with time zone",
|
|
70
|
+
nullable: true,
|
|
71
|
+
}),
|
|
72
|
+
__metadata("design:type", Date)
|
|
73
|
+
], FileUpload.prototype, "expiresAt", void 0);
|
|
66
74
|
exports.FileUpload = FileUpload = __decorate([
|
|
67
75
|
(0, graphql_1.ObjectType)("FileUpload"),
|
|
68
76
|
(0, postgresql_1.Entity)({ tableName: "CometFileUpload" })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-upload.entity.js","sourceRoot":"","sources":["../../../src/file-uploads/entities/file-upload.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sDAAmH;AACnH,6CAA6D;AAC7D,+BAAkC;AAI3B,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,uBAAU;IAAnC;;QAKH,OAAE,GAAW,IAAA,SAAI,GAAE,CAAC;QAuBpB,cAAS,GAAS,IAAI,IAAI,EAAE,CAAC
|
|
1
|
+
{"version":3,"file":"file-upload.entity.js","sourceRoot":"","sources":["../../../src/file-uploads/entities/file-upload.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sDAAmH;AACnH,6CAA6D;AAC7D,+BAAkC;AAI3B,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,uBAAU;IAAnC;;QAKH,OAAE,GAAW,IAAA,SAAI,GAAE,CAAC;QAuBpB,cAAS,GAAS,IAAI,IAAI,EAAE,CAAC;QAO7B,cAAS,GAAS,IAAI,IAAI,EAAE,CAAC;IAQjC,CAAC;CAAA,CAAA;AA3CY,gCAAU;AAKnB;IAFC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,YAAE,CAAC;IACf,IAAA,uBAAU,EAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;;sCACf;AAIpB;IAFC,IAAA,eAAK,GAAE;IACP,IAAA,qBAAQ,EAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;;wCACpB;AAIb;IAFC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,aAAG,CAAC;IAChB,IAAA,qBAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,uBAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;;wCAChC;AAIb;IAFC,IAAA,eAAK,GAAE;IACP,IAAA,qBAAQ,EAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;;4CAChB;AAKjB;IAHC,IAAA,eAAK,GAAE;IACP,IAAA,qBAAQ,EAAC,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC;IACzC,IAAA,kBAAK,GAAE;;+CACY;AAMpB;IAJC,IAAA,eAAK,GAAE;IACP,IAAA,qBAAQ,EAAC;QACN,UAAU,EAAE,0BAA0B;KACzC,CAAC;8BACS,IAAI;6CAAc;AAO7B;IALC,IAAA,eAAK,GAAE;IACP,IAAA,qBAAQ,EAAC;QACN,UAAU,EAAE,0BAA0B;QACtC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE;KAC7B,CAAC;8BACS,IAAI;6CAAc;AAO7B;IALC,IAAA,eAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,2FAA2F,EAAE,CAAC;IACnI,IAAA,qBAAQ,EAAC;QACN,UAAU,EAAE,0BAA0B;QACtC,QAAQ,EAAE,IAAI;KACjB,CAAC;8BACU,IAAI;6CAAC;qBA1CR,UAAU;IAFtB,IAAA,oBAAU,EAAC,YAAY,CAAC;IACxB,IAAA,mBAAM,EAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;GAC5B,UAAU,CA2CtB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { EntityName, EventArgs, EventSubscriber } from "@mikro-orm/core";
|
|
2
|
+
import { EntityManager } from "@mikro-orm/postgresql";
|
|
3
|
+
import { FileUpload } from "./entities/file-upload.entity";
|
|
4
|
+
import { FileUploadsService } from "./file-uploads.service";
|
|
5
|
+
export declare class FileUploadExpirationSubscriber implements EventSubscriber {
|
|
6
|
+
private readonly entityManager;
|
|
7
|
+
private readonly fileUploadsService;
|
|
8
|
+
constructor(entityManager: EntityManager, fileUploadsService: FileUploadsService);
|
|
9
|
+
getSubscribedEntities(): EntityName<FileUpload>[];
|
|
10
|
+
onLoad(args: EventArgs<FileUpload>): Promise<void>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=file-upload-expiration.subscriber.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-upload-expiration.subscriber.d.ts","sourceRoot":"","sources":["../../src/file-uploads/file-upload-expiration.subscriber.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGtD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,qBACa,8BAA+B,YAAW,eAAe;IAE9D,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;gBADlB,aAAa,EAAE,aAAa,EAC5B,kBAAkB,EAAE,kBAAkB;IAK3D,qBAAqB,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE;IAI3C,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAM3D"}
|
|
@@ -0,0 +1,50 @@
|
|
|
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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
12
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
13
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
14
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
15
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
16
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
17
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
exports.FileUploadExpirationSubscriber = void 0;
|
|
22
|
+
const postgresql_1 = require("@mikro-orm/postgresql");
|
|
23
|
+
const common_1 = require("@nestjs/common");
|
|
24
|
+
const file_upload_entity_1 = require("./entities/file-upload.entity");
|
|
25
|
+
const file_uploads_service_1 = require("./file-uploads.service");
|
|
26
|
+
let FileUploadExpirationSubscriber = class FileUploadExpirationSubscriber {
|
|
27
|
+
constructor(entityManager, fileUploadsService) {
|
|
28
|
+
this.entityManager = entityManager;
|
|
29
|
+
this.fileUploadsService = fileUploadsService;
|
|
30
|
+
entityManager.getEventManager().registerSubscriber(this);
|
|
31
|
+
}
|
|
32
|
+
getSubscribedEntities() {
|
|
33
|
+
return [file_upload_entity_1.FileUpload];
|
|
34
|
+
}
|
|
35
|
+
onLoad(args) {
|
|
36
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
37
|
+
if (args.entity.expiresAt && args.entity.expiresAt < new Date()) {
|
|
38
|
+
yield this.fileUploadsService.delete(args.entity);
|
|
39
|
+
yield this.entityManager.flush();
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
exports.FileUploadExpirationSubscriber = FileUploadExpirationSubscriber;
|
|
45
|
+
exports.FileUploadExpirationSubscriber = FileUploadExpirationSubscriber = __decorate([
|
|
46
|
+
(0, common_1.Injectable)(),
|
|
47
|
+
__metadata("design:paramtypes", [postgresql_1.EntityManager,
|
|
48
|
+
file_uploads_service_1.FileUploadsService])
|
|
49
|
+
], FileUploadExpirationSubscriber);
|
|
50
|
+
//# sourceMappingURL=file-upload-expiration.subscriber.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-upload-expiration.subscriber.js","sourceRoot":"","sources":["../../src/file-uploads/file-upload-expiration.subscriber.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AACA,sDAAsD;AACtD,2CAA4C;AAE5C,sEAA2D;AAC3D,iEAA4D;AAGrD,IAAM,8BAA8B,GAApC,MAAM,8BAA8B;IACvC,YACqB,aAA4B,EAC5B,kBAAsC;QADtC,kBAAa,GAAb,aAAa,CAAe;QAC5B,uBAAkB,GAAlB,kBAAkB,CAAoB;QAEvD,aAAa,CAAC,eAAe,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,qBAAqB;QACjB,OAAO,CAAC,+BAAU,CAAC,CAAC;IACxB,CAAC;IAEK,MAAM,CAAC,IAA2B;;YACpC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC;gBAC9D,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAClD,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YACrC,CAAC;QACL,CAAC;KAAA;CACJ,CAAA;AAlBY,wEAA8B;yCAA9B,8BAA8B;IAD1C,IAAA,mBAAU,GAAE;qCAG2B,0BAAa;QACR,yCAAkB;GAHlD,8BAA8B,CAkB1C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-uploads-upload.controller.d.ts","sourceRoot":"","sources":["../../src/file-uploads/file-uploads-upload.controller.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"file-uploads-upload.controller.d.ts","sourceRoot":"","sources":["../../src/file-uploads/file-uploads-upload.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAkC,IAAI,EAAiC,MAAM,gBAAgB,CAAC;AAiBrG,wBAAgB,iCAAiC,CAAC,OAAO,EAAE;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CA8C7F"}
|
|
@@ -27,6 +27,7 @@ const common_1 = require("@nestjs/common");
|
|
|
27
27
|
const rimraf_1 = require("rimraf");
|
|
28
28
|
const disable_comet_guards_decorator_1 = require("../auth/decorators/disable-comet-guards.decorator");
|
|
29
29
|
const required_permission_decorator_1 = require("../user-permissions/decorators/required-permission.decorator");
|
|
30
|
+
const file_upload_body_1 = require("./dto/file-upload.body");
|
|
30
31
|
const file_uploads_constants_1 = require("./file-uploads.constants");
|
|
31
32
|
const file_uploads_service_1 = require("./file-uploads.service");
|
|
32
33
|
const file_uploads_file_interceptor_1 = require("./file-uploads-file.interceptor");
|
|
@@ -37,9 +38,9 @@ function createFileUploadsUploadController(options) {
|
|
|
37
38
|
this.entityManager = entityManager;
|
|
38
39
|
this.config = config;
|
|
39
40
|
}
|
|
40
|
-
upload(file) {
|
|
41
|
+
upload(file, body) {
|
|
41
42
|
return __awaiter(this, void 0, void 0, function* () {
|
|
42
|
-
const fileUpload = yield this.fileUploadsService.upload(file);
|
|
43
|
+
const fileUpload = yield this.fileUploadsService.upload(file, body.expiresIn);
|
|
43
44
|
yield this.entityManager.flush();
|
|
44
45
|
try {
|
|
45
46
|
yield (0, rimraf_1.rimraf)(file.path);
|
|
@@ -59,8 +60,9 @@ function createFileUploadsUploadController(options) {
|
|
|
59
60
|
(0, common_1.Post)("upload"),
|
|
60
61
|
(0, common_1.UseInterceptors)((0, file_uploads_file_interceptor_1.FileUploadsFileInterceptor)()),
|
|
61
62
|
__param(0, (0, common_1.UploadedFile)()),
|
|
63
|
+
__param(1, (0, common_1.Body)()),
|
|
62
64
|
__metadata("design:type", Function),
|
|
63
|
-
__metadata("design:paramtypes", [Object]),
|
|
65
|
+
__metadata("design:paramtypes", [Object, file_upload_body_1.FileUploadBody]),
|
|
64
66
|
__metadata("design:returntype", Promise)
|
|
65
67
|
], BaseFileUploadsUploadController.prototype, "upload", null);
|
|
66
68
|
BaseFileUploadsUploadController = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-uploads-upload.controller.js","sourceRoot":"","sources":["../../src/file-uploads/file-uploads-upload.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"file-uploads-upload.controller.js","sourceRoot":"","sources":["../../src/file-uploads/file-uploads-upload.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAkBA,8EA8CC;AAhED,sDAAsD;AACtD,2CAAqG;AACrG,mCAAgC;AAEhC,sGAAuF;AAEvF,gHAAkG;AAClG,6DAAwD;AAGxD,qEAA+D;AAC/D,iEAA4D;AAC5D,mFAA6E;AAM7E,SAAgB,iCAAiC,CAAC,OAA4B;IAC1E,IACM,+BAA+B,GADrC,MACM,+BAA+B;QACjC,YACqB,kBAAsC,EACtC,aAA4B,EACC,MAAyB;YAFtD,uBAAkB,GAAlB,kBAAkB,CAAoB;YACtC,kBAAa,GAAb,aAAa,CAAe;YACC,WAAM,GAAN,MAAM,CAAmB;QACxE,CAAC;QAIE,MAAM,CAAiB,IAAqB,EAAU,IAAoB;;gBAC5E,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBAE9E,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;gBAEjC,IAAI,CAAC;oBACD,MAAM,IAAA,eAAM,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,KAAK,CAAC,CAAC;gBACvE,CAAC;gBAED,IAAI,WAA+B,CAAC;gBAEpC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;oBACvB,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;gBACxE,CAAC;gBAED,uCACO,UAAU,KACb,WAAW,IACb;YACN,CAAC;SAAA;KACJ,CAAA;IAtBS;QAFL,IAAA,aAAI,EAAC,QAAQ,CAAC;QACd,IAAA,wBAAe,EAAC,IAAA,0DAA0B,GAAE,CAAC;QAChC,WAAA,IAAA,qBAAY,GAAE,CAAA;QAAyB,WAAA,IAAA,aAAI,GAAE,CAAA;;iDAAO,iCAAc;;iEAqB/E;IA9BC,+BAA+B;QADpC,IAAA,mBAAU,EAAC,cAAc,CAAC;QAKlB,WAAA,IAAA,eAAM,EAAC,4CAAmB,CAAC,CAAA;yCAFS,yCAAkB;YACvB,0BAAa;OAH/C,+BAA+B,CA+BpC;IAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAEjB,IAAM,iCAAiC,GAAvC,MAAM,iCAAkC,SAAQ,+BAA+B;SAAG,CAAA;QAA5E,iCAAiC;YADtC,IAAA,mDAAkB,GAAE;WACf,iCAAiC,CAA2C;QAElF,OAAO,iCAAiC,CAAC;IAC7C,CAAC;IAGD,IAAM,kCAAkC,GAAxC,MAAM,kCAAmC,SAAQ,+BAA+B;KAAG,CAAA;IAA7E,kCAAkC;QADvC,IAAA,kDAAkB,EAAC,aAAa,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;OACtD,kCAAkC,CAA2C;IAEnF,OAAO,kCAAkC,CAAC;AAC9C,CAAC"}
|
|
@@ -2,6 +2,14 @@ export interface FileUploadsConfig {
|
|
|
2
2
|
directory: string;
|
|
3
3
|
maxFileSize: number;
|
|
4
4
|
acceptedMimeTypes: string[];
|
|
5
|
+
/**
|
|
6
|
+
* Allows setting an expiration duration, after this duration the file will be deleted.
|
|
7
|
+
* The duration is in seconds.
|
|
8
|
+
* Leaving it undefined means the file will never be deleted.
|
|
9
|
+
*
|
|
10
|
+
* @default undefined
|
|
11
|
+
*/
|
|
12
|
+
expiresIn?: number;
|
|
5
13
|
upload?: {
|
|
6
14
|
public: boolean;
|
|
7
15
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-uploads.config.d.ts","sourceRoot":"","sources":["../../src/file-uploads/file-uploads.config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE;QACL,MAAM,EAAE,OAAO,CAAC;KACnB,CAAC;IACF,QAAQ,CAAC,EAAE;QACP,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf;;;;;WAKG;QACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;KAClC,CAAC;CACL"}
|
|
1
|
+
{"version":3,"file":"file-uploads.config.d.ts","sourceRoot":"","sources":["../../src/file-uploads/file-uploads.config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE;QACL,MAAM,EAAE,OAAO,CAAC;KACnB,CAAC;IACF,QAAQ,CAAC,EAAE;QACP,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf;;;;;WAKG;QACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;KAClC,CAAC;CACL"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-uploads.module.d.ts","sourceRoot":"","sources":["../../src/file-uploads/file-uploads.module.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAA4B,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"file-uploads.module.d.ts","sourceRoot":"","sources":["../../src/file-uploads/file-uploads.module.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAA4B,MAAM,gBAAgB,CAAC;AAOzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAO1D,qBAEa,iBAAiB;IAC1B,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,aAAa;CA6C7D"}
|
|
@@ -14,6 +14,7 @@ const blob_storage_module_1 = require("../blob-storage/blob-storage.module");
|
|
|
14
14
|
const file_validation_service_1 = require("../file-utils/file-validation.service");
|
|
15
15
|
const imgproxy_module_1 = require("../imgproxy/imgproxy.module");
|
|
16
16
|
const file_upload_entity_1 = require("./entities/file-upload.entity");
|
|
17
|
+
const file_upload_expiration_subscriber_1 = require("./file-upload-expiration.subscriber");
|
|
17
18
|
const file_uploads_constants_1 = require("./file-uploads.constants");
|
|
18
19
|
const file_uploads_resolver_1 = require("./file-uploads.resolver");
|
|
19
20
|
const file_uploads_service_1 = require("./file-uploads.service");
|
|
@@ -34,7 +35,12 @@ let FileUploadsModule = FileUploadsModule_1 = class FileUploadsModule {
|
|
|
34
35
|
}),
|
|
35
36
|
};
|
|
36
37
|
const controllers = [(0, file_uploads_upload_controller_1.createFileUploadsUploadController)((_a = options.upload) !== null && _a !== void 0 ? _a : { public: false })];
|
|
37
|
-
const providers = [
|
|
38
|
+
const providers = [
|
|
39
|
+
fileUploadsConfigProvider,
|
|
40
|
+
file_uploads_service_1.FileUploadsService,
|
|
41
|
+
fileUploadsFileValidatorProvider,
|
|
42
|
+
file_upload_expiration_subscriber_1.FileUploadExpirationSubscriber,
|
|
43
|
+
];
|
|
38
44
|
if (options.download) {
|
|
39
45
|
if (options.download.secret.length < 16) {
|
|
40
46
|
throw new Error("The download secret must be at least 16 characters long.");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-uploads.module.js","sourceRoot":"","sources":["../../src/file-uploads/file-uploads.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,8CAAmD;AACnD,2CAAyE;AAEzE,6EAAwE;AACxE,mFAA8E;AAC9E,iEAA6D;AAC7D,sEAA2D;
|
|
1
|
+
{"version":3,"file":"file-uploads.module.js","sourceRoot":"","sources":["../../src/file-uploads/file-uploads.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,8CAAmD;AACnD,2CAAyE;AAEzE,6EAAwE;AACxE,mFAA8E;AAC9E,iEAA6D;AAC7D,sEAA2D;AAC3D,2FAAqF;AAErF,qEAAqG;AACrG,mEAA8D;AAC9D,iEAA4D;AAC5D,yFAAyF;AACzF,qFAAqF;AAI9E,IAAM,iBAAiB,yBAAvB,MAAM,iBAAiB;IAC1B,MAAM,CAAC,QAAQ,CAAC,OAA0B;;QACtC,MAAM,yBAAyB,GAAG;YAC9B,OAAO,EAAE,4CAAmB;YAC5B,QAAQ,EAAE,OAAO;SACpB,CAAC;QAEF,MAAM,gCAAgC,GAAG;YACrC,OAAO,EAAE,6DAAoC;YAC7C,QAAQ,EAAE,IAAI,+CAAqB,CAAC;gBAChC,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;aAC/C,CAAC;SACL,CAAC;QAEF,MAAM,WAAW,GAAG,CAAC,IAAA,kEAAiC,EAAC,MAAA,OAAO,CAAC,MAAM,mCAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC7F,MAAM,SAAS,GAAe;YAC1B,yBAAyB;YACzB,yCAAkB;YAClB,gCAAgC;YAChC,kEAA8B;SACjC,CAAC;QAEF,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;gBACtC,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;YAChF,CAAC;YAED,MAAM,6BAA6B,GAAG,IAAA,sEAAmC,EAAC,EAAE,MAAM,EAAE,MAAA,OAAO,CAAC,QAAQ,CAAC,MAAM,mCAAI,KAAK,EAAE,CAAC,CAAC;YACxH,WAAW,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAEhD,MAAM,iBAAiB,GAAG,MAAA,OAAO,CAAC,QAAQ,CAAC,oBAAoB,mCAAI,IAAI,CAAC;YAExE,IAAI,iBAAiB,EAAE,CAAC;gBACpB,SAAS,CAAC,IAAI,CAAC,2CAAmB,CAAC,CAAC;YACxC,CAAC;QACL,CAAC;QAED,OAAO;YACH,MAAM,EAAE,mBAAiB;YACzB,OAAO,EAAE,CAAC,uBAAc,CAAC,UAAU,CAAC,CAAC,+BAAU,CAAC,CAAC,EAAE,uCAAiB,EAAE,gCAAc,CAAC;YACrF,SAAS;YACT,WAAW;YACX,OAAO,EAAE,CAAC,yCAAkB,CAAC;SAChC,CAAC;IACN,CAAC;CACJ,CAAA;AA9CY,8CAAiB;4BAAjB,iBAAiB;IAF7B,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,iBAAiB,CA8C7B"}
|
|
@@ -1,21 +1,23 @@
|
|
|
1
|
-
import { EntityManager, EntityRepository } from "@mikro-orm/postgresql";
|
|
1
|
+
import { EntityManager, EntityRepository, MikroORM } from "@mikro-orm/postgresql";
|
|
2
2
|
import { BlobStorageBackendService } from "../blob-storage/backends/blob-storage-backend.service";
|
|
3
3
|
import { FileUploadInput } from "../file-utils/file-upload.input";
|
|
4
4
|
import { DownloadParams, ImageParams } from "./dto/file-uploads-download.params";
|
|
5
5
|
import { FileUpload } from "./entities/file-upload.entity";
|
|
6
6
|
import { FileUploadsConfig } from "./file-uploads.config";
|
|
7
7
|
export declare class FileUploadsService {
|
|
8
|
+
private readonly orm;
|
|
8
9
|
private readonly repository;
|
|
9
10
|
private readonly blobStorageBackendService;
|
|
10
11
|
private readonly config;
|
|
11
12
|
private readonly entityManager;
|
|
12
|
-
constructor(repository: EntityRepository<FileUpload>, blobStorageBackendService: BlobStorageBackendService, config: FileUploadsConfig, entityManager: EntityManager);
|
|
13
|
-
upload(file: FileUploadInput): Promise<FileUpload>;
|
|
13
|
+
constructor(orm: MikroORM, repository: EntityRepository<FileUpload>, blobStorageBackendService: BlobStorageBackendService, config: FileUploadsConfig, entityManager: EntityManager);
|
|
14
|
+
upload(file: FileUploadInput, expiresIn?: number): Promise<FileUpload>;
|
|
14
15
|
createHash(params: DownloadParams | ImageParams): string;
|
|
15
16
|
createDownloadUrl(file: FileUpload): string;
|
|
16
17
|
createImageUrl(file: FileUpload, resizeWidth: number): string | undefined;
|
|
17
18
|
createPreviewUrl(file: FileUpload): string;
|
|
18
19
|
getFileContent(file: FileUpload): Promise<Buffer>;
|
|
19
20
|
delete(fileUpload: FileUpload): Promise<void>;
|
|
21
|
+
deleteExpiredFiles(): Promise<void>;
|
|
20
22
|
}
|
|
21
23
|
//# sourceMappingURL=file-uploads.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-uploads.service.d.ts","sourceRoot":"","sources":["../../src/file-uploads/file-uploads.service.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"file-uploads.service.d.ts","sourceRoot":"","sources":["../../src/file-uploads/file-uploads.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,aAAa,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAQxG,OAAO,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAC;AAElG,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAGlE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG1D,qBACa,kBAAkB;IAEvB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACU,OAAO,CAAC,QAAQ,CAAC,UAAU;IACJ,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAClE,OAAO,CAAC,QAAQ,CAAC,MAAM;IACpD,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAJb,GAAG,EAAE,QAAQ,EACiB,UAAU,EAAE,gBAAgB,CAAC,UAAU,CAAC,EACjB,yBAAyB,EAAE,yBAAyB,EAC5E,MAAM,EAAE,iBAAiB,EACtD,aAAa,EAAE,aAAa;IAY3C,MAAM,CAAC,IAAI,EAAE,eAAe,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAsB5E,UAAU,CAAC,MAAM,EAAE,cAAc,GAAG,WAAW,GAAG,MAAM;IAcxD,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM;IAe3C,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAkBzE,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM;IAWpC,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAkBjD,MAAM,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAU7C,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;CAqB5C"}
|
|
@@ -47,24 +47,36 @@ const file_uploads_download_params_1 = require("./dto/file-uploads-download.para
|
|
|
47
47
|
const file_upload_entity_1 = require("./entities/file-upload.entity");
|
|
48
48
|
const file_uploads_constants_1 = require("./file-uploads.constants");
|
|
49
49
|
let FileUploadsService = class FileUploadsService {
|
|
50
|
-
constructor(repository, blobStorageBackendService, config, entityManager) {
|
|
50
|
+
constructor(orm, repository, blobStorageBackendService, config, entityManager) {
|
|
51
|
+
this.orm = orm;
|
|
51
52
|
this.repository = repository;
|
|
52
53
|
this.blobStorageBackendService = blobStorageBackendService;
|
|
53
54
|
this.config = config;
|
|
54
55
|
this.entityManager = entityManager;
|
|
56
|
+
// Delete expired files every minute
|
|
57
|
+
setInterval(() => __awaiter(this, void 0, void 0, function* () {
|
|
58
|
+
try {
|
|
59
|
+
yield this.deleteExpiredFiles();
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
console.error("Error while deleting expired files", error);
|
|
63
|
+
}
|
|
64
|
+
}), 60000);
|
|
55
65
|
}
|
|
56
|
-
upload(file) {
|
|
66
|
+
upload(file, expiresIn) {
|
|
57
67
|
return __awaiter(this, void 0, void 0, function* () {
|
|
58
68
|
const contentHash = yield hasha_1.default.fromFile(file.path, { algorithm: "md5" });
|
|
59
69
|
yield this.blobStorageBackendService.upload(file, contentHash, this.config.directory);
|
|
60
70
|
const extension = (0, path_1.extname)(file.originalname);
|
|
61
71
|
const filename = (0, path_1.basename)(file.originalname, extension);
|
|
62
72
|
const name = (0, files_utils_1.slugifyFilename)(filename, extension);
|
|
73
|
+
const expires = expiresIn || this.config.expiresIn;
|
|
63
74
|
const fileUpload = this.repository.create({
|
|
64
75
|
name,
|
|
65
76
|
size: file.size,
|
|
66
77
|
mimetype: file.mimetype,
|
|
67
78
|
contentHash,
|
|
79
|
+
expiresAt: expires ? (0, date_fns_1.addSeconds)(new Date(), expires) : undefined,
|
|
68
80
|
});
|
|
69
81
|
this.entityManager.persist(fileUpload);
|
|
70
82
|
return fileUpload;
|
|
@@ -150,14 +162,40 @@ let FileUploadsService = class FileUploadsService {
|
|
|
150
162
|
this.entityManager.remove(fileUpload);
|
|
151
163
|
});
|
|
152
164
|
}
|
|
165
|
+
deleteExpiredFiles() {
|
|
166
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
167
|
+
let hasMore = false;
|
|
168
|
+
const limit = 100;
|
|
169
|
+
do {
|
|
170
|
+
const files = yield this.repository.find({
|
|
171
|
+
expiresAt: { $lt: new Date() },
|
|
172
|
+
}, {
|
|
173
|
+
limit,
|
|
174
|
+
offset: 0,
|
|
175
|
+
});
|
|
176
|
+
for (const file of files) {
|
|
177
|
+
yield this.delete(file);
|
|
178
|
+
}
|
|
179
|
+
hasMore = files.length === limit;
|
|
180
|
+
} while (hasMore);
|
|
181
|
+
yield this.entityManager.flush();
|
|
182
|
+
});
|
|
183
|
+
}
|
|
153
184
|
};
|
|
154
185
|
exports.FileUploadsService = FileUploadsService;
|
|
186
|
+
__decorate([
|
|
187
|
+
(0, postgresql_1.CreateRequestContext)(),
|
|
188
|
+
__metadata("design:type", Function),
|
|
189
|
+
__metadata("design:paramtypes", []),
|
|
190
|
+
__metadata("design:returntype", Promise)
|
|
191
|
+
], FileUploadsService.prototype, "deleteExpiredFiles", null);
|
|
155
192
|
exports.FileUploadsService = FileUploadsService = __decorate([
|
|
156
193
|
(0, common_1.Injectable)(),
|
|
157
|
-
__param(
|
|
158
|
-
__param(
|
|
159
|
-
__param(
|
|
160
|
-
__metadata("design:paramtypes", [postgresql_1.
|
|
194
|
+
__param(1, (0, nestjs_1.InjectRepository)(file_upload_entity_1.FileUpload)),
|
|
195
|
+
__param(2, (0, common_1.Inject)((0, common_1.forwardRef)(() => blob_storage_backend_service_1.BlobStorageBackendService))),
|
|
196
|
+
__param(3, (0, common_1.Inject)(file_uploads_constants_1.FILE_UPLOADS_CONFIG)),
|
|
197
|
+
__metadata("design:paramtypes", [postgresql_1.MikroORM,
|
|
198
|
+
postgresql_1.EntityRepository,
|
|
161
199
|
blob_storage_backend_service_1.BlobStorageBackendService, Object, postgresql_1.EntityManager])
|
|
162
200
|
], FileUploadsService);
|
|
163
201
|
//# sourceMappingURL=file-uploads.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-uploads.service.js","sourceRoot":"","sources":["../../src/file-uploads/file-uploads.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAqD;AACrD,
|
|
1
|
+
{"version":3,"file":"file-uploads.service.js","sourceRoot":"","sources":["../../src/file-uploads/file-uploads.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Migration20251013081751.d.ts","sourceRoot":"","sources":["../../../src/mikro-orm/migrations/Migration20251013081751.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,qBAAa,uBAAwB,SAAQ,SAAS;IAErC,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC;CAInC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.Migration20251013081751 = void 0;
|
|
13
|
+
const migrations_1 = require("@mikro-orm/migrations");
|
|
14
|
+
class Migration20251013081751 extends migrations_1.Migration {
|
|
15
|
+
up() {
|
|
16
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
17
|
+
this.addSql(`alter table "CometFileUpload" add column "expiresAt" timestamp with time zone null;`);
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.Migration20251013081751 = Migration20251013081751;
|
|
22
|
+
//# sourceMappingURL=Migration20251013081751.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Migration20251013081751.js","sourceRoot":"","sources":["../../../src/mikro-orm/migrations/Migration20251013081751.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sDAAkD;AAElD,MAAa,uBAAwB,SAAQ,sBAAS;IAErC,EAAE;;YACf,IAAI,CAAC,MAAM,CAAC,qFAAqF,CAAC,CAAC;QACrG,CAAC;KAAA;CAEF;AAND,0DAMC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mikro-orm.module.d.ts","sourceRoot":"","sources":["../../src/mikro-orm/mikro-orm.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0C,qBAAqB,IAAI,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC3H,OAAO,EAA4B,eAAe,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACpG,OAAO,EAAE,aAAa,EAAU,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"mikro-orm.module.d.ts","sourceRoot":"","sources":["../../src/mikro-orm/mikro-orm.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0C,qBAAqB,IAAI,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC3H,OAAO,EAA4B,eAAe,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACpG,OAAO,EAAE,aAAa,EAAU,MAAM,gBAAgB,CAAC;AAmCvD,MAAM,WAAW,qBAAqB;IAClC,SAAS,EAAE,qBAAqB,CAAC;CACpC;AAED,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,GAAG,eAAe,EAAE,CAyB7E;AAED,wBAAgB,eAAe,CAAC,EAAE,UAAU,EAAE,GAAG,QAAQ,EAAE,EAAE,qBAAqB,CAAC,gBAAgB,CAAC,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,CAiD7I;AAED,qBACa,cAAc;IACvB,MAAM,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,EAAE,gBAAgB,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,qBAAqB,GAAG,aAAa;CAcvG"}
|
|
@@ -56,6 +56,7 @@ const Migration20250403134629_1 = require("./migrations/Migration20250403134629"
|
|
|
56
56
|
const Migration20250612134629_1 = require("./migrations/Migration20250612134629");
|
|
57
57
|
const Migration20250623085054_1 = require("./migrations/Migration20250623085054");
|
|
58
58
|
const Migration20250623113026_1 = require("./migrations/Migration20250623113026");
|
|
59
|
+
const Migration20251013081751_1 = require("./migrations/Migration20251013081751");
|
|
59
60
|
const Migration20251118143418_1 = require("./migrations/Migration20251118143418");
|
|
60
61
|
function createMigrationsList(migrationsDir) {
|
|
61
62
|
if (!fs_1.default.existsSync(migrationsDir)) {
|
|
@@ -111,6 +112,7 @@ function createOrmConfig(_a) {
|
|
|
111
112
|
{ name: "Migration20250623085054", class: Migration20250623085054_1.Migration20250623085054 },
|
|
112
113
|
{ name: "Migration20250623113026", class: Migration20250623113026_1.Migration20250623113026 },
|
|
113
114
|
{ name: "Migration20251118143418", class: Migration20251118143418_1.Migration20251118143418 },
|
|
115
|
+
{ name: "Migration20251013081751", class: Migration20251013081751_1.Migration20251013081751 },
|
|
114
116
|
...((migrations === null || migrations === void 0 ? void 0 : migrations.migrationsList) || []),
|
|
115
117
|
].sort((migrationA, migrationB) => {
|
|
116
118
|
if (migrationA.name < migrationB.name) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mikro-orm.module.js","sourceRoot":"","sources":["../../src/mikro-orm/mikro-orm.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"mikro-orm.module.js","sourceRoot":"","sources":["../../src/mikro-orm/mikro-orm.module.ts"],"names":[],"mappings":"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"}
|