@tomei/media 0.8.9 → 0.8.10

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 (119) hide show
  1. package/.commitlintrc.json +22 -22
  2. package/.gitlab-ci.yml +16 -16
  3. package/.husky/commit-msg +15 -15
  4. package/.husky/pre-commit +7 -7
  5. package/.prettierrc +4 -4
  6. package/README.md +93 -93
  7. package/dist/base/base.medias.d.ts +38 -0
  8. package/dist/base/base.medias.js +175 -0
  9. package/dist/base/base.medias.js.map +1 -0
  10. package/dist/base/base.repository.abstract.d.ts +12 -0
  11. package/dist/base/base.repository.abstract.js +22 -0
  12. package/dist/base/base.repository.abstract.js.map +1 -0
  13. package/dist/base/base.repository.interface.d.ts +9 -0
  14. package/dist/base/base.repository.interface.js +3 -0
  15. package/dist/base/base.repository.interface.js.map +1 -0
  16. package/dist/common/common.module.d.ts +2 -0
  17. package/dist/common/common.module.js +23 -0
  18. package/dist/common/common.module.js.map +1 -0
  19. package/dist/common/common.service.d.ts +13 -0
  20. package/dist/common/common.service.js +106 -0
  21. package/dist/common/common.service.js.map +1 -0
  22. package/dist/common/dto/add-field-translation.dto.d.ts +7 -0
  23. package/dist/common/dto/add-field-translation.dto.js +42 -0
  24. package/dist/common/dto/add-field-translation.dto.js.map +1 -0
  25. package/dist/common/dto/get-media.dto.d.ts +5 -0
  26. package/dist/common/dto/get-media.dto.js +29 -0
  27. package/dist/common/dto/get-media.dto.js.map +1 -0
  28. package/dist/database.d.ts +4 -0
  29. package/dist/database.js +16 -0
  30. package/dist/database.js.map +1 -0
  31. package/dist/dto/external-media.dto.d.ts +10 -0
  32. package/dist/dto/external-media.dto.js +70 -0
  33. package/dist/dto/external-media.dto.js.map +1 -0
  34. package/dist/dto/internal-medias.dto.d.ts +12 -0
  35. package/dist/dto/internal-medias.dto.js +87 -0
  36. package/dist/dto/internal-medias.dto.js.map +1 -0
  37. package/dist/entities/medias.entity.d.ts +23 -0
  38. package/dist/entities/medias.entity.js +160 -0
  39. package/dist/entities/medias.entity.js.map +1 -0
  40. package/dist/enum/index.d.ts +2 -0
  41. package/dist/enum/index.js +6 -0
  42. package/dist/enum/index.js.map +1 -0
  43. package/dist/enum/medias.enum.d.ts +5 -0
  44. package/dist/enum/medias.enum.js +10 -0
  45. package/dist/enum/medias.enum.js.map +1 -0
  46. package/dist/helpers/error.d.ts +1 -0
  47. package/dist/helpers/error.js +13 -0
  48. package/dist/helpers/error.js.map +1 -0
  49. package/dist/helpers/index.d.ts +2 -0
  50. package/dist/helpers/index.js +6 -0
  51. package/dist/helpers/index.js.map +1 -0
  52. package/dist/index.d.ts +12 -0
  53. package/dist/index.js +22 -0
  54. package/dist/index.js.map +1 -0
  55. package/dist/interfaces/base.medias-attr.interface.d.ts +20 -0
  56. package/dist/interfaces/base.medias-attr.interface.js +3 -0
  57. package/dist/interfaces/base.medias-attr.interface.js.map +1 -0
  58. package/dist/interfaces/medias.repository.interface.d.ts +3 -0
  59. package/dist/interfaces/medias.repository.interface.js +3 -0
  60. package/dist/interfaces/medias.repository.interface.js.map +1 -0
  61. package/dist/medias.d.ts +65 -0
  62. package/dist/medias.js +564 -0
  63. package/dist/medias.js.map +1 -0
  64. package/dist/medias.repository.d.ts +8 -0
  65. package/dist/medias.repository.js +56 -0
  66. package/dist/medias.repository.js.map +1 -0
  67. package/dist/pipe/append-id.pipe.d.ts +6 -0
  68. package/dist/pipe/append-id.pipe.js +28 -0
  69. package/dist/pipe/append-id.pipe.js.map +1 -0
  70. package/dist/pipe/validate-enum.pipe.d.ts +6 -0
  71. package/dist/pipe/validate-enum.pipe.js +34 -0
  72. package/dist/pipe/validate-enum.pipe.js.map +1 -0
  73. package/dist/pipe/validate-id.pipe.d.ts +6 -0
  74. package/dist/pipe/validate-id.pipe.js +31 -0
  75. package/dist/pipe/validate-id.pipe.js.map +1 -0
  76. package/dist/pipe/validate-search.pipe.d.ts +7 -0
  77. package/dist/pipe/validate-search.pipe.js +46 -0
  78. package/dist/pipe/validate-search.pipe.js.map +1 -0
  79. package/dist/responses/deleted.response.d.ts +3 -0
  80. package/dist/responses/deleted.response.js +21 -0
  81. package/dist/responses/deleted.response.js.map +1 -0
  82. package/dist/responses/pagination.response.d.ts +5 -0
  83. package/dist/responses/pagination.response.js +26 -0
  84. package/dist/responses/pagination.response.js.map +1 -0
  85. package/dist/tsconfig.tsbuildinfo +1 -0
  86. package/eslint.config.mjs +58 -58
  87. package/migration/0001-add-defaultyn-hiddenyn-to-media-table.js +36 -36
  88. package/migration/media-migration.js +82 -82
  89. package/nest-cli.json +18 -18
  90. package/package.json +79 -79
  91. package/sonar-project.properties +12 -12
  92. package/src/base/base.medias.ts +210 -210
  93. package/src/base/base.repository.abstract.ts +28 -28
  94. package/src/base/base.repository.interface.ts +9 -9
  95. package/src/common/common.module.ts +10 -10
  96. package/src/common/common.service.ts +107 -107
  97. package/src/common/dto/add-field-translation.dto.ts +23 -23
  98. package/src/common/dto/get-media.dto.ts +12 -12
  99. package/src/database.ts +16 -16
  100. package/src/dto/external-media.dto.ts +49 -49
  101. package/src/dto/internal-medias.dto.ts +64 -64
  102. package/src/entities/medias.entity.ts +125 -125
  103. package/src/enum/index.ts +3 -3
  104. package/src/enum/medias.enum.ts +5 -5
  105. package/src/helpers/error.ts +12 -12
  106. package/src/helpers/index.ts +3 -3
  107. package/src/index.ts +24 -24
  108. package/src/interfaces/base.medias-attr.interface.ts +21 -21
  109. package/src/interfaces/medias.repository.interface.ts +4 -4
  110. package/src/medias.repository.ts +55 -55
  111. package/src/medias.ts +769 -769
  112. package/src/pipe/append-id.pipe.ts +15 -15
  113. package/src/pipe/validate-enum.pipe.ts +31 -31
  114. package/src/pipe/validate-id.pipe.ts +18 -18
  115. package/src/pipe/validate-search.pipe.ts +44 -44
  116. package/src/responses/deleted.response.ts +6 -6
  117. package/src/responses/pagination.response.ts +10 -10
  118. package/tsconfig.build.json +4 -4
  119. package/tsconfig.json +30 -30
@@ -0,0 +1,5 @@
1
+ export declare enum MediaType {
2
+ Photo = "Photo",
3
+ Video = "Video",
4
+ Document = "Document"
5
+ }
@@ -0,0 +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 = MediaType = {}));
10
+ //# sourceMappingURL=medias.enum.js.map
@@ -0,0 +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,yBAAT,SAAS,QAIpB"}
@@ -0,0 +1 @@
1
+ export declare function throwException(err: any): void;
@@ -0,0 +1,13 @@
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
+ }
13
+ //# sourceMappingURL=error.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,2 @@
1
+ import { throwException } from './error';
2
+ export { throwException };
@@ -0,0 +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; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":";;;AAAA,mCAAyC;AAEhC,+FAFA,sBAAc,OAEA"}
@@ -0,0 +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, };
package/dist/index.js ADDED
@@ -0,0 +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;
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,2DAAuD;AAYrD,iGAZO,oCAAgB,OAYP;AAXlB,4DAAuD;AAYrD,4FAZO,2BAAW,OAYP;AAXb,qCAAkC;AAYhC,uFAZO,eAAM,OAYP;AAXR,0DAAsD;AAYpD,6FAZO,4BAAY,OAYP;AAXd,4DAAwD;AAYtD,8FAZO,8BAAa,OAYP;AAXf,iEAA4D;AAY1D,iGAZO,qCAAgB,OAYP;AAXlB,mEAA6D;AAY3D,iGAZO,sCAAgB,OAYP;AAXlB,iCAAmC;AAYjC,0FAZO,gBAAS,OAYP;AATX,sCAAsC;AAYpC,0BAAO"}
@@ -0,0 +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
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=base.medias-attr.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.medias-attr.interface.js","sourceRoot":"","sources":["../../src/interfaces/base.medias-attr.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import { IBaseRepository } from '../base/base.repository.interface';
2
+ import { MediasModel } from '../entities/medias.entity';
3
+ export type IMediasRepository = IBaseRepository<MediasModel>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=medias.repository.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"medias.repository.interface.js","sourceRoot":"","sources":["../../src/interfaces/medias.repository.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,65 @@
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<ArrayBufferLike>;
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 {};