@tomei/media 0.8.11-dev.1 → 0.10.1-test.1

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 (41) hide show
  1. package/.gitlab-ci.yml +231 -13
  2. package/.husky/commit-msg +1 -1
  3. package/.husky/pre-commit +0 -0
  4. package/.vscode/settings.json +3 -0
  5. package/dist/__tests__/common.service.spec.d.ts +1 -0
  6. package/dist/__tests__/common.service.spec.js +160 -0
  7. package/dist/__tests__/common.service.spec.js.map +1 -0
  8. package/dist/__tests__/medias.repository.spec.d.ts +1 -0
  9. package/dist/__tests__/medias.repository.spec.js +140 -0
  10. package/dist/__tests__/medias.repository.spec.js.map +1 -0
  11. package/dist/__tests__/medias.spec.d.ts +1 -0
  12. package/dist/__tests__/medias.spec.js +347 -0
  13. package/dist/__tests__/medias.spec.js.map +1 -0
  14. package/dist/__tests__/pipes.spec.d.ts +1 -0
  15. package/dist/__tests__/pipes.spec.js +130 -0
  16. package/dist/__tests__/pipes.spec.js.map +1 -0
  17. package/dist/base/base.medias.js +2 -2
  18. package/dist/base/base.medias.js.map +1 -1
  19. package/dist/common/common.service.js +2 -2
  20. package/dist/common/common.service.js.map +1 -1
  21. package/dist/medias.d.ts +2 -2
  22. package/dist/medias.js +16 -10
  23. package/dist/medias.js.map +1 -1
  24. package/dist/medias.repository.js.map +1 -1
  25. package/dist/pipe/append-id.pipe.js +2 -2
  26. package/dist/pipe/append-id.pipe.js.map +1 -1
  27. package/dist/pipe/validate-id.pipe.js +2 -2
  28. package/dist/pipe/validate-id.pipe.js.map +1 -1
  29. package/dist/tsconfig.tsbuildinfo +1 -1
  30. package/jest.config.js +26 -0
  31. package/package.json +38 -34
  32. package/src/__tests__/common.service.spec.ts +203 -0
  33. package/src/__tests__/medias.repository.spec.ts +158 -0
  34. package/src/__tests__/medias.spec.ts +468 -0
  35. package/src/__tests__/pipes.spec.ts +154 -0
  36. package/src/base/base.medias.ts +2 -2
  37. package/src/common/common.service.ts +2 -2
  38. package/src/medias.repository.ts +9 -3
  39. package/src/medias.ts +20 -15
  40. package/src/pipe/append-id.pipe.ts +2 -2
  41. package/src/pipe/validate-id.pipe.ts +2 -2
@@ -0,0 +1,347 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ process.env.MEDIA_STORAGE_TYPE = 'local';
4
+ process.env.MEDIA_LOCAL_STORAGE_PATH = '/tmp/media-test';
5
+ process.env.MEDIA_ENCRYPT_KEY = '12345678901234567890123456789012';
6
+ jest.mock('@tomei/general', () => ({
7
+ ObjectBase: class ObjectBase {
8
+ },
9
+ }));
10
+ jest.mock('@nestjs/swagger', () => ({
11
+ ApiProperty: () => () => { },
12
+ ApiPropertyOptional: () => () => { },
13
+ }));
14
+ jest.mock('sequelize-typescript', () => {
15
+ var _a;
16
+ return ({
17
+ Table: () => () => { },
18
+ Column: () => () => { },
19
+ Model: (_a = class Model {
20
+ constructor() {
21
+ this.get = jest.fn();
22
+ this.update = jest.fn();
23
+ this.destroy = jest.fn();
24
+ }
25
+ },
26
+ _a.findByPk = jest.fn(),
27
+ _a.findOne = jest.fn(),
28
+ _a.findAll = jest.fn(),
29
+ _a.findAndCountAll = jest.fn(),
30
+ _a.create = jest.fn(),
31
+ _a),
32
+ DataType: {
33
+ STRING: 'STRING',
34
+ TEXT: 'TEXT',
35
+ DATE: 'DATE',
36
+ BOOLEAN: 'BOOLEAN',
37
+ ENUM: () => 'ENUM',
38
+ },
39
+ PrimaryKey: () => () => { },
40
+ ForeignKey: () => () => { },
41
+ BelongsTo: () => () => { },
42
+ HasMany: () => () => { },
43
+ CreatedAt: () => () => { },
44
+ UpdatedAt: () => () => { },
45
+ Default: () => () => { },
46
+ AllowNull: () => () => { },
47
+ });
48
+ });
49
+ jest.mock('@nestjs/common', () => ({
50
+ BadRequestException: class BadRequestException extends Error {
51
+ constructor(msg) {
52
+ super(msg);
53
+ this.name = 'BadRequestException';
54
+ }
55
+ },
56
+ NotFoundException: class NotFoundException extends Error {
57
+ constructor(msg) {
58
+ super(msg);
59
+ this.name = 'NotFoundException';
60
+ }
61
+ },
62
+ Injectable: () => (t) => t,
63
+ }));
64
+ jest.mock('@tomei/activity-history', () => ({
65
+ Activity: jest.fn().mockImplementation(() => ({
66
+ create: jest.fn().mockResolvedValue(undefined),
67
+ createId: jest.fn().mockReturnValue('activity-id'),
68
+ ActivityId: '',
69
+ Action: '',
70
+ Description: '',
71
+ EntityType: '',
72
+ EntityId: '',
73
+ EntityValueBefore: '',
74
+ EntityValueAfter: '',
75
+ })),
76
+ ActionEnum: { CREATE: 'Create', UPDATE: 'Update', DELETE: 'Delete' },
77
+ }));
78
+ jest.mock('@tomei/sso', () => ({
79
+ LoginUser: jest.fn(),
80
+ }));
81
+ jest.mock('@paralleldrive/cuid2', () => ({
82
+ createId: jest.fn().mockReturnValue('test-media-id'),
83
+ }));
84
+ const mockRepoMethods = {
85
+ create: jest.fn(),
86
+ findOne: jest.fn(),
87
+ findAll: jest.fn(),
88
+ findAndCountAll: jest.fn(),
89
+ };
90
+ jest.mock('../medias.repository', () => ({
91
+ MediasRepository: jest.fn().mockImplementation(() => mockRepoMethods),
92
+ }));
93
+ const mockUploadData = jest.fn().mockResolvedValue({});
94
+ const mockDeleteIfExists = jest.fn().mockResolvedValue({});
95
+ const mockDownload = jest.fn();
96
+ const mockGetBlockBlobClient = jest.fn().mockReturnValue({
97
+ uploadData: mockUploadData,
98
+ download: mockDownload,
99
+ deleteIfExists: mockDeleteIfExists,
100
+ });
101
+ const mockGetContainerClient = jest.fn().mockReturnValue({
102
+ getBlockBlobClient: mockGetBlockBlobClient,
103
+ });
104
+ jest.mock('@azure/storage-blob', () => ({
105
+ BlobServiceClient: {
106
+ fromConnectionString: jest.fn().mockReturnValue({
107
+ getContainerClient: mockGetContainerClient,
108
+ }),
109
+ },
110
+ }));
111
+ jest.mock('sequelize', () => ({
112
+ Op: { substring: Symbol('Op.substring') },
113
+ }));
114
+ jest.mock('fs');
115
+ const fs = require("fs");
116
+ const medias_1 = require("../medias");
117
+ const medias_enum_1 = require("../enum/medias.enum");
118
+ const stream_1 = require("stream");
119
+ const mockedFs = fs;
120
+ const makeLoginUser = () => ({ ObjectId: 'user-001' });
121
+ const makeMediaAttr = (overrides = {}) => (Object.assign({ MediaId: 'media-001', ObjectId: 'obj-001', ObjectType: 'Rental', Title: 'Test File', Description: 'A test file', Type: medias_enum_1.MediaType.Photo, IsExternalYN: 'N', ExternalSource: '', IsEncryptedYN: 'N', FileName: 'testfile', FileExtension: 'jpg', FilePath: '/tmp/media-test/Rental/obj-001/testfile.jpg', URL: '/tmp/media-test/Rental/obj-001', CreatedById: 'user-001', CreatedAt: new Date('2026-01-01'), UpdatedById: 'user-001', UpdatedAt: new Date('2026-01-01') }, overrides));
122
+ const makeMockModel = (attr = makeMediaAttr()) => (Object.assign({ get: jest.fn().mockReturnValue(attr), update: jest.fn().mockResolvedValue({ get: jest.fn().mockReturnValue(attr) }), destroy: jest.fn().mockResolvedValue(undefined), CollectionId: 1 }, attr));
123
+ describe('Medias', () => {
124
+ beforeEach(() => {
125
+ jest.clearAllMocks();
126
+ mockRepoMethods.create.mockResolvedValue(makeMockModel());
127
+ mockRepoMethods.findOne.mockResolvedValue(makeMockModel());
128
+ mockRepoMethods.findAll.mockResolvedValue([makeMockModel()]);
129
+ mockRepoMethods.findAndCountAll.mockResolvedValue({
130
+ count: 1,
131
+ rows: [makeMockModel()],
132
+ });
133
+ });
134
+ describe('constructor', () => {
135
+ it('creates an instance without media attributes', () => {
136
+ const medias = new medias_1.Medias();
137
+ expect(medias).toBeInstanceOf(medias_1.Medias);
138
+ });
139
+ it('creates an instance with media attributes', () => {
140
+ const medias = new medias_1.Medias(undefined, makeMediaAttr());
141
+ expect(medias.Title).toBe('Test File');
142
+ expect(medias.ObjectType).toBe('Media');
143
+ });
144
+ it('throws when storage type is azure but container is missing', () => {
145
+ process.env.MEDIA_STORAGE_TYPE = 'azure';
146
+ delete process.env.MEDIA_AZUREBLOB_CONTAINER_NAME;
147
+ expect(() => new medias_1.Medias()).toThrow();
148
+ process.env.MEDIA_STORAGE_TYPE = 'local';
149
+ });
150
+ });
151
+ describe('createSaveLocation', () => {
152
+ it('returns local path when MEDIA_STORAGE_TYPE is local', () => {
153
+ const medias = new medias_1.Medias(undefined, makeMediaAttr());
154
+ const location = medias.createSaveLocation();
155
+ expect(location).toBe('/tmp/media-test/Media/obj-001');
156
+ });
157
+ it('throws when no storage path env var is set', () => {
158
+ const saved = process.env.MEDIA_LOCAL_STORAGE_PATH;
159
+ delete process.env.MEDIA_LOCAL_STORAGE_PATH;
160
+ const medias = new medias_1.Medias();
161
+ medias.ObjectType = 'Test';
162
+ medias.ObjectId = 'id';
163
+ expect(() => medias.createSaveLocation()).toThrow();
164
+ process.env.MEDIA_LOCAL_STORAGE_PATH = saved;
165
+ });
166
+ });
167
+ describe('encrypt', () => {
168
+ it('returns an encrypted buffer with iv', async () => {
169
+ const medias = new medias_1.Medias();
170
+ const plaintext = Buffer.from('hello world');
171
+ const result = await medias.encrypt(plaintext);
172
+ expect(result.isEncrypted).toBe(true);
173
+ expect(result.buffer).not.toEqual(plaintext);
174
+ expect(result.iv).toHaveLength(16);
175
+ });
176
+ it('throws when MEDIA_ENCRYPT_KEY is not set', async () => {
177
+ const saved = process.env.MEDIA_ENCRYPT_KEY;
178
+ delete process.env.MEDIA_ENCRYPT_KEY;
179
+ const medias = new medias_1.Medias();
180
+ await expect(medias.encrypt(Buffer.from('test'))).rejects.toThrow();
181
+ process.env.MEDIA_ENCRYPT_KEY = saved;
182
+ });
183
+ });
184
+ describe('decrypt', () => {
185
+ it('round-trips correctly with encrypt', async () => {
186
+ const medias = new medias_1.Medias();
187
+ const plaintext = Buffer.from('secret message');
188
+ const encrypted = await medias.encrypt(plaintext);
189
+ const decrypted = await medias.decrypt(encrypted);
190
+ expect(decrypted.buffer.toString()).toBe('secret message');
191
+ expect(decrypted.isEncrypted).toBe(false);
192
+ });
193
+ });
194
+ describe('getAll', () => {
195
+ it('returns paginated results', async () => {
196
+ const medias = new medias_1.Medias();
197
+ const result = await medias.getAll(10, 1, '');
198
+ expect(result).toEqual({ count: 1, rows: expect.any(Array) });
199
+ expect(mockRepoMethods.findAndCountAll).toHaveBeenCalled();
200
+ });
201
+ it('applies search filter when search string is provided', async () => {
202
+ const medias = new medias_1.Medias();
203
+ await medias.getAll(10, 1, '{"Title":"test"}');
204
+ expect(mockRepoMethods.findAndCountAll).toHaveBeenCalledWith(expect.objectContaining({ where: expect.any(Object) }));
205
+ });
206
+ it('throws BadRequestException for invalid search JSON', async () => {
207
+ const medias = new medias_1.Medias();
208
+ await expect(medias.getAll(10, 1, '{bad json')).rejects.toThrow();
209
+ });
210
+ });
211
+ describe('getOne', () => {
212
+ it('returns the media model when found', async () => {
213
+ const medias = new medias_1.Medias();
214
+ const result = await medias.getOne('media-001');
215
+ expect(result).toBeDefined();
216
+ });
217
+ it('throws NotFoundException when not found', async () => {
218
+ mockRepoMethods.findOne.mockResolvedValue(null);
219
+ const medias = new medias_1.Medias();
220
+ await expect(medias.getOne('missing-id')).rejects.toThrow();
221
+ });
222
+ });
223
+ describe('getFile', () => {
224
+ it('returns file buffer and response options for a local unencrypted file', async () => {
225
+ const fileContent = Buffer.from('file-data');
226
+ const stream = stream_1.Readable.from([fileContent]);
227
+ mockedFs.createReadStream = jest.fn().mockReturnValue(stream);
228
+ const medias = new medias_1.Medias();
229
+ const result = await medias.getFile('media-001');
230
+ expect(result).toHaveProperty('fileBuffer');
231
+ expect(result).toHaveProperty('resOption');
232
+ expect(result.resOption['Content-Type']).toBe('application/octet-stream');
233
+ });
234
+ it('throws NotFoundException when media record is not found', async () => {
235
+ mockRepoMethods.findOne.mockResolvedValue(null);
236
+ const medias = new medias_1.Medias();
237
+ await expect(medias.getFile('missing-id')).rejects.toThrow();
238
+ });
239
+ });
240
+ describe('postExternal', () => {
241
+ it('creates an external media record', async () => {
242
+ const loginUser = makeLoginUser();
243
+ const dto = {
244
+ ObjectId: 'obj-001',
245
+ ObjectType: 'Rental',
246
+ Title: 'External Image',
247
+ Description: 'Hosted externally',
248
+ Type: medias_enum_1.MediaType.Photo,
249
+ IsEncryptedYN: 'N',
250
+ ExternalSource: 'http://example.com/img.jpg',
251
+ URL: 'http://example.com/img.jpg',
252
+ };
253
+ const medias = new medias_1.Medias();
254
+ const result = await medias.postExternal(dto, loginUser);
255
+ expect(result.IsExternalYN).toBe('Y');
256
+ expect(result.MediaId).toBeDefined();
257
+ });
258
+ });
259
+ describe('postInternal', () => {
260
+ it('creates an internal media record for local storage', async () => {
261
+ const loginUser = makeLoginUser();
262
+ const fileStream = { buffer: Buffer.from('file-bytes') };
263
+ const dto = {
264
+ ObjectId: 'obj-001',
265
+ ObjectType: 'Rental',
266
+ Title: 'Internal File',
267
+ Description: 'Stored locally',
268
+ Type: medias_enum_1.MediaType.Document,
269
+ IsEncryptedYN: 'N',
270
+ FileName: 'report',
271
+ FileExtension: 'pdf',
272
+ };
273
+ mockedFs.exists = jest.fn((_p, cb) => cb(null, true));
274
+ mockedFs.writeFile = jest.fn((_p, _d, cb) => cb(null));
275
+ const medias = new medias_1.Medias();
276
+ const result = await medias.postInternal(fileStream, dto, loginUser);
277
+ expect(result).toBeDefined();
278
+ expect(mockRepoMethods.create).toHaveBeenCalled();
279
+ });
280
+ });
281
+ describe('remove', () => {
282
+ it('deletes the media and returns success message', async () => {
283
+ mockedFs.existsSync = jest.fn().mockReturnValue(false);
284
+ const medias = new medias_1.Medias();
285
+ const loginUser = makeLoginUser();
286
+ const result = await medias.remove('media-001', loginUser);
287
+ expect(result).toEqual({ message: 'Media has been deleted.' });
288
+ });
289
+ it('throws NotFoundException when media is not found', async () => {
290
+ mockRepoMethods.findOne.mockResolvedValue(null);
291
+ const medias = new medias_1.Medias();
292
+ await expect(medias.remove('bad-id', makeLoginUser())).rejects.toThrow();
293
+ });
294
+ });
295
+ describe('putExternal', () => {
296
+ it('updates an external media record', async () => {
297
+ const nullUpdateModel = Object.assign(Object.assign({}, makeMockModel()), { update: jest.fn().mockResolvedValue(null) });
298
+ mockRepoMethods.findOne.mockResolvedValue(nullUpdateModel);
299
+ const medias = new medias_1.Medias();
300
+ const result = await medias.putExternal('media-001', { Title: 'Updated Title' }, 'user-001');
301
+ expect(result).toBeNull();
302
+ });
303
+ it('throws NotFoundException when not found', async () => {
304
+ mockRepoMethods.findOne.mockResolvedValue(null);
305
+ const medias = new medias_1.Medias();
306
+ await expect(medias.putExternal('bad-id', {}, 'user-001')).rejects.toThrow();
307
+ });
308
+ });
309
+ describe('putInternal', () => {
310
+ it('updates an internal media record for local storage', async () => {
311
+ const loginUser = makeLoginUser();
312
+ const fileStream = { buffer: Buffer.from('updated-bytes') };
313
+ mockedFs.exists = jest.fn((_p, cb) => cb(null, true));
314
+ mockedFs.unlinkSync = jest.fn();
315
+ mockedFs.writeFile = jest.fn((_p, _d, cb) => cb(null));
316
+ const medias = new medias_1.Medias();
317
+ const result = await medias.putInternal(fileStream, 'media-001', { FileName: 'newfile', FileExtension: 'pdf' }, loginUser);
318
+ expect(result).toBeDefined();
319
+ });
320
+ it('throws NotFoundException when not found', async () => {
321
+ mockRepoMethods.findOne.mockResolvedValue(null);
322
+ const medias = new medias_1.Medias();
323
+ await expect(medias.putInternal({}, 'bad-id', {}, makeLoginUser())).rejects.toThrow();
324
+ });
325
+ });
326
+ describe('findFile via Azure storage', () => {
327
+ beforeEach(() => {
328
+ process.env.MEDIA_STORAGE_TYPE = 'azure';
329
+ process.env.MEDIA_AZUREBLOB_CONTAINER_NAME = 'test-container';
330
+ });
331
+ afterEach(() => {
332
+ process.env.MEDIA_STORAGE_TYPE = 'local';
333
+ delete process.env.MEDIA_AZUREBLOB_CONTAINER_NAME;
334
+ });
335
+ it('downloads a file from Azure blob storage', async () => {
336
+ const fileBuffer = Buffer.from('azure-file-content');
337
+ const readable = stream_1.Readable.from([fileBuffer]);
338
+ mockDownload.mockResolvedValue({ readableStreamBody: readable });
339
+ const medias = new medias_1.Medias(undefined, makeMediaAttr({ URL: '/azure/Rental/obj-001' }));
340
+ medias.IsEncryptedYN = 'N';
341
+ const result = await medias.findFile();
342
+ expect(result).toBeInstanceOf(Buffer);
343
+ expect(mockGetContainerClient).toHaveBeenCalled();
344
+ });
345
+ });
346
+ });
347
+ //# sourceMappingURL=medias.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"medias.spec.js","sourceRoot":"","sources":["../../src/__tests__/medias.spec.ts"],"names":[],"mappings":";;AACA,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,OAAO,CAAC;AACzC,OAAO,CAAC,GAAG,CAAC,wBAAwB,GAAG,iBAAiB,CAAC;AACzD,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,kCAAkC,CAAC;AAEnE,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC;IACjC,UAAU,EAAE,MAAM,UAAU;KAAG;CAChC,CAAC,CAAC,CAAC;AAEJ,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC;IAClC,WAAW,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC;IAC3B,mBAAmB,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC;CACpC,CAAC,CAAC,CAAC;AAEJ,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,GAAG,EAAE;;IAAC,OAAA,CAAC;QACvC,KAAK,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC;QACrB,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC;QACtB,KAAK,QAAE,MAAM,KAAK;gBAAX;oBAML,QAAG,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;oBAChB,WAAM,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;oBACnB,YAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;gBACtB,CAAC;aAAA;YARQ,WAAQ,GAAG,IAAI,CAAC,EAAE,EAAG;YACrB,UAAO,GAAG,IAAI,CAAC,EAAE,EAAG;YACpB,UAAO,GAAG,IAAI,CAAC,EAAE,EAAG;YACpB,kBAAe,GAAG,IAAI,CAAC,EAAE,EAAG;YAC5B,SAAM,GAAG,IAAI,CAAC,EAAE,EAAG;eAI3B;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM;SACnB;QACD,UAAU,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC;QAC1B,UAAU,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC;QAC1B,SAAS,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC;QACzB,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC;QACvB,SAAS,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC;QACzB,SAAS,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC;QACzB,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC;QACvB,SAAS,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC;KAC1B,CAAC,CAAA;CAAA,CAAC,CAAC;AAEJ,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC;IACjC,mBAAmB,EAAE,MAAM,mBAAoB,SAAQ,KAAK;QAC1D,YAAY,GAAW;YACrB,KAAK,CAAC,GAAG,CAAC,CAAC;YACX,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;QACpC,CAAC;KACF;IACD,iBAAiB,EAAE,MAAM,iBAAkB,SAAQ,KAAK;QACtD,YAAY,GAAW;YACrB,KAAK,CAAC,GAAG,CAAC,CAAC;YACX,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;QAClC,CAAC;KACF;IACD,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;CAChC,CAAC,CAAC,CAAC;AAEJ,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1C,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC;QAC5C,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;QAC9C,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC;QAClD,UAAU,EAAE,EAAE;QACd,MAAM,EAAE,EAAE;QACV,WAAW,EAAE,EAAE;QACf,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE,EAAE;QACZ,iBAAiB,EAAE,EAAE;QACrB,gBAAgB,EAAE,EAAE;KACrB,CAAC,CAAC;IACH,UAAU,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE;CACrE,CAAC,CAAC,CAAC;AAEJ,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7B,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE;CACrB,CAAC,CAAC,CAAC;AAEJ,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,GAAG,EAAE,CAAC,CAAC;IACvC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,eAAe,CAAC;CACrD,CAAC,CAAC,CAAC;AAGJ,MAAM,eAAe,GAAG;IACtB,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE;IACjB,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;IAClB,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;IAClB,eAAe,EAAE,IAAI,CAAC,EAAE,EAAE;CAC3B,CAAC;AAEF,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,GAAG,EAAE,CAAC,CAAC;IACvC,gBAAgB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC;CACtE,CAAC,CAAC,CAAC;AAEJ,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;AACvD,MAAM,kBAAkB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;AAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AAC/B,MAAM,sBAAsB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;IACvD,UAAU,EAAE,cAAc;IAC1B,QAAQ,EAAE,YAAY;IACtB,cAAc,EAAE,kBAAkB;CACnC,CAAC,CAAC;AACH,MAAM,sBAAsB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;IACvD,kBAAkB,EAAE,sBAAsB;CAC3C,CAAC,CAAC;AAEH,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE,CAAC,CAAC;IACtC,iBAAiB,EAAE;QACjB,oBAAoB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;YAC9C,kBAAkB,EAAE,sBAAsB;SAC3C,CAAC;KACH;CACF,CAAC,CAAC,CAAC;AAEJ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5B,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC,EAAE;CAC1C,CAAC,CAAC,CAAC;AAEJ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEhB,yBAAyB;AACzB,sCAAmC;AACnC,qDAAgD;AAChD,mCAAkC;AAElC,MAAM,QAAQ,GAAG,EAA4B,CAAC;AAE9C,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAQ,CAAC;AAE9D,MAAM,aAAa,GAAG,CAAC,YAA0B,EAAE,EAAE,EAAE,CAAC,iBACtD,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,SAAS,EACnB,UAAU,EAAE,QAAQ,EACpB,KAAK,EAAE,WAAW,EAClB,WAAW,EAAE,aAAa,EAC1B,IAAI,EAAE,uBAAS,CAAC,KAAK,EACrB,YAAY,EAAE,GAAG,EACjB,cAAc,EAAE,EAAE,EAClB,aAAa,EAAE,GAAG,EAClB,QAAQ,EAAE,UAAU,EACpB,aAAa,EAAE,KAAK,EACpB,QAAQ,EAAE,6CAA6C,EACvD,GAAG,EAAE,gCAAgC,EACrC,WAAW,EAAE,UAAU,EACvB,SAAS,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,EACjC,WAAW,EAAE,UAAU,EACvB,SAAS,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,IAC9B,SAAS,EACZ,CAAC;AAEH,MAAM,aAAa,GAAG,CAAC,OAAY,aAAa,EAAE,EAAE,EAAE,CAAC,iBACrD,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,EACpC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,EAC7E,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAC/C,YAAY,EAAE,CAAC,IACZ,IAAI,EACP,CAAC;AAEH,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACtB,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,eAAe,CAAC,MAAM,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC,CAAC;QAC1D,eAAe,CAAC,OAAO,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC,CAAC;QAC3D,eAAe,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;QAC7D,eAAe,CAAC,eAAe,CAAC,iBAAiB,CAAC;YAChD,KAAK,EAAE,CAAC;YACR,IAAI,EAAE,CAAC,aAAa,EAAE,CAAC;SACxB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAIH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACtD,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;YAC5B,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,eAAM,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;YACnD,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;YACtD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAEvC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;YACpE,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,OAAO,CAAC;YACzC,OAAO,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC;YAClD,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,eAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,OAAO,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAIH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;YAC7D,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;YACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAC;YAE7C,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACpD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;YACnD,OAAO,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;YAC5C,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;YAC5B,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC;YAC3B,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;YACvB,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;YACpD,OAAO,CAAC,GAAG,CAAC,wBAAwB,GAAG,KAAK,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAIH,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;QACvB,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC7C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC/C,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC7C,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;YACxD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;YAC5C,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;YACrC,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;YAC5B,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACpE,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,KAAK,CAAC;QACxC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;QACvB,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAChD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAClD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAClD,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC3D,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAIH,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;YACzC,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC9D,MAAM,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;YACpE,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;YAC5B,MAAM,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,kBAAkB,CAAC,CAAC;YAC/C,MAAM,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,oBAAoB,CAC1D,MAAM,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CACvD,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YAClE,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;YAC5B,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACpE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAIH,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAChD,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACvD,eAAe,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAChD,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;YAC5B,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC9D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAIH,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;QACvB,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;YACrF,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC7C,MAAM,MAAM,GAAG,iBAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;YAC5C,QAAQ,CAAC,gBAAgB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAE9D,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAEjD,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;YAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YAC3C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;YACvE,eAAe,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAChD,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;YAC5B,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC/D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAIH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC5B,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAChD,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;YAClC,MAAM,GAAG,GAAG;gBACV,QAAQ,EAAE,SAAS;gBACnB,UAAU,EAAE,QAAQ;gBACpB,KAAK,EAAE,gBAAgB;gBACvB,WAAW,EAAE,mBAAmB;gBAChC,IAAI,EAAE,uBAAS,CAAC,KAAK;gBACrB,aAAa,EAAE,GAAG;gBAClB,cAAc,EAAE,4BAA4B;gBAC5C,GAAG,EAAE,4BAA4B;aAC3B,CAAC;YAET,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACzD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAIH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC5B,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YAClE,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;YAClC,MAAM,UAAU,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAS,CAAC;YAChE,MAAM,GAAG,GAAG;gBACV,QAAQ,EAAE,SAAS;gBACnB,UAAU,EAAE,QAAQ;gBACpB,KAAK,EAAE,eAAe;gBACtB,WAAW,EAAE,gBAAgB;gBAC7B,IAAI,EAAE,uBAAS,CAAC,QAAQ;gBACxB,aAAa,EAAE,GAAG;gBAClB,QAAQ,EAAE,QAAQ;gBAClB,aAAa,EAAE,KAAK;aACd,CAAC;YAET,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAQ,CAAC;YAC7D,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAQ,CAAC;YAE9D,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;YACrE,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7B,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAIH,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;YAC7D,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAEvD,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YAC3D,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;YAChE,eAAe,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAChD,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;YAC5B,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAIH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAGhD,MAAM,eAAe,mCAChB,aAAa,EAAE,KAClB,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAC1C,CAAC;YACF,eAAe,CAAC,OAAO,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;YAC3D,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CACrC,WAAW,EACX,EAAE,KAAK,EAAE,eAAe,EAAS,EACjC,UAAU,CACX,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACvD,eAAe,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAChD,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;YAC5B,MAAM,MAAM,CACV,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAS,EAAE,UAAU,CAAC,CACpD,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAIH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YAClE,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;YAClC,MAAM,UAAU,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,EAAS,CAAC;YAEnE,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAQ,CAAC;YAC7D,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;YAChC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAQ,CAAC;YAE9D,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CACrC,UAAU,EACV,WAAW,EACX,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAS,EACpD,SAAS,CACV,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACvD,eAAe,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAChD,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;YAC5B,MAAM,MAAM,CACV,MAAM,CAAC,WAAW,CAAC,EAAS,EAAE,QAAQ,EAAE,EAAS,EAAE,aAAa,EAAE,CAAC,CACpE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAIH,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;QAC1C,UAAU,CAAC,GAAG,EAAE;YACd,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,OAAO,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,8BAA8B,GAAG,gBAAgB,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,GAAG,EAAE;YACb,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,OAAO,CAAC;YACzC,OAAO,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;YACxD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACrD,MAAM,QAAQ,GAAG,iBAAQ,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YAC7C,YAAY,CAAC,iBAAiB,CAAC,EAAE,kBAAkB,EAAE,QAAQ,EAAE,CAAC,CAAC;YAEjE,MAAM,MAAM,GAAG,IAAI,eAAM,CACvB,SAAS,EACT,aAAa,CAAC,EAAE,GAAG,EAAE,uBAAuB,EAAE,CAAC,CAChD,CAAC;YACF,MAAM,CAAC,aAAa,GAAG,GAAG,CAAC;YAE3B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;YACvC,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YACtC,MAAM,CAAC,sBAAsB,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ jest.mock('@nestjs/common', () => ({
4
+ BadRequestException: class BadRequestException extends Error {
5
+ constructor(message) {
6
+ super(message);
7
+ this.name = 'BadRequestException';
8
+ }
9
+ },
10
+ Injectable: () => (target) => target,
11
+ PipeTransform: class {
12
+ },
13
+ }));
14
+ jest.mock('class-validator', () => ({
15
+ isDefined: (v) => v !== undefined && v !== null,
16
+ isEnum: (value, entity) => Object.values(entity).includes(value),
17
+ }));
18
+ jest.mock('@paralleldrive/cuid2', () => ({
19
+ createId: jest.fn().mockReturnValue('generated-cuid'),
20
+ isCuid: jest.fn((v) => v === 'valid-cuid-value'),
21
+ }));
22
+ const append_id_pipe_1 = require("../pipe/append-id.pipe");
23
+ const validate_enum_pipe_1 = require("../pipe/validate-enum.pipe");
24
+ const validate_id_pipe_1 = require("../pipe/validate-id.pipe");
25
+ const validate_search_pipe_1 = require("../pipe/validate-search.pipe");
26
+ var TestEnum;
27
+ (function (TestEnum) {
28
+ TestEnum["Photo"] = "Photo";
29
+ TestEnum["Video"] = "Video";
30
+ TestEnum["Document"] = "Document";
31
+ })(TestEnum || (TestEnum = {}));
32
+ describe('AppendIdPipe', () => {
33
+ let pipe;
34
+ beforeEach(() => {
35
+ pipe = new append_id_pipe_1.AppendIdPipe('MediaId');
36
+ });
37
+ it('appends the named id field to the value', () => {
38
+ const result = pipe.transform({ Title: 'Test' });
39
+ expect(result).toEqual({ Title: 'Test', MediaId: 'generated-cuid' });
40
+ });
41
+ it('preserves existing fields', () => {
42
+ const result = pipe.transform({ a: 1, b: 2 });
43
+ expect(result.a).toBe(1);
44
+ expect(result.b).toBe(2);
45
+ expect(result.MediaId).toBe('generated-cuid');
46
+ });
47
+ it('works with an empty object', () => {
48
+ const result = pipe.transform({});
49
+ expect(result).toHaveProperty('MediaId', 'generated-cuid');
50
+ });
51
+ });
52
+ describe('ValidateEnumPipe', () => {
53
+ let pipe;
54
+ beforeEach(() => {
55
+ pipe = new validate_enum_pipe_1.ValidateEnumPipe(TestEnum);
56
+ });
57
+ it('returns the enum value when valid', () => {
58
+ const result = pipe.transform('Photo');
59
+ expect(result).toBe('Photo');
60
+ });
61
+ it('throws BadRequestException for an invalid enum value', () => {
62
+ expect(() => pipe.transform('Invalid')).toThrow();
63
+ });
64
+ it('returns the original value when undefined', () => {
65
+ const result = pipe.transform(undefined);
66
+ expect(result).toBeUndefined();
67
+ });
68
+ it('validates each item when value is an array', () => {
69
+ const result = pipe.transform(['Photo', 'Video']);
70
+ expect(result).toEqual(['Photo', 'Video']);
71
+ });
72
+ it('throws when an array contains an invalid value', () => {
73
+ expect(() => pipe.transform(['Photo', 'Bad'])).toThrow();
74
+ });
75
+ });
76
+ describe('ValidateIdPipe', () => {
77
+ let pipe;
78
+ beforeEach(() => {
79
+ pipe = new validate_id_pipe_1.ValidateIdPipe();
80
+ });
81
+ it('passes through a valid cuid', () => {
82
+ const result = pipe.transform('valid-cuid-value');
83
+ expect(result).toBe('valid-cuid-value');
84
+ });
85
+ it('throws BadRequestException for an invalid id', () => {
86
+ expect(() => pipe.transform('not-a-cuid')).toThrow();
87
+ });
88
+ it('passes through when value is falsy (optional id)', () => {
89
+ const result = pipe.transform(undefined);
90
+ expect(result).toBeUndefined();
91
+ });
92
+ it('uses a custom error message', () => {
93
+ const customPipe = new validate_id_pipe_1.ValidateIdPipe('Custom error');
94
+ try {
95
+ customPipe.transform('not-a-cuid');
96
+ }
97
+ catch (e) {
98
+ expect(e.message).toBe('Custom error');
99
+ }
100
+ });
101
+ });
102
+ describe('ValidateSearchPipe', () => {
103
+ const mockModel = {
104
+ tableAttributes: { MediaId: {}, Title: {}, Type: {} },
105
+ };
106
+ let pipe;
107
+ beforeEach(() => {
108
+ pipe = new validate_search_pipe_1.ValidateSearchPipe(mockModel);
109
+ });
110
+ it('returns value when search is valid JSON with valid keys', () => {
111
+ const search = JSON.stringify({ Title: 'test' });
112
+ expect(pipe.transform(search)).toBe(search);
113
+ });
114
+ it('returns undefined when value is falsy', () => {
115
+ expect(pipe.transform(undefined)).toBeUndefined();
116
+ });
117
+ it('throws BadRequestException for invalid JSON', () => {
118
+ expect(() => pipe.transform('{bad json')).toThrow();
119
+ });
120
+ it('throws BadRequestException for unknown search key', () => {
121
+ const search = JSON.stringify({ UnknownField: 'value' });
122
+ expect(() => pipe.transform(search)).toThrow();
123
+ });
124
+ it('allows additionalAttributes alongside model attributes', () => {
125
+ const pipeWithExtra = new validate_search_pipe_1.ValidateSearchPipe(mockModel, ['ExtraField']);
126
+ const search = JSON.stringify({ ExtraField: 'value' });
127
+ expect(pipeWithExtra.transform(search)).toBe(search);
128
+ });
129
+ });
130
+ //# sourceMappingURL=pipes.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipes.spec.js","sourceRoot":"","sources":["../../src/__tests__/pipes.spec.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BaseMedias = void 0;
4
- const cuid = require("cuid");
4
+ const cuid2_1 = require("@paralleldrive/cuid2");
5
5
  const common_1 = require("@nestjs/common");
6
6
  const medias_repository_1 = require("../medias.repository");
7
7
  const general_1 = require("@tomei/general");
@@ -13,7 +13,7 @@ class BaseMedias extends general_1.ObjectBase {
13
13
  }
14
14
  }
15
15
  init(media) {
16
- this.MediaId = media.MediaId ? media.MediaId : cuid();
16
+ this.MediaId = media.MediaId ? media.MediaId : (0, cuid2_1.createId)();
17
17
  this.ObjectId = media.ObjectId;
18
18
  this.ObjectType = media.ObjectType;
19
19
  this.Title = media.Title;
@@ -1 +1 @@
1
- {"version":3,"file":"base.medias.js","sourceRoot":"","sources":["../../src/base/base.medias.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.medias.js","sourceRoot":"","sources":["../../src/base/base.medias.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ exports.CommonService = void 0;
13
13
  const common_1 = require("@nestjs/common");
14
14
  const config_1 = require("@nestjs/config");
15
15
  const axios_1 = require("axios");
16
- const cuid = require("cuid");
16
+ const cuid2_1 = require("@paralleldrive/cuid2");
17
17
  const lodash_1 = require("lodash");
18
18
  let CommonService = class CommonService {
19
19
  constructor(configService) {
@@ -57,7 +57,7 @@ let CommonService = class CommonService {
57
57
  EntityValueAfter: JSON.stringify(filteredRecord),
58
58
  PerformedById: record.PerformedById,
59
59
  PerformedAt: record.PerformedAt || Date.now(),
60
- EntityId: record.EntityId ? record.EntityId : cuid(),
60
+ EntityId: record.EntityId ? record.EntityId : (0, cuid2_1.createId)(),
61
61
  };
62
62
  try {
63
63
  const { data } = await axios_1.default.post(`${this.commonApiUrl}/activity-histories`, payload);
@@ -1 +1 @@
1
- {"version":3,"file":"common.service.js","sourceRoot":"","sources":["../../src/common/common.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common.service.js","sourceRoot":"","sources":["../../src/common/common.service.ts"],"names":[],"mappings":"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"}
package/dist/medias.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- import { BlobServiceClient } from '@azure/storage-blob';
2
1
  import { CommonService } from './common/common.service';
3
2
  import { BaseMedias } from './base/base.medias';
4
3
  import { MediasModel } from './entities/medias.entity';
@@ -16,7 +15,8 @@ export declare class Medias extends BaseMedias {
16
15
  TableName: string;
17
16
  ObjectId: string;
18
17
  ObjectType: string;
19
- blobServiceClient: BlobServiceClient;
18
+ private _blobServiceClient;
19
+ private get blobServiceClient();
20
20
  container: string;
21
21
  algorithm: string;
22
22
  commonService: CommonService;