@tomei/media 0.7.1 → 0.7.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.
Files changed (114) hide show
  1. package/.commitlintrc.json +22 -22
  2. package/.eslintrc.js +66 -66
  3. package/.gitlab-ci.yml +16 -16
  4. package/.husky/commit-msg +15 -15
  5. package/.husky/pre-commit +7 -7
  6. package/.prettierrc +4 -4
  7. package/.prettierrc copy +3 -3
  8. package/README.md +93 -93
  9. package/dist/base/base.medias.d.ts +38 -38
  10. package/dist/base/base.medias.js +174 -174
  11. package/dist/base/base.medias.js.map +1 -1
  12. package/dist/base/base.repository.abstract.d.ts +12 -12
  13. package/dist/base/base.repository.abstract.js +21 -21
  14. package/dist/base/base.repository.interface.d.ts +9 -9
  15. package/dist/base/base.repository.interface.js +2 -2
  16. package/dist/common/common.module.d.ts +2 -2
  17. package/dist/common/common.module.js +22 -22
  18. package/dist/common/common.module.js.map +1 -1
  19. package/dist/common/common.service.d.ts +13 -13
  20. package/dist/common/common.service.js +105 -105
  21. package/dist/common/common.service.js.map +1 -1
  22. package/dist/common/dto/add-field-translation.dto.d.ts +7 -7
  23. package/dist/common/dto/add-field-translation.dto.js +41 -41
  24. package/dist/common/dto/add-field-translation.dto.js.map +1 -1
  25. package/dist/common/dto/get-media.dto.d.ts +5 -5
  26. package/dist/common/dto/get-media.dto.js +28 -28
  27. package/dist/common/dto/get-media.dto.js.map +1 -1
  28. package/dist/database.d.ts +4 -4
  29. package/dist/database.js +15 -16
  30. package/dist/database.js.map +1 -1
  31. package/dist/dto/external-media.dto.d.ts +10 -10
  32. package/dist/dto/external-media.dto.js +69 -69
  33. package/dist/dto/external-media.dto.js.map +1 -1
  34. package/dist/dto/internal-medias.dto.d.ts +12 -12
  35. package/dist/dto/internal-medias.dto.js +86 -86
  36. package/dist/dto/internal-medias.dto.js.map +1 -1
  37. package/dist/entities/medias.entity.d.ts +23 -23
  38. package/dist/entities/medias.entity.js +159 -159
  39. package/dist/entities/medias.entity.js.map +1 -1
  40. package/dist/enum/index.d.ts +2 -2
  41. package/dist/enum/index.js +5 -5
  42. package/dist/enum/medias.enum.d.ts +5 -5
  43. package/dist/enum/medias.enum.js +9 -9
  44. package/dist/enum/medias.enum.js.map +1 -1
  45. package/dist/helpers/error.d.ts +1 -1
  46. package/dist/helpers/error.js +12 -13
  47. package/dist/helpers/error.js.map +1 -1
  48. package/dist/helpers/index.d.ts +2 -2
  49. package/dist/helpers/index.js +5 -5
  50. package/dist/index.d.ts +12 -12
  51. package/dist/index.js +21 -21
  52. package/dist/interfaces/base.medias-attr.interface.d.ts +20 -20
  53. package/dist/interfaces/base.medias-attr.interface.js +2 -2
  54. package/dist/interfaces/medias.repository.interface.d.ts +3 -3
  55. package/dist/interfaces/medias.repository.interface.js +2 -2
  56. package/dist/medias.d.ts +65 -67
  57. package/dist/medias.js +531 -528
  58. package/dist/medias.js.map +1 -1
  59. package/dist/medias.repository.d.ts +8 -8
  60. package/dist/medias.repository.js +55 -55
  61. package/dist/medias.repository.js.map +1 -1
  62. package/dist/pipe/append-id.pipe.d.ts +6 -6
  63. package/dist/pipe/append-id.pipe.js +27 -27
  64. package/dist/pipe/append-id.pipe.js.map +1 -1
  65. package/dist/pipe/validate-enum.pipe.d.ts +6 -6
  66. package/dist/pipe/validate-enum.pipe.js +33 -33
  67. package/dist/pipe/validate-enum.pipe.js.map +1 -1
  68. package/dist/pipe/validate-id.pipe.d.ts +6 -6
  69. package/dist/pipe/validate-id.pipe.js +30 -30
  70. package/dist/pipe/validate-id.pipe.js.map +1 -1
  71. package/dist/pipe/validate-search.pipe.d.ts +7 -7
  72. package/dist/pipe/validate-search.pipe.js +45 -45
  73. package/dist/pipe/validate-search.pipe.js.map +1 -1
  74. package/dist/responses/deleted.response.d.ts +3 -3
  75. package/dist/responses/deleted.response.js +20 -20
  76. package/dist/responses/deleted.response.js.map +1 -1
  77. package/dist/responses/pagination.response.d.ts +5 -5
  78. package/dist/responses/pagination.response.js +25 -25
  79. package/dist/responses/pagination.response.js.map +1 -1
  80. package/dist/tsconfig.tsbuildinfo +1 -1
  81. package/migration/0001-add-defaultyn-hiddenyn-to-media-table.js +36 -36
  82. package/migration/media-migration.js +82 -82
  83. package/nest-cli.json +18 -18
  84. package/package.json +75 -75
  85. package/sonar-project.properties +12 -12
  86. package/src/base/base.medias.ts +210 -210
  87. package/src/base/base.repository.abstract.ts +28 -28
  88. package/src/base/base.repository.interface.ts +9 -9
  89. package/src/common/common.module.ts +10 -10
  90. package/src/common/common.service.ts +107 -107
  91. package/src/common/dto/add-field-translation.dto.ts +23 -23
  92. package/src/common/dto/get-media.dto.ts +12 -12
  93. package/src/database.ts +16 -16
  94. package/src/dto/external-media.dto.ts +49 -49
  95. package/src/dto/internal-medias.dto.ts +64 -64
  96. package/src/entities/medias.entity.ts +125 -125
  97. package/src/enum/index.ts +3 -3
  98. package/src/enum/medias.enum.ts +5 -5
  99. package/src/helpers/error.ts +12 -12
  100. package/src/helpers/index.ts +3 -3
  101. package/src/index.ts +24 -24
  102. package/src/interfaces/base.medias-attr.interface.ts +21 -21
  103. package/src/interfaces/medias.repository.interface.ts +4 -4
  104. package/src/medias.repository.ts +55 -55
  105. package/src/medias.ts +724 -720
  106. package/src/pipe/append-id.pipe.ts +15 -15
  107. package/src/pipe/validate-enum.pipe.ts +31 -31
  108. package/src/pipe/validate-id.pipe.ts +18 -18
  109. package/src/pipe/validate-search.pipe.ts +44 -44
  110. package/src/responses/deleted.response.ts +6 -6
  111. package/src/responses/pagination.response.ts +10 -10
  112. package/tsconfig.build.json +4 -4
  113. package/tsconfig.json +29 -29
  114. package/tslint.json +18 -18
