@dosgato/api 0.0.8 → 0.0.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 (91) hide show
  1. package/dist/access/access.resolver.d.ts +1 -0
  2. package/dist/access/access.resolver.js +11 -1
  3. package/dist/access/access.resolver.js.map +1 -1
  4. package/dist/asset/asset.database.d.ts +5 -3
  5. package/dist/asset/asset.database.js +31 -9
  6. package/dist/asset/asset.database.js.map +1 -1
  7. package/dist/asset/asset.model.d.ts +4 -0
  8. package/dist/asset/asset.model.js +25 -7
  9. package/dist/asset/asset.model.js.map +1 -1
  10. package/dist/asset/asset.routes.d.ts +2 -0
  11. package/dist/asset/asset.routes.js +73 -0
  12. package/dist/asset/asset.routes.js.map +1 -0
  13. package/dist/asset/asset.service.d.ts +3 -0
  14. package/dist/asset/asset.service.js +79 -6
  15. package/dist/asset/asset.service.js.map +1 -1
  16. package/dist/assetrule/assetrule.resolver.d.ts +2 -2
  17. package/dist/assetrule/assetrule.resolver.js +4 -3
  18. package/dist/assetrule/assetrule.resolver.js.map +1 -1
  19. package/dist/assetrule/assetrule.service.d.ts +2 -2
  20. package/dist/assetrule/assetrule.service.js +23 -10
  21. package/dist/assetrule/assetrule.service.js.map +1 -1
  22. package/dist/datarule/datarule.database.js +2 -1
  23. package/dist/datarule/datarule.database.js.map +1 -1
  24. package/dist/datarule/datarule.resolver.d.ts +3 -3
  25. package/dist/datarule/datarule.resolver.js +4 -3
  26. package/dist/datarule/datarule.resolver.js.map +1 -1
  27. package/dist/datarule/datarule.service.d.ts +3 -3
  28. package/dist/datarule/datarule.service.js +36 -27
  29. package/dist/datarule/datarule.service.js.map +1 -1
  30. package/dist/globalrule/globalrule.resolver.d.ts +3 -3
  31. package/dist/globalrule/globalrule.resolver.js +8 -6
  32. package/dist/globalrule/globalrule.resolver.js.map +1 -1
  33. package/dist/globalrule/globalrule.service.d.ts +3 -3
  34. package/dist/globalrule/globalrule.service.js +20 -24
  35. package/dist/globalrule/globalrule.service.js.map +1 -1
  36. package/dist/index.js +3 -22
  37. package/dist/index.js.map +1 -1
  38. package/dist/internal.d.ts +1 -0
  39. package/dist/internal.js +1 -0
  40. package/dist/internal.js.map +1 -1
  41. package/dist/page/page.service.js +1 -1
  42. package/dist/page/page.service.js.map +1 -1
  43. package/dist/pagerule/pagerule.database.js +1 -1
  44. package/dist/pagerule/pagerule.database.js.map +1 -1
  45. package/dist/pagerule/pagerule.resolver.d.ts +3 -3
  46. package/dist/pagerule/pagerule.resolver.js +8 -6
  47. package/dist/pagerule/pagerule.resolver.js.map +1 -1
  48. package/dist/pagerule/pagerule.service.d.ts +3 -3
  49. package/dist/pagerule/pagerule.service.js +50 -30
  50. package/dist/pagerule/pagerule.service.js.map +1 -1
  51. package/dist/pagetree/pagetree.service.js +14 -14
  52. package/dist/pagetree/pagetree.service.js.map +1 -1
  53. package/dist/role/role.database.d.ts +2 -1
  54. package/dist/role/role.database.js +7 -2
  55. package/dist/role/role.database.js.map +1 -1
  56. package/dist/role/role.resolver.d.ts +2 -2
  57. package/dist/role/role.resolver.js +14 -13
  58. package/dist/role/role.resolver.js.map +1 -1
  59. package/dist/role/role.service.d.ts +2 -2
  60. package/dist/role/role.service.js +38 -23
  61. package/dist/role/role.service.js.map +1 -1
  62. package/dist/scalars/urlsafestring.d.ts +1 -0
  63. package/dist/scalars/urlsafestring.js +2 -2
  64. package/dist/scalars/urlsafestring.js.map +1 -1
  65. package/dist/siterule/siterule.resolver.d.ts +3 -3
  66. package/dist/siterule/siterule.resolver.js +8 -6
  67. package/dist/siterule/siterule.resolver.js.map +1 -1
  68. package/dist/siterule/siterule.service.d.ts +3 -3
  69. package/dist/siterule/siterule.service.js +29 -29
  70. package/dist/siterule/siterule.service.js.map +1 -1
  71. package/dist/templaterule/templaterule.database.js +4 -2
  72. package/dist/templaterule/templaterule.database.js.map +1 -1
  73. package/dist/templaterule/templaterule.resolver.d.ts +3 -3
  74. package/dist/templaterule/templaterule.resolver.js +8 -6
  75. package/dist/templaterule/templaterule.resolver.js.map +1 -1
  76. package/dist/templaterule/templaterule.service.d.ts +3 -3
  77. package/dist/templaterule/templaterule.service.js +33 -30
  78. package/dist/templaterule/templaterule.service.js.map +1 -1
  79. package/dist/user/user.database.d.ts +1 -0
  80. package/dist/user/user.database.js +3 -0
  81. package/dist/user/user.database.js.map +1 -1
  82. package/dist/user/user.resolver.d.ts +1 -0
  83. package/dist/user/user.resolver.js +16 -0
  84. package/dist/user/user.resolver.js.map +1 -1
  85. package/dist/user/user.service.d.ts +1 -0
  86. package/dist/user/user.service.js +23 -2
  87. package/dist/user/user.service.js.map +1 -1
  88. package/dist/util/filehandler.d.ts +12 -7
  89. package/dist/util/filehandler.js +58 -14
  90. package/dist/util/filehandler.js.map +1 -1
  91. package/package.json +9 -6
@@ -1,10 +1,15 @@
1
- import { FastifyRequest, FastifyReply } from 'fastify';
2
- export declare function handleUpload(req: FastifyRequest, res: FastifyReply): Promise<{
3
- filename: string;
4
- shasum: any;
5
- mime: string;
6
- size: number;
7
- }[]>;
1
+ import { FastifyRequest } from 'fastify';
2
+ export declare function handleUpload(req: FastifyRequest): Promise<{
3
+ files: {
4
+ name: string;
5
+ shasum: string;
6
+ mime: string;
7
+ size: number;
8
+ width: number | undefined;
9
+ height: number | undefined;
10
+ }[];
11
+ data: any;
12
+ }>;
8
13
  interface FileHandler {
9
14
  moveToPermLocation: (checksum: string) => Promise<void>;
10
15
  getFileLocation: (checksum: string) => string;
@@ -1,23 +1,67 @@
1
1
  import crypto from 'crypto';
2
- import * as util from 'util';
3
- import stream from 'stream';
4
- import { nanoid } from 'nanoid';
2
+ import { fileTypeStream } from 'file-type';
5
3
  import fs, { promises as fsp } from 'fs';
4
+ import { lookup } from 'mime-types';
5
+ import { nanoid } from 'nanoid';
6
6
  import { dirname } from 'path';
7
+ import sharp from 'sharp';
8
+ import stream from 'stream';
9
+ import * as util from 'util';
10
+ import { makeSafe } from '../internal.js';
7
11
  const pipelinep = util.promisify(stream.pipeline);
8
- export async function handleUpload(req, res) {
12
+ export async function handleUpload(req) {
13
+ const data = {};
9
14
  const files = [];
10
- const parts = req.files();
11
- for await (const part of parts) {
12
- const hash = crypto.createHash('sha1').setEncoding('hex');
13
- const tempName = nanoid(10);
14
- await pipelinep(part.file, fs.createWriteStream(`/files/tmp/${tempName}`));
15
- await pipelinep(fs.createReadStream(`/files/tmp/${tempName}`), hash);
16
- const checksum = hash.read();
17
- await fsp.rename(`/files/tmp/${tempName}`, `/files/tmp/${checksum}`);
18
- files.push({ filename: part.filename, shasum: checksum, mime: part.mimetype, size: part.file.bytesRead });
15
+ for await (const part of req.parts()) {
16
+ if (part.file) {
17
+ const tempName = nanoid(10);
18
+ const fileTypePassthru = await fileTypeStream(part.file);
19
+ const hash = crypto.createHash('sha1');
20
+ const hashingPassthru = new stream.PassThrough();
21
+ const sharpBuffer = Buffer.alloc(1000000);
22
+ const sharpPassthru = new stream.PassThrough();
23
+ let offset = 0;
24
+ let len = 1000000;
25
+ sharpPassthru.on('data', (chunk) => {
26
+ if (offset < 1000000)
27
+ sharpBuffer.write(chunk.toString('binary'), offset, len, 'binary');
28
+ offset += chunk.length;
29
+ len -= chunk.length;
30
+ });
31
+ hashingPassthru.on('data', (chunk) => hash.update(chunk));
32
+ await pipelinep(fileTypePassthru.pipe(hashingPassthru).pipe(sharpPassthru), fs.createWriteStream(`/files/tmp/${tempName}`));
33
+ const checksum = hash.digest('hex');
34
+ const { mime } = fileTypePassthru.fileType ?? { ext: '', mime: part.mimetype };
35
+ let name = part.filename;
36
+ const extFromFileName = name.match(/\.(\w+)$/)?.[1];
37
+ if (extFromFileName && lookup(extFromFileName))
38
+ name = name.replace(new RegExp('\\.' + extFromFileName + '$'), '');
39
+ name = makeSafe(name);
40
+ let metadata;
41
+ let width;
42
+ let height;
43
+ if (mime.startsWith('image/')) {
44
+ try {
45
+ metadata = await sharp(sharpBuffer).metadata();
46
+ width = metadata.width;
47
+ height = metadata.height;
48
+ if ((metadata.orientation ?? 1) > 4) {
49
+ width = height;
50
+ height = metadata.width;
51
+ }
52
+ }
53
+ catch (e) {
54
+ console.warn('SharpJS was unable to read metadata for image', name, 'of type', mime);
55
+ }
56
+ }
57
+ await fsp.rename(`/files/tmp/${tempName}`, `/files/tmp/${checksum}`);
58
+ files.push({ name, shasum: checksum, mime, size: part.file.bytesRead, width, height });
59
+ }
60
+ else {
61
+ data[part.fieldname] = part.value;
62
+ }
19
63
  }
20
- return files;
64
+ return { files, data };
21
65
  }
22
66
  export const FileSystemHandler = {
23
67
  async moveToPermLocation(checksum) {
@@ -1 +1 @@
1
- {"version":3,"file":"filehandler.js","sourceRoot":"","sources":["../../src/util/filehandler.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAC5B,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,EAAE,EAAE,QAAQ,IAAI,GAAG,EAAE,MAAM,IAAI,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;AAEjD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAE,GAAmB,EAAE,GAAiB;IACxE,MAAM,KAAK,GAAG,EAAE,CAAA;IAChB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,EAAE,CAAA;IACzB,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,KAAK,EAAE;QAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;QACzD,MAAM,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;QAC3B,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAC,CAAA;QAC1E,MAAM,SAAS,CAAC,EAAE,CAAC,gBAAgB,CAAC,cAAc,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA;QACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QAC5B,MAAM,GAAG,CAAC,MAAM,CAAC,cAAc,QAAQ,EAAE,EAAE,cAAc,QAAQ,EAAE,CAAC,CAAA;QACpE,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAA;KAC1G;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAQD,MAAM,CAAC,MAAM,iBAAiB,GAAgB;IAC5C,KAAK,CAAC,kBAAkB,CAAE,QAAgB;QACxC,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAA;QACnD,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC3D,MAAM,GAAG,CAAC,MAAM,CAAC,cAAc,QAAQ,EAAE,EAAE,YAAY,CAAC,CAAA;IAC1D,CAAC;IACD,eAAe,CAAE,QAAgB;QAC/B,OAAO,kBAAkB,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;IAC9F,CAAC;IACD,KAAK,CAAC,OAAO,CAAE,QAAgB;QAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAA;QACnD,2GAA2G;IAC7G,CAAC;CACF,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAgB;IAC/C,KAAK,CAAC,kBAAkB,CAAE,QAAgB;QACxC,2BAA2B;IAC7B,CAAC;IACD,eAAe,CAAE,QAAgB;QAC/B,sGAAsG;QACtG,OAAO,EAAE,CAAA;IACX,CAAC;IACD,KAAK,CAAC,OAAO,CAAE,QAAgB;QAC7B,kDAAkD;IACpD,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"filehandler.js","sourceRoot":"","sources":["../../src/util/filehandler.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dosgato/api",
3
- "version": "0.0.8",
3
+ "version": "0.0.10",
4
4
  "description": "A CMS designed for large institutions with thousands of editors and hundreds of subsites.",
5
5
  "type": "module",
6
6
  "exports": {
@@ -9,14 +9,16 @@
9
9
  "types": "./dist/index.d.ts",
10
10
  "dependencies": {
11
11
  "@dosgato/templating": ">=0.0.53",
12
- "@fastify/multipart": "^6.0.0",
13
- "@txstate-mws/graphql-server": "^1.5.1",
14
- "dataloader-factory": "^4.3.2",
12
+ "@fastify/multipart": "^7.1.2",
13
+ "@txstate-mws/graphql-server": "2.0.0",
14
+ "dataloader-factory": "^4.4.3",
15
15
  "fast-json-patch": "^3.1.0",
16
+ "file-type": "^18.0.0",
16
17
  "luxon": "^3.0.3",
17
18
  "mime-types": "^2.1.35",
18
- "mysql2-async": "^1.0.12",
19
+ "mysql2-async": "^1.1.3",
19
20
  "nanoid": "^4.0.0",
21
+ "sharp": ">=0.31.0",
20
22
  "txstate-utils": "^1.7.0",
21
23
  "type-graphql": "^1.1.1"
22
24
  },
@@ -24,7 +26,8 @@
24
26
  "@types/luxon": "^3.0.1",
25
27
  "@types/mime-types": "^2.1.1",
26
28
  "@types/node": "^18.7.14",
27
- "eslint-config-standard-with-typescript": "^20.0.0",
29
+ "@types/sharp": "^0.30.5",
30
+ "eslint-config-standard-with-typescript": "^22.0.0",
28
31
  "nodemon": "^2.0.12",
29
32
  "ts-node": "^10.1.0",
30
33
  "typescript": "^4.7.3"