sanity-plugin-aprimo 0.4.1 → 1.0.0

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 (39) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +5 -6
  3. package/dist/index.d.ts +95 -0
  4. package/dist/index.js +266 -21
  5. package/dist/index.js.map +1 -1
  6. package/package.json +52 -50
  7. package/dist/arrayFunctions.js +0 -116
  8. package/dist/arrayFunctions.js.map +0 -1
  9. package/dist/components/AprimoCDNPreview.js +0 -26
  10. package/dist/components/AprimoCDNPreview.js.map +0 -1
  11. package/dist/components/AprimoCDNWidget.js +0 -163
  12. package/dist/components/AprimoCDNWidget.js.map +0 -1
  13. package/dist/components/AprimoDiff.js +0 -45
  14. package/dist/components/AprimoDiff.js.map +0 -1
  15. package/dist/components/AprimoPreview.js +0 -137
  16. package/dist/components/AprimoPreview.js.map +0 -1
  17. package/dist/components/AprimoWidget.js +0 -247
  18. package/dist/components/AprimoWidget.js.map +0 -1
  19. package/dist/components/ImagePreview.js +0 -32
  20. package/dist/components/ImagePreview.js.map +0 -1
  21. package/dist/components/RenditionSelector.js +0 -49
  22. package/dist/components/RenditionSelector.js.map +0 -1
  23. package/dist/components/SecretsConfigView.js +0 -49
  24. package/dist/components/SecretsConfigView.js.map +0 -1
  25. package/dist/schema/AprimoAsset.js +0 -120
  26. package/dist/schema/AprimoAsset.js.map +0 -1
  27. package/dist/schema/AprimoCDNAsset.js +0 -54
  28. package/dist/schema/AprimoCDNAsset.js.map +0 -1
  29. package/dist/typings.d.js +0 -2
  30. package/dist/typings.d.js.map +0 -1
  31. package/dist/utils/auth.js +0 -41
  32. package/dist/utils/auth.js.map +0 -1
  33. package/dist/utils/getRenditions.js +0 -31
  34. package/dist/utils/getRenditions.js.map +0 -1
  35. package/dist/utils/index.js +0 -45
  36. package/dist/utils/index.js.map +0 -1
  37. package/dist/utils/openSelector.js +0 -36
  38. package/dist/utils/openSelector.js.map +0 -1
  39. package/sanity.json +0 -20
@@ -1,41 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.setAuthToken = void 0;
7
-
8
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
9
-
10
- function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
11
-
12
- //since non-CDN assets don't have URLs, we have to get them at render, and must be authenticated
13
- //(alternative is fetching that data once and storing either the token for preview or the preview data itself
14
- //in the studio)
15
- var setAuthToken = /*#__PURE__*/function () {
16
- var _ref = _asyncToGenerator(function* (secrets) {
17
- //TODO: better error/missing secrets flow
18
- if (!secrets) {
19
- return;
20
- }
21
-
22
- var base64secret = btoa("".concat(secrets.userName, ":").concat(secrets.token));
23
- var headers = {
24
- 'Client-id': secrets.clientId || '',
25
- 'Content-type': 'application/json',
26
- Authorization: "Basic ".concat(base64secret),
27
- 'X-URL': "https://".concat(secrets.tenantName, ".aprimo.com/api/oauth/create-native-token")
28
- };
29
- return fetch(secrets.proxy, {
30
- method: 'POST',
31
- headers
32
- }).then(res => res.json()).then(res => res.accessToken).then(res => localStorage.setItem('aprimoToken', res));
33
- });
34
-
35
- return function setAuthToken(_x) {
36
- return _ref.apply(this, arguments);
37
- };
38
- }();
39
-
40
- exports.setAuthToken = setAuthToken;
41
- //# sourceMappingURL=auth.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utils/auth.ts"],"names":["setAuthToken","secrets","base64secret","btoa","userName","token","headers","clientId","Authorization","tenantName","fetch","proxy","method","then","res","json","accessToken","localStorage","setItem"],"mappings":";;;;;;;;;;;AAEA;AACA;AACA;AAEO,IAAMA,YAAY;AAAA,+BAAG,WAAOC,OAAP,EAAwC;AAClE;AACA,QAAI,CAACA,OAAL,EAAc;AACZ;AACD;;AAED,QAAMC,YAAY,GAAGC,IAAI,WAAIF,OAAO,CAACG,QAAZ,cAAwBH,OAAO,CAACI,KAAhC,EAAzB;AACA,QAAMC,OAAO,GAAG;AACd,mBAAaL,OAAO,CAACM,QAAR,IAAoB,EADnB;AAEd,sBAAgB,kBAFF;AAGdC,MAAAA,aAAa,kBAAWN,YAAX,CAHC;AAId,iCAAoBD,OAAO,CAACQ,UAA5B;AAJc,KAAhB;AAMA,WAAOC,KAAK,CAACT,OAAO,CAACU,KAAT,EAAgB;AAC1BC,MAAAA,MAAM,EAAE,MADkB;AAE1BN,MAAAA;AAF0B,KAAhB,CAAL,CAIJO,IAJI,CAICC,GAAG,IAAIA,GAAG,CAACC,IAAJ,EAJR,EAKJF,IALI,CAKCC,GAAG,IAAIA,GAAG,CAACE,WALZ,EAMJH,IANI,CAMCC,GAAG,IAAIG,YAAY,CAACC,OAAb,CAAqB,aAArB,EAAoCJ,GAApC,CANR,CAAP;AAOD,GApBwB;;AAAA,kBAAZd,YAAY;AAAA;AAAA;AAAA,GAAlB","sourcesContent":["import { Secrets } from '../components/SecretsConfigView'\n\n//since non-CDN assets don't have URLs, we have to get them at render, and must be authenticated\n//(alternative is fetching that data once and storing either the token for preview or the preview data itself\n//in the studio)\n\nexport const setAuthToken = async (secrets: Secrets | undefined) => {\n //TODO: better error/missing secrets flow\n if (!secrets) {\n return\n }\n\n const base64secret = btoa(`${secrets.userName}:${secrets.token}`)\n const headers = {\n 'Client-id': secrets.clientId || '',\n 'Content-type': 'application/json',\n Authorization: `Basic ${base64secret}`,\n 'X-URL': `https://${secrets.tenantName}.aprimo.com/api/oauth/create-native-token`,\n }\n return fetch(secrets.proxy, {\n method: 'POST',\n headers,\n })\n .then(res => res.json())\n .then(res => res.accessToken)\n .then(res => localStorage.setItem('aprimoToken', res))\n}\n"],"file":"auth.js"}
@@ -1,31 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getRenditions = void 0;
7
- var _excluded = ["_links", "uri"];
8
-
9
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
10
-
11
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
12
-
13
- var getRenditions = (secrets, token, recordId) => fetch("https://".concat(secrets === null || secrets === void 0 ? void 0 : secrets.tenantName, ".dam.aprimo.com/api/core/record/").concat(recordId), {
14
- headers: {
15
- Authorization: "Bearer ".concat(token),
16
- 'API-Version': '1',
17
- 'select-record': 'masterfilelatestversion',
18
- 'select-fileversion': 'additionalfiles',
19
- 'select-additionalfile': 'metadata, uri'
20
- }
21
- }).then(res => res.json()).then(res => res._embedded.masterfilelatestversion._embedded.additionalfiles.items.filter(file => !file.metadata.isCropPreview).map(file => {
22
- //remove links for rendundancy and URI because contains temp token
23
- var _links = file._links,
24
- uri = file.uri,
25
- cleanFile = _objectWithoutProperties(file, _excluded);
26
-
27
- return cleanFile;
28
- }));
29
-
30
- exports.getRenditions = getRenditions;
31
- //# sourceMappingURL=getRenditions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utils/getRenditions.ts"],"names":["getRenditions","secrets","token","recordId","fetch","tenantName","headers","Authorization","then","res","json","_embedded","masterfilelatestversion","additionalfiles","items","filter","file","metadata","isCropPreview","map","_links","uri","cleanFile"],"mappings":";;;;;;;;;;;;AAEO,IAAMA,aAAa,GAAG,CAC3BC,OAD2B,EAE3BC,KAF2B,EAG3BC,QAH2B,KAK3BC,KAAK,mBACQH,OADR,aACQA,OADR,uBACQA,OAAO,CAAEI,UADjB,6CAC8DF,QAD9D,GAEH;AACEG,EAAAA,OAAO,EAAE;AACPC,IAAAA,aAAa,mBAAYL,KAAZ,CADN;AAEP,mBAAe,GAFR;AAGP,qBAAiB,yBAHV;AAIP,0BAAsB,iBAJf;AAKP,6BAAyB;AALlB;AADX,CAFG,CAAL,CAYGM,IAZH,CAYQC,GAAG,IAAIA,GAAG,CAACC,IAAJ,EAZf,EAaGF,IAbH,CAaQC,GAAG,IACPA,GAAG,CAACE,SAAJ,CAAcC,uBAAd,CAAsCD,SAAtC,CAAgDE,eAAhD,CAAgEC,KAAhE,CACGC,MADH,CACWC,IAAD,IAA+B,CAACA,IAAI,CAACC,QAAL,CAAcC,aADxD,EAEGC,GAFH,CAEQH,IAAD,IAA+B;AAClC;AACA,MAAQI,MAAR,GAAsCJ,IAAtC,CAAQI,MAAR;AAAA,MAAgBC,GAAhB,GAAsCL,IAAtC,CAAgBK,GAAhB;AAAA,MAAwBC,SAAxB,4BAAsCN,IAAtC;;AACA,SAAOM,SAAP;AACD,CANH,CAdJ,CALK","sourcesContent":["import { Secrets } from '../components/SecretsConfigView'\n\nexport const getRenditions = (\n secrets: Secrets | undefined,\n token: string,\n recordId: string\n) =>\n fetch(\n `https://${secrets?.tenantName}.dam.aprimo.com/api/core/record/${recordId}`,\n {\n headers: {\n Authorization: `Bearer ${token}`,\n 'API-Version': '1',\n 'select-record': 'masterfilelatestversion',\n 'select-fileversion': 'additionalfiles',\n 'select-additionalfile': 'metadata, uri',\n },\n }\n )\n .then(res => res.json())\n .then(res =>\n res._embedded.masterfilelatestversion._embedded.additionalfiles.items\n .filter((file: Record<string, any>) => !file.metadata.isCropPreview)\n .map((file: Record<string, any>) => {\n //remove links for rendundancy and URI because contains temp token\n const { _links, uri, ...cleanFile } = file\n return cleanFile\n })\n )\n"],"file":"getRenditions.js"}
@@ -1,45 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- var _auth = require("./auth");
8
-
9
- Object.keys(_auth).forEach(function (key) {
10
- if (key === "default" || key === "__esModule") return;
11
- if (key in exports && exports[key] === _auth[key]) return;
12
- Object.defineProperty(exports, key, {
13
- enumerable: true,
14
- get: function get() {
15
- return _auth[key];
16
- }
17
- });
18
- });
19
-
20
- var _getRenditions = require("./getRenditions");
21
-
22
- Object.keys(_getRenditions).forEach(function (key) {
23
- if (key === "default" || key === "__esModule") return;
24
- if (key in exports && exports[key] === _getRenditions[key]) return;
25
- Object.defineProperty(exports, key, {
26
- enumerable: true,
27
- get: function get() {
28
- return _getRenditions[key];
29
- }
30
- });
31
- });
32
-
33
- var _openSelector = require("./openSelector");
34
-
35
- Object.keys(_openSelector).forEach(function (key) {
36
- if (key === "default" || key === "__esModule") return;
37
- if (key in exports && exports[key] === _openSelector[key]) return;
38
- Object.defineProperty(exports, key, {
39
- enumerable: true,
40
- get: function get() {
41
- return _openSelector[key];
42
- }
43
- });
44
- });
45
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './auth'\nexport * from './getRenditions'\nexport * from './openSelector'\n"],"file":"index.js"}
@@ -1,36 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.openSelector = void 0;
7
-
8
- var openSelector = (tenantName, selectType) => {
9
- var assetType = 'asset';
10
-
11
- switch (selectType) {
12
- case 'singlerendition':
13
- assetType = 'asset rendition';
14
- break;
15
-
16
- case 'multiple':
17
- assetType = 'assets';
18
- break;
19
-
20
- default:
21
- assetType = 'asset';
22
- }
23
-
24
- var selectorOptions = {
25
- title: "Select ".concat(assetType),
26
- description: "Select the ".concat(assetType, " you'd like to bring into this Sanity document"),
27
- accept: "Use ".concat(assetType),
28
- select: selectType
29
- };
30
- var params = "scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no,\n width=1000,height=600,left=100,top=100";
31
- var encodedOptions = btoa(JSON.stringify(selectorOptions));
32
- window.open("https://".concat(tenantName, ".dam.aprimo.com/dam/selectcontent#options=").concat(encodedOptions), 'selector', params);
33
- };
34
-
35
- exports.openSelector = openSelector;
36
- //# sourceMappingURL=openSelector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utils/openSelector.ts"],"names":["openSelector","tenantName","selectType","assetType","selectorOptions","title","description","accept","select","params","encodedOptions","btoa","JSON","stringify","window","open"],"mappings":";;;;;;;AAAO,IAAMA,YAAY,GAAG,CAACC,UAAD,EAAqBC,UAArB,KAA4C;AACtE,MAAIC,SAAS,GAAG,OAAhB;;AACA,UAAQD,UAAR;AACE,SAAK,iBAAL;AACEC,MAAAA,SAAS,GAAG,iBAAZ;AACA;;AACF,SAAK,UAAL;AACEA,MAAAA,SAAS,GAAG,QAAZ;AACA;;AACF;AACEA,MAAAA,SAAS,GAAG,OAAZ;AARJ;;AAWA,MAAMC,eAAe,GAAG;AACtBC,IAAAA,KAAK,mBAAYF,SAAZ,CADiB;AAEtBG,IAAAA,WAAW,uBAAgBH,SAAhB,mDAFW;AAGtBI,IAAAA,MAAM,gBAASJ,SAAT,CAHgB;AAItBK,IAAAA,MAAM,EAAEN;AAJc,GAAxB;AAOF,MAAIO,MAAM,sHAAV;AAGE,MAAMC,cAAc,GAAGC,IAAI,CAACC,IAAI,CAACC,SAAL,CAAeT,eAAf,CAAD,CAA3B;AACAU,EAAAA,MAAM,CAACC,IAAP,mBACad,UADb,uDACoES,cADpE,GAEE,UAFF,EAEcD,MAFd;AAID,CA5BM","sourcesContent":["export const openSelector = (tenantName: string, selectType: string) => {\n let assetType = 'asset'\n switch (selectType) {\n case 'singlerendition':\n assetType = 'asset rendition'\n break\n case 'multiple':\n assetType = 'assets'\n break\n default:\n assetType = 'asset'\n }\n\n const selectorOptions = {\n title: `Select ${assetType}`,\n description: `Select the ${assetType} you'd like to bring into this Sanity document`,\n accept: `Use ${assetType}`,\n select: selectType,\n }\n \t\nlet params = `scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no,\n width=1000,height=600,left=100,top=100`\n\n const encodedOptions = btoa(JSON.stringify(selectorOptions))\n window.open(\n `https://${tenantName}.dam.aprimo.com/dam/selectcontent#options=${encodedOptions}`,\n 'selector', params\n )\n}\n"],"file":"openSelector.js"}
package/sanity.json DELETED
@@ -1,20 +0,0 @@
1
- {
2
- "paths": {
3
- "source": "src",
4
- "compiled": "dist"
5
- },
6
- "parts": [
7
- {
8
- "implements": "part:@sanity/base/schema-type",
9
- "path": "schema/AprimoAsset"
10
- },
11
- {
12
- "implements": "part:@sanity/base/schema-type",
13
- "path": "schema/AprimoCDNAsset"
14
- },
15
- {
16
- "implements": "part:@sanity/form-builder/input/array/functions",
17
- "path": "arrayFunctions"
18
- }
19
- ]
20
- }