@@ -1,6 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MediaType = void 0;
4
- const medias_enum_1 = require("./medias.enum");
5
- Object.defineProperty(exports, "MediaType", { enumerable: true, get: function () { return medias_enum_1.MediaType; } });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MediaType = void 0;
4
+ const medias_enum_1 = require("./medias.enum");
5
+ Object.defineProperty(exports, "MediaType", { enumerable: true, get: function () { return medias_enum_1.MediaType; } });
6
6
  //# sourceMappingURL=index.js.map
@@ -1,5 +1,5 @@
1
- export declare enum MediaType {
2
- Photo = "Photo",
3
- Video = "Video",
4
- Document = "Document"
5
- }
1
+ export declare enum MediaType {
2
+ Photo = "Photo",
3
+ Video = "Video",
4
+ Document = "Document"
5
+ }
@@ -1,10 +1,10 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MediaType = void 0;
4
- var MediaType;
5
- (function (MediaType) {
6
- MediaType["Photo"] = "Photo";
7
- MediaType["Video"] = "Video";
8
- MediaType["Document"] = "Document";
9
- })(MediaType = exports.MediaType || (exports.MediaType = {}));
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MediaType = void 0;
4
+ var MediaType;
5
+ (function (MediaType) {
6
+ MediaType["Photo"] = "Photo";
7
+ MediaType["Video"] = "Video";
8
+ MediaType["Document"] = "Document";
9
+ })(MediaType || (exports.MediaType = MediaType = {}));
10
10
  //# sourceMappingURL=medias.enum.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"medias.enum.js","sourceRoot":"","sources":["../../src/enum/medias.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,4BAAe,CAAA;IACf,4BAAe,CAAA;IACf,kCAAqB,CAAA;AACvB,CAAC,EAJW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAIpB"}
1
+ {"version":3,"file":"medias.enum.js","sourceRoot":"","sources":["../../src/enum/medias.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,4BAAe,CAAA;IACf,4BAAe,CAAA;IACf,kCAAqB,CAAA;AACvB,CAAC,EAJW,SAAS,yBAAT,SAAS,QAIpB"}
@@ -1 +1 @@
1
- export declare function throwException(err: any): void;
1
+ export declare function throwException(err: any): void;
@@ -1,14 +1,13 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.throwException = void 0;
4
- const common_1 = require("@nestjs/common");
5
- function throwException(err) {
6
- if (err.response) {
7
- throw err;
8
- }
9
- else {
10
- throw new common_1.HttpException('Something went wrong. Please see application log.', err.statusCode);
11
- }
12
- }
13
- exports.throwException = throwException;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.throwException = throwException;
4
+ const common_1 = require("@nestjs/common");
5
+ function throwException(err) {
6
+ if (err.response) {
7
+ throw err;
8
+ }
9
+ else {
10
+ throw new common_1.HttpException('Something went wrong. Please see application log.', err.statusCode);
11
+ }
12
+ }
14
13
  //# sourceMappingURL=error.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/helpers/error.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAE/C,SAAgB,cAAc,CAAC,GAAG;IAChC,IAAI,GAAG,CAAC,QAAQ,EAAE;QAChB,MAAM,GAAG,CAAC;KACX;SAAM;QACL,MAAM,IAAI,sBAAa,CACrB,mDAAmD,EACnD,GAAG,CAAC,UAAU,CACf,CAAC;KACH;AACH,CAAC;AATD,wCASC"}
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/helpers/error.ts"],"names":[],"mappings":";;AAEA,wCASC;AAXD,2CAA+C;AAE/C,SAAgB,cAAc,CAAC,GAAG;IAChC,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjB,MAAM,GAAG,CAAC;IACZ,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,sBAAa,CACrB,mDAAmD,EACnD,GAAG,CAAC,UAAU,CACf,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -1,2 +1,2 @@
1
- import { throwException } from './error';
2
- export { throwException };
1
+ import { throwException } from './error';
2
+ export { throwException };
@@ -1,6 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.throwException = void 0;
4
- const error_1 = require("./error");
5
- Object.defineProperty(exports, "throwException", { enumerable: true, get: function () { return error_1.throwException; } });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.throwException = void 0;
4
+ const error_1 = require("./error");
5
+ Object.defineProperty(exports, "throwException", { enumerable: true, get: function () { return error_1.throwException; } });
6
6
  //# sourceMappingURL=index.js.map
package/dist/index.d.ts CHANGED
@@ -1,12 +1,12 @@
1
- import { MediasRepository } from './medias.repository';
2
- import { MediasModel } from './entities/medias.entity';
3
- import { Medias } from './medias';
4
- import { CommonModule } from './common/common.module';
5
- import { CommonService } from './common/common.service';
6
- import { ExternalMediaDto } from './dto/external-media.dto';
7
- import { InternalMediaDto } from './dto/internal-medias.dto';
8
- import { MediaType } from './enum';
9
- import { IBaseMediasAttr } from './interfaces/base.medias-attr.interface';
10
- import { IMediasRepository } from './interfaces/medias.repository.interface';
11
- import * as MediaDb from './database';
12
- export { MediasRepository, MediasModel, Medias, CommonModule, CommonService, ExternalMediaDto, InternalMediaDto, MediaType, IBaseMediasAttr, IMediasRepository, MediaDb, };
1
+ import { MediasRepository } from './medias.repository';
2
+ import { MediasModel } from './entities/medias.entity';
3
+ import { Medias } from './medias';
4
+ import { CommonModule } from './common/common.module';
5
+ import { CommonService } from './common/common.service';
6
+ import { ExternalMediaDto } from './dto/external-media.dto';
7
+ import { InternalMediaDto } from './dto/internal-medias.dto';
8
+ import { MediaType } from './enum';
9
+ import { IBaseMediasAttr } from './interfaces/base.medias-attr.interface';
10
+ import { IMediasRepository } from './interfaces/medias.repository.interface';
11
+ import * as MediaDb from './database';
12
+ export { MediasRepository, MediasModel, Medias, CommonModule, CommonService, ExternalMediaDto, InternalMediaDto, MediaType, IBaseMediasAttr, IMediasRepository, MediaDb, };
package/dist/index.js CHANGED
@@ -1,22 +1,22 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MediaDb = exports.MediaType = exports.InternalMediaDto = exports.ExternalMediaDto = exports.CommonService = exports.CommonModule = exports.Medias = exports.MediasModel = exports.MediasRepository = void 0;
4
- const medias_repository_1 = require("./medias.repository");
5
- Object.defineProperty(exports, "MediasRepository", { enumerable: true, get: function () { return medias_repository_1.MediasRepository; } });
6
- const medias_entity_1 = require("./entities/medias.entity");
7
- Object.defineProperty(exports, "MediasModel", { enumerable: true, get: function () { return medias_entity_1.MediasModel; } });
8
- const medias_1 = require("./medias");
9
- Object.defineProperty(exports, "Medias", { enumerable: true, get: function () { return medias_1.Medias; } });
10
- const common_module_1 = require("./common/common.module");
11
- Object.defineProperty(exports, "CommonModule", { enumerable: true, get: function () { return common_module_1.CommonModule; } });
12
- const common_service_1 = require("./common/common.service");
13
- Object.defineProperty(exports, "CommonService", { enumerable: true, get: function () { return common_service_1.CommonService; } });
14
- const external_media_dto_1 = require("./dto/external-media.dto");
15
- Object.defineProperty(exports, "ExternalMediaDto", { enumerable: true, get: function () { return external_media_dto_1.ExternalMediaDto; } });
16
- const internal_medias_dto_1 = require("./dto/internal-medias.dto");
17
- Object.defineProperty(exports, "InternalMediaDto", { enumerable: true, get: function () { return internal_medias_dto_1.InternalMediaDto; } });
18
- const enum_1 = require("./enum");
19
- Object.defineProperty(exports, "MediaType", { enumerable: true, get: function () { return enum_1.MediaType; } });
20
- const MediaDb = require("./database");
21
- exports.MediaDb = MediaDb;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MediaDb = exports.MediaType = exports.InternalMediaDto = exports.ExternalMediaDto = exports.CommonService = exports.CommonModule = exports.Medias = exports.MediasModel = exports.MediasRepository = void 0;
4
+ const medias_repository_1 = require("./medias.repository");
5
+ Object.defineProperty(exports, "MediasRepository", { enumerable: true, get: function () { return medias_repository_1.MediasRepository; } });
6
+ const medias_entity_1 = require("./entities/medias.entity");
7
+ Object.defineProperty(exports, "MediasModel", { enumerable: true, get: function () { return medias_entity_1.MediasModel; } });
8
+ const medias_1 = require("./medias");
9
+ Object.defineProperty(exports, "Medias", { enumerable: true, get: function () { return medias_1.Medias; } });
10
+ const common_module_1 = require("./common/common.module");
11
+ Object.defineProperty(exports, "CommonModule", { enumerable: true, get: function () { return common_module_1.CommonModule; } });
12
+ const common_service_1 = require("./common/common.service");
13
+ Object.defineProperty(exports, "CommonService", { enumerable: true, get: function () { return common_service_1.CommonService; } });
14
+ const external_media_dto_1 = require("./dto/external-media.dto");
15
+ Object.defineProperty(exports, "ExternalMediaDto", { enumerable: true, get: function () { return external_media_dto_1.ExternalMediaDto; } });
16
+ const internal_medias_dto_1 = require("./dto/internal-medias.dto");
17
+ Object.defineProperty(exports, "InternalMediaDto", { enumerable: true, get: function () { return internal_medias_dto_1.InternalMediaDto; } });
18
+ const enum_1 = require("./enum");
19
+ Object.defineProperty(exports, "MediaType", { enumerable: true, get: function () { return enum_1.MediaType; } });
20
+ const MediaDb = require("./database");
21
+ exports.MediaDb = MediaDb;
22
22
  //# sourceMappingURL=index.js.map
@@ -1,20 +1,20 @@
1
- import { MediaType } from '../enum/medias.enum';
2
- export interface IBaseMediasAttr {
3
- MediaId: string;
4
- ObjectId: string;
5
- ObjectType: string;
6
- Title: string;
7
- Description: string;
8
- Type: MediaType;
9
- IsExternalYN: string;
10
- ExternalSource: string;
11
- IsEncryptedYN: string;
12
- FileName: string;
13
- FileExtension: string;
14
- FilePath: string;
15
- URL: string;
16
- CreatedAt: Date;
17
- UpdatedAt: Date;
18
- CreatedById: string;
19
- UpdatedById: string;
20
- }
1
+ import { MediaType } from '../enum/medias.enum';
2
+ export interface IBaseMediasAttr {
3
+ MediaId: string;
4
+ ObjectId: string;
5
+ ObjectType: string;
6
+ Title: string;
7
+ Description: string;
8
+ Type: MediaType;
9
+ IsExternalYN: string;
10
+ ExternalSource: string;
11
+ IsEncryptedYN: string;
12
+ FileName: string;
13
+ FileExtension: string;
14
+ FilePath: string;
15
+ URL: string;
16
+ CreatedAt: Date;
17
+ UpdatedAt: Date;
18
+ CreatedById: string;
19
+ UpdatedById: string;
20
+ }
@@ -1,3 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  //# sourceMappingURL=base.medias-attr.interface.js.map
@@ -1,3 +1,3 @@
1
- import { IBaseRepository } from '../base/base.repository.interface';
2
- import { MediasModel } from '../entities/medias.entity';
3
- export type IMediasRepository = IBaseRepository<MediasModel>;
1
+ import { IBaseRepository } from '../base/base.repository.interface';
2
+ import { MediasModel } from '../entities/medias.entity';
3
+ export type IMediasRepository = IBaseRepository<MediasModel>;
@@ -1,3 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  //# sourceMappingURL=medias.repository.interface.js.map
package/dist/medias.d.ts CHANGED
@@ -1,67 +1,65 @@
1
- /// <reference types="node" />
2
- /// <reference types="multer" />
3
- import { BlobServiceClient } from '@azure/storage-blob';
4
- import { CommonService } from './common/common.service';
5
- import { BaseMedias } from './base/base.medias';
6
- import { MediasModel } from './entities/medias.entity';
7
- import { IBaseMediasAttr } from './interfaces/base.medias-attr.interface';
8
- import { InternalMediaDto } from './dto/internal-medias.dto';
9
- import { ExternalMediaDto } from './dto/external-media.dto';
10
- import { LoginUser } from '@tomei/sso';
11
- type MediaFile = {
12
- buffer: Buffer;
13
- iv?: Buffer;
14
- isEncrypted?: boolean;
15
- };
16
- export declare class Medias extends BaseMedias {
17
- ObjectName: string;
18
- TableName: string;
19
- ObjectId: string;
20
- ObjectType: string;
21
- blobServiceClient: BlobServiceClient;
22
- container: string;
23
- algorithm: string;
24
- commonService: CommonService;
25
- entity: "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function";
26
- private static _Repo;
27
- constructor(commonService?: CommonService, media?: IBaseMediasAttr);
28
- createMedias(isExternalMedias: boolean, loginUser: LoginUser, stream?: Express.Multer.File, dbTransaction?: any): Promise<MediasModel>;
29
- updateMedias(isExternalMedias: boolean, loginUser: LoginUser, stream?: Express.Multer.File, dbTransaction?: any): Promise<any>;
30
- private IsStorageTypeAzure;
31
- private updateInternalMedia;
32
- private createInternalMedias;
33
- private getIvPath;
34
- private uploadFileToLocal;
35
- private deleteUploadedFileFromLocal;
36
- private uploadFileToAzure;
37
- private deleteUploadedFileFromAzure;
38
- private uploadFileToAzureStorage;
39
- private deleteUploadedFileToAzureStorage;
40
- private setKey;
41
- findFile(): Promise<Buffer>;
42
- private stream2buffer;
43
- private getFileFromAzure;
44
- private getFileFromLocal;
45
- encrypt(fileBuffer: Buffer): Promise<MediaFile>;
46
- decrypt(file: MediaFile): Promise<MediaFile>;
47
- delete(loginUser: LoginUser, dbTransaction?: any): Promise<any>;
48
- postInternal(fileStream: Express.Multer.File, createMediaDto: InternalMediaDto, loginUser: LoginUser, dbTransaction?: any): Promise<MediasModel>;
49
- postExternal(createMediaDto: ExternalMediaDto, loginUser: LoginUser): Promise<IBaseMediasAttr>;
50
- getAll(rows: number, page: number, search: string): Promise<{
51
- count: number;
52
- rows: MediasModel[];
53
- }>;
54
- getOne(id: string, dbTransaction?: any): Promise<MediasModel>;
55
- getFile(id: string, dbTransaction?: any): Promise<{
56
- fileBuffer: Buffer;
57
- resOption: {
58
- 'Content-Type': string;
59
- 'Content-Disposition': string;
60
- 'Content-Length': number;
61
- };
62
- }>;
63
- remove(id: string, loginUser: LoginUser, dbTransaction?: any): Promise<any>;
64
- putExternal(id: string, updatedMediaDto: ExternalMediaDto, userId: string, dbTransaction?: any): Promise<any>;
65
- putInternal(fileStream: Express.Multer.File, id: string, updatedMediaDto: InternalMediaDto, loginUser: LoginUser, dbTransaction?: any): Promise<any>;
66
- }
67
- export {};
1
+ import { BlobServiceClient } from '@azure/storage-blob';
2
+ import { CommonService } from './common/common.service';
3
+ import { BaseMedias } from './base/base.medias';
4
+ import { MediasModel } from './entities/medias.entity';
5
+ import { IBaseMediasAttr } from './interfaces/base.medias-attr.interface';
6
+ import { InternalMediaDto } from './dto/internal-medias.dto';
7
+ import { ExternalMediaDto } from './dto/external-media.dto';
8
+ import { LoginUser } from '@tomei/sso';
9
+ type MediaFile = {
10
+ buffer: Buffer;
11
+ iv?: Buffer;
12
+ isEncrypted?: boolean;
13
+ };
14
+ export declare class Medias extends BaseMedias {
15
+ ObjectName: string;
16
+ TableName: string;
17
+ ObjectId: string;
18
+ ObjectType: string;
19
+ blobServiceClient: BlobServiceClient;
20
+ container: string;
21
+ algorithm: string;
22
+ commonService: CommonService;
23
+ entity: "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function";
24
+ private static _Repo;
25
+ constructor(commonService?: CommonService, media?: IBaseMediasAttr);
26
+ createMedias(isExternalMedias: boolean, loginUser: LoginUser, stream?: Express.Multer.File, dbTransaction?: any): Promise<MediasModel>;
27
+ updateMedias(isExternalMedias: boolean, loginUser: LoginUser, stream?: Express.Multer.File, dbTransaction?: any): Promise<any>;
28
+ private IsStorageTypeAzure;
29
+ private updateInternalMedia;
30
+ private createInternalMedias;
31
+ private getIvPath;
32
+ private uploadFileToLocal;
33
+ private deleteUploadedFileFromLocal;
34
+ private uploadFileToAzure;
35
+ private deleteUploadedFileFromAzure;
36
+ private uploadFileToAzureStorage;
37
+ private deleteUploadedFileToAzureStorage;
38
+ private setKey;
39
+ findFile(): Promise<Buffer>;
40
+ private stream2buffer;
41
+ private getFileFromAzure;
42
+ private getFileFromLocal;
43
+ encrypt(fileBuffer: Buffer): Promise<MediaFile>;
44
+ decrypt(file: MediaFile): Promise<MediaFile>;
45
+ delete(loginUser: LoginUser, dbTransaction?: any): Promise<any>;
46
+ postInternal(fileStream: Express.Multer.File, createMediaDto: InternalMediaDto, loginUser: LoginUser, dbTransaction?: any): Promise<MediasModel>;
47
+ postExternal(createMediaDto: ExternalMediaDto, loginUser: LoginUser): Promise<IBaseMediasAttr>;
48
+ getAll(rows: number, page: number, search: string): Promise<{
49
+ count: number;
50
+ rows: MediasModel[];
51
+ }>;
52
+ getOne(id: string, dbTransaction?: any): Promise<MediasModel>;
53
+ getFile(id: string, dbTransaction?: any): Promise<{
54
+ fileBuffer: Buffer;
55
+ resOption: {
56
+ 'Content-Type': string;
57
+ 'Content-Disposition': string;
58
+ 'Content-Length': number;
59
+ };
60
+ }>;
61
+ remove(id: string, loginUser: LoginUser, dbTransaction?: any): Promise<any>;
62
+ putExternal(id: string, updatedMediaDto: ExternalMediaDto, userId: string, dbTransaction?: any): Promise<any>;
63
+ putInternal(fileStream: Express.Multer.File, id: string, updatedMediaDto: InternalMediaDto, loginUser: LoginUser, dbTransaction?: any): Promise<any>;
64
+ }
65
+ export {};