@dcl/content-validator 1.4.7-20220504190747.commit-d76c573 → 1.4.7

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.
@@ -1 +1 @@
1
- {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../src/validations/profile.ts"],"names":[],"mappings":"AAGA,OAAO,EAAM,UAAU,EAAwC,MAAM,UAAU,CAAA;AAK/E,eAAO,MAAM,aAAa,EAAE,UA6B3B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,OAAO,EAAE,UAQrB,CAAA"}
1
+ {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../src/validations/profile.ts"],"names":[],"mappings":"AAGA,OAAO,EAAM,UAAU,EAAwC,MAAM,UAAU,CAAA;AAI/E,eAAO,MAAM,aAAa,EAAE,UAiC3B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,OAAO,EAAE,UAQrB,CAAA"}
@@ -10,36 +10,38 @@ const _1 = require(".");
10
10
  const types_1 = require("../types");
11
11
  /** Validate that given profile deployment includes a face256 thumbnail with valid size */
12
12
  const defaultThumbnailSize = 256;
13
- const faceThumbnailFileName = 'face256.png';
14
13
  exports.faceThumbnail = {
15
14
  validate: async ({ deployment, externalCalls }) => {
16
15
  if (deployment.entity.timestamp < _1.ADR_45_TIMESTAMP)
17
16
  return types_1.OK;
18
- const hash = deployment.entity.content?.find(({ file }) => file === faceThumbnailFileName)?.hash;
19
- if (!hash)
20
- return types_1.validationFailed(`Couldn't find hash for face256 thumbnail file with name: ${faceThumbnailFileName}`);
21
- const isAlreadyStored = (await externalCalls.isContentStoredAlready([hash])).get(hash) ?? false;
22
- if (isAlreadyStored) {
23
- return types_1.OK;
24
- }
25
17
  const errors = [];
26
- // check size
27
- const thumbnailBuffer = deployment.files.get(hash);
28
- if (!thumbnailBuffer)
29
- return types_1.validationFailed(`Couldn't find thumbnail file with hash: ${hash}`);
30
- try {
31
- const { width, height, format } = await sharp_1.default(thumbnailBuffer).metadata();
32
- if (!format || format !== 'png')
33
- errors.push(`Invalid or unknown image format. Only 'PNG' format is accepted.`);
34
- if (!width || !height) {
35
- errors.push(`Couldn't validate thumbnail size for file ${faceThumbnailFileName}`);
18
+ const allAvatars = deployment.entity.metadata?.avatars ?? [];
19
+ for (const avatar of allAvatars) {
20
+ const hash = avatar.avatar.snapshots.face256;
21
+ if (!hash)
22
+ return types_1.validationFailed(`Couldn't find hash for face256 thumbnail file with name: 'face256'`);
23
+ const isAlreadyStored = (await externalCalls.isContentStoredAlready([hash])).get(hash) ?? false;
24
+ if (isAlreadyStored) {
25
+ return types_1.OK;
36
26
  }
37
- else if (width !== defaultThumbnailSize || height !== defaultThumbnailSize) {
38
- errors.push(`Invalid face256 thumbnail image size (width = ${width} / height = ${height})`);
27
+ // check size
28
+ const thumbnailBuffer = deployment.files.get(hash);
29
+ if (!thumbnailBuffer)
30
+ return types_1.validationFailed(`Couldn't find thumbnail file with hash: ${hash}`);
31
+ try {
32
+ const { width, height, format } = await sharp_1.default(thumbnailBuffer).metadata();
33
+ if (!format || format !== 'png')
34
+ errors.push(`Invalid or unknown image format. Only 'PNG' format is accepted.`);
35
+ if (!width || !height) {
36
+ errors.push(`Couldn't validate thumbnail size for file 'face256'`);
37
+ }
38
+ else if (width !== defaultThumbnailSize || height !== defaultThumbnailSize) {
39
+ errors.push(`Invalid face256 thumbnail image size (width = ${width} / height = ${height})`);
40
+ }
41
+ }
42
+ catch (e) {
43
+ errors.push(`Couldn't parse face256 thumbnail, please check image format.`);
39
44
  }
40
- }
41
- catch (e) {
42
- errors.push(`Couldn't parse face256 thumbnail, please check image format.`);
43
45
  }
44
46
  return errors.length > 0 ? types_1.validationFailed(...errors) : types_1.OK;
45
47
  },
@@ -1 +1 @@
1
- {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/validations/profile.ts"],"names":[],"mappings":";;;;;;AAAA,+DAAiD;AACjD,kDAAyB;AACzB,wBAAoC;AACpC,oCAA+E;AAE/E,0FAA0F;AAC1F,MAAM,oBAAoB,GAAG,GAAG,CAAA;AAChC,MAAM,qBAAqB,GAAG,aAAa,CAAA;AAC9B,QAAA,aAAa,GAAe;IACvC,QAAQ,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,EAAE,EAAE;QAChD,IAAI,UAAU,CAAC,MAAM,CAAC,SAAS,GAAG,mBAAgB;YAAE,OAAO,UAAE,CAAA;QAE7D,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,qBAAqB,CAAC,EAAE,IAAI,CAAA;QAChG,IAAI,CAAC,IAAI;YACP,OAAO,wBAAgB,CAAC,4DAA4D,qBAAqB,EAAE,CAAC,CAAA;QAE9G,MAAM,eAAe,GAAG,CAAC,MAAM,aAAa,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,CAAA;QAC/F,IAAI,eAAe,EAAE;YACnB,OAAO,UAAE,CAAA;SACV;QACD,MAAM,MAAM,GAAa,EAAE,CAAA;QAC3B,aAAa;QACb,MAAM,eAAe,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAClD,IAAI,CAAC,eAAe;YAAE,OAAO,wBAAgB,CAAC,2CAA2C,IAAI,EAAE,CAAC,CAAA;QAChG,IAAI;YACF,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,eAAK,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAA;YACzE,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,KAAK;gBAAE,MAAM,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAA;YAC/G,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE;gBACrB,MAAM,CAAC,IAAI,CAAC,6CAA6C,qBAAqB,EAAE,CAAC,CAAA;aAClF;iBAAM,IAAI,KAAK,KAAK,oBAAoB,IAAI,MAAM,KAAK,oBAAoB,EAAE;gBAC5E,MAAM,CAAC,IAAI,CAAC,iDAAiD,KAAK,eAAe,MAAM,GAAG,CAAC,CAAA;aAC5F;SACF;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAA;SAC5E;QACD,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,wBAAgB,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,UAAE,CAAA;IAC7D,CAAC;CACF,CAAA;AAED;;;GAGG;AACU,QAAA,OAAO,GAAe;IACjC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACvB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,iCAAU,CAAC,OAAO;YAAE,OAAO,UAAE,CAAA;QACjE,MAAM,QAAQ,GAAuB,MAAM,qBAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAEvE,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,OAAO,QAAQ,CAAA;QACjC,OAAO,UAAE,CAAA;IACX,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/validations/profile.ts"],"names":[],"mappings":";;;;;;AAAA,+DAAiD;AACjD,kDAAyB;AACzB,wBAAoC;AACpC,oCAA+E;AAE/E,0FAA0F;AAC1F,MAAM,oBAAoB,GAAG,GAAG,CAAA;AACnB,QAAA,aAAa,GAAe;IACvC,QAAQ,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,EAAE,EAAE;QAChD,IAAI,UAAU,CAAC,MAAM,CAAC,SAAS,GAAG,mBAAgB;YAAE,OAAO,UAAE,CAAA;QAE7D,MAAM,MAAM,GAAa,EAAE,CAAA;QAC3B,MAAM,UAAU,GAAU,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,IAAI,EAAE,CAAA;QAEnE,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE;YAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAA;YAC5C,IAAI,CAAC,IAAI;gBACP,OAAO,wBAAgB,CAAC,oEAAoE,CAAC,CAAA;YAE/F,MAAM,eAAe,GAAG,CAAC,MAAM,aAAa,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,CAAA;YAC/F,IAAI,eAAe,EAAE;gBACnB,OAAO,UAAE,CAAA;aACV;YACD,aAAa;YACb,MAAM,eAAe,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAClD,IAAI,CAAC,eAAe;gBAAE,OAAO,wBAAgB,CAAC,2CAA2C,IAAI,EAAE,CAAC,CAAA;YAChG,IAAI;gBACF,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,eAAK,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAA;gBACzE,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,KAAK;oBAAE,MAAM,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAA;gBAC/G,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE;oBACrB,MAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAA;iBACnE;qBAAM,IAAI,KAAK,KAAK,oBAAoB,IAAI,MAAM,KAAK,oBAAoB,EAAE;oBAC5E,MAAM,CAAC,IAAI,CAAC,iDAAiD,KAAK,eAAe,MAAM,GAAG,CAAC,CAAA;iBAC5F;aACF;YAAC,OAAO,CAAC,EAAE;gBACV,MAAM,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAA;aAC5E;SACF;QACD,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,wBAAgB,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,UAAE,CAAA;IAC7D,CAAC;CACF,CAAA;AAED;;;GAGG;AACU,QAAA,OAAO,GAAe;IACjC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACvB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,iCAAU,CAAC,OAAO;YAAE,OAAO,UAAE,CAAA;QACjE,MAAM,QAAQ,GAAuB,MAAM,qBAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAEvE,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,OAAO,QAAQ,CAAA;QACjC,OAAO,UAAE,CAAA;IACX,CAAC;CACF,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dcl/content-validator",
3
- "version": "1.4.7-20220504190747.commit-d76c573",
3
+ "version": "1.4.7",
4
4
  "description": "Catalyst content validations",
5
5
  "main": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",
@@ -49,5 +49,5 @@
49
49
  "files": [
50
50
  "dist"
51
51
  ],
52
- "commit": "d76c5733858550570c0d8f44d8e6a5c76598e613"
52
+ "commit": "68f69d6be1e660951a681a40310e2d5a13b9b853"
53
53
  }