@bts-soft/core 2.1.1 → 2.1.3
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/package.json +2 -2
- package/dist/cache/src/index.d.ts +0 -8
- package/dist/cache/src/index.js +0 -25
- package/dist/cache/src/index.js.map +0 -1
- package/dist/cache/src/redis/config/redisConfig.service.d.ts +0 -4
- package/dist/cache/src/redis/config/redisConfig.service.js +0 -33
- package/dist/cache/src/redis/config/redisConfig.service.js.map +0 -1
- package/dist/cache/src/redis/constant/redis.constant.d.ts +0 -2
- package/dist/cache/src/redis/constant/redis.constant.js +0 -5
- package/dist/cache/src/redis/constant/redis.constant.js.map +0 -1
- package/dist/cache/src/redis/factory/redisClient.factory.d.ts +0 -2
- package/dist/cache/src/redis/factory/redisClient.factory.js +0 -47
- package/dist/cache/src/redis/factory/redisClient.factory.js.map +0 -1
- package/dist/cache/src/redis/interface/redis.interface.d.ts +0 -111
- package/dist/cache/src/redis/interface/redis.interface.js +0 -3
- package/dist/cache/src/redis/interface/redis.interface.js.map +0 -1
- package/dist/cache/src/redis/provider/redisService.provider.d.ts +0 -2
- package/dist/cache/src/redis/provider/redisService.provider.js +0 -12
- package/dist/cache/src/redis/provider/redisService.provider.js.map +0 -1
- package/dist/cache/src/redis/redis.health.d.ts +0 -7
- package/dist/cache/src/redis/redis.health.js +0 -38
- package/dist/cache/src/redis/redis.health.js.map +0 -1
- package/dist/cache/src/redis/redis.module.d.ts +0 -2
- package/dist/cache/src/redis/redis.module.js +0 -39
- package/dist/cache/src/redis/redis.module.js.map +0 -1
- package/dist/cache/src/redis/redis.service.d.ts +0 -119
- package/dist/cache/src/redis/redis.service.js +0 -571
- package/dist/cache/src/redis/redis.service.js.map +0 -1
- package/dist/core/src/index.d.ts +0 -5
- package/dist/core/src/index.js +0 -22
- package/dist/core/src/index.js.map +0 -1
- package/dist/mail-queue/src/email.module.d.ts +0 -2
- package/dist/mail-queue/src/email.module.js +0 -40
- package/dist/mail-queue/src/email.module.js.map +0 -1
- package/dist/mail-queue/src/index.d.ts +0 -8
- package/dist/mail-queue/src/index.js +0 -25
- package/dist/mail-queue/src/index.js.map +0 -1
- package/dist/mail-queue/src/interfaces/IemailStrategy.interface.d.ts +0 -3
- package/dist/mail-queue/src/interfaces/IemailStrategy.interface.js +0 -3
- package/dist/mail-queue/src/interfaces/IemailStrategy.interface.js.map +0 -1
- package/dist/mail-queue/src/interfaces/iEmailObserver.interface.d.ts +0 -4
- package/dist/mail-queue/src/interfaces/iEmailObserver.interface.js +0 -3
- package/dist/mail-queue/src/interfaces/iEmailObserver.interface.js.map +0 -1
- package/dist/mail-queue/src/observer/email.observer.d.ts +0 -5
- package/dist/mail-queue/src/observer/email.observer.js +0 -13
- package/dist/mail-queue/src/observer/email.observer.js.map +0 -1
- package/dist/mail-queue/src/processor/email.processing.d.ts +0 -8
- package/dist/mail-queue/src/processor/email.processing.js +0 -44
- package/dist/mail-queue/src/processor/email.processing.js.map +0 -1
- package/dist/mail-queue/src/provider/mailer.provider.d.ts +0 -5
- package/dist/mail-queue/src/provider/mailer.provider.js +0 -32
- package/dist/mail-queue/src/provider/mailer.provider.js.map +0 -1
- package/dist/mail-queue/src/sendemail.service.d.ts +0 -11
- package/dist/mail-queue/src/sendemail.service.js +0 -52
- package/dist/mail-queue/src/sendemail.service.js.map +0 -1
- package/dist/mail-queue/src/strategy/email.strategy.d.ts +0 -6
- package/dist/mail-queue/src/strategy/email.strategy.js +0 -18
- package/dist/mail-queue/src/strategy/email.strategy.js.map +0 -1
- package/dist/upload/src/index.d.ts +0 -19
- package/dist/upload/src/index.js +0 -36
- package/dist/upload/src/index.js.map +0 -1
- package/dist/upload/src/upload/commands/deleteImage.command.d.ts +0 -8
- package/dist/upload/src/upload/commands/deleteImage.command.js +0 -14
- package/dist/upload/src/upload/commands/deleteImage.command.js.map +0 -1
- package/dist/upload/src/upload/commands/deleteVideo.command.d.ts +0 -9
- package/dist/upload/src/upload/commands/deleteVideo.command.js +0 -15
- package/dist/upload/src/upload/commands/deleteVideo.command.js.map +0 -1
- package/dist/upload/src/upload/commands/uploadImage.command.d.ts +0 -9
- package/dist/upload/src/upload/commands/uploadImage.command.js +0 -15
- package/dist/upload/src/upload/commands/uploadImage.command.js.map +0 -1
- package/dist/upload/src/upload/commands/uploadVideo.command.d.ts +0 -9
- package/dist/upload/src/upload/commands/uploadVideo.command.js +0 -15
- package/dist/upload/src/upload/commands/uploadVideo.command.js.map +0 -1
- package/dist/upload/src/upload/config/cloudinary.d.ts +0 -6
- package/dist/upload/src/upload/config/cloudinary.js +0 -19
- package/dist/upload/src/upload/config/cloudinary.js.map +0 -1
- package/dist/upload/src/upload/dtos/createImage.dto.d.ts +0 -6
- package/dist/upload/src/upload/dtos/createImage.dto.js +0 -41
- package/dist/upload/src/upload/dtos/createImage.dto.js.map +0 -1
- package/dist/upload/src/upload/dtos/createVideo.dto.d.ts +0 -6
- package/dist/upload/src/upload/dtos/createVideo.dto.js +0 -40
- package/dist/upload/src/upload/dtos/createVideo.dto.js.map +0 -1
- package/dist/upload/src/upload/dtos/fileUpload.d.ts +0 -7
- package/dist/upload/src/upload/dtos/fileUpload.js +0 -3
- package/dist/upload/src/upload/dtos/fileUpload.js.map +0 -1
- package/dist/upload/src/upload/factories/upload.factory.d.ts +0 -4
- package/dist/upload/src/upload/factories/upload.factory.js +0 -11
- package/dist/upload/src/upload/factories/upload.factory.js.map +0 -1
- package/dist/upload/src/upload/graphql/main.graphql.d.ts +0 -2
- package/dist/upload/src/upload/graphql/main.graphql.js +0 -8
- package/dist/upload/src/upload/graphql/main.graphql.js.map +0 -1
- package/dist/upload/src/upload/interfaces/IDaeleteStrategy.interface.d.ts +0 -3
- package/dist/upload/src/upload/interfaces/IDaeleteStrategy.interface.js +0 -3
- package/dist/upload/src/upload/interfaces/IDaeleteStrategy.interface.js.map +0 -1
- package/dist/upload/src/upload/interfaces/IUpload.interface.d.ts +0 -3
- package/dist/upload/src/upload/interfaces/IUpload.interface.js +0 -3
- package/dist/upload/src/upload/interfaces/IUpload.interface.js.map +0 -1
- package/dist/upload/src/upload/interfaces/IUploadCommand.interface.d.ts +0 -3
- package/dist/upload/src/upload/interfaces/IUploadCommand.interface.js +0 -3
- package/dist/upload/src/upload/interfaces/IUploadCommand.interface.js.map +0 -1
- package/dist/upload/src/upload/interfaces/IUploadObserver.interface.d.ts +0 -6
- package/dist/upload/src/upload/interfaces/IUploadObserver.interface.js +0 -3
- package/dist/upload/src/upload/interfaces/IUploadObserver.interface.js.map +0 -1
- package/dist/upload/src/upload/observer/upload.observer.d.ts +0 -7
- package/dist/upload/src/upload/observer/upload.observer.js +0 -19
- package/dist/upload/src/upload/observer/upload.observer.js.map +0 -1
- package/dist/upload/src/upload/rest.controller.d.ts +0 -13
- package/dist/upload/src/upload/rest.controller.js +0 -94
- package/dist/upload/src/upload/rest.controller.js.map +0 -1
- package/dist/upload/src/upload/strategies/delete.strategy.d.ts +0 -6
- package/dist/upload/src/upload/strategies/delete.strategy.js +0 -15
- package/dist/upload/src/upload/strategies/delete.strategy.js.map +0 -1
- package/dist/upload/src/upload/strategies/upload.strategy.d.ts +0 -6
- package/dist/upload/src/upload/strategies/upload.strategy.js +0 -21
- package/dist/upload/src/upload/strategies/upload.strategy.js.map +0 -1
- package/dist/upload/src/upload/upload.module.d.ts +0 -2
- package/dist/upload/src/upload/upload.module.js +0 -21
- package/dist/upload/src/upload/upload.module.js.map +0 -1
- package/dist/upload/src/upload/upload.service.d.ts +0 -27
- package/dist/upload/src/upload/upload.service.js +0 -161
- package/dist/upload/src/upload/upload.service.js.map +0 -1
- package/dist/validation/src/decorators/CapitalField.decorator.d.ts +0 -1
- package/dist/validation/src/decorators/CapitalField.decorator.js +0 -23
- package/dist/validation/src/decorators/CapitalField.decorator.js.map +0 -1
- package/dist/validation/src/decorators/EmailField.decorator.d.ts +0 -1
- package/dist/validation/src/decorators/EmailField.decorator.js +0 -17
- package/dist/validation/src/decorators/EmailField.decorator.js.map +0 -1
- package/dist/validation/src/decorators/IdValidate.decorator.d.ts +0 -1
- package/dist/validation/src/decorators/IdValidate.decorator.js +0 -19
- package/dist/validation/src/decorators/IdValidate.decorator.js.map +0 -1
- package/dist/validation/src/decorators/PasswordField.decorator.d.ts +0 -2
- package/dist/validation/src/decorators/PasswordField.decorator.js +0 -20
- package/dist/validation/src/decorators/PasswordField.decorator.js.map +0 -1
- package/dist/validation/src/decorators/PhoneField.decorator.d.ts +0 -3
- package/dist/validation/src/decorators/PhoneField.decorator.js +0 -21
- package/dist/validation/src/decorators/PhoneField.decorator.js.map +0 -1
- package/dist/validation/src/decorators/TextField.decorator.d.ts +0 -1
- package/dist/validation/src/decorators/TextField.decorator.js +0 -23
- package/dist/validation/src/decorators/TextField.decorator.js.map +0 -1
- package/dist/validation/src/decorators/nationalId.decorator.d.ts +0 -2
- package/dist/validation/src/decorators/nationalId.decorator.js +0 -24
- package/dist/validation/src/decorators/nationalId.decorator.js.map +0 -1
- package/dist/validation/src/index.d.ts +0 -10
- package/dist/validation/src/index.js +0 -27
- package/dist/validation/src/index.js.map +0 -1
- package/dist/validation/src/regex/SQL_INJECTION_REGEX.d.ts +0 -1
- package/dist/validation/src/regex/SQL_INJECTION_REGEX.js +0 -5
- package/dist/validation/src/regex/SQL_INJECTION_REGEX.js.map +0 -1
- package/dist/validation/src/utility/WordsTransform.decorator.d.ts +0 -2
- package/dist/validation/src/utility/WordsTransform.decorator.js +0 -19
- package/dist/validation/src/utility/WordsTransform.decorator.js.map +0 -1
|
@@ -1,40 +0,0 @@
|
|
|
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.CreateVideoDto = void 0;
|
|
13
|
-
const graphql_1 = require("@nestjs/graphql");
|
|
14
|
-
const class_validator_1 = require("class-validator");
|
|
15
|
-
const GraphQLUpload = require("graphql-upload/GraphQLUpload.js");
|
|
16
|
-
let CreateVideoDto = class CreateVideoDto {
|
|
17
|
-
};
|
|
18
|
-
exports.CreateVideoDto = CreateVideoDto;
|
|
19
|
-
__decorate([
|
|
20
|
-
(0, class_validator_1.IsOptional)(),
|
|
21
|
-
(0, graphql_1.Field)(() => String, { nullable: true }),
|
|
22
|
-
(0, class_validator_1.IsString)(),
|
|
23
|
-
(0, class_validator_1.MaxLength)(100),
|
|
24
|
-
__metadata("design:type", String)
|
|
25
|
-
], CreateVideoDto.prototype, "title", void 0);
|
|
26
|
-
__decorate([
|
|
27
|
-
(0, class_validator_1.IsOptional)(),
|
|
28
|
-
(0, graphql_1.Field)(() => String, { nullable: true }),
|
|
29
|
-
(0, class_validator_1.IsString)(),
|
|
30
|
-
(0, class_validator_1.MaxLength)(500),
|
|
31
|
-
__metadata("design:type", String)
|
|
32
|
-
], CreateVideoDto.prototype, "description", void 0);
|
|
33
|
-
__decorate([
|
|
34
|
-
(0, graphql_1.Field)(() => GraphQLUpload),
|
|
35
|
-
__metadata("design:type", Promise)
|
|
36
|
-
], CreateVideoDto.prototype, "video", void 0);
|
|
37
|
-
exports.CreateVideoDto = CreateVideoDto = __decorate([
|
|
38
|
-
(0, graphql_1.InputType)()
|
|
39
|
-
], CreateVideoDto);
|
|
40
|
-
//# sourceMappingURL=createVideo.dto.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createVideo.dto.js","sourceRoot":"","sources":["../../../../../../upload/src/upload/dtos/createVideo.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAmD;AAEnD,qDAAkE;AAClE,iEAAiE;AAG1D,IAAM,cAAc,GAApB,MAAM,cAAc;CAe1B,CAAA;AAfY,wCAAc;AAKzB;IAJC,IAAA,4BAAU,GAAE;IACZ,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACvC,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,GAAG,CAAC;;6CACA;AAMf;IAJC,IAAA,4BAAU,GAAE;IACZ,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACvC,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,GAAG,CAAC;;mDACM;AAGrB;IADC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,aAAa,CAAC;;6CACA;yBAdhB,cAAc;IAD1B,IAAA,mBAAS,GAAE;GACC,cAAc,CAe1B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fileUpload.js","sourceRoot":"","sources":["../../../../../../upload/src/upload/dtos/fileUpload.ts"],"names":[],"mappings":""}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UploadServiceFactory = void 0;
|
|
4
|
-
const cloudinary_1 = require("../config/cloudinary");
|
|
5
|
-
class UploadServiceFactory {
|
|
6
|
-
static create(configService) {
|
|
7
|
-
return cloudinary_1.CloudinaryInstance.getInstance(configService);
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
exports.UploadServiceFactory = UploadServiceFactory;
|
|
11
|
-
//# sourceMappingURL=upload.factory.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"upload.factory.js","sourceRoot":"","sources":["../../../../../../upload/src/upload/factories/upload.factory.ts"],"names":[],"mappings":";;;AACA,qDAA0D;AAE1D,MAAa,oBAAoB;IAC/B,MAAM,CAAC,MAAM,CAAC,aAA4B;QACxC,OAAO,+BAAkB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IACvD,CAAC;CACF;AAJD,oDAIC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.setupGraphqlUpload = setupGraphqlUpload;
|
|
4
|
-
const graphqlUploadExpress = require("graphql-upload/graphqlUploadExpress.js");
|
|
5
|
-
function setupGraphqlUpload(app, maxFileSize = 1000000, maxFiles = 2) {
|
|
6
|
-
app.use(graphqlUploadExpress({ maxFileSize, maxFiles }));
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=main.graphql.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"main.graphql.js","sourceRoot":"","sources":["../../../../../../upload/src/upload/graphql/main.graphql.ts"],"names":[],"mappings":";;AAcA,gDAQC;AAjBD,+EAA+E;AAS/E,SAAgB,kBAAkB,CAChC,GAAqB,EACrB,WAAW,GAAG,OAAS,EACvB,QAAQ,GAAG,CAAC;IAIZ,GAAG,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IDaeleteStrategy.interface.js","sourceRoot":"","sources":["../../../../../../upload/src/upload/interfaces/IDaeleteStrategy.interface.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IUpload.interface.js","sourceRoot":"","sources":["../../../../../../upload/src/upload/interfaces/IUpload.interface.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IUploadCommand.interface.js","sourceRoot":"","sources":["../../../../../../upload/src/upload/interfaces/IUploadCommand.interface.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IUploadObserver.interface.js","sourceRoot":"","sources":["../../../../../../upload/src/upload/interfaces/IUploadObserver.interface.ts"],"names":[],"mappings":""}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { IUploadObserver } from "../interfaces/IUploadObserver.interface";
|
|
2
|
-
export declare class LoggingObserver implements IUploadObserver {
|
|
3
|
-
onUploadSuccess(result: any): void;
|
|
4
|
-
onUploadError(error: Error): void;
|
|
5
|
-
onDeleteSuccess(result: any): void;
|
|
6
|
-
onDeleteError(error: Error): void;
|
|
7
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.LoggingObserver = void 0;
|
|
4
|
-
class LoggingObserver {
|
|
5
|
-
onUploadSuccess(result) {
|
|
6
|
-
console.log('Upload successful:', result.public_id);
|
|
7
|
-
}
|
|
8
|
-
onUploadError(error) {
|
|
9
|
-
console.error('Upload failed:', error.message);
|
|
10
|
-
}
|
|
11
|
-
onDeleteSuccess(result) {
|
|
12
|
-
console.log('Delete successful:', result.result);
|
|
13
|
-
}
|
|
14
|
-
onDeleteError(error) {
|
|
15
|
-
console.error('Delete failed:', error.message);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
exports.LoggingObserver = LoggingObserver;
|
|
19
|
-
//# sourceMappingURL=upload.observer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"upload.observer.js","sourceRoot":"","sources":["../../../../../../upload/src/upload/observer/upload.observer.ts"],"names":[],"mappings":";;;AAEA,MAAa,eAAe;IAC1B,eAAe,CAAC,MAAW;QACzB,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IACtD,CAAC;IAED,aAAa,CAAC,KAAY;QACxB,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,eAAe,CAAC,MAAW;QACzB,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;IAED,aAAa,CAAC,KAAY;QACxB,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;CACF;AAhBD,0CAgBC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { UploadService } from './upload.service';
|
|
2
|
-
export declare class UploadRestController {
|
|
3
|
-
private readonly uploadService;
|
|
4
|
-
constructor(uploadService: UploadService);
|
|
5
|
-
uploadImage(file: Express.Multer.File, dirUpload?: string): Promise<string>;
|
|
6
|
-
uploadVideo(file: Express.Multer.File, dirUpload?: string): Promise<string>;
|
|
7
|
-
deleteImage(imageUrl: string): Promise<{
|
|
8
|
-
message: string;
|
|
9
|
-
}>;
|
|
10
|
-
deleteVideo(videoUrl: string): Promise<{
|
|
11
|
-
message: string;
|
|
12
|
-
}>;
|
|
13
|
-
}
|
|
@@ -1,94 +0,0 @@
|
|
|
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
|
-
var _a, _b, _c, _d;
|
|
15
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
-
exports.UploadRestController = void 0;
|
|
17
|
-
const common_1 = require("@nestjs/common");
|
|
18
|
-
const platform_express_1 = require("@nestjs/platform-express");
|
|
19
|
-
const upload_service_1 = require("./upload.service");
|
|
20
|
-
let UploadRestController = class UploadRestController {
|
|
21
|
-
constructor(uploadService) {
|
|
22
|
-
this.uploadService = uploadService;
|
|
23
|
-
}
|
|
24
|
-
async uploadImage(file, dirUpload) {
|
|
25
|
-
if (!file) {
|
|
26
|
-
throw new common_1.HttpException('Image file is required', common_1.HttpStatus.BAD_REQUEST);
|
|
27
|
-
}
|
|
28
|
-
const stream = new (require('stream').Readable)();
|
|
29
|
-
stream.push(file.buffer);
|
|
30
|
-
stream.push(null);
|
|
31
|
-
return this.uploadService.uploadImageCore({ stream, filename: file.originalname }, dirUpload);
|
|
32
|
-
}
|
|
33
|
-
async uploadVideo(file, dirUpload) {
|
|
34
|
-
if (!file) {
|
|
35
|
-
throw new common_1.HttpException('Video file is required', common_1.HttpStatus.BAD_REQUEST);
|
|
36
|
-
}
|
|
37
|
-
const stream = new (require('stream').Readable)();
|
|
38
|
-
stream.push(file.buffer);
|
|
39
|
-
stream.push(null);
|
|
40
|
-
return this.uploadService.uploadVideoCore({ stream, filename: file.originalname }, dirUpload);
|
|
41
|
-
}
|
|
42
|
-
async deleteImage(imageUrl) {
|
|
43
|
-
if (!imageUrl) {
|
|
44
|
-
throw new common_1.HttpException('Image URL is required', common_1.HttpStatus.BAD_REQUEST);
|
|
45
|
-
}
|
|
46
|
-
await this.uploadService.deleteImage(imageUrl);
|
|
47
|
-
return { message: 'Image deleted successfully' };
|
|
48
|
-
}
|
|
49
|
-
async deleteVideo(videoUrl) {
|
|
50
|
-
if (!videoUrl) {
|
|
51
|
-
throw new common_1.HttpException('Video URL is required', common_1.HttpStatus.BAD_REQUEST);
|
|
52
|
-
}
|
|
53
|
-
await this.uploadService.deleteVideo(videoUrl);
|
|
54
|
-
return { message: 'Video deleted successfully' };
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
exports.UploadRestController = UploadRestController;
|
|
58
|
-
__decorate([
|
|
59
|
-
(0, common_1.Post)('image'),
|
|
60
|
-
(0, common_1.UseInterceptors)((0, platform_express_1.FileInterceptor)('image')),
|
|
61
|
-
__param(0, (0, common_1.UploadedFile)()),
|
|
62
|
-
__param(1, (0, common_1.Body)('dirUpload')),
|
|
63
|
-
__metadata("design:type", Function),
|
|
64
|
-
__metadata("design:paramtypes", [typeof (_b = typeof express_1.Express !== "undefined" && (_a = express_1.Express.Multer) !== void 0 && _a.File) === "function" ? _b : Object, String]),
|
|
65
|
-
__metadata("design:returntype", Promise)
|
|
66
|
-
], UploadRestController.prototype, "uploadImage", null);
|
|
67
|
-
__decorate([
|
|
68
|
-
(0, common_1.Post)('video'),
|
|
69
|
-
(0, common_1.UseInterceptors)((0, platform_express_1.FileInterceptor)('video')),
|
|
70
|
-
__param(0, (0, common_1.UploadedFile)()),
|
|
71
|
-
__param(1, (0, common_1.Body)('dirUpload')),
|
|
72
|
-
__metadata("design:type", Function),
|
|
73
|
-
__metadata("design:paramtypes", [typeof (_d = typeof express_1.Express !== "undefined" && (_c = express_1.Express.Multer) !== void 0 && _c.File) === "function" ? _d : Object, String]),
|
|
74
|
-
__metadata("design:returntype", Promise)
|
|
75
|
-
], UploadRestController.prototype, "uploadVideo", null);
|
|
76
|
-
__decorate([
|
|
77
|
-
(0, common_1.Delete)('image'),
|
|
78
|
-
__param(0, (0, common_1.Query)('imageUrl')),
|
|
79
|
-
__metadata("design:type", Function),
|
|
80
|
-
__metadata("design:paramtypes", [String]),
|
|
81
|
-
__metadata("design:returntype", Promise)
|
|
82
|
-
], UploadRestController.prototype, "deleteImage", null);
|
|
83
|
-
__decorate([
|
|
84
|
-
(0, common_1.Delete)('video'),
|
|
85
|
-
__param(0, (0, common_1.Query)('videoUrl')),
|
|
86
|
-
__metadata("design:type", Function),
|
|
87
|
-
__metadata("design:paramtypes", [String]),
|
|
88
|
-
__metadata("design:returntype", Promise)
|
|
89
|
-
], UploadRestController.prototype, "deleteVideo", null);
|
|
90
|
-
exports.UploadRestController = UploadRestController = __decorate([
|
|
91
|
-
(0, common_1.Controller)('rest/upload'),
|
|
92
|
-
__metadata("design:paramtypes", [upload_service_1.UploadService])
|
|
93
|
-
], UploadRestController);
|
|
94
|
-
//# sourceMappingURL=rest.controller.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rest.controller.js","sourceRoot":"","sources":["../../../../../upload/src/upload/rest.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { IDeleteStrategy } from '../interfaces/IDaeleteStrategy.interface';
|
|
2
|
-
export declare class CloudinaryDeleteStrategy implements IDeleteStrategy {
|
|
3
|
-
private cloudinary;
|
|
4
|
-
constructor(cloudinary: any);
|
|
5
|
-
delete(publicId: string, resourceType?: string): Promise<any>;
|
|
6
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CloudinaryDeleteStrategy = void 0;
|
|
4
|
-
class CloudinaryDeleteStrategy {
|
|
5
|
-
constructor(cloudinary) {
|
|
6
|
-
this.cloudinary = cloudinary;
|
|
7
|
-
}
|
|
8
|
-
async delete(publicId, resourceType = 'image') {
|
|
9
|
-
return this.cloudinary.uploader.destroy(publicId, {
|
|
10
|
-
resource_type: resourceType,
|
|
11
|
-
});
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
exports.CloudinaryDeleteStrategy = CloudinaryDeleteStrategy;
|
|
15
|
-
//# sourceMappingURL=delete.strategy.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"delete.strategy.js","sourceRoot":"","sources":["../../../../../../upload/src/upload/strategies/delete.strategy.ts"],"names":[],"mappings":";;;AAEA,MAAa,wBAAwB;IACnC,YAAoB,UAAe;QAAf,eAAU,GAAV,UAAU,CAAK;IAAG,CAAC;IAEvC,KAAK,CAAC,MAAM,CAAC,QAAgB,EAAE,eAAuB,OAAO;QAC3D,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE;YAChD,aAAa,EAAE,YAAY;SAC5B,CAAC,CAAC;IACL,CAAC;CACF;AARD,4DAQC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CloudinaryUploadStrategy = void 0;
|
|
4
|
-
class CloudinaryUploadStrategy {
|
|
5
|
-
constructor(cloudinary) {
|
|
6
|
-
this.cloudinary = cloudinary;
|
|
7
|
-
}
|
|
8
|
-
async upload(stream, options) {
|
|
9
|
-
return new Promise((resolve, reject) => {
|
|
10
|
-
const uploadStream = this.cloudinary.uploader.upload_stream(options, (error, result) => {
|
|
11
|
-
if (error)
|
|
12
|
-
reject(error);
|
|
13
|
-
else
|
|
14
|
-
resolve(result);
|
|
15
|
-
});
|
|
16
|
-
stream.pipe(uploadStream);
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
exports.CloudinaryUploadStrategy = CloudinaryUploadStrategy;
|
|
21
|
-
//# sourceMappingURL=upload.strategy.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"upload.strategy.js","sourceRoot":"","sources":["../../../../../../upload/src/upload/strategies/upload.strategy.ts"],"names":[],"mappings":";;;AAEA,MAAa,wBAAwB;IACnC,YAAoB,UAAe;QAAf,eAAU,GAAV,UAAU,CAAK;IAAG,CAAC;IAEvC,KAAK,CAAC,MAAM,CAAC,MAAW,EAAE,OAAY;QACpC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,aAAa,CACzD,OAAO,EACP,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBAChB,IAAI,KAAK;oBAAE,MAAM,CAAC,KAAK,CAAC,CAAC;;oBACpB,OAAO,CAAC,MAAM,CAAC,CAAC;YACvB,CAAC,CACF,CAAC;YACF,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAfD,4DAeC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
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
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.UploadModule = void 0;
|
|
10
|
-
const common_1 = require("@nestjs/common");
|
|
11
|
-
const upload_service_1 = require("./upload.service");
|
|
12
|
-
let UploadModule = class UploadModule {
|
|
13
|
-
};
|
|
14
|
-
exports.UploadModule = UploadModule;
|
|
15
|
-
exports.UploadModule = UploadModule = __decorate([
|
|
16
|
-
(0, common_1.Module)({
|
|
17
|
-
providers: [upload_service_1.UploadService],
|
|
18
|
-
exports: [upload_service_1.UploadService],
|
|
19
|
-
})
|
|
20
|
-
], UploadModule);
|
|
21
|
-
//# sourceMappingURL=upload.module.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"upload.module.js","sourceRoot":"","sources":["../../../../../upload/src/upload/upload.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,qDAAiD;AAU1C,IAAM,YAAY,GAAlB,MAAM,YAAY;CAAG,CAAA;AAAf,oCAAY;uBAAZ,YAAY;IAJxB,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC,8BAAa,CAAC;QAC1B,OAAO,EAAE,CAAC,8BAAa,CAAC;KACzB,CAAC;GACW,YAAY,CAAG"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { ConfigService } from '@nestjs/config';
|
|
2
|
-
import Stream from 'stream';
|
|
3
|
-
import { CreateImageDto } from './dtos/createImage.dto';
|
|
4
|
-
import { CreateVideoDto } from './dtos/createVideo.dto';
|
|
5
|
-
export interface UploadFile {
|
|
6
|
-
stream: Stream;
|
|
7
|
-
filename: string;
|
|
8
|
-
}
|
|
9
|
-
export declare class UploadService {
|
|
10
|
-
private configService;
|
|
11
|
-
private readonly cloudinary;
|
|
12
|
-
private uploadStrategy;
|
|
13
|
-
private deleteStrategy;
|
|
14
|
-
private observers;
|
|
15
|
-
constructor(configService: ConfigService);
|
|
16
|
-
private notifyUploadSuccess;
|
|
17
|
-
private notifyUploadError;
|
|
18
|
-
private notifyDeleteSuccess;
|
|
19
|
-
private notifyDeleteError;
|
|
20
|
-
uploadImageCore(fileData: UploadFile, dirUpload?: string): Promise<string>;
|
|
21
|
-
uploadVideoCore(fileData: UploadFile, dirUpload?: string): Promise<string>;
|
|
22
|
-
uploadImage(createImageInput: CreateImageDto, dirUpload?: string): Promise<string>;
|
|
23
|
-
uploadVideo(createVideoInput: CreateVideoDto, dirUpload?: string): Promise<string>;
|
|
24
|
-
deleteImage(imageUrl: string): Promise<void>;
|
|
25
|
-
deleteVideo(videoUrl: string): Promise<void>;
|
|
26
|
-
private getVideoDuration;
|
|
27
|
-
}
|
|
@@ -1,161 +0,0 @@
|
|
|
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.UploadService = void 0;
|
|
13
|
-
const common_1 = require("@nestjs/common");
|
|
14
|
-
const config_1 = require("@nestjs/config");
|
|
15
|
-
const upload_factory_1 = require("./factories/upload.factory");
|
|
16
|
-
const upload_strategy_1 = require("./strategies/upload.strategy");
|
|
17
|
-
const delete_strategy_1 = require("./strategies/delete.strategy");
|
|
18
|
-
const uploadImage_command_1 = require("./commands/uploadImage.command");
|
|
19
|
-
const deleteImage_command_1 = require("./commands/deleteImage.command");
|
|
20
|
-
const deleteVideo_command_1 = require("./commands/deleteVideo.command");
|
|
21
|
-
const uploadVideo_command_1 = require("./commands/uploadVideo.command");
|
|
22
|
-
const upload_observer_1 = require("./observer/upload.observer");
|
|
23
|
-
let UploadService = class UploadService {
|
|
24
|
-
constructor(configService) {
|
|
25
|
-
this.configService = configService;
|
|
26
|
-
this.observers = [];
|
|
27
|
-
this.cloudinary = upload_factory_1.UploadServiceFactory.create(this.configService);
|
|
28
|
-
this.uploadStrategy = new upload_strategy_1.CloudinaryUploadStrategy(this.cloudinary);
|
|
29
|
-
this.deleteStrategy = new delete_strategy_1.CloudinaryDeleteStrategy(this.cloudinary);
|
|
30
|
-
this.observers.push(new upload_observer_1.LoggingObserver());
|
|
31
|
-
}
|
|
32
|
-
notifyUploadSuccess(result) {
|
|
33
|
-
this.observers.forEach((observer) => observer.onUploadSuccess(result));
|
|
34
|
-
}
|
|
35
|
-
notifyUploadError(error) {
|
|
36
|
-
this.observers.forEach((observer) => observer.onUploadError(error));
|
|
37
|
-
}
|
|
38
|
-
notifyDeleteSuccess(result) {
|
|
39
|
-
this.observers.forEach((observer) => observer.onDeleteSuccess(result));
|
|
40
|
-
}
|
|
41
|
-
notifyDeleteError(error) {
|
|
42
|
-
this.observers.forEach((observer) => observer.onDeleteError(error));
|
|
43
|
-
}
|
|
44
|
-
async uploadImageCore(fileData, dirUpload = 'avatars') {
|
|
45
|
-
const { stream, filename } = fileData;
|
|
46
|
-
const options = {
|
|
47
|
-
folder: dirUpload,
|
|
48
|
-
public_id: `${Date.now()}-${filename}`,
|
|
49
|
-
resource_type: 'auto',
|
|
50
|
-
};
|
|
51
|
-
const command = new uploadImage_command_1.UploadImageCommand(this.uploadStrategy, stream, options);
|
|
52
|
-
try {
|
|
53
|
-
const result = await command.execute();
|
|
54
|
-
if (!result?.secure_url) {
|
|
55
|
-
throw new common_1.HttpException('Cloudinary response invalid', common_1.HttpStatus.BAD_REQUEST);
|
|
56
|
-
}
|
|
57
|
-
this.notifyUploadSuccess(result);
|
|
58
|
-
return result.secure_url;
|
|
59
|
-
}
|
|
60
|
-
catch (error) {
|
|
61
|
-
this.notifyUploadError(error);
|
|
62
|
-
throw new common_1.HttpException('Upload failed', common_1.HttpStatus.BAD_REQUEST);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
async uploadVideoCore(fileData, dirUpload = 'videos') {
|
|
66
|
-
const { stream, filename } = fileData;
|
|
67
|
-
const duration = await this.getVideoDuration(stream);
|
|
68
|
-
if (duration > 60) {
|
|
69
|
-
throw new common_1.HttpException('Video must be 1 minute or less', common_1.HttpStatus.BAD_REQUEST);
|
|
70
|
-
}
|
|
71
|
-
const options = {
|
|
72
|
-
folder: dirUpload,
|
|
73
|
-
public_id: `${Date.now()}-${filename.split('.')[0]}`,
|
|
74
|
-
resource_type: 'video',
|
|
75
|
-
chunk_size: 6000000,
|
|
76
|
-
};
|
|
77
|
-
const command = new uploadVideo_command_1.UploadVideoCommand(this.uploadStrategy, stream, options);
|
|
78
|
-
try {
|
|
79
|
-
const result = await command.execute();
|
|
80
|
-
if (!result?.secure_url) {
|
|
81
|
-
throw new common_1.HttpException('Cloudinary response invalid', common_1.HttpStatus.BAD_REQUEST);
|
|
82
|
-
}
|
|
83
|
-
this.notifyUploadSuccess(result);
|
|
84
|
-
return result.secure_url;
|
|
85
|
-
}
|
|
86
|
-
catch (error) {
|
|
87
|
-
this.notifyUploadError(error);
|
|
88
|
-
throw new common_1.HttpException('Video upload failed', common_1.HttpStatus.BAD_REQUEST);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
async uploadImage(createImageInput, dirUpload = 'avatars') {
|
|
92
|
-
if (!createImageInput.image)
|
|
93
|
-
return null;
|
|
94
|
-
const uploadedFile = await createImageInput.image;
|
|
95
|
-
if (!uploadedFile || !uploadedFile.createReadStream) {
|
|
96
|
-
throw new common_1.HttpException('Invalid image file', common_1.HttpStatus.BAD_REQUEST);
|
|
97
|
-
}
|
|
98
|
-
const { createReadStream, filename } = uploadedFile;
|
|
99
|
-
const stream = createReadStream();
|
|
100
|
-
return this.uploadImageCore({ stream, filename }, dirUpload);
|
|
101
|
-
}
|
|
102
|
-
async uploadVideo(createVideoInput, dirUpload = 'videos') {
|
|
103
|
-
if (!createVideoInput.video) {
|
|
104
|
-
throw new common_1.HttpException('Video file is required', common_1.HttpStatus.BAD_REQUEST);
|
|
105
|
-
}
|
|
106
|
-
const uploadedFile = await createVideoInput.video;
|
|
107
|
-
if (!uploadedFile || !uploadedFile.createReadStream) {
|
|
108
|
-
throw new common_1.HttpException('Invalid video file', common_1.HttpStatus.BAD_REQUEST);
|
|
109
|
-
}
|
|
110
|
-
const { createReadStream, filename } = uploadedFile;
|
|
111
|
-
const stream = createReadStream();
|
|
112
|
-
return this.uploadVideoCore({ stream, filename }, dirUpload);
|
|
113
|
-
}
|
|
114
|
-
async deleteImage(imageUrl) {
|
|
115
|
-
const publicId = imageUrl?.split('/').pop()?.split('.')[0];
|
|
116
|
-
if (!publicId) {
|
|
117
|
-
throw new common_1.HttpException('Invalid image URL', common_1.HttpStatus.BAD_REQUEST);
|
|
118
|
-
}
|
|
119
|
-
const command = new deleteImage_command_1.DeleteImageCommand(this.deleteStrategy, publicId);
|
|
120
|
-
try {
|
|
121
|
-
const result = await command.execute();
|
|
122
|
-
if (result.result !== 'ok' && result.result !== 'not found') {
|
|
123
|
-
throw new common_1.HttpException(`Failed to delete image. Reason: ${result.result}`, common_1.HttpStatus.BAD_REQUEST);
|
|
124
|
-
}
|
|
125
|
-
this.notifyDeleteSuccess(result);
|
|
126
|
-
}
|
|
127
|
-
catch (error) {
|
|
128
|
-
this.notifyDeleteError(error);
|
|
129
|
-
throw new common_1.HttpException('Delete failed', common_1.HttpStatus.BAD_REQUEST);
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
async deleteVideo(videoUrl) {
|
|
133
|
-
const publicId = videoUrl?.split('/').pop()?.split('.')[0];
|
|
134
|
-
if (!publicId) {
|
|
135
|
-
throw new common_1.HttpException('Invalid video URL', common_1.HttpStatus.BAD_REQUEST);
|
|
136
|
-
}
|
|
137
|
-
const command = new deleteVideo_command_1.DeleteVideoCommand(this.deleteStrategy, publicId, 'video');
|
|
138
|
-
try {
|
|
139
|
-
const result = await command.execute();
|
|
140
|
-
if (result.result !== 'ok' && result.result !== 'not found') {
|
|
141
|
-
throw new common_1.HttpException(`Failed to delete video. Reason: ${result.result}`, common_1.HttpStatus.BAD_REQUEST);
|
|
142
|
-
}
|
|
143
|
-
this.notifyDeleteSuccess(result);
|
|
144
|
-
}
|
|
145
|
-
catch (error) {
|
|
146
|
-
this.notifyDeleteError(error);
|
|
147
|
-
throw new common_1.HttpException('Video delete failed', common_1.HttpStatus.BAD_REQUEST);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
async getVideoDuration(stream) {
|
|
151
|
-
return new Promise((resolve, reject) => {
|
|
152
|
-
resolve(60);
|
|
153
|
-
});
|
|
154
|
-
}
|
|
155
|
-
};
|
|
156
|
-
exports.UploadService = UploadService;
|
|
157
|
-
exports.UploadService = UploadService = __decorate([
|
|
158
|
-
(0, common_1.Injectable)(),
|
|
159
|
-
__metadata("design:paramtypes", [config_1.ConfigService])
|
|
160
|
-
], UploadService);
|
|
161
|
-
//# sourceMappingURL=upload.service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"upload.service.js","sourceRoot":"","sources":["../../../../../upload/src/upload/upload.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function CapitalTextField(text: string, min?: number, max?: number, nullable?: boolean, isGraphql?: boolean): PropertyDecorator;
|