@ainias42/typeorm-helper 0.0.7 → 0.0.9

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.
@@ -8,7 +8,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.DefaultSubscriber = void 0;
10
10
  const typeorm_1 = require("typeorm");
11
- const FileWriter_1 = require("./decorators/FileColumn/FileWriter.js");
11
+ const fileWriter_1 = require("./decorators/FileColumn/fileWriter.js");
12
12
  let DefaultSubscriber = class DefaultSubscriber {
13
13
  async saveFiles(entity, columns) {
14
14
  const promises = [];
@@ -22,8 +22,10 @@ let DefaultSubscriber = class DefaultSubscriber {
22
22
  values = [values];
23
23
  single = true;
24
24
  }
25
- promises.push(Promise.all(values.map((value) => FileWriter_1.FileWriter.writeToFile(value.src, transformer.fileOptions.saveDirectory).then((newUrl) => {
26
- return Object.assign(Object.assign({}, value), { src: newUrl });
25
+ promises.push(Promise.all(values.map((value) => fileWriter_1.fileWriter
26
+ .writeToFile(value, transformer.fileOptions.saveDirectory)
27
+ .then((newFileType) => {
28
+ return newFileType;
27
29
  }))).then((newValues) => {
28
30
  if (single) {
29
31
  Reflect.set(entity, column.propertyName, newValues[0]);
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultSubscriber.js","sourceRoot":"","sources":["../src/DefaultSubscriber.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DefaultSubscriber.js","sourceRoot":"","sources":["../src/DefaultSubscriber.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,7 @@ function FileColumn(options) {
23
23
  single = true;
24
24
  }
25
25
  for (const value of values) {
26
- if (value.src.startsWith(options.publicPath)) {
26
+ if ('src' in value && value.src.startsWith(options.publicPath)) {
27
27
  value.src = value.src.slice(options.publicPath.length);
28
28
  }
29
29
  }
@@ -41,7 +41,7 @@ function FileColumn(options) {
41
41
  single = true;
42
42
  }
43
43
  for (const value of values) {
44
- if (!value.src.startsWith('data:')) {
44
+ if ('src' in value && !value.src.startsWith('data:')) {
45
45
  value.src = options.publicPath + value.src;
46
46
  }
47
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FileColumn.js","sourceRoot":"","sources":["../../../src/decorators/FileColumn/FileColumn.ts"],"names":[],"mappings":";;AAIA,gCAqDC;AAzDD,qCAAiD;AAIjD,SAAgB,UAAU,CAAC,OAAsD;IAC7E,OAAO,SAAS,SAAS,CAAC,MAAW,EAAE,YAAoB;QACvD,IAAA,gCAAsB,GAAE,CAAC,OAAO,CAAC,IAAI,CAAC;YAClC,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,YAAY;YACZ,IAAI,EAAE,SAAS;YACf,OAAO,EAAE;gBACL,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE;oBACT,MAAM,EAAE,IAAI;oBACZ,WAAW,EAAE,OAAO;oBACpB,EAAE,EAAE,CAAC,MAAyC,EAAE,EAAE;wBAC9C,IAAI,MAAM,EAAE,CAAC;4BACT,IAAI,MAAM,GAAG,KAAK,CAAC;4BACnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gCACzB,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;gCAClB,MAAM,GAAG,IAAI,CAAC;4BAClB,CAAC;4BACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gCACzB,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;oCAC3C,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gCAC3D,CAAC;4BACL,CAAC;4BACD,IAAI,MAAM,EAAE,CAAC;gCACT,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;4BACrB,CAAC;wBACL,CAAC;wBACD,OAAO,MAAM,CAAC;oBAClB,CAAC;oBACD,IAAI,EAAE,CAAC,MAAyC,EAAE,EAAE;wBAChD,IAAI,MAAM,EAAE,CAAC;4BACT,IAAI,MAAM,GAAG,KAAK,CAAC;4BACnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gCACzB,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;gCAClB,MAAM,GAAG,IAAI,CAAC;4BAClB,CAAC;4BACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gCACzB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;oCACjC,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC;gCAC/C,CAAC;4BACL,CAAC;4BACD,IAAI,MAAM,EAAE,CAAC;gCACT,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;4BACrB,CAAC;wBACL,CAAC;wBACD,OAAO,MAAM,CAAC;oBAClB,CAAC;iBACJ;aACJ;SACkB,CAAC,CAAC;IAC7B,CAAC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"FileColumn.js","sourceRoot":"","sources":["../../../src/decorators/FileColumn/FileColumn.ts"],"names":[],"mappings":";;AAIA,gCAqDC;AAzDD,qCAAiD;AAIjD,SAAgB,UAAU,CAAC,OAAsD;IAC7E,OAAO,SAAS,SAAS,CAAC,MAAW,EAAE,YAAoB;QACvD,IAAA,gCAAsB,GAAE,CAAC,OAAO,CAAC,IAAI,CAAC;YAClC,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,YAAY;YACZ,IAAI,EAAE,SAAS;YACf,OAAO,EAAE;gBACL,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE;oBACT,MAAM,EAAE,IAAI;oBACZ,WAAW,EAAE,OAAO;oBACpB,EAAE,EAAE,CAAC,MAAyC,EAAE,EAAE;wBAC9C,IAAI,MAAM,EAAE,CAAC;4BACT,IAAI,MAAM,GAAG,KAAK,CAAC;4BACnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gCACzB,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;gCAClB,MAAM,GAAG,IAAI,CAAC;4BAClB,CAAC;4BACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gCACzB,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;oCAC7D,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gCAC3D,CAAC;4BACL,CAAC;4BACD,IAAI,MAAM,EAAE,CAAC;gCACT,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;4BACrB,CAAC;wBACL,CAAC;wBACD,OAAO,MAAM,CAAC;oBAClB,CAAC;oBACD,IAAI,EAAE,CAAC,MAAyC,EAAE,EAAE;wBAChD,IAAI,MAAM,EAAE,CAAC;4BACT,IAAI,MAAM,GAAG,KAAK,CAAC;4BACnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gCACzB,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;gCAClB,MAAM,GAAG,IAAI,CAAC;4BAClB,CAAC;4BACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gCACzB,IAAI,KAAK,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;oCACnD,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC;gCAC/C,CAAC;4BACL,CAAC;4BACD,IAAI,MAAM,EAAE,CAAC;gCACT,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;4BACrB,CAAC;wBACL,CAAC;wBACD,OAAO,MAAM,CAAC;oBAClB,CAAC;iBACJ;aACJ;SACkB,CAAC,CAAC;IAC7B,CAAC,CAAC;AACN,CAAC"}
@@ -2,4 +2,4 @@ export type FileType = {
2
2
  name: string;
3
3
  src: string;
4
4
  type: string;
5
- };
5
+ } | File;
@@ -0,0 +1,7 @@
1
+ import type { FileType } from '../../decorators/FileColumn/FileType.js';
2
+ declare class FileWriter {
3
+ private stringSrcToArrayBuffer;
4
+ writeToFile(file: FileType, saveDirectory: string, name?: string): Promise<FileType>;
5
+ }
6
+ export declare const fileWriter: FileWriter;
7
+ export {};
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.fileWriter = void 0;
7
+ /* eslint-disable class-methods-use-this */
8
+ const node_stream_1 = require("node:stream");
9
+ const fs_1 = require("fs");
10
+ const mime_types_1 = require("mime-types");
11
+ const crypto_1 = __importDefault(require("crypto"));
12
+ class FileWriter {
13
+ stringSrcToArrayBuffer(src) {
14
+ const base64SearchText = ';base64,';
15
+ const indexBase64SearchText = src.indexOf(base64SearchText);
16
+ const indexSlash = src.indexOf('/');
17
+ // file is already a url
18
+ if (indexBase64SearchText === -1 || indexSlash === -1 || !src.startsWith('data:')) {
19
+ return false;
20
+ }
21
+ const data = src.slice(Math.max(0, indexBase64SearchText + base64SearchText.length));
22
+ const dataBuffer = Buffer.from(data, 'base64');
23
+ return dataBuffer;
24
+ }
25
+ async writeToFile(file, saveDirectory, name) {
26
+ let dataBuffer;
27
+ let dataStream;
28
+ if (file instanceof File) {
29
+ // @ts-expect-error there seems to be an type error inside the native types
30
+ dataStream = node_stream_1.Readable.fromWeb(file.stream());
31
+ }
32
+ else {
33
+ const buffer = this.stringSrcToArrayBuffer(file.src);
34
+ if (!buffer) {
35
+ return file;
36
+ }
37
+ dataBuffer = buffer;
38
+ dataStream = new node_stream_1.PassThrough();
39
+ dataStream.push(dataBuffer);
40
+ // eslint-disable-next-line unicorn/prefer-single-call
41
+ dataStream.push(null);
42
+ }
43
+ const fileEnding = (0, mime_types_1.extension)(file.type);
44
+ const seed = crypto_1.default.randomBytes(20);
45
+ const now = new Date();
46
+ // Month is 0-based. Add 1 to get 1-12
47
+ const fileName = name !== null && name !== void 0 ? name : `${now.getUTCFullYear()}-${now.getUTCMonth() + 1}-${now.getUTCDate()}-${crypto_1.default
48
+ .createHash('sha1')
49
+ .update(seed)
50
+ .digest('hex')}.${fileEnding}`;
51
+ if (!(0, fs_1.existsSync)(saveDirectory)) {
52
+ (0, fs_1.mkdirSync)(saveDirectory, { recursive: true });
53
+ }
54
+ const writeStream = (0, fs_1.createWriteStream)(saveDirectory + fileName);
55
+ const resultPromise = new Promise((r) => writeStream.addListener('finish', r));
56
+ dataStream.pipe(writeStream);
57
+ await resultPromise;
58
+ return { type: file.type, name: file.name, src: fileName };
59
+ }
60
+ }
61
+ exports.fileWriter = new FileWriter();
62
+ //# sourceMappingURL=fileWriter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileWriter.js","sourceRoot":"","sources":["../../../src/decorators/FileColumn/fileWriter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { FileType } from '../decorators/FileColumn/FileType.js';
2
+ export declare function getFileUrl(file: FileType): string;
3
+ export declare function getFileUrl(file: FileType | undefined): string | undefined;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getFileUrl = getFileUrl;
4
+ function getFileUrl(file) {
5
+ if (file instanceof File) {
6
+ return URL.createObjectURL(file);
7
+ }
8
+ return file === null || file === void 0 ? void 0 : file.src;
9
+ }
10
+ //# sourceMappingURL=getFileUrl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getFileUrl.js","sourceRoot":"","sources":["../../src/helper/getFileUrl.ts"],"names":[],"mappings":";;AAIA,gCAKC;AALD,SAAgB,UAAU,CAAC,IAA0B;IACjD,IAAI,IAAI,YAAY,IAAI,EAAE,CAAC;QACvB,OAAO,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,CAAC;AACrB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -4,9 +4,10 @@ export * from './DbNamingStrategy.js';
4
4
  export * from './DefaultSubscriber.js';
5
5
  export * from './dataSource/dataSource.js';
6
6
  export * from './dataSource/getRepository.js';
7
+ export * from './helper/getFileUrl.js';
7
8
  export * from './migration/getCreateTableColumns.js';
8
9
  export * from './migration/getCreateTableColumnsV1.js';
9
10
  export * from './decorators/FileColumn/FileColumn.js';
10
11
  export * from './decorators/FileColumn/FileTransformer.js';
11
12
  export * from './decorators/FileColumn/FileType.js';
12
- export * from './decorators/FileColumn/FileWriter.js';
13
+ export * from './decorators/FileColumn/fileWriter.js';
package/dist/index.js CHANGED
@@ -20,10 +20,11 @@ __exportStar(require("./DbNamingStrategy.js"), exports);
20
20
  __exportStar(require("./DefaultSubscriber.js"), exports);
21
21
  __exportStar(require("./dataSource/dataSource.js"), exports);
22
22
  __exportStar(require("./dataSource/getRepository.js"), exports);
23
+ __exportStar(require("./helper/getFileUrl.js"), exports);
23
24
  __exportStar(require("./migration/getCreateTableColumns.js"), exports);
24
25
  __exportStar(require("./migration/getCreateTableColumnsV1.js"), exports);
25
26
  __exportStar(require("./decorators/FileColumn/FileColumn.js"), exports);
26
27
  __exportStar(require("./decorators/FileColumn/FileTransformer.js"), exports);
27
28
  __exportStar(require("./decorators/FileColumn/FileType.js"), exports);
28
- __exportStar(require("./decorators/FileColumn/FileWriter.js"), exports);
29
+ __exportStar(require("./decorators/FileColumn/fileWriter.js"), exports);
29
30
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,4DAA0C;AAC1C,qDAAmC;AACnC,sDAAoC;AACpC,0DAAwC;AACxC,6DAA2C;AAC3C,oEAAkD;AAClD,sEAAoD;AACpD,qEAAmD;AACnD,0EAAwD;AACxD,mEAAiD;AACjD,qEAAmD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,4DAA0C;AAC1C,qDAAmC;AACnC,sDAAoC;AACpC,0DAAwC;AACxC,6DAA2C;AAC3C,sDAAoC;AACpC,oEAAkD;AAClD,sEAAoD;AACpD,qEAAmD;AACnD,0EAAwD;AACxD,mEAAiD;AACjD,qEAAmD"}