@chayns-components/core 5.5.56 → 5.5.57

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 (35) hide show
  1. package/lib/cjs/api/image/post.js +8 -3
  2. package/lib/cjs/api/image/post.js.map +1 -1
  3. package/lib/cjs/api/video/post.js +7 -3
  4. package/lib/cjs/api/video/post.js.map +1 -1
  5. package/lib/cjs/config/uploadUrls.js +83 -0
  6. package/lib/cjs/config/uploadUrls.js.map +1 -0
  7. package/lib/cjs/config/uploadUrls.test.js +64 -0
  8. package/lib/cjs/config/uploadUrls.test.js.map +1 -0
  9. package/lib/cjs/index.js +25 -0
  10. package/lib/cjs/index.js.map +1 -1
  11. package/lib/cjs/utils/uploadFile.js +6 -3
  12. package/lib/cjs/utils/uploadFile.js.map +1 -1
  13. package/lib/esm/api/image/post.js +8 -3
  14. package/lib/esm/api/image/post.js.map +1 -1
  15. package/lib/esm/api/video/post.js +7 -3
  16. package/lib/esm/api/video/post.js.map +1 -1
  17. package/lib/esm/config/uploadUrls.js +74 -0
  18. package/lib/esm/config/uploadUrls.js.map +1 -0
  19. package/lib/esm/config/uploadUrls.test.js +62 -0
  20. package/lib/esm/config/uploadUrls.test.js.map +1 -0
  21. package/lib/esm/index.js +1 -0
  22. package/lib/esm/index.js.map +1 -1
  23. package/lib/esm/utils/uploadFile.js +6 -3
  24. package/lib/esm/utils/uploadFile.js.map +1 -1
  25. package/lib/types/api/image/post.d.ts +6 -1
  26. package/lib/types/api/video/post.d.ts +6 -1
  27. package/lib/types/config/uploadUrls.d.ts +54 -0
  28. package/lib/types/index.d.ts +1 -0
  29. package/lib/types/utils/uploadFile.d.ts +6 -1
  30. package/package.json +2 -2
  31. package/lib/cjs/constants/serverUrls.js +0 -61
  32. package/lib/cjs/constants/serverUrls.js.map +0 -1
  33. package/lib/esm/constants/serverUrls.js +0 -55
  34. package/lib/esm/constants/serverUrls.js.map +0 -1
  35. package/lib/types/constants/serverUrls.d.ts +0 -34
@@ -5,13 +5,14 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.postImage = void 0;
7
7
  var _chaynsApi = require("chayns-api");
8
- var _serverUrls = require("../../constants/serverUrls");
8
+ var _uploadUrls = require("../../config/uploadUrls");
9
9
  /**
10
10
  * Uploads an image to the tsimg cloud service
11
11
  */
12
12
  const postImage = async ({
13
13
  file,
14
- shouldUploadImageToSite
14
+ shouldUploadImageToSite,
15
+ uploadUrls
15
16
  }) => {
16
17
  const {
17
18
  accessToken
@@ -26,7 +27,11 @@ const postImage = async ({
26
27
 
27
28
  const body = new FormData();
28
29
  body.append('File', file);
29
- const url = file.size > 10 * 1024 * 1024 ? `${_serverUrls.IMAGE_RESIZER_URL}/${shouldUploadImageToSite ? site.id : user.personId}` : `${_serverUrls.IMAGE_SERVICE_URL}/${shouldUploadImageToSite ? site.id : user.personId}`;
30
+ const {
31
+ imageServiceUrl,
32
+ imageResizerUrl
33
+ } = (0, _uploadUrls.getUploadUrls)(uploadUrls);
34
+ const url = file.size > 10 * 1024 * 1024 ? `${imageResizerUrl}/${shouldUploadImageToSite ? site.id : user.personId}` : `${imageServiceUrl}/${shouldUploadImageToSite ? site.id : user.personId}`;
30
35
  const response = await fetch(url, {
31
36
  body,
32
37
  headers: {
@@ -1 +1 @@
1
- {"version":3,"file":"post.js","names":["_chaynsApi","require","_serverUrls","postImage","file","shouldUploadImageToSite","accessToken","getAccessToken","user","getUser","site","getSite","personId","undefined","body","FormData","append","url","size","IMAGE_RESIZER_URL","id","IMAGE_SERVICE_URL","response","fetch","headers","Accept","Authorization","method","ok","image","baseDomain","json","key","path","base","endsWith","slice","meta","preview","width","String","height","Error","status","exports"],"sources":["../../../../src/api/image/post.ts"],"sourcesContent":["import { getAccessToken, getSite, getUser } from 'chayns-api';\nimport { IMAGE_RESIZER_URL, IMAGE_SERVICE_URL } from '../../constants/serverUrls';\nimport type { Meta } from '../../types/file';\n\nexport interface PostImageResult {\n key: string;\n base: string;\n meta?: Meta;\n}\n\ninterface Result {\n requestId: string;\n image: Image;\n baseDomain: string;\n signature: Signature;\n}\n\nexport interface Image {\n path: string;\n width: number;\n height: number;\n size: number;\n hash: string;\n preview: string;\n isSecured: boolean;\n format: string;\n fileExtension: string;\n}\n\nexport interface Signature {\n verify: string;\n signature: string;\n expires: Date;\n}\n\ninterface PostImageOptions {\n file: File;\n shouldUploadImageToSite?: boolean;\n}\n\n/**\n * Uploads an image to the tsimg cloud service\n */\nexport const postImage = async ({\n file,\n shouldUploadImageToSite,\n}: PostImageOptions): Promise<PostImageResult | undefined> => {\n const { accessToken } = await getAccessToken();\n const user = getUser();\n const site = getSite();\n\n if (!accessToken || !user?.personId) {\n return undefined;\n }\n\n // const body = await getFileAsArrayBuffer(file);\n\n const body = new FormData();\n\n body.append('File', file);\n\n const url =\n file.size > 10 * 1024 * 1024\n ? `${IMAGE_RESIZER_URL}/${shouldUploadImageToSite ? site.id : user.personId}`\n : `${IMAGE_SERVICE_URL}/${shouldUploadImageToSite ? site.id : user.personId}`;\n\n const response = await fetch(url, {\n body,\n headers: {\n Accept: 'application/json',\n Authorization: `bearer ${accessToken}`,\n },\n method: 'POST',\n });\n\n if (response.ok) {\n const { image, baseDomain } = (await response.json()) as Result;\n // Maps image-service-api-v3 result to v2 result.\n return {\n key: image.path,\n // Removes trailing slash from baseDomain, since image-service-api-v2 doesn't have a trailing slash on base.\n base: baseDomain.endsWith('/') ? baseDomain.slice(0, -1) : baseDomain,\n meta: {\n preview: image.preview,\n width: String(image.width),\n height: String(image.height),\n },\n };\n }\n\n throw Error(`Failed to POST image (status code: ${response.status}).`);\n};\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAuCA;AACA;AACA;AACO,MAAME,SAAS,GAAG,MAAAA,CAAO;EAC5BC,IAAI;EACJC;AACc,CAAC,KAA2C;EAC1D,MAAM;IAAEC;EAAY,CAAC,GAAG,MAAM,IAAAC,yBAAc,EAAC,CAAC;EAC9C,MAAMC,IAAI,GAAG,IAAAC,kBAAO,EAAC,CAAC;EACtB,MAAMC,IAAI,GAAG,IAAAC,kBAAO,EAAC,CAAC;EAEtB,IAAI,CAACL,WAAW,IAAI,EAACE,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEI,QAAQ,GAAE;IACjC,OAAOC,SAAS;EACpB;;EAEA;;EAEA,MAAMC,IAAI,GAAG,IAAIC,QAAQ,CAAC,CAAC;EAE3BD,IAAI,CAACE,MAAM,CAAC,MAAM,EAAEZ,IAAI,CAAC;EAEzB,MAAMa,GAAG,GACLb,IAAI,CAACc,IAAI,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,GACtB,GAAGC,6BAAiB,IAAId,uBAAuB,GAAGK,IAAI,CAACU,EAAE,GAAGZ,IAAI,CAACI,QAAQ,EAAE,GAC3E,GAAGS,6BAAiB,IAAIhB,uBAAuB,GAAGK,IAAI,CAACU,EAAE,GAAGZ,IAAI,CAACI,QAAQ,EAAE;EAErF,MAAMU,QAAQ,GAAG,MAAMC,KAAK,CAACN,GAAG,EAAE;IAC9BH,IAAI;IACJU,OAAO,EAAE;MACLC,MAAM,EAAE,kBAAkB;MAC1BC,aAAa,EAAE,UAAUpB,WAAW;IACxC,CAAC;IACDqB,MAAM,EAAE;EACZ,CAAC,CAAC;EAEF,IAAIL,QAAQ,CAACM,EAAE,EAAE;IACb,MAAM;MAAEC,KAAK;MAAEC;IAAW,CAAC,GAAI,MAAMR,QAAQ,CAACS,IAAI,CAAC,CAAY;IAC/D;IACA,OAAO;MACHC,GAAG,EAAEH,KAAK,CAACI,IAAI;MACf;MACAC,IAAI,EAAEJ,UAAU,CAACK,QAAQ,CAAC,GAAG,CAAC,GAAGL,UAAU,CAACM,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAGN,UAAU;MACrEO,IAAI,EAAE;QACFC,OAAO,EAAET,KAAK,CAACS,OAAO;QACtBC,KAAK,EAAEC,MAAM,CAACX,KAAK,CAACU,KAAK,CAAC;QAC1BE,MAAM,EAAED,MAAM,CAACX,KAAK,CAACY,MAAM;MAC/B;IACJ,CAAC;EACL;EAEA,MAAMC,KAAK,CAAC,sCAAsCpB,QAAQ,CAACqB,MAAM,IAAI,CAAC;AAC1E,CAAC;AAACC,OAAA,CAAAzC,SAAA,GAAAA,SAAA","ignoreList":[]}
1
+ {"version":3,"file":"post.js","names":["_chaynsApi","require","_uploadUrls","postImage","file","shouldUploadImageToSite","uploadUrls","accessToken","getAccessToken","user","getUser","site","getSite","personId","undefined","body","FormData","append","imageServiceUrl","imageResizerUrl","getUploadUrls","url","size","id","response","fetch","headers","Accept","Authorization","method","ok","image","baseDomain","json","key","path","base","endsWith","slice","meta","preview","width","String","height","Error","status","exports"],"sources":["../../../../src/api/image/post.ts"],"sourcesContent":["import { getAccessToken, getSite, getUser } from 'chayns-api';\nimport { getUploadUrls, type UploadUrls } from '../../config/uploadUrls';\nimport type { Meta } from '../../types/file';\n\nexport interface PostImageResult {\n key: string;\n base: string;\n meta?: Meta;\n}\n\ninterface Result {\n requestId: string;\n image: Image;\n baseDomain: string;\n signature: Signature;\n}\n\nexport interface Image {\n path: string;\n width: number;\n height: number;\n size: number;\n hash: string;\n preview: string;\n isSecured: boolean;\n format: string;\n fileExtension: string;\n}\n\nexport interface Signature {\n verify: string;\n signature: string;\n expires: Date;\n}\n\ninterface PostImageOptions {\n file: File;\n shouldUploadImageToSite?: boolean;\n /**\n * Overrides the globally configured upload service URLs for this upload.\n */\n uploadUrls?: Partial<UploadUrls>;\n}\n\n/**\n * Uploads an image to the tsimg cloud service\n */\nexport const postImage = async ({\n file,\n shouldUploadImageToSite,\n uploadUrls,\n}: PostImageOptions): Promise<PostImageResult | undefined> => {\n const { accessToken } = await getAccessToken();\n const user = getUser();\n const site = getSite();\n\n if (!accessToken || !user?.personId) {\n return undefined;\n }\n\n // const body = await getFileAsArrayBuffer(file);\n\n const body = new FormData();\n\n body.append('File', file);\n\n const { imageServiceUrl, imageResizerUrl } = getUploadUrls(uploadUrls);\n\n const url =\n file.size > 10 * 1024 * 1024\n ? `${imageResizerUrl}/${shouldUploadImageToSite ? site.id : user.personId}`\n : `${imageServiceUrl}/${shouldUploadImageToSite ? site.id : user.personId}`;\n\n const response = await fetch(url, {\n body,\n headers: {\n Accept: 'application/json',\n Authorization: `bearer ${accessToken}`,\n },\n method: 'POST',\n });\n\n if (response.ok) {\n const { image, baseDomain } = (await response.json()) as Result;\n // Maps image-service-api-v3 result to v2 result.\n return {\n key: image.path,\n // Removes trailing slash from baseDomain, since image-service-api-v2 doesn't have a trailing slash on base.\n base: baseDomain.endsWith('/') ? baseDomain.slice(0, -1) : baseDomain,\n meta: {\n preview: image.preview,\n width: String(image.width),\n height: String(image.height),\n },\n };\n }\n\n throw Error(`Failed to POST image (status code: ${response.status}).`);\n};\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AA2CA;AACA;AACA;AACO,MAAME,SAAS,GAAG,MAAAA,CAAO;EAC5BC,IAAI;EACJC,uBAAuB;EACvBC;AACc,CAAC,KAA2C;EAC1D,MAAM;IAAEC;EAAY,CAAC,GAAG,MAAM,IAAAC,yBAAc,EAAC,CAAC;EAC9C,MAAMC,IAAI,GAAG,IAAAC,kBAAO,EAAC,CAAC;EACtB,MAAMC,IAAI,GAAG,IAAAC,kBAAO,EAAC,CAAC;EAEtB,IAAI,CAACL,WAAW,IAAI,EAACE,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEI,QAAQ,GAAE;IACjC,OAAOC,SAAS;EACpB;;EAEA;;EAEA,MAAMC,IAAI,GAAG,IAAIC,QAAQ,CAAC,CAAC;EAE3BD,IAAI,CAACE,MAAM,CAAC,MAAM,EAAEb,IAAI,CAAC;EAEzB,MAAM;IAAEc,eAAe;IAAEC;EAAgB,CAAC,GAAG,IAAAC,yBAAa,EAACd,UAAU,CAAC;EAEtE,MAAMe,GAAG,GACLjB,IAAI,CAACkB,IAAI,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,GACtB,GAAGH,eAAe,IAAId,uBAAuB,GAAGM,IAAI,CAACY,EAAE,GAAGd,IAAI,CAACI,QAAQ,EAAE,GACzE,GAAGK,eAAe,IAAIb,uBAAuB,GAAGM,IAAI,CAACY,EAAE,GAAGd,IAAI,CAACI,QAAQ,EAAE;EAEnF,MAAMW,QAAQ,GAAG,MAAMC,KAAK,CAACJ,GAAG,EAAE;IAC9BN,IAAI;IACJW,OAAO,EAAE;MACLC,MAAM,EAAE,kBAAkB;MAC1BC,aAAa,EAAE,UAAUrB,WAAW;IACxC,CAAC;IACDsB,MAAM,EAAE;EACZ,CAAC,CAAC;EAEF,IAAIL,QAAQ,CAACM,EAAE,EAAE;IACb,MAAM;MAAEC,KAAK;MAAEC;IAAW,CAAC,GAAI,MAAMR,QAAQ,CAACS,IAAI,CAAC,CAAY;IAC/D;IACA,OAAO;MACHC,GAAG,EAAEH,KAAK,CAACI,IAAI;MACf;MACAC,IAAI,EAAEJ,UAAU,CAACK,QAAQ,CAAC,GAAG,CAAC,GAAGL,UAAU,CAACM,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAGN,UAAU;MACrEO,IAAI,EAAE;QACFC,OAAO,EAAET,KAAK,CAACS,OAAO;QACtBC,KAAK,EAAEC,MAAM,CAACX,KAAK,CAACU,KAAK,CAAC;QAC1BE,MAAM,EAAED,MAAM,CAACX,KAAK,CAACY,MAAM;MAC/B;IACJ,CAAC;EACL;EAEA,MAAMC,KAAK,CAAC,sCAAsCpB,QAAQ,CAACqB,MAAM,IAAI,CAAC;AAC1E,CAAC;AAACC,OAAA,CAAA3C,SAAA,GAAAA,SAAA","ignoreList":[]}
@@ -5,12 +5,13 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.postVideo = void 0;
7
7
  var _chaynsApi = require("chayns-api");
8
- var _serverUrls = require("../../constants/serverUrls");
8
+ var _uploadUrls = require("../../config/uploadUrls");
9
9
  /**
10
10
  * Uploads a video to the streaming service
11
11
  */
12
12
  const postVideo = async ({
13
- file
13
+ file,
14
+ uploadUrls
14
15
  }) => {
15
16
  const {
16
17
  accessToken
@@ -20,7 +21,10 @@ const postVideo = async ({
20
21
  }
21
22
  const formData = new FormData();
22
23
  formData.append('files', file);
23
- const response = await fetch(`${_serverUrls.VIDEO_SERVICE_URL}?disableIntercom=true`, {
24
+ const {
25
+ videoServiceUrl
26
+ } = (0, _uploadUrls.getUploadUrls)(uploadUrls);
27
+ const response = await fetch(`${videoServiceUrl}?disableIntercom=true`, {
24
28
  body: formData,
25
29
  headers: {
26
30
  Authorization: `bearer ${accessToken}`
@@ -1 +1 @@
1
- {"version":3,"file":"post.js","names":["_chaynsApi","require","_serverUrls","postVideo","file","accessToken","getAccessToken","undefined","formData","FormData","append","response","fetch","VIDEO_SERVICE_URL","body","headers","Authorization","method","ok","data","json","Error","status","exports"],"sources":["../../../../src/api/video/post.ts"],"sourcesContent":["import { getAccessToken } from 'chayns-api';\nimport { VIDEO_SERVICE_URL } from '../../constants/serverUrls';\n\nexport interface PostVideoResult {\n id: string;\n originalVideoQuality: string;\n thumbnailUrl: string;\n url: string;\n urlMP4: string;\n}\n\ninterface PostVideoOptions {\n file: File | Blob;\n}\n\n/**\n * Uploads a video to the streaming service\n */\nexport const postVideo = async ({\n file,\n}: PostVideoOptions): Promise<PostVideoResult | undefined> => {\n const { accessToken } = await getAccessToken();\n\n if (!accessToken) {\n return undefined;\n }\n\n const formData = new FormData();\n\n formData.append('files', file);\n\n const response = await fetch(`${VIDEO_SERVICE_URL}?disableIntercom=true`, {\n body: formData,\n headers: {\n Authorization: `bearer ${accessToken}`,\n },\n method: 'POST',\n });\n\n if (response.ok) {\n const data = (await response.json()) as PostVideoResult[];\n\n return data[0];\n }\n\n throw Error(`Failed to POST video (status code: ${response.status}).`);\n};\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAcA;AACA;AACA;AACO,MAAME,SAAS,GAAG,MAAAA,CAAO;EAC5BC;AACc,CAAC,KAA2C;EAC1D,MAAM;IAAEC;EAAY,CAAC,GAAG,MAAM,IAAAC,yBAAc,EAAC,CAAC;EAE9C,IAAI,CAACD,WAAW,EAAE;IACd,OAAOE,SAAS;EACpB;EAEA,MAAMC,QAAQ,GAAG,IAAIC,QAAQ,CAAC,CAAC;EAE/BD,QAAQ,CAACE,MAAM,CAAC,OAAO,EAAEN,IAAI,CAAC;EAE9B,MAAMO,QAAQ,GAAG,MAAMC,KAAK,CAAC,GAAGC,6BAAiB,uBAAuB,EAAE;IACtEC,IAAI,EAAEN,QAAQ;IACdO,OAAO,EAAE;MACLC,aAAa,EAAE,UAAUX,WAAW;IACxC,CAAC;IACDY,MAAM,EAAE;EACZ,CAAC,CAAC;EAEF,IAAIN,QAAQ,CAACO,EAAE,EAAE;IACb,MAAMC,IAAI,GAAI,MAAMR,QAAQ,CAACS,IAAI,CAAC,CAAuB;IAEzD,OAAOD,IAAI,CAAC,CAAC,CAAC;EAClB;EAEA,MAAME,KAAK,CAAC,sCAAsCV,QAAQ,CAACW,MAAM,IAAI,CAAC;AAC1E,CAAC;AAACC,OAAA,CAAApB,SAAA,GAAAA,SAAA","ignoreList":[]}
1
+ {"version":3,"file":"post.js","names":["_chaynsApi","require","_uploadUrls","postVideo","file","uploadUrls","accessToken","getAccessToken","undefined","formData","FormData","append","videoServiceUrl","getUploadUrls","response","fetch","body","headers","Authorization","method","ok","data","json","Error","status","exports"],"sources":["../../../../src/api/video/post.ts"],"sourcesContent":["import { getAccessToken } from 'chayns-api';\nimport { getUploadUrls, type UploadUrls } from '../../config/uploadUrls';\n\nexport interface PostVideoResult {\n id: string;\n originalVideoQuality: string;\n thumbnailUrl: string;\n url: string;\n urlMP4: string;\n}\n\ninterface PostVideoOptions {\n file: File | Blob;\n /**\n * Overrides the globally configured upload service URLs for this upload.\n */\n uploadUrls?: Partial<UploadUrls>;\n}\n\n/**\n * Uploads a video to the streaming service\n */\nexport const postVideo = async ({\n file,\n uploadUrls,\n}: PostVideoOptions): Promise<PostVideoResult | undefined> => {\n const { accessToken } = await getAccessToken();\n\n if (!accessToken) {\n return undefined;\n }\n\n const formData = new FormData();\n\n formData.append('files', file);\n\n const { videoServiceUrl } = getUploadUrls(uploadUrls);\n\n const response = await fetch(`${videoServiceUrl}?disableIntercom=true`, {\n body: formData,\n headers: {\n Authorization: `bearer ${accessToken}`,\n },\n method: 'POST',\n });\n\n if (response.ok) {\n const data = (await response.json()) as PostVideoResult[];\n\n return data[0];\n }\n\n throw Error(`Failed to POST video (status code: ${response.status}).`);\n};\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAkBA;AACA;AACA;AACO,MAAME,SAAS,GAAG,MAAAA,CAAO;EAC5BC,IAAI;EACJC;AACc,CAAC,KAA2C;EAC1D,MAAM;IAAEC;EAAY,CAAC,GAAG,MAAM,IAAAC,yBAAc,EAAC,CAAC;EAE9C,IAAI,CAACD,WAAW,EAAE;IACd,OAAOE,SAAS;EACpB;EAEA,MAAMC,QAAQ,GAAG,IAAIC,QAAQ,CAAC,CAAC;EAE/BD,QAAQ,CAACE,MAAM,CAAC,OAAO,EAAEP,IAAI,CAAC;EAE9B,MAAM;IAAEQ;EAAgB,CAAC,GAAG,IAAAC,yBAAa,EAACR,UAAU,CAAC;EAErD,MAAMS,QAAQ,GAAG,MAAMC,KAAK,CAAC,GAAGH,eAAe,uBAAuB,EAAE;IACpEI,IAAI,EAAEP,QAAQ;IACdQ,OAAO,EAAE;MACLC,aAAa,EAAE,UAAUZ,WAAW;IACxC,CAAC;IACDa,MAAM,EAAE;EACZ,CAAC,CAAC;EAEF,IAAIL,QAAQ,CAACM,EAAE,EAAE;IACb,MAAMC,IAAI,GAAI,MAAMP,QAAQ,CAACQ,IAAI,CAAC,CAAuB;IAEzD,OAAOD,IAAI,CAAC,CAAC,CAAC;EAClB;EAEA,MAAME,KAAK,CAAC,sCAAsCT,QAAQ,CAACU,MAAM,IAAI,CAAC;AAC1E,CAAC;AAACC,OAAA,CAAAtB,SAAA,GAAAA,SAAA","ignoreList":[]}
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.setUploadUrls = exports.resetUploadUrls = exports.getUploadUrls = exports.DEFAULT_UPLOAD_URLS = void 0;
7
+ /**
8
+ * URLs of the services used to upload images and videos.
9
+ */
10
+
11
+ /**
12
+ * Default chayns upload service URLs that are used when no custom URLs have
13
+ * been configured via {@link setUploadUrls}.
14
+ */
15
+ const DEFAULT_UPLOAD_URLS = exports.DEFAULT_UPLOAD_URLS = {
16
+ imageServiceUrl: 'https://cube.tobit.cloud/image-service/v3/Images',
17
+ imageResizerUrl: 'https://cube.tobit.cloud/image-resizer-backend/api/v1.0/image',
18
+ videoServiceUrl: 'https://streamingservice.chayns.space/video'
19
+ };
20
+ let configuredUploadUrls = {
21
+ ...DEFAULT_UPLOAD_URLS
22
+ };
23
+
24
+ /**
25
+ * Overrides the URLs of the services used to upload images and videos, e.g. for
26
+ * OnPremise deployments with self-hosted services.
27
+ *
28
+ * This has to be called once during the startup of the consuming application,
29
+ * before an upload is triggered. Environment variables cannot be used inside
30
+ * this package, because it is bundled before the consuming application is built
31
+ * and therefore no longer contains replaceable `process.env` references.
32
+ *
33
+ * Only the URLs that are passed are overridden, all others keep their current
34
+ * value.
35
+ *
36
+ * @example
37
+ * ```ts
38
+ * setUploadUrls({
39
+ * imageServiceUrl: process.env.PUBLIC_IMAGE_SERVICE_URL,
40
+ * imageResizerUrl: process.env.PUBLIC_IMAGE_RESIZER_URL,
41
+ * videoServiceUrl: process.env.PUBLIC_VIDEO_SERVICE_URL,
42
+ * });
43
+ * ```
44
+ */
45
+ const setUploadUrls = urls => {
46
+ if (!urls) {
47
+ return;
48
+ }
49
+ configuredUploadUrls = {
50
+ imageServiceUrl: urls.imageServiceUrl ?? configuredUploadUrls.imageServiceUrl,
51
+ imageResizerUrl: urls.imageResizerUrl ?? configuredUploadUrls.imageResizerUrl,
52
+ videoServiceUrl: urls.videoServiceUrl ?? configuredUploadUrls.videoServiceUrl
53
+ };
54
+ };
55
+
56
+ /**
57
+ * Returns the currently configured upload service URLs, optionally merged with
58
+ * the given overrides. Overrides take precedence over the globally configured
59
+ * URLs, which in turn take precedence over {@link DEFAULT_UPLOAD_URLS}.
60
+ */
61
+ exports.setUploadUrls = setUploadUrls;
62
+ const getUploadUrls = overrides => {
63
+ if (!overrides) {
64
+ return configuredUploadUrls;
65
+ }
66
+ return {
67
+ imageServiceUrl: overrides.imageServiceUrl ?? configuredUploadUrls.imageServiceUrl,
68
+ imageResizerUrl: overrides.imageResizerUrl ?? configuredUploadUrls.imageResizerUrl,
69
+ videoServiceUrl: overrides.videoServiceUrl ?? configuredUploadUrls.videoServiceUrl
70
+ };
71
+ };
72
+
73
+ /**
74
+ * Resets the upload service URLs to {@link DEFAULT_UPLOAD_URLS}.
75
+ */
76
+ exports.getUploadUrls = getUploadUrls;
77
+ const resetUploadUrls = () => {
78
+ configuredUploadUrls = {
79
+ ...DEFAULT_UPLOAD_URLS
80
+ };
81
+ };
82
+ exports.resetUploadUrls = resetUploadUrls;
83
+ //# sourceMappingURL=uploadUrls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uploadUrls.js","names":["DEFAULT_UPLOAD_URLS","exports","imageServiceUrl","imageResizerUrl","videoServiceUrl","configuredUploadUrls","setUploadUrls","urls","getUploadUrls","overrides","resetUploadUrls"],"sources":["../../../src/config/uploadUrls.ts"],"sourcesContent":["/**\n * URLs of the services used to upload images and videos.\n */\nexport interface UploadUrls {\n /**\n * URL of the image service used to upload images.\n */\n imageServiceUrl: string;\n /**\n * URL of the image resizer service used to upload images larger than 10 MB.\n */\n imageResizerUrl: string;\n /**\n * URL of the streaming service used to upload videos.\n */\n videoServiceUrl: string;\n}\n\n/**\n * Default chayns upload service URLs that are used when no custom URLs have\n * been configured via {@link setUploadUrls}.\n */\nexport const DEFAULT_UPLOAD_URLS: UploadUrls = {\n imageServiceUrl: 'https://cube.tobit.cloud/image-service/v3/Images',\n imageResizerUrl: 'https://cube.tobit.cloud/image-resizer-backend/api/v1.0/image',\n videoServiceUrl: 'https://streamingservice.chayns.space/video',\n};\n\nlet configuredUploadUrls: UploadUrls = { ...DEFAULT_UPLOAD_URLS };\n\n/**\n * Overrides the URLs of the services used to upload images and videos, e.g. for\n * OnPremise deployments with self-hosted services.\n *\n * This has to be called once during the startup of the consuming application,\n * before an upload is triggered. Environment variables cannot be used inside\n * this package, because it is bundled before the consuming application is built\n * and therefore no longer contains replaceable `process.env` references.\n *\n * Only the URLs that are passed are overridden, all others keep their current\n * value.\n *\n * @example\n * ```ts\n * setUploadUrls({\n * imageServiceUrl: process.env.PUBLIC_IMAGE_SERVICE_URL,\n * imageResizerUrl: process.env.PUBLIC_IMAGE_RESIZER_URL,\n * videoServiceUrl: process.env.PUBLIC_VIDEO_SERVICE_URL,\n * });\n * ```\n */\nexport const setUploadUrls = (urls?: Partial<UploadUrls>): void => {\n if (!urls) {\n return;\n }\n\n configuredUploadUrls = {\n imageServiceUrl: urls.imageServiceUrl ?? configuredUploadUrls.imageServiceUrl,\n imageResizerUrl: urls.imageResizerUrl ?? configuredUploadUrls.imageResizerUrl,\n videoServiceUrl: urls.videoServiceUrl ?? configuredUploadUrls.videoServiceUrl,\n };\n};\n\n/**\n * Returns the currently configured upload service URLs, optionally merged with\n * the given overrides. Overrides take precedence over the globally configured\n * URLs, which in turn take precedence over {@link DEFAULT_UPLOAD_URLS}.\n */\nexport const getUploadUrls = (overrides?: Partial<UploadUrls>): UploadUrls => {\n if (!overrides) {\n return configuredUploadUrls;\n }\n\n return {\n imageServiceUrl: overrides.imageServiceUrl ?? configuredUploadUrls.imageServiceUrl,\n imageResizerUrl: overrides.imageResizerUrl ?? configuredUploadUrls.imageResizerUrl,\n videoServiceUrl: overrides.videoServiceUrl ?? configuredUploadUrls.videoServiceUrl,\n };\n};\n\n/**\n * Resets the upload service URLs to {@link DEFAULT_UPLOAD_URLS}.\n */\nexport const resetUploadUrls = (): void => {\n configuredUploadUrls = { ...DEFAULT_UPLOAD_URLS };\n};\n"],"mappings":";;;;;;AAAA;AACA;AACA;;AAgBA;AACA;AACA;AACA;AACO,MAAMA,mBAA+B,GAAAC,OAAA,CAAAD,mBAAA,GAAG;EAC3CE,eAAe,EAAE,kDAAkD;EACnEC,eAAe,EAAE,+DAA+D;EAChFC,eAAe,EAAE;AACrB,CAAC;AAED,IAAIC,oBAAgC,GAAG;EAAE,GAAGL;AAAoB,CAAC;;AAEjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMM,aAAa,GAAIC,IAA0B,IAAW;EAC/D,IAAI,CAACA,IAAI,EAAE;IACP;EACJ;EAEAF,oBAAoB,GAAG;IACnBH,eAAe,EAAEK,IAAI,CAACL,eAAe,IAAIG,oBAAoB,CAACH,eAAe;IAC7EC,eAAe,EAAEI,IAAI,CAACJ,eAAe,IAAIE,oBAAoB,CAACF,eAAe;IAC7EC,eAAe,EAAEG,IAAI,CAACH,eAAe,IAAIC,oBAAoB,CAACD;EAClE,CAAC;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA;AAJAH,OAAA,CAAAK,aAAA,GAAAA,aAAA;AAKO,MAAME,aAAa,GAAIC,SAA+B,IAAiB;EAC1E,IAAI,CAACA,SAAS,EAAE;IACZ,OAAOJ,oBAAoB;EAC/B;EAEA,OAAO;IACHH,eAAe,EAAEO,SAAS,CAACP,eAAe,IAAIG,oBAAoB,CAACH,eAAe;IAClFC,eAAe,EAAEM,SAAS,CAACN,eAAe,IAAIE,oBAAoB,CAACF,eAAe;IAClFC,eAAe,EAAEK,SAAS,CAACL,eAAe,IAAIC,oBAAoB,CAACD;EACvE,CAAC;AACL,CAAC;;AAED;AACA;AACA;AAFAH,OAAA,CAAAO,aAAA,GAAAA,aAAA;AAGO,MAAME,eAAe,GAAGA,CAAA,KAAY;EACvCL,oBAAoB,GAAG;IAAE,GAAGL;EAAoB,CAAC;AACrD,CAAC;AAACC,OAAA,CAAAS,eAAA,GAAAA,eAAA","ignoreList":[]}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+
3
+ var _vitest = require("vitest");
4
+ var _uploadUrls = require("./uploadUrls");
5
+ (0, _vitest.describe)('uploadUrls', () => {
6
+ (0, _vitest.afterEach)(() => {
7
+ (0, _uploadUrls.resetUploadUrls)();
8
+ });
9
+ (0, _vitest.it)('returns the default urls when nothing has been configured', () => {
10
+ (0, _vitest.expect)((0, _uploadUrls.getUploadUrls)()).toEqual(_uploadUrls.DEFAULT_UPLOAD_URLS);
11
+ });
12
+ (0, _vitest.it)('overrides only the urls that are passed', () => {
13
+ (0, _uploadUrls.setUploadUrls)({
14
+ imageServiceUrl: 'https://onprem.local/img'
15
+ });
16
+ (0, _vitest.expect)((0, _uploadUrls.getUploadUrls)()).toEqual({
17
+ ..._uploadUrls.DEFAULT_UPLOAD_URLS,
18
+ imageServiceUrl: 'https://onprem.local/img'
19
+ });
20
+ });
21
+ (0, _vitest.it)('keeps the configured url when an undefined value is passed', () => {
22
+ (0, _uploadUrls.setUploadUrls)({
23
+ videoServiceUrl: 'https://onprem.local/video'
24
+ });
25
+ (0, _uploadUrls.setUploadUrls)({
26
+ videoServiceUrl: undefined
27
+ });
28
+ (0, _vitest.expect)((0, _uploadUrls.getUploadUrls)().videoServiceUrl).toBe('https://onprem.local/video');
29
+ });
30
+ (0, _vitest.it)('ignores an undefined configuration', () => {
31
+ (0, _uploadUrls.setUploadUrls)({
32
+ imageResizerUrl: 'https://onprem.local/resizer'
33
+ });
34
+ (0, _uploadUrls.setUploadUrls)(undefined);
35
+ (0, _vitest.expect)((0, _uploadUrls.getUploadUrls)().imageResizerUrl).toBe('https://onprem.local/resizer');
36
+ });
37
+ (0, _vitest.it)('prefers the given overrides over the configured urls', () => {
38
+ (0, _uploadUrls.setUploadUrls)({
39
+ imageServiceUrl: 'https://onprem.local/img'
40
+ });
41
+ (0, _vitest.expect)((0, _uploadUrls.getUploadUrls)({
42
+ imageServiceUrl: 'https://call.local/img'
43
+ }).imageServiceUrl).toBe('https://call.local/img');
44
+ });
45
+ (0, _vitest.it)('does not change the configured urls when overrides are given', () => {
46
+ (0, _uploadUrls.setUploadUrls)({
47
+ imageServiceUrl: 'https://onprem.local/img'
48
+ });
49
+ (0, _uploadUrls.getUploadUrls)({
50
+ imageServiceUrl: 'https://call.local/img'
51
+ });
52
+ (0, _vitest.expect)((0, _uploadUrls.getUploadUrls)().imageServiceUrl).toBe('https://onprem.local/img');
53
+ });
54
+ (0, _vitest.it)('resets the urls back to the defaults', () => {
55
+ (0, _uploadUrls.setUploadUrls)({
56
+ imageServiceUrl: 'https://onprem.local/img',
57
+ imageResizerUrl: 'https://onprem.local/resizer',
58
+ videoServiceUrl: 'https://onprem.local/video'
59
+ });
60
+ (0, _uploadUrls.resetUploadUrls)();
61
+ (0, _vitest.expect)((0, _uploadUrls.getUploadUrls)()).toEqual(_uploadUrls.DEFAULT_UPLOAD_URLS);
62
+ });
63
+ });
64
+ //# sourceMappingURL=uploadUrls.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uploadUrls.test.js","names":["_vitest","require","_uploadUrls","describe","afterEach","resetUploadUrls","it","expect","getUploadUrls","toEqual","DEFAULT_UPLOAD_URLS","setUploadUrls","imageServiceUrl","videoServiceUrl","undefined","toBe","imageResizerUrl"],"sources":["../../../src/config/uploadUrls.test.ts"],"sourcesContent":["import { afterEach, describe, expect, it } from 'vitest';\nimport { DEFAULT_UPLOAD_URLS, getUploadUrls, resetUploadUrls, setUploadUrls } from './uploadUrls';\n\ndescribe('uploadUrls', () => {\n afterEach(() => {\n resetUploadUrls();\n });\n\n it('returns the default urls when nothing has been configured', () => {\n expect(getUploadUrls()).toEqual(DEFAULT_UPLOAD_URLS);\n });\n\n it('overrides only the urls that are passed', () => {\n setUploadUrls({ imageServiceUrl: 'https://onprem.local/img' });\n\n expect(getUploadUrls()).toEqual({\n ...DEFAULT_UPLOAD_URLS,\n imageServiceUrl: 'https://onprem.local/img',\n });\n });\n\n it('keeps the configured url when an undefined value is passed', () => {\n setUploadUrls({ videoServiceUrl: 'https://onprem.local/video' });\n setUploadUrls({ videoServiceUrl: undefined });\n\n expect(getUploadUrls().videoServiceUrl).toBe('https://onprem.local/video');\n });\n\n it('ignores an undefined configuration', () => {\n setUploadUrls({ imageResizerUrl: 'https://onprem.local/resizer' });\n setUploadUrls(undefined);\n\n expect(getUploadUrls().imageResizerUrl).toBe('https://onprem.local/resizer');\n });\n\n it('prefers the given overrides over the configured urls', () => {\n setUploadUrls({ imageServiceUrl: 'https://onprem.local/img' });\n\n expect(getUploadUrls({ imageServiceUrl: 'https://call.local/img' }).imageServiceUrl).toBe(\n 'https://call.local/img',\n );\n });\n\n it('does not change the configured urls when overrides are given', () => {\n setUploadUrls({ imageServiceUrl: 'https://onprem.local/img' });\n getUploadUrls({ imageServiceUrl: 'https://call.local/img' });\n\n expect(getUploadUrls().imageServiceUrl).toBe('https://onprem.local/img');\n });\n\n it('resets the urls back to the defaults', () => {\n setUploadUrls({\n imageServiceUrl: 'https://onprem.local/img',\n imageResizerUrl: 'https://onprem.local/resizer',\n videoServiceUrl: 'https://onprem.local/video',\n });\n resetUploadUrls();\n\n expect(getUploadUrls()).toEqual(DEFAULT_UPLOAD_URLS);\n });\n});\n"],"mappings":";;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAEA,IAAAE,gBAAQ,EAAC,YAAY,EAAE,MAAM;EACzB,IAAAC,iBAAS,EAAC,MAAM;IACZ,IAAAC,2BAAe,EAAC,CAAC;EACrB,CAAC,CAAC;EAEF,IAAAC,UAAE,EAAC,2DAA2D,EAAE,MAAM;IAClE,IAAAC,cAAM,EAAC,IAAAC,yBAAa,EAAC,CAAC,CAAC,CAACC,OAAO,CAACC,+BAAmB,CAAC;EACxD,CAAC,CAAC;EAEF,IAAAJ,UAAE,EAAC,yCAAyC,EAAE,MAAM;IAChD,IAAAK,yBAAa,EAAC;MAAEC,eAAe,EAAE;IAA2B,CAAC,CAAC;IAE9D,IAAAL,cAAM,EAAC,IAAAC,yBAAa,EAAC,CAAC,CAAC,CAACC,OAAO,CAAC;MAC5B,GAAGC,+BAAmB;MACtBE,eAAe,EAAE;IACrB,CAAC,CAAC;EACN,CAAC,CAAC;EAEF,IAAAN,UAAE,EAAC,4DAA4D,EAAE,MAAM;IACnE,IAAAK,yBAAa,EAAC;MAAEE,eAAe,EAAE;IAA6B,CAAC,CAAC;IAChE,IAAAF,yBAAa,EAAC;MAAEE,eAAe,EAAEC;IAAU,CAAC,CAAC;IAE7C,IAAAP,cAAM,EAAC,IAAAC,yBAAa,EAAC,CAAC,CAACK,eAAe,CAAC,CAACE,IAAI,CAAC,4BAA4B,CAAC;EAC9E,CAAC,CAAC;EAEF,IAAAT,UAAE,EAAC,oCAAoC,EAAE,MAAM;IAC3C,IAAAK,yBAAa,EAAC;MAAEK,eAAe,EAAE;IAA+B,CAAC,CAAC;IAClE,IAAAL,yBAAa,EAACG,SAAS,CAAC;IAExB,IAAAP,cAAM,EAAC,IAAAC,yBAAa,EAAC,CAAC,CAACQ,eAAe,CAAC,CAACD,IAAI,CAAC,8BAA8B,CAAC;EAChF,CAAC,CAAC;EAEF,IAAAT,UAAE,EAAC,sDAAsD,EAAE,MAAM;IAC7D,IAAAK,yBAAa,EAAC;MAAEC,eAAe,EAAE;IAA2B,CAAC,CAAC;IAE9D,IAAAL,cAAM,EAAC,IAAAC,yBAAa,EAAC;MAAEI,eAAe,EAAE;IAAyB,CAAC,CAAC,CAACA,eAAe,CAAC,CAACG,IAAI,CACrF,wBACJ,CAAC;EACL,CAAC,CAAC;EAEF,IAAAT,UAAE,EAAC,8DAA8D,EAAE,MAAM;IACrE,IAAAK,yBAAa,EAAC;MAAEC,eAAe,EAAE;IAA2B,CAAC,CAAC;IAC9D,IAAAJ,yBAAa,EAAC;MAAEI,eAAe,EAAE;IAAyB,CAAC,CAAC;IAE5D,IAAAL,cAAM,EAAC,IAAAC,yBAAa,EAAC,CAAC,CAACI,eAAe,CAAC,CAACG,IAAI,CAAC,0BAA0B,CAAC;EAC5E,CAAC,CAAC;EAEF,IAAAT,UAAE,EAAC,sCAAsC,EAAE,MAAM;IAC7C,IAAAK,yBAAa,EAAC;MACVC,eAAe,EAAE,0BAA0B;MAC3CI,eAAe,EAAE,8BAA8B;MAC/CH,eAAe,EAAE;IACrB,CAAC,CAAC;IACF,IAAAR,2BAAe,EAAC,CAAC;IAEjB,IAAAE,cAAM,EAAC,IAAAC,yBAAa,EAAC,CAAC,CAAC,CAACC,OAAO,CAACC,+BAAmB,CAAC;EACxD,CAAC,CAAC;AACN,CAAC,CAAC","ignoreList":[]}
package/lib/cjs/index.js CHANGED
@@ -153,6 +153,12 @@ Object.defineProperty(exports, "CopyableContentAppearance", {
153
153
  return _CopyableContent.CopyableContentAppearance;
154
154
  }
155
155
  });
156
+ Object.defineProperty(exports, "DEFAULT_UPLOAD_URLS", {
157
+ enumerable: true,
158
+ get: function () {
159
+ return _uploadUrls.DEFAULT_UPLOAD_URLS;
160
+ }
161
+ });
156
162
  Object.defineProperty(exports, "DropdownBodyWrapper", {
157
163
  enumerable: true,
158
164
  get: function () {
@@ -525,6 +531,12 @@ Object.defineProperty(exports, "getHumanSize", {
525
531
  return _file.getHumanSize;
526
532
  }
527
533
  });
534
+ Object.defineProperty(exports, "getUploadUrls", {
535
+ enumerable: true,
536
+ get: function () {
537
+ return _uploadUrls.getUploadUrls;
538
+ }
539
+ });
528
540
  Object.defineProperty(exports, "getUsableHeight", {
529
541
  enumerable: true,
530
542
  get: function () {
@@ -543,12 +555,24 @@ Object.defineProperty(exports, "isValidFileType", {
543
555
  return _file.isValidFileType;
544
556
  }
545
557
  });
558
+ Object.defineProperty(exports, "resetUploadUrls", {
559
+ enumerable: true,
560
+ get: function () {
561
+ return _uploadUrls.resetUploadUrls;
562
+ }
563
+ });
546
564
  Object.defineProperty(exports, "selectFiles", {
547
565
  enumerable: true,
548
566
  get: function () {
549
567
  return _fileDialog.selectFiles;
550
568
  }
551
569
  });
570
+ Object.defineProperty(exports, "setUploadUrls", {
571
+ enumerable: true,
572
+ get: function () {
573
+ return _uploadUrls.setUploadUrls;
574
+ }
575
+ });
552
576
  Object.defineProperty(exports, "uploadFile", {
553
577
  enumerable: true,
554
578
  get: function () {
@@ -694,6 +718,7 @@ var _fileDialog = require("./utils/fileDialog");
694
718
  var _isTobitEmployee = require("./utils/isTobitEmployee");
695
719
  var _pageProvider = require("./utils/pageProvider");
696
720
  var _uploadFile = require("./utils/uploadFile");
721
+ var _uploadUrls = require("./config/uploadUrls");
697
722
  var _ComboBox2 = require("./components/combobox/ComboBox.types");
698
723
  var _skeleton = _interopRequireDefault(require("./components/skeleton"));
699
724
  var _types = require("./components/skeleton/types");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_Accordion","_interopRequireDefault","require","_AccordionContent","_AccordionGroup","_AccordionIntro","_AccordionItem","_AmountControl","_VerificationBadge","_AreaContextProvider","_interopRequireWildcard","_Badge","_Button","_Checkbox","_ColorSchemeProvider","_Badge2","_container","_useFocusRingPortal","_dropdown","_element","_ref","_Filter","_AnimatedNumber","_FileList","_FileSelect","_DropdownBodyWrapper","_ComboBox","_ContentCard","_CopyableContent","_HighlightSlider","_ContextMenu","_ContextMenu2","_ExpandableContent","_FileInput","_FilterButton","_FilterButtons","_GridImage","_GroupedImage","_Icon","_Input","_List","_ListItemContent","_ListItem","_ListItem2","_MentionFinder","_MultiActionButton","_NumberInput","_PageProvider","_Popup","_PopupContent","_ProgressBar","_popup","_RadioButtonGroup","_RadioButton","_ScrollView","_SearchBox","_SearchInput","_SelectButton","_SetupWizardItem","_SetupWizard","_SharingContextMenu","_SharingBar","_SharingButton","_Signature","_SliderButton","_Slider","_SmallWaitCursor","_TagInput","_TextArea","_Tooltip","_Truncation","_mentionFinder","_contentCard","_file","_filterButtons","_MultiActionButton2","_truncation","_environment","_fileDialog","_isTobitEmployee","_pageProvider","_uploadFile","_ComboBox2","_skeleton","_types","_Masonry","_useKeyboardFocusHighlighting","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor"],"sources":["../../src/index.ts"],"sourcesContent":["// noinspection JSUnusedGlobalSymbols\n\nexport { default as Accordion } from './components/accordion/Accordion';\nexport { default as AccordionContent } from './components/accordion/accordion-content/AccordionContent';\nexport { default as AccordionGroup } from './components/accordion/accordion-group/AccordionGroup';\nexport { default as AccordionIntro } from './components/accordion/accordion-intro/AccordionIntro';\nexport { default as AccordionItem } from './components/accordion/accordion-item/AccordionItem';\nexport { default as AmountControl } from './components/amount-control/AmountControl';\nexport { default as VerificationBadge } from './components/verification-badge/VerificationBadge';\nexport {\n AreaContext,\n default as AreaProvider,\n} from './components/area-provider/AreaContextProvider';\nexport { default as Badge } from './components/badge/Badge';\nexport { default as Button } from './components/button/Button';\nexport { default as Checkbox } from './components/checkbox/Checkbox';\nexport {\n default as ColorSchemeProvider,\n useColorScheme,\n} from './components/color-scheme-provider/ColorSchemeProvider';\nexport { BadgeSize, BadgeDesign } from './components/badge/Badge.types';\nexport type {\n ColorSchemeContextProps,\n WithTheme,\n} from './components/color-scheme-provider/ColorSchemeProvider';\nexport { useContainer, ContainerAnchor } from './hooks/container';\nexport { useFocusRingPortal } from './hooks/useFocusRingPortal';\nexport { DropdownDirection, type DropdownCoordinates } from './types/dropdown';\nexport { useIsMeasuredClone } from './hooks/element';\nexport { useCombinedRefs } from './hooks/ref';\nexport { default as Filter, type FilterRightIcon } from './components/filter/Filter';\nexport {\n type SortItem,\n type SearchConfig,\n type SortConfig,\n type CheckboxConfig,\n type FilterButtonConfig,\n type FilterRef,\n} from './types/filter';\nexport { default as AnimatedNumber } from './components/animated-number/AnimatedNumber';\nexport {\n default as FileList,\n type IFileItem as FileListItem,\n} from './components/file-list/FileList';\nexport { default as FileSelect } from './components/file-select/FileSelect';\nexport { default as DropdownBodyWrapper } from './components/dropdown-body-wrapper/DropdownBodyWrapper';\nexport { default as ComboBox } from './components/combobox/ComboBox';\nexport { default as ContentCard } from './components/content-card/ContentCard';\nexport {\n default as CopyableContent,\n CopyableContentAppearance,\n type CopyableContentProps,\n} from './components/copyable-content/CopyableContent';\nexport { default as HighlightSlider } from './components/highlight-slider/HighlightSlider';\nexport type { HighlightSliderItemColors as HighlightSliderColors } from './components/highlight-slider/highlight-slider-item/HighlightSliderItem';\nexport { default as ContextMenu } from './components/context-menu/ContextMenu';\nexport {\n ContextMenuAlignment,\n type ContextMenuCoordinates,\n type ContextMenuItem,\n type ContextMenuProps,\n type ContextMenuRef,\n} from './components/context-menu/ContextMenu.types';\nexport { default as ExpandableContent } from './components/expandable-content/ExpandableContent';\nexport {\n default as FileInput,\n type FileInputRef,\n STREAMINGSERVICE_FILE_TYPES,\n TSIMG_FILE_TYPES,\n} from './components/file-input/FileInput';\nexport { default as FilterButton } from './components/filter-buttons/filter-button/FilterButton';\nexport { default as FilterButtons } from './components/filter-buttons/FilterButtons';\nexport { default as GridImage } from './components/grid-image/GridImage';\nexport { default as GroupedImage } from './components/grouped-image/GroupedImage';\nexport { default as Icon, type IconProps } from './components/icon/Icon';\nexport { default as Input, InputSize } from './components/input/Input';\nexport { default as List } from './components/list/List';\nexport { default as ListItemContent } from './components/list/list-item/list-item-content/ListItemContent';\nexport {\n default as ListItem,\n type ListItemElements,\n type ListItemProps,\n type ListItemRef,\n type ListItemSize,\n} from './components/list/list-item/ListItem';\nexport {\n type ListItemMarkedForwardRefComponent,\n type ListItemMarkedComponent,\n type ListItemMetaProps,\n LIST_ITEM_MARKER,\n withListItemMarker,\n withListItemMarkerForwardRef,\n} from './components/list/list-item/ListItem.utils';\nexport { default as MentionFinder } from './components/mention-finder/MentionFinder';\nexport type { MentionMember } from './components/mention-finder/MentionFinder';\nexport { default as MultiActionButton } from './components/multi-action-button/MultiActionButton';\nexport { default as NumberInput } from './components/number-input/NumberInput';\nexport { default as PageProvider } from './components/page-provider/PageProvider';\nexport { default as Popup } from './components/popup/Popup';\nexport { default as PopupContent } from './components/popup/popup-content/PopupContent';\nexport { default as ProgressBar } from './components/progress-bar/ProgressBar';\nexport { PopupAlignment } from './types/popup';\nexport type { PopupProps } from './components/popup/Popup.types';\nexport {\n default as RadioButtonGroup,\n type RadioButtonGroupRef,\n} from './components/radio-button/radio-button-group/RadioButtonGroup';\nexport { default as RadioButton } from './components/radio-button/RadioButton';\nexport { default as ScrollView } from './components/scroll-view/ScrollView';\nexport { default as SearchBox } from './components/search-box/SearchBox';\nexport { default as SearchInput } from './components/search-input/SearchInput';\nexport { default as SelectButton } from './components/select-button/SelectButton';\nexport { default as SetupWizardItem } from './components/setup-wizard/setup-wizard-item/SetupWizardItem';\nexport { default as SetupWizard } from './components/setup-wizard/SetupWizard';\nexport type { SetupWizardRef } from './components/setup-wizard/SetupWizard';\nexport { default as SharingContextMenu } from './components/sharing-context-menu/SharingContextMenu';\nexport { default as SharingBar } from './components/sharing-bar/SharingBar';\nexport { default as SharingButton } from './components/sharing-button/SharingButton';\nexport { default as Signature } from './components/signature/Signature';\nexport type { SignatureRef } from './components/signature/Signature';\nexport { default as SliderButton } from './components/slider-button/SliderButton';\nexport { default as Slider } from './components/slider/Slider';\nexport {\n default as SmallWaitCursor,\n SmallWaitCursorSize,\n SmallWaitCursorSpeed,\n} from './components/small-wait-cursor/SmallWaitCursor';\nexport type { Tag } from './types/tagInput';\nexport { default as TagInput } from './components/tag-input/TagInput';\nexport type { TagInputRef } from './components/tag-input/TagInput';\nexport { default as TextArea } from './components/text-area/TextArea';\nexport { default as Tooltip } from './components/tooltip/Tooltip';\nexport { default as Truncation } from './components/truncation/Truncation';\nexport { MentionFinderPopupAlignment } from './constants/mentionFinder';\nexport { useElementSize } from './hooks/element';\nexport type { BrowserName } from './types/chayns';\nexport { ContentCardType } from './types/contentCard';\nexport type { FileItem, Image, InternalFileItem, Meta, Video } from './types/file';\nexport { isValidFileType, getHumanSize } from './utils/file';\nexport type { FileInputFileItem } from './types/fileInput';\nexport { FilterButtonItemShape, FilterButtonSize } from './types/filterButtons';\nexport type { IFilterButtonItem as FilterButtonItem } from './types/filterButtons';\nexport type { IListItemRightElements } from './types/list';\nexport type { PopupRef } from './types/popup';\nexport type { RadioButtonItem } from './types/radioButton';\nexport type {\n ISearchBoxItem as SearchBoxItem,\n ISearchBoxItems as SearchBoxItems,\n} from './types/searchBox';\nexport type { SearchBoxSortFunction } from './utils/searchBox';\nexport type { SelectButtonItem } from './types/selectButton';\nexport type { SliderButtonItem } from './types/slider-button';\nexport {\n type MultiActionButtonAction,\n type MultiActionButtonActionEvent,\n type MultiActionButtonActionStatus,\n MultiActionButtonHeight,\n type MultiActionButtonProps,\n type MultiActionButtonSecondaryContextMenu,\n MultiActionButtonStatusType,\n} from './components/multi-action-button/MultiActionButton.types';\nexport { ClampPosition } from './types/truncation';\nexport { useIsTouch } from './utils/environment';\nexport { filterFilesByMimeType, getFileAsArrayBuffer, selectFiles } from './utils/fileDialog';\nexport { isTobitEmployee } from './utils/isTobitEmployee';\nexport { getUsableHeight } from './utils/pageProvider';\nexport { uploadFile } from './utils/uploadFile';\nexport type { Theme } from './components/color-scheme-provider/ColorSchemeProvider';\nexport { ComboBoxSize } from './components/combobox/ComboBox.types';\nexport type {\n IComboBoxItem as ComboBoxItem,\n ComboBoxTextStyles,\n IComboBoxItems as ComboBoxItems,\n ComboBoxRef,\n} from './components/combobox/ComboBox.types';\nexport { default as Skeleton } from './components/skeleton';\nexport { SkeletonAnimationType } from './components/skeleton/types';\nexport { default as Masonry } from './components/masonry/Masonry';\nexport { useKeyboardFocusHighlighting } from './hooks/useKeyboardFocusHighlighting';\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_Accordion","_interopRequireDefault","require","_AccordionContent","_AccordionGroup","_AccordionIntro","_AccordionItem","_AmountControl","_VerificationBadge","_AreaContextProvider","_interopRequireWildcard","_Badge","_Button","_Checkbox","_ColorSchemeProvider","_Badge2","_container","_useFocusRingPortal","_dropdown","_element","_ref","_Filter","_AnimatedNumber","_FileList","_FileSelect","_DropdownBodyWrapper","_ComboBox","_ContentCard","_CopyableContent","_HighlightSlider","_ContextMenu","_ContextMenu2","_ExpandableContent","_FileInput","_FilterButton","_FilterButtons","_GridImage","_GroupedImage","_Icon","_Input","_List","_ListItemContent","_ListItem","_ListItem2","_MentionFinder","_MultiActionButton","_NumberInput","_PageProvider","_Popup","_PopupContent","_ProgressBar","_popup","_RadioButtonGroup","_RadioButton","_ScrollView","_SearchBox","_SearchInput","_SelectButton","_SetupWizardItem","_SetupWizard","_SharingContextMenu","_SharingBar","_SharingButton","_Signature","_SliderButton","_Slider","_SmallWaitCursor","_TagInput","_TextArea","_Tooltip","_Truncation","_mentionFinder","_contentCard","_file","_filterButtons","_MultiActionButton2","_truncation","_environment","_fileDialog","_isTobitEmployee","_pageProvider","_uploadFile","_uploadUrls","_ComboBox2","_skeleton","_types","_Masonry","_useKeyboardFocusHighlighting","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor"],"sources":["../../src/index.ts"],"sourcesContent":["// noinspection JSUnusedGlobalSymbols\n\nexport { default as Accordion } from './components/accordion/Accordion';\nexport { default as AccordionContent } from './components/accordion/accordion-content/AccordionContent';\nexport { default as AccordionGroup } from './components/accordion/accordion-group/AccordionGroup';\nexport { default as AccordionIntro } from './components/accordion/accordion-intro/AccordionIntro';\nexport { default as AccordionItem } from './components/accordion/accordion-item/AccordionItem';\nexport { default as AmountControl } from './components/amount-control/AmountControl';\nexport { default as VerificationBadge } from './components/verification-badge/VerificationBadge';\nexport {\n AreaContext,\n default as AreaProvider,\n} from './components/area-provider/AreaContextProvider';\nexport { default as Badge } from './components/badge/Badge';\nexport { default as Button } from './components/button/Button';\nexport { default as Checkbox } from './components/checkbox/Checkbox';\nexport {\n default as ColorSchemeProvider,\n useColorScheme,\n} from './components/color-scheme-provider/ColorSchemeProvider';\nexport { BadgeSize, BadgeDesign } from './components/badge/Badge.types';\nexport type {\n ColorSchemeContextProps,\n WithTheme,\n} from './components/color-scheme-provider/ColorSchemeProvider';\nexport { useContainer, ContainerAnchor } from './hooks/container';\nexport { useFocusRingPortal } from './hooks/useFocusRingPortal';\nexport { DropdownDirection, type DropdownCoordinates } from './types/dropdown';\nexport { useIsMeasuredClone } from './hooks/element';\nexport { useCombinedRefs } from './hooks/ref';\nexport { default as Filter, type FilterRightIcon } from './components/filter/Filter';\nexport {\n type SortItem,\n type SearchConfig,\n type SortConfig,\n type CheckboxConfig,\n type FilterButtonConfig,\n type FilterRef,\n} from './types/filter';\nexport { default as AnimatedNumber } from './components/animated-number/AnimatedNumber';\nexport {\n default as FileList,\n type IFileItem as FileListItem,\n} from './components/file-list/FileList';\nexport { default as FileSelect } from './components/file-select/FileSelect';\nexport { default as DropdownBodyWrapper } from './components/dropdown-body-wrapper/DropdownBodyWrapper';\nexport { default as ComboBox } from './components/combobox/ComboBox';\nexport { default as ContentCard } from './components/content-card/ContentCard';\nexport {\n default as CopyableContent,\n CopyableContentAppearance,\n type CopyableContentProps,\n} from './components/copyable-content/CopyableContent';\nexport { default as HighlightSlider } from './components/highlight-slider/HighlightSlider';\nexport type { HighlightSliderItemColors as HighlightSliderColors } from './components/highlight-slider/highlight-slider-item/HighlightSliderItem';\nexport { default as ContextMenu } from './components/context-menu/ContextMenu';\nexport {\n ContextMenuAlignment,\n type ContextMenuCoordinates,\n type ContextMenuItem,\n type ContextMenuProps,\n type ContextMenuRef,\n} from './components/context-menu/ContextMenu.types';\nexport { default as ExpandableContent } from './components/expandable-content/ExpandableContent';\nexport {\n default as FileInput,\n type FileInputRef,\n STREAMINGSERVICE_FILE_TYPES,\n TSIMG_FILE_TYPES,\n} from './components/file-input/FileInput';\nexport { default as FilterButton } from './components/filter-buttons/filter-button/FilterButton';\nexport { default as FilterButtons } from './components/filter-buttons/FilterButtons';\nexport { default as GridImage } from './components/grid-image/GridImage';\nexport { default as GroupedImage } from './components/grouped-image/GroupedImage';\nexport { default as Icon, type IconProps } from './components/icon/Icon';\nexport { default as Input, InputSize } from './components/input/Input';\nexport { default as List } from './components/list/List';\nexport { default as ListItemContent } from './components/list/list-item/list-item-content/ListItemContent';\nexport {\n default as ListItem,\n type ListItemElements,\n type ListItemProps,\n type ListItemRef,\n type ListItemSize,\n} from './components/list/list-item/ListItem';\nexport {\n type ListItemMarkedForwardRefComponent,\n type ListItemMarkedComponent,\n type ListItemMetaProps,\n LIST_ITEM_MARKER,\n withListItemMarker,\n withListItemMarkerForwardRef,\n} from './components/list/list-item/ListItem.utils';\nexport { default as MentionFinder } from './components/mention-finder/MentionFinder';\nexport type { MentionMember } from './components/mention-finder/MentionFinder';\nexport { default as MultiActionButton } from './components/multi-action-button/MultiActionButton';\nexport { default as NumberInput } from './components/number-input/NumberInput';\nexport { default as PageProvider } from './components/page-provider/PageProvider';\nexport { default as Popup } from './components/popup/Popup';\nexport { default as PopupContent } from './components/popup/popup-content/PopupContent';\nexport { default as ProgressBar } from './components/progress-bar/ProgressBar';\nexport { PopupAlignment } from './types/popup';\nexport type { PopupProps } from './components/popup/Popup.types';\nexport {\n default as RadioButtonGroup,\n type RadioButtonGroupRef,\n} from './components/radio-button/radio-button-group/RadioButtonGroup';\nexport { default as RadioButton } from './components/radio-button/RadioButton';\nexport { default as ScrollView } from './components/scroll-view/ScrollView';\nexport { default as SearchBox } from './components/search-box/SearchBox';\nexport { default as SearchInput } from './components/search-input/SearchInput';\nexport { default as SelectButton } from './components/select-button/SelectButton';\nexport { default as SetupWizardItem } from './components/setup-wizard/setup-wizard-item/SetupWizardItem';\nexport { default as SetupWizard } from './components/setup-wizard/SetupWizard';\nexport type { SetupWizardRef } from './components/setup-wizard/SetupWizard';\nexport { default as SharingContextMenu } from './components/sharing-context-menu/SharingContextMenu';\nexport { default as SharingBar } from './components/sharing-bar/SharingBar';\nexport { default as SharingButton } from './components/sharing-button/SharingButton';\nexport { default as Signature } from './components/signature/Signature';\nexport type { SignatureRef } from './components/signature/Signature';\nexport { default as SliderButton } from './components/slider-button/SliderButton';\nexport { default as Slider } from './components/slider/Slider';\nexport {\n default as SmallWaitCursor,\n SmallWaitCursorSize,\n SmallWaitCursorSpeed,\n} from './components/small-wait-cursor/SmallWaitCursor';\nexport type { Tag } from './types/tagInput';\nexport { default as TagInput } from './components/tag-input/TagInput';\nexport type { TagInputRef } from './components/tag-input/TagInput';\nexport { default as TextArea } from './components/text-area/TextArea';\nexport { default as Tooltip } from './components/tooltip/Tooltip';\nexport { default as Truncation } from './components/truncation/Truncation';\nexport { MentionFinderPopupAlignment } from './constants/mentionFinder';\nexport { useElementSize } from './hooks/element';\nexport type { BrowserName } from './types/chayns';\nexport { ContentCardType } from './types/contentCard';\nexport type { FileItem, Image, InternalFileItem, Meta, Video } from './types/file';\nexport { isValidFileType, getHumanSize } from './utils/file';\nexport type { FileInputFileItem } from './types/fileInput';\nexport { FilterButtonItemShape, FilterButtonSize } from './types/filterButtons';\nexport type { IFilterButtonItem as FilterButtonItem } from './types/filterButtons';\nexport type { IListItemRightElements } from './types/list';\nexport type { PopupRef } from './types/popup';\nexport type { RadioButtonItem } from './types/radioButton';\nexport type {\n ISearchBoxItem as SearchBoxItem,\n ISearchBoxItems as SearchBoxItems,\n} from './types/searchBox';\nexport type { SearchBoxSortFunction } from './utils/searchBox';\nexport type { SelectButtonItem } from './types/selectButton';\nexport type { SliderButtonItem } from './types/slider-button';\nexport {\n type MultiActionButtonAction,\n type MultiActionButtonActionEvent,\n type MultiActionButtonActionStatus,\n MultiActionButtonHeight,\n type MultiActionButtonProps,\n type MultiActionButtonSecondaryContextMenu,\n MultiActionButtonStatusType,\n} from './components/multi-action-button/MultiActionButton.types';\nexport { ClampPosition } from './types/truncation';\nexport { useIsTouch } from './utils/environment';\nexport { filterFilesByMimeType, getFileAsArrayBuffer, selectFiles } from './utils/fileDialog';\nexport { isTobitEmployee } from './utils/isTobitEmployee';\nexport { getUsableHeight } from './utils/pageProvider';\nexport { uploadFile } from './utils/uploadFile';\nexport {\n DEFAULT_UPLOAD_URLS,\n getUploadUrls,\n resetUploadUrls,\n setUploadUrls,\n type UploadUrls,\n} from './config/uploadUrls';\nexport type { Theme } from './components/color-scheme-provider/ColorSchemeProvider';\nexport { ComboBoxSize } from './components/combobox/ComboBox.types';\nexport type {\n IComboBoxItem as ComboBoxItem,\n ComboBoxTextStyles,\n IComboBoxItems as ComboBoxItems,\n ComboBoxRef,\n} from './components/combobox/ComboBox.types';\nexport { default as Skeleton } from './components/skeleton';\nexport { SkeletonAnimationType } from './components/skeleton/types';\nexport { default as Masonry } from './components/masonry/Masonry';\nexport { useKeyboardFocusHighlighting } from './hooks/useKeyboardFocusHighlighting';\n"],"mappings":"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","ignoreList":[]}
@@ -9,7 +9,8 @@ var _post2 = require("../api/video/post");
9
9
  const uploadFile = async ({
10
10
  fileToUpload,
11
11
  callback,
12
- shouldUploadImageToSite
12
+ shouldUploadImageToSite,
13
+ uploadUrls
13
14
  }) => {
14
15
  var _fileToUpload$file, _fileToUpload$file2;
15
16
  if (!fileToUpload || fileToUpload.state !== undefined && fileToUpload.state !== 'none') {
@@ -17,7 +18,8 @@ const uploadFile = async ({
17
18
  }
18
19
  if ((_fileToUpload$file = fileToUpload.file) !== null && _fileToUpload$file !== void 0 && _fileToUpload$file.type.includes('video/')) {
19
20
  const uploadedVideo = await (0, _post2.postVideo)({
20
- file: fileToUpload.file
21
+ file: fileToUpload.file,
22
+ uploadUrls
21
23
  });
22
24
  if (uploadedVideo) {
23
25
  callback({
@@ -29,7 +31,8 @@ const uploadFile = async ({
29
31
  if ((_fileToUpload$file2 = fileToUpload.file) !== null && _fileToUpload$file2 !== void 0 && _fileToUpload$file2.type.includes('image/')) {
30
32
  const uploadedImage = await (0, _post.postImage)({
31
33
  file: fileToUpload.file,
32
- shouldUploadImageToSite
34
+ shouldUploadImageToSite,
35
+ uploadUrls
33
36
  });
34
37
  if (uploadedImage) {
35
38
  var _uploadedImage$meta, _uploadedImage$meta2, _uploadedImage$meta3, _uploadedImage$meta4;
@@ -1 +1 @@
1
- {"version":3,"file":"uploadFile.js","names":["_post","require","_post2","uploadFile","fileToUpload","callback","shouldUploadImageToSite","_fileToUpload$file","_fileToUpload$file2","state","undefined","file","type","includes","uploadedVideo","postVideo","id","toString","uploadedImage","postImage","_uploadedImage$meta","_uploadedImage$meta2","_uploadedImage$meta3","_uploadedImage$meta4","url","base","key","meta","ratio","width","height","Number","exports"],"sources":["../../../src/utils/uploadFile.ts"],"sourcesContent":["import { postImage } from '../api/image/post';\nimport { postVideo } from '../api/video/post';\nimport type { Image, InternalFileItem, Video } from '../types/file';\n\ninterface UploadFilesOptions {\n fileToUpload: InternalFileItem;\n callback: (UploadedFile: Video | Image) => void;\n shouldUploadImageToSite?: boolean;\n}\n\nexport const uploadFile = async ({\n fileToUpload,\n callback,\n shouldUploadImageToSite,\n}: UploadFilesOptions): Promise<void> => {\n if (!fileToUpload || (fileToUpload.state !== undefined && fileToUpload.state !== 'none')) {\n return;\n }\n\n if (fileToUpload.file?.type.includes('video/')) {\n const uploadedVideo = await postVideo({ file: fileToUpload.file });\n\n if (uploadedVideo) {\n callback({\n ...uploadedVideo,\n id: uploadedVideo.id.toString(),\n });\n }\n }\n\n if (fileToUpload.file?.type.includes('image/')) {\n const uploadedImage = await postImage({ file: fileToUpload.file, shouldUploadImageToSite });\n\n if (uploadedImage) {\n callback({\n url: `${uploadedImage.base}/${uploadedImage.key}`,\n id: uploadedImage.key,\n meta: uploadedImage.meta,\n ratio:\n uploadedImage.meta?.width && uploadedImage.meta?.height\n ? Number(uploadedImage.meta?.width) / Number(uploadedImage.meta?.height)\n : undefined,\n });\n }\n }\n};\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AASO,MAAME,UAAU,GAAG,MAAAA,CAAO;EAC7BC,YAAY;EACZC,QAAQ;EACRC;AACgB,CAAC,KAAoB;EAAA,IAAAC,kBAAA,EAAAC,mBAAA;EACrC,IAAI,CAACJ,YAAY,IAAKA,YAAY,CAACK,KAAK,KAAKC,SAAS,IAAIN,YAAY,CAACK,KAAK,KAAK,MAAO,EAAE;IACtF;EACJ;EAEA,KAAAF,kBAAA,GAAIH,YAAY,CAACO,IAAI,cAAAJ,kBAAA,eAAjBA,kBAAA,CAAmBK,IAAI,CAACC,QAAQ,CAAC,QAAQ,CAAC,EAAE;IAC5C,MAAMC,aAAa,GAAG,MAAM,IAAAC,gBAAS,EAAC;MAAEJ,IAAI,EAAEP,YAAY,CAACO;IAAK,CAAC,CAAC;IAElE,IAAIG,aAAa,EAAE;MACfT,QAAQ,CAAC;QACL,GAAGS,aAAa;QAChBE,EAAE,EAAEF,aAAa,CAACE,EAAE,CAACC,QAAQ,CAAC;MAClC,CAAC,CAAC;IACN;EACJ;EAEA,KAAAT,mBAAA,GAAIJ,YAAY,CAACO,IAAI,cAAAH,mBAAA,eAAjBA,mBAAA,CAAmBI,IAAI,CAACC,QAAQ,CAAC,QAAQ,CAAC,EAAE;IAC5C,MAAMK,aAAa,GAAG,MAAM,IAAAC,eAAS,EAAC;MAAER,IAAI,EAAEP,YAAY,CAACO,IAAI;MAAEL;IAAwB,CAAC,CAAC;IAE3F,IAAIY,aAAa,EAAE;MAAA,IAAAE,mBAAA,EAAAC,oBAAA,EAAAC,oBAAA,EAAAC,oBAAA;MACflB,QAAQ,CAAC;QACLmB,GAAG,EAAE,GAAGN,aAAa,CAACO,IAAI,IAAIP,aAAa,CAACQ,GAAG,EAAE;QACjDV,EAAE,EAAEE,aAAa,CAACQ,GAAG;QACrBC,IAAI,EAAET,aAAa,CAACS,IAAI;QACxBC,KAAK,EACD,CAAAR,mBAAA,GAAAF,aAAa,CAACS,IAAI,cAAAP,mBAAA,eAAlBA,mBAAA,CAAoBS,KAAK,KAAAR,oBAAA,GAAIH,aAAa,CAACS,IAAI,cAAAN,oBAAA,eAAlBA,oBAAA,CAAoBS,MAAM,GACjDC,MAAM,EAAAT,oBAAA,GAACJ,aAAa,CAACS,IAAI,cAAAL,oBAAA,uBAAlBA,oBAAA,CAAoBO,KAAK,CAAC,GAAGE,MAAM,EAAAR,oBAAA,GAACL,aAAa,CAACS,IAAI,cAAAJ,oBAAA,uBAAlBA,oBAAA,CAAoBO,MAAM,CAAC,GACtEpB;MACd,CAAC,CAAC;IACN;EACJ;AACJ,CAAC;AAACsB,OAAA,CAAA7B,UAAA,GAAAA,UAAA","ignoreList":[]}
1
+ {"version":3,"file":"uploadFile.js","names":["_post","require","_post2","uploadFile","fileToUpload","callback","shouldUploadImageToSite","uploadUrls","_fileToUpload$file","_fileToUpload$file2","state","undefined","file","type","includes","uploadedVideo","postVideo","id","toString","uploadedImage","postImage","_uploadedImage$meta","_uploadedImage$meta2","_uploadedImage$meta3","_uploadedImage$meta4","url","base","key","meta","ratio","width","height","Number","exports"],"sources":["../../../src/utils/uploadFile.ts"],"sourcesContent":["import { postImage } from '../api/image/post';\nimport { postVideo } from '../api/video/post';\nimport type { UploadUrls } from '../config/uploadUrls';\nimport type { Image, InternalFileItem, Video } from '../types/file';\n\ninterface UploadFilesOptions {\n fileToUpload: InternalFileItem;\n callback: (UploadedFile: Video | Image) => void;\n shouldUploadImageToSite?: boolean;\n /**\n * Overrides the globally configured upload service URLs for this upload.\n */\n uploadUrls?: Partial<UploadUrls>;\n}\n\nexport const uploadFile = async ({\n fileToUpload,\n callback,\n shouldUploadImageToSite,\n uploadUrls,\n}: UploadFilesOptions): Promise<void> => {\n if (!fileToUpload || (fileToUpload.state !== undefined && fileToUpload.state !== 'none')) {\n return;\n }\n\n if (fileToUpload.file?.type.includes('video/')) {\n const uploadedVideo = await postVideo({ file: fileToUpload.file, uploadUrls });\n\n if (uploadedVideo) {\n callback({\n ...uploadedVideo,\n id: uploadedVideo.id.toString(),\n });\n }\n }\n\n if (fileToUpload.file?.type.includes('image/')) {\n const uploadedImage = await postImage({\n file: fileToUpload.file,\n shouldUploadImageToSite,\n uploadUrls,\n });\n\n if (uploadedImage) {\n callback({\n url: `${uploadedImage.base}/${uploadedImage.key}`,\n id: uploadedImage.key,\n meta: uploadedImage.meta,\n ratio:\n uploadedImage.meta?.width && uploadedImage.meta?.height\n ? Number(uploadedImage.meta?.width) / Number(uploadedImage.meta?.height)\n : undefined,\n });\n }\n }\n};\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAcO,MAAME,UAAU,GAAG,MAAAA,CAAO;EAC7BC,YAAY;EACZC,QAAQ;EACRC,uBAAuB;EACvBC;AACgB,CAAC,KAAoB;EAAA,IAAAC,kBAAA,EAAAC,mBAAA;EACrC,IAAI,CAACL,YAAY,IAAKA,YAAY,CAACM,KAAK,KAAKC,SAAS,IAAIP,YAAY,CAACM,KAAK,KAAK,MAAO,EAAE;IACtF;EACJ;EAEA,KAAAF,kBAAA,GAAIJ,YAAY,CAACQ,IAAI,cAAAJ,kBAAA,eAAjBA,kBAAA,CAAmBK,IAAI,CAACC,QAAQ,CAAC,QAAQ,CAAC,EAAE;IAC5C,MAAMC,aAAa,GAAG,MAAM,IAAAC,gBAAS,EAAC;MAAEJ,IAAI,EAAER,YAAY,CAACQ,IAAI;MAAEL;IAAW,CAAC,CAAC;IAE9E,IAAIQ,aAAa,EAAE;MACfV,QAAQ,CAAC;QACL,GAAGU,aAAa;QAChBE,EAAE,EAAEF,aAAa,CAACE,EAAE,CAACC,QAAQ,CAAC;MAClC,CAAC,CAAC;IACN;EACJ;EAEA,KAAAT,mBAAA,GAAIL,YAAY,CAACQ,IAAI,cAAAH,mBAAA,eAAjBA,mBAAA,CAAmBI,IAAI,CAACC,QAAQ,CAAC,QAAQ,CAAC,EAAE;IAC5C,MAAMK,aAAa,GAAG,MAAM,IAAAC,eAAS,EAAC;MAClCR,IAAI,EAAER,YAAY,CAACQ,IAAI;MACvBN,uBAAuB;MACvBC;IACJ,CAAC,CAAC;IAEF,IAAIY,aAAa,EAAE;MAAA,IAAAE,mBAAA,EAAAC,oBAAA,EAAAC,oBAAA,EAAAC,oBAAA;MACfnB,QAAQ,CAAC;QACLoB,GAAG,EAAE,GAAGN,aAAa,CAACO,IAAI,IAAIP,aAAa,CAACQ,GAAG,EAAE;QACjDV,EAAE,EAAEE,aAAa,CAACQ,GAAG;QACrBC,IAAI,EAAET,aAAa,CAACS,IAAI;QACxBC,KAAK,EACD,CAAAR,mBAAA,GAAAF,aAAa,CAACS,IAAI,cAAAP,mBAAA,eAAlBA,mBAAA,CAAoBS,KAAK,KAAAR,oBAAA,GAAIH,aAAa,CAACS,IAAI,cAAAN,oBAAA,eAAlBA,oBAAA,CAAoBS,MAAM,GACjDC,MAAM,EAAAT,oBAAA,GAACJ,aAAa,CAACS,IAAI,cAAAL,oBAAA,uBAAlBA,oBAAA,CAAoBO,KAAK,CAAC,GAAGE,MAAM,EAAAR,oBAAA,GAACL,aAAa,CAACS,IAAI,cAAAJ,oBAAA,uBAAlBA,oBAAA,CAAoBO,MAAM,CAAC,GACtEpB;MACd,CAAC,CAAC;IACN;EACJ;AACJ,CAAC;AAACsB,OAAA,CAAA9B,UAAA,GAAAA,UAAA","ignoreList":[]}
@@ -1,11 +1,12 @@
1
1
  import { getAccessToken, getSite, getUser } from 'chayns-api';
2
- import { IMAGE_RESIZER_URL, IMAGE_SERVICE_URL } from '../../constants/serverUrls';
2
+ import { getUploadUrls } from '../../config/uploadUrls';
3
3
  /**
4
4
  * Uploads an image to the tsimg cloud service
5
5
  */
6
6
  export const postImage = async ({
7
7
  file,
8
- shouldUploadImageToSite
8
+ shouldUploadImageToSite,
9
+ uploadUrls
9
10
  }) => {
10
11
  const {
11
12
  accessToken
@@ -20,7 +21,11 @@ export const postImage = async ({
20
21
 
21
22
  const body = new FormData();
22
23
  body.append('File', file);
23
- const url = file.size > 10 * 1024 * 1024 ? `${IMAGE_RESIZER_URL}/${shouldUploadImageToSite ? site.id : user.personId}` : `${IMAGE_SERVICE_URL}/${shouldUploadImageToSite ? site.id : user.personId}`;
24
+ const {
25
+ imageServiceUrl,
26
+ imageResizerUrl
27
+ } = getUploadUrls(uploadUrls);
28
+ const url = file.size > 10 * 1024 * 1024 ? `${imageResizerUrl}/${shouldUploadImageToSite ? site.id : user.personId}` : `${imageServiceUrl}/${shouldUploadImageToSite ? site.id : user.personId}`;
24
29
  const response = await fetch(url, {
25
30
  body,
26
31
  headers: {
@@ -1 +1 @@
1
- {"version":3,"file":"post.js","names":["getAccessToken","getSite","getUser","IMAGE_RESIZER_URL","IMAGE_SERVICE_URL","postImage","file","shouldUploadImageToSite","accessToken","user","site","personId","undefined","body","FormData","append","url","size","id","response","fetch","headers","Accept","Authorization","method","ok","image","baseDomain","json","key","path","base","endsWith","slice","meta","preview","width","String","height","Error","status"],"sources":["../../../../src/api/image/post.ts"],"sourcesContent":["import { getAccessToken, getSite, getUser } from 'chayns-api';\nimport { IMAGE_RESIZER_URL, IMAGE_SERVICE_URL } from '../../constants/serverUrls';\nimport type { Meta } from '../../types/file';\n\nexport interface PostImageResult {\n key: string;\n base: string;\n meta?: Meta;\n}\n\ninterface Result {\n requestId: string;\n image: Image;\n baseDomain: string;\n signature: Signature;\n}\n\nexport interface Image {\n path: string;\n width: number;\n height: number;\n size: number;\n hash: string;\n preview: string;\n isSecured: boolean;\n format: string;\n fileExtension: string;\n}\n\nexport interface Signature {\n verify: string;\n signature: string;\n expires: Date;\n}\n\ninterface PostImageOptions {\n file: File;\n shouldUploadImageToSite?: boolean;\n}\n\n/**\n * Uploads an image to the tsimg cloud service\n */\nexport const postImage = async ({\n file,\n shouldUploadImageToSite,\n}: PostImageOptions): Promise<PostImageResult | undefined> => {\n const { accessToken } = await getAccessToken();\n const user = getUser();\n const site = getSite();\n\n if (!accessToken || !user?.personId) {\n return undefined;\n }\n\n // const body = await getFileAsArrayBuffer(file);\n\n const body = new FormData();\n\n body.append('File', file);\n\n const url =\n file.size > 10 * 1024 * 1024\n ? `${IMAGE_RESIZER_URL}/${shouldUploadImageToSite ? site.id : user.personId}`\n : `${IMAGE_SERVICE_URL}/${shouldUploadImageToSite ? site.id : user.personId}`;\n\n const response = await fetch(url, {\n body,\n headers: {\n Accept: 'application/json',\n Authorization: `bearer ${accessToken}`,\n },\n method: 'POST',\n });\n\n if (response.ok) {\n const { image, baseDomain } = (await response.json()) as Result;\n // Maps image-service-api-v3 result to v2 result.\n return {\n key: image.path,\n // Removes trailing slash from baseDomain, since image-service-api-v2 doesn't have a trailing slash on base.\n base: baseDomain.endsWith('/') ? baseDomain.slice(0, -1) : baseDomain,\n meta: {\n preview: image.preview,\n width: String(image.width),\n height: String(image.height),\n },\n };\n }\n\n throw Error(`Failed to POST image (status code: ${response.status}).`);\n};\n"],"mappings":"AAAA,SAASA,cAAc,EAAEC,OAAO,EAAEC,OAAO,QAAQ,YAAY;AAC7D,SAASC,iBAAiB,EAAEC,iBAAiB,QAAQ,4BAA4B;AAuCjF;AACA;AACA;AACA,OAAO,MAAMC,SAAS,GAAG,MAAAA,CAAO;EAC5BC,IAAI;EACJC;AACc,CAAC,KAA2C;EAC1D,MAAM;IAAEC;EAAY,CAAC,GAAG,MAAMR,cAAc,CAAC,CAAC;EAC9C,MAAMS,IAAI,GAAGP,OAAO,CAAC,CAAC;EACtB,MAAMQ,IAAI,GAAGT,OAAO,CAAC,CAAC;EAEtB,IAAI,CAACO,WAAW,IAAI,CAACC,IAAI,EAAEE,QAAQ,EAAE;IACjC,OAAOC,SAAS;EACpB;;EAEA;;EAEA,MAAMC,IAAI,GAAG,IAAIC,QAAQ,CAAC,CAAC;EAE3BD,IAAI,CAACE,MAAM,CAAC,MAAM,EAAET,IAAI,CAAC;EAEzB,MAAMU,GAAG,GACLV,IAAI,CAACW,IAAI,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,GACtB,GAAGd,iBAAiB,IAAII,uBAAuB,GAAGG,IAAI,CAACQ,EAAE,GAAGT,IAAI,CAACE,QAAQ,EAAE,GAC3E,GAAGP,iBAAiB,IAAIG,uBAAuB,GAAGG,IAAI,CAACQ,EAAE,GAAGT,IAAI,CAACE,QAAQ,EAAE;EAErF,MAAMQ,QAAQ,GAAG,MAAMC,KAAK,CAACJ,GAAG,EAAE;IAC9BH,IAAI;IACJQ,OAAO,EAAE;MACLC,MAAM,EAAE,kBAAkB;MAC1BC,aAAa,EAAE,UAAUf,WAAW;IACxC,CAAC;IACDgB,MAAM,EAAE;EACZ,CAAC,CAAC;EAEF,IAAIL,QAAQ,CAACM,EAAE,EAAE;IACb,MAAM;MAAEC,KAAK;MAAEC;IAAW,CAAC,GAAI,MAAMR,QAAQ,CAACS,IAAI,CAAC,CAAY;IAC/D;IACA,OAAO;MACHC,GAAG,EAAEH,KAAK,CAACI,IAAI;MACf;MACAC,IAAI,EAAEJ,UAAU,CAACK,QAAQ,CAAC,GAAG,CAAC,GAAGL,UAAU,CAACM,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAGN,UAAU;MACrEO,IAAI,EAAE;QACFC,OAAO,EAAET,KAAK,CAACS,OAAO;QACtBC,KAAK,EAAEC,MAAM,CAACX,KAAK,CAACU,KAAK,CAAC;QAC1BE,MAAM,EAAED,MAAM,CAACX,KAAK,CAACY,MAAM;MAC/B;IACJ,CAAC;EACL;EAEA,MAAMC,KAAK,CAAC,sCAAsCpB,QAAQ,CAACqB,MAAM,IAAI,CAAC;AAC1E,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"post.js","names":["getAccessToken","getSite","getUser","getUploadUrls","postImage","file","shouldUploadImageToSite","uploadUrls","accessToken","user","site","personId","undefined","body","FormData","append","imageServiceUrl","imageResizerUrl","url","size","id","response","fetch","headers","Accept","Authorization","method","ok","image","baseDomain","json","key","path","base","endsWith","slice","meta","preview","width","String","height","Error","status"],"sources":["../../../../src/api/image/post.ts"],"sourcesContent":["import { getAccessToken, getSite, getUser } from 'chayns-api';\nimport { getUploadUrls, type UploadUrls } from '../../config/uploadUrls';\nimport type { Meta } from '../../types/file';\n\nexport interface PostImageResult {\n key: string;\n base: string;\n meta?: Meta;\n}\n\ninterface Result {\n requestId: string;\n image: Image;\n baseDomain: string;\n signature: Signature;\n}\n\nexport interface Image {\n path: string;\n width: number;\n height: number;\n size: number;\n hash: string;\n preview: string;\n isSecured: boolean;\n format: string;\n fileExtension: string;\n}\n\nexport interface Signature {\n verify: string;\n signature: string;\n expires: Date;\n}\n\ninterface PostImageOptions {\n file: File;\n shouldUploadImageToSite?: boolean;\n /**\n * Overrides the globally configured upload service URLs for this upload.\n */\n uploadUrls?: Partial<UploadUrls>;\n}\n\n/**\n * Uploads an image to the tsimg cloud service\n */\nexport const postImage = async ({\n file,\n shouldUploadImageToSite,\n uploadUrls,\n}: PostImageOptions): Promise<PostImageResult | undefined> => {\n const { accessToken } = await getAccessToken();\n const user = getUser();\n const site = getSite();\n\n if (!accessToken || !user?.personId) {\n return undefined;\n }\n\n // const body = await getFileAsArrayBuffer(file);\n\n const body = new FormData();\n\n body.append('File', file);\n\n const { imageServiceUrl, imageResizerUrl } = getUploadUrls(uploadUrls);\n\n const url =\n file.size > 10 * 1024 * 1024\n ? `${imageResizerUrl}/${shouldUploadImageToSite ? site.id : user.personId}`\n : `${imageServiceUrl}/${shouldUploadImageToSite ? site.id : user.personId}`;\n\n const response = await fetch(url, {\n body,\n headers: {\n Accept: 'application/json',\n Authorization: `bearer ${accessToken}`,\n },\n method: 'POST',\n });\n\n if (response.ok) {\n const { image, baseDomain } = (await response.json()) as Result;\n // Maps image-service-api-v3 result to v2 result.\n return {\n key: image.path,\n // Removes trailing slash from baseDomain, since image-service-api-v2 doesn't have a trailing slash on base.\n base: baseDomain.endsWith('/') ? baseDomain.slice(0, -1) : baseDomain,\n meta: {\n preview: image.preview,\n width: String(image.width),\n height: String(image.height),\n },\n };\n }\n\n throw Error(`Failed to POST image (status code: ${response.status}).`);\n};\n"],"mappings":"AAAA,SAASA,cAAc,EAAEC,OAAO,EAAEC,OAAO,QAAQ,YAAY;AAC7D,SAASC,aAAa,QAAyB,yBAAyB;AA2CxE;AACA;AACA;AACA,OAAO,MAAMC,SAAS,GAAG,MAAAA,CAAO;EAC5BC,IAAI;EACJC,uBAAuB;EACvBC;AACc,CAAC,KAA2C;EAC1D,MAAM;IAAEC;EAAY,CAAC,GAAG,MAAMR,cAAc,CAAC,CAAC;EAC9C,MAAMS,IAAI,GAAGP,OAAO,CAAC,CAAC;EACtB,MAAMQ,IAAI,GAAGT,OAAO,CAAC,CAAC;EAEtB,IAAI,CAACO,WAAW,IAAI,CAACC,IAAI,EAAEE,QAAQ,EAAE;IACjC,OAAOC,SAAS;EACpB;;EAEA;;EAEA,MAAMC,IAAI,GAAG,IAAIC,QAAQ,CAAC,CAAC;EAE3BD,IAAI,CAACE,MAAM,CAAC,MAAM,EAAEV,IAAI,CAAC;EAEzB,MAAM;IAAEW,eAAe;IAAEC;EAAgB,CAAC,GAAGd,aAAa,CAACI,UAAU,CAAC;EAEtE,MAAMW,GAAG,GACLb,IAAI,CAACc,IAAI,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,GACtB,GAAGF,eAAe,IAAIX,uBAAuB,GAAGI,IAAI,CAACU,EAAE,GAAGX,IAAI,CAACE,QAAQ,EAAE,GACzE,GAAGK,eAAe,IAAIV,uBAAuB,GAAGI,IAAI,CAACU,EAAE,GAAGX,IAAI,CAACE,QAAQ,EAAE;EAEnF,MAAMU,QAAQ,GAAG,MAAMC,KAAK,CAACJ,GAAG,EAAE;IAC9BL,IAAI;IACJU,OAAO,EAAE;MACLC,MAAM,EAAE,kBAAkB;MAC1BC,aAAa,EAAE,UAAUjB,WAAW;IACxC,CAAC;IACDkB,MAAM,EAAE;EACZ,CAAC,CAAC;EAEF,IAAIL,QAAQ,CAACM,EAAE,EAAE;IACb,MAAM;MAAEC,KAAK;MAAEC;IAAW,CAAC,GAAI,MAAMR,QAAQ,CAACS,IAAI,CAAC,CAAY;IAC/D;IACA,OAAO;MACHC,GAAG,EAAEH,KAAK,CAACI,IAAI;MACf;MACAC,IAAI,EAAEJ,UAAU,CAACK,QAAQ,CAAC,GAAG,CAAC,GAAGL,UAAU,CAACM,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAGN,UAAU;MACrEO,IAAI,EAAE;QACFC,OAAO,EAAET,KAAK,CAACS,OAAO;QACtBC,KAAK,EAAEC,MAAM,CAACX,KAAK,CAACU,KAAK,CAAC;QAC1BE,MAAM,EAAED,MAAM,CAACX,KAAK,CAACY,MAAM;MAC/B;IACJ,CAAC;EACL;EAEA,MAAMC,KAAK,CAAC,sCAAsCpB,QAAQ,CAACqB,MAAM,IAAI,CAAC;AAC1E,CAAC","ignoreList":[]}
@@ -1,10 +1,11 @@
1
1
  import { getAccessToken } from 'chayns-api';
2
- import { VIDEO_SERVICE_URL } from '../../constants/serverUrls';
2
+ import { getUploadUrls } from '../../config/uploadUrls';
3
3
  /**
4
4
  * Uploads a video to the streaming service
5
5
  */
6
6
  export const postVideo = async ({
7
- file
7
+ file,
8
+ uploadUrls
8
9
  }) => {
9
10
  const {
10
11
  accessToken
@@ -14,7 +15,10 @@ export const postVideo = async ({
14
15
  }
15
16
  const formData = new FormData();
16
17
  formData.append('files', file);
17
- const response = await fetch(`${VIDEO_SERVICE_URL}?disableIntercom=true`, {
18
+ const {
19
+ videoServiceUrl
20
+ } = getUploadUrls(uploadUrls);
21
+ const response = await fetch(`${videoServiceUrl}?disableIntercom=true`, {
18
22
  body: formData,
19
23
  headers: {
20
24
  Authorization: `bearer ${accessToken}`
@@ -1 +1 @@
1
- {"version":3,"file":"post.js","names":["getAccessToken","VIDEO_SERVICE_URL","postVideo","file","accessToken","undefined","formData","FormData","append","response","fetch","body","headers","Authorization","method","ok","data","json","Error","status"],"sources":["../../../../src/api/video/post.ts"],"sourcesContent":["import { getAccessToken } from 'chayns-api';\nimport { VIDEO_SERVICE_URL } from '../../constants/serverUrls';\n\nexport interface PostVideoResult {\n id: string;\n originalVideoQuality: string;\n thumbnailUrl: string;\n url: string;\n urlMP4: string;\n}\n\ninterface PostVideoOptions {\n file: File | Blob;\n}\n\n/**\n * Uploads a video to the streaming service\n */\nexport const postVideo = async ({\n file,\n}: PostVideoOptions): Promise<PostVideoResult | undefined> => {\n const { accessToken } = await getAccessToken();\n\n if (!accessToken) {\n return undefined;\n }\n\n const formData = new FormData();\n\n formData.append('files', file);\n\n const response = await fetch(`${VIDEO_SERVICE_URL}?disableIntercom=true`, {\n body: formData,\n headers: {\n Authorization: `bearer ${accessToken}`,\n },\n method: 'POST',\n });\n\n if (response.ok) {\n const data = (await response.json()) as PostVideoResult[];\n\n return data[0];\n }\n\n throw Error(`Failed to POST video (status code: ${response.status}).`);\n};\n"],"mappings":"AAAA,SAASA,cAAc,QAAQ,YAAY;AAC3C,SAASC,iBAAiB,QAAQ,4BAA4B;AAc9D;AACA;AACA;AACA,OAAO,MAAMC,SAAS,GAAG,MAAAA,CAAO;EAC5BC;AACc,CAAC,KAA2C;EAC1D,MAAM;IAAEC;EAAY,CAAC,GAAG,MAAMJ,cAAc,CAAC,CAAC;EAE9C,IAAI,CAACI,WAAW,EAAE;IACd,OAAOC,SAAS;EACpB;EAEA,MAAMC,QAAQ,GAAG,IAAIC,QAAQ,CAAC,CAAC;EAE/BD,QAAQ,CAACE,MAAM,CAAC,OAAO,EAAEL,IAAI,CAAC;EAE9B,MAAMM,QAAQ,GAAG,MAAMC,KAAK,CAAC,GAAGT,iBAAiB,uBAAuB,EAAE;IACtEU,IAAI,EAAEL,QAAQ;IACdM,OAAO,EAAE;MACLC,aAAa,EAAE,UAAUT,WAAW;IACxC,CAAC;IACDU,MAAM,EAAE;EACZ,CAAC,CAAC;EAEF,IAAIL,QAAQ,CAACM,EAAE,EAAE;IACb,MAAMC,IAAI,GAAI,MAAMP,QAAQ,CAACQ,IAAI,CAAC,CAAuB;IAEzD,OAAOD,IAAI,CAAC,CAAC,CAAC;EAClB;EAEA,MAAME,KAAK,CAAC,sCAAsCT,QAAQ,CAACU,MAAM,IAAI,CAAC;AAC1E,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"post.js","names":["getAccessToken","getUploadUrls","postVideo","file","uploadUrls","accessToken","undefined","formData","FormData","append","videoServiceUrl","response","fetch","body","headers","Authorization","method","ok","data","json","Error","status"],"sources":["../../../../src/api/video/post.ts"],"sourcesContent":["import { getAccessToken } from 'chayns-api';\nimport { getUploadUrls, type UploadUrls } from '../../config/uploadUrls';\n\nexport interface PostVideoResult {\n id: string;\n originalVideoQuality: string;\n thumbnailUrl: string;\n url: string;\n urlMP4: string;\n}\n\ninterface PostVideoOptions {\n file: File | Blob;\n /**\n * Overrides the globally configured upload service URLs for this upload.\n */\n uploadUrls?: Partial<UploadUrls>;\n}\n\n/**\n * Uploads a video to the streaming service\n */\nexport const postVideo = async ({\n file,\n uploadUrls,\n}: PostVideoOptions): Promise<PostVideoResult | undefined> => {\n const { accessToken } = await getAccessToken();\n\n if (!accessToken) {\n return undefined;\n }\n\n const formData = new FormData();\n\n formData.append('files', file);\n\n const { videoServiceUrl } = getUploadUrls(uploadUrls);\n\n const response = await fetch(`${videoServiceUrl}?disableIntercom=true`, {\n body: formData,\n headers: {\n Authorization: `bearer ${accessToken}`,\n },\n method: 'POST',\n });\n\n if (response.ok) {\n const data = (await response.json()) as PostVideoResult[];\n\n return data[0];\n }\n\n throw Error(`Failed to POST video (status code: ${response.status}).`);\n};\n"],"mappings":"AAAA,SAASA,cAAc,QAAQ,YAAY;AAC3C,SAASC,aAAa,QAAyB,yBAAyB;AAkBxE;AACA;AACA;AACA,OAAO,MAAMC,SAAS,GAAG,MAAAA,CAAO;EAC5BC,IAAI;EACJC;AACc,CAAC,KAA2C;EAC1D,MAAM;IAAEC;EAAY,CAAC,GAAG,MAAML,cAAc,CAAC,CAAC;EAE9C,IAAI,CAACK,WAAW,EAAE;IACd,OAAOC,SAAS;EACpB;EAEA,MAAMC,QAAQ,GAAG,IAAIC,QAAQ,CAAC,CAAC;EAE/BD,QAAQ,CAACE,MAAM,CAAC,OAAO,EAAEN,IAAI,CAAC;EAE9B,MAAM;IAAEO;EAAgB,CAAC,GAAGT,aAAa,CAACG,UAAU,CAAC;EAErD,MAAMO,QAAQ,GAAG,MAAMC,KAAK,CAAC,GAAGF,eAAe,uBAAuB,EAAE;IACpEG,IAAI,EAAEN,QAAQ;IACdO,OAAO,EAAE;MACLC,aAAa,EAAE,UAAUV,WAAW;IACxC,CAAC;IACDW,MAAM,EAAE;EACZ,CAAC,CAAC;EAEF,IAAIL,QAAQ,CAACM,EAAE,EAAE;IACb,MAAMC,IAAI,GAAI,MAAMP,QAAQ,CAACQ,IAAI,CAAC,CAAuB;IAEzD,OAAOD,IAAI,CAAC,CAAC,CAAC;EAClB;EAEA,MAAME,KAAK,CAAC,sCAAsCT,QAAQ,CAACU,MAAM,IAAI,CAAC;AAC1E,CAAC","ignoreList":[]}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * URLs of the services used to upload images and videos.
3
+ */
4
+
5
+ /**
6
+ * Default chayns upload service URLs that are used when no custom URLs have
7
+ * been configured via {@link setUploadUrls}.
8
+ */
9
+ export const DEFAULT_UPLOAD_URLS = {
10
+ imageServiceUrl: 'https://cube.tobit.cloud/image-service/v3/Images',
11
+ imageResizerUrl: 'https://cube.tobit.cloud/image-resizer-backend/api/v1.0/image',
12
+ videoServiceUrl: 'https://streamingservice.chayns.space/video'
13
+ };
14
+ let configuredUploadUrls = {
15
+ ...DEFAULT_UPLOAD_URLS
16
+ };
17
+
18
+ /**
19
+ * Overrides the URLs of the services used to upload images and videos, e.g. for
20
+ * OnPremise deployments with self-hosted services.
21
+ *
22
+ * This has to be called once during the startup of the consuming application,
23
+ * before an upload is triggered. Environment variables cannot be used inside
24
+ * this package, because it is bundled before the consuming application is built
25
+ * and therefore no longer contains replaceable `process.env` references.
26
+ *
27
+ * Only the URLs that are passed are overridden, all others keep their current
28
+ * value.
29
+ *
30
+ * @example
31
+ * ```ts
32
+ * setUploadUrls({
33
+ * imageServiceUrl: process.env.PUBLIC_IMAGE_SERVICE_URL,
34
+ * imageResizerUrl: process.env.PUBLIC_IMAGE_RESIZER_URL,
35
+ * videoServiceUrl: process.env.PUBLIC_VIDEO_SERVICE_URL,
36
+ * });
37
+ * ```
38
+ */
39
+ export const setUploadUrls = urls => {
40
+ if (!urls) {
41
+ return;
42
+ }
43
+ configuredUploadUrls = {
44
+ imageServiceUrl: urls.imageServiceUrl ?? configuredUploadUrls.imageServiceUrl,
45
+ imageResizerUrl: urls.imageResizerUrl ?? configuredUploadUrls.imageResizerUrl,
46
+ videoServiceUrl: urls.videoServiceUrl ?? configuredUploadUrls.videoServiceUrl
47
+ };
48
+ };
49
+
50
+ /**
51
+ * Returns the currently configured upload service URLs, optionally merged with
52
+ * the given overrides. Overrides take precedence over the globally configured
53
+ * URLs, which in turn take precedence over {@link DEFAULT_UPLOAD_URLS}.
54
+ */
55
+ export const getUploadUrls = overrides => {
56
+ if (!overrides) {
57
+ return configuredUploadUrls;
58
+ }
59
+ return {
60
+ imageServiceUrl: overrides.imageServiceUrl ?? configuredUploadUrls.imageServiceUrl,
61
+ imageResizerUrl: overrides.imageResizerUrl ?? configuredUploadUrls.imageResizerUrl,
62
+ videoServiceUrl: overrides.videoServiceUrl ?? configuredUploadUrls.videoServiceUrl
63
+ };
64
+ };
65
+
66
+ /**
67
+ * Resets the upload service URLs to {@link DEFAULT_UPLOAD_URLS}.
68
+ */
69
+ export const resetUploadUrls = () => {
70
+ configuredUploadUrls = {
71
+ ...DEFAULT_UPLOAD_URLS
72
+ };
73
+ };
74
+ //# sourceMappingURL=uploadUrls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uploadUrls.js","names":["DEFAULT_UPLOAD_URLS","imageServiceUrl","imageResizerUrl","videoServiceUrl","configuredUploadUrls","setUploadUrls","urls","getUploadUrls","overrides","resetUploadUrls"],"sources":["../../../src/config/uploadUrls.ts"],"sourcesContent":["/**\n * URLs of the services used to upload images and videos.\n */\nexport interface UploadUrls {\n /**\n * URL of the image service used to upload images.\n */\n imageServiceUrl: string;\n /**\n * URL of the image resizer service used to upload images larger than 10 MB.\n */\n imageResizerUrl: string;\n /**\n * URL of the streaming service used to upload videos.\n */\n videoServiceUrl: string;\n}\n\n/**\n * Default chayns upload service URLs that are used when no custom URLs have\n * been configured via {@link setUploadUrls}.\n */\nexport const DEFAULT_UPLOAD_URLS: UploadUrls = {\n imageServiceUrl: 'https://cube.tobit.cloud/image-service/v3/Images',\n imageResizerUrl: 'https://cube.tobit.cloud/image-resizer-backend/api/v1.0/image',\n videoServiceUrl: 'https://streamingservice.chayns.space/video',\n};\n\nlet configuredUploadUrls: UploadUrls = { ...DEFAULT_UPLOAD_URLS };\n\n/**\n * Overrides the URLs of the services used to upload images and videos, e.g. for\n * OnPremise deployments with self-hosted services.\n *\n * This has to be called once during the startup of the consuming application,\n * before an upload is triggered. Environment variables cannot be used inside\n * this package, because it is bundled before the consuming application is built\n * and therefore no longer contains replaceable `process.env` references.\n *\n * Only the URLs that are passed are overridden, all others keep their current\n * value.\n *\n * @example\n * ```ts\n * setUploadUrls({\n * imageServiceUrl: process.env.PUBLIC_IMAGE_SERVICE_URL,\n * imageResizerUrl: process.env.PUBLIC_IMAGE_RESIZER_URL,\n * videoServiceUrl: process.env.PUBLIC_VIDEO_SERVICE_URL,\n * });\n * ```\n */\nexport const setUploadUrls = (urls?: Partial<UploadUrls>): void => {\n if (!urls) {\n return;\n }\n\n configuredUploadUrls = {\n imageServiceUrl: urls.imageServiceUrl ?? configuredUploadUrls.imageServiceUrl,\n imageResizerUrl: urls.imageResizerUrl ?? configuredUploadUrls.imageResizerUrl,\n videoServiceUrl: urls.videoServiceUrl ?? configuredUploadUrls.videoServiceUrl,\n };\n};\n\n/**\n * Returns the currently configured upload service URLs, optionally merged with\n * the given overrides. Overrides take precedence over the globally configured\n * URLs, which in turn take precedence over {@link DEFAULT_UPLOAD_URLS}.\n */\nexport const getUploadUrls = (overrides?: Partial<UploadUrls>): UploadUrls => {\n if (!overrides) {\n return configuredUploadUrls;\n }\n\n return {\n imageServiceUrl: overrides.imageServiceUrl ?? configuredUploadUrls.imageServiceUrl,\n imageResizerUrl: overrides.imageResizerUrl ?? configuredUploadUrls.imageResizerUrl,\n videoServiceUrl: overrides.videoServiceUrl ?? configuredUploadUrls.videoServiceUrl,\n };\n};\n\n/**\n * Resets the upload service URLs to {@link DEFAULT_UPLOAD_URLS}.\n */\nexport const resetUploadUrls = (): void => {\n configuredUploadUrls = { ...DEFAULT_UPLOAD_URLS };\n};\n"],"mappings":"AAAA;AACA;AACA;;AAgBA;AACA;AACA;AACA;AACA,OAAO,MAAMA,mBAA+B,GAAG;EAC3CC,eAAe,EAAE,kDAAkD;EACnEC,eAAe,EAAE,+DAA+D;EAChFC,eAAe,EAAE;AACrB,CAAC;AAED,IAAIC,oBAAgC,GAAG;EAAE,GAAGJ;AAAoB,CAAC;;AAEjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMK,aAAa,GAAIC,IAA0B,IAAW;EAC/D,IAAI,CAACA,IAAI,EAAE;IACP;EACJ;EAEAF,oBAAoB,GAAG;IACnBH,eAAe,EAAEK,IAAI,CAACL,eAAe,IAAIG,oBAAoB,CAACH,eAAe;IAC7EC,eAAe,EAAEI,IAAI,CAACJ,eAAe,IAAIE,oBAAoB,CAACF,eAAe;IAC7EC,eAAe,EAAEG,IAAI,CAACH,eAAe,IAAIC,oBAAoB,CAACD;EAClE,CAAC;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMI,aAAa,GAAIC,SAA+B,IAAiB;EAC1E,IAAI,CAACA,SAAS,EAAE;IACZ,OAAOJ,oBAAoB;EAC/B;EAEA,OAAO;IACHH,eAAe,EAAEO,SAAS,CAACP,eAAe,IAAIG,oBAAoB,CAACH,eAAe;IAClFC,eAAe,EAAEM,SAAS,CAACN,eAAe,IAAIE,oBAAoB,CAACF,eAAe;IAClFC,eAAe,EAAEK,SAAS,CAACL,eAAe,IAAIC,oBAAoB,CAACD;EACvE,CAAC;AACL,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMM,eAAe,GAAGA,CAAA,KAAY;EACvCL,oBAAoB,GAAG;IAAE,GAAGJ;EAAoB,CAAC;AACrD,CAAC","ignoreList":[]}
@@ -0,0 +1,62 @@
1
+ import { afterEach, describe, expect, it } from 'vitest';
2
+ import { DEFAULT_UPLOAD_URLS, getUploadUrls, resetUploadUrls, setUploadUrls } from './uploadUrls';
3
+ describe('uploadUrls', () => {
4
+ afterEach(() => {
5
+ resetUploadUrls();
6
+ });
7
+ it('returns the default urls when nothing has been configured', () => {
8
+ expect(getUploadUrls()).toEqual(DEFAULT_UPLOAD_URLS);
9
+ });
10
+ it('overrides only the urls that are passed', () => {
11
+ setUploadUrls({
12
+ imageServiceUrl: 'https://onprem.local/img'
13
+ });
14
+ expect(getUploadUrls()).toEqual({
15
+ ...DEFAULT_UPLOAD_URLS,
16
+ imageServiceUrl: 'https://onprem.local/img'
17
+ });
18
+ });
19
+ it('keeps the configured url when an undefined value is passed', () => {
20
+ setUploadUrls({
21
+ videoServiceUrl: 'https://onprem.local/video'
22
+ });
23
+ setUploadUrls({
24
+ videoServiceUrl: undefined
25
+ });
26
+ expect(getUploadUrls().videoServiceUrl).toBe('https://onprem.local/video');
27
+ });
28
+ it('ignores an undefined configuration', () => {
29
+ setUploadUrls({
30
+ imageResizerUrl: 'https://onprem.local/resizer'
31
+ });
32
+ setUploadUrls(undefined);
33
+ expect(getUploadUrls().imageResizerUrl).toBe('https://onprem.local/resizer');
34
+ });
35
+ it('prefers the given overrides over the configured urls', () => {
36
+ setUploadUrls({
37
+ imageServiceUrl: 'https://onprem.local/img'
38
+ });
39
+ expect(getUploadUrls({
40
+ imageServiceUrl: 'https://call.local/img'
41
+ }).imageServiceUrl).toBe('https://call.local/img');
42
+ });
43
+ it('does not change the configured urls when overrides are given', () => {
44
+ setUploadUrls({
45
+ imageServiceUrl: 'https://onprem.local/img'
46
+ });
47
+ getUploadUrls({
48
+ imageServiceUrl: 'https://call.local/img'
49
+ });
50
+ expect(getUploadUrls().imageServiceUrl).toBe('https://onprem.local/img');
51
+ });
52
+ it('resets the urls back to the defaults', () => {
53
+ setUploadUrls({
54
+ imageServiceUrl: 'https://onprem.local/img',
55
+ imageResizerUrl: 'https://onprem.local/resizer',
56
+ videoServiceUrl: 'https://onprem.local/video'
57
+ });
58
+ resetUploadUrls();
59
+ expect(getUploadUrls()).toEqual(DEFAULT_UPLOAD_URLS);
60
+ });
61
+ });
62
+ //# sourceMappingURL=uploadUrls.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uploadUrls.test.js","names":["afterEach","describe","expect","it","DEFAULT_UPLOAD_URLS","getUploadUrls","resetUploadUrls","setUploadUrls","toEqual","imageServiceUrl","videoServiceUrl","undefined","toBe","imageResizerUrl"],"sources":["../../../src/config/uploadUrls.test.ts"],"sourcesContent":["import { afterEach, describe, expect, it } from 'vitest';\nimport { DEFAULT_UPLOAD_URLS, getUploadUrls, resetUploadUrls, setUploadUrls } from './uploadUrls';\n\ndescribe('uploadUrls', () => {\n afterEach(() => {\n resetUploadUrls();\n });\n\n it('returns the default urls when nothing has been configured', () => {\n expect(getUploadUrls()).toEqual(DEFAULT_UPLOAD_URLS);\n });\n\n it('overrides only the urls that are passed', () => {\n setUploadUrls({ imageServiceUrl: 'https://onprem.local/img' });\n\n expect(getUploadUrls()).toEqual({\n ...DEFAULT_UPLOAD_URLS,\n imageServiceUrl: 'https://onprem.local/img',\n });\n });\n\n it('keeps the configured url when an undefined value is passed', () => {\n setUploadUrls({ videoServiceUrl: 'https://onprem.local/video' });\n setUploadUrls({ videoServiceUrl: undefined });\n\n expect(getUploadUrls().videoServiceUrl).toBe('https://onprem.local/video');\n });\n\n it('ignores an undefined configuration', () => {\n setUploadUrls({ imageResizerUrl: 'https://onprem.local/resizer' });\n setUploadUrls(undefined);\n\n expect(getUploadUrls().imageResizerUrl).toBe('https://onprem.local/resizer');\n });\n\n it('prefers the given overrides over the configured urls', () => {\n setUploadUrls({ imageServiceUrl: 'https://onprem.local/img' });\n\n expect(getUploadUrls({ imageServiceUrl: 'https://call.local/img' }).imageServiceUrl).toBe(\n 'https://call.local/img',\n );\n });\n\n it('does not change the configured urls when overrides are given', () => {\n setUploadUrls({ imageServiceUrl: 'https://onprem.local/img' });\n getUploadUrls({ imageServiceUrl: 'https://call.local/img' });\n\n expect(getUploadUrls().imageServiceUrl).toBe('https://onprem.local/img');\n });\n\n it('resets the urls back to the defaults', () => {\n setUploadUrls({\n imageServiceUrl: 'https://onprem.local/img',\n imageResizerUrl: 'https://onprem.local/resizer',\n videoServiceUrl: 'https://onprem.local/video',\n });\n resetUploadUrls();\n\n expect(getUploadUrls()).toEqual(DEFAULT_UPLOAD_URLS);\n });\n});\n"],"mappings":"AAAA,SAASA,SAAS,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AACxD,SAASC,mBAAmB,EAAEC,aAAa,EAAEC,eAAe,EAAEC,aAAa,QAAQ,cAAc;AAEjGN,QAAQ,CAAC,YAAY,EAAE,MAAM;EACzBD,SAAS,CAAC,MAAM;IACZM,eAAe,CAAC,CAAC;EACrB,CAAC,CAAC;EAEFH,EAAE,CAAC,2DAA2D,EAAE,MAAM;IAClED,MAAM,CAACG,aAAa,CAAC,CAAC,CAAC,CAACG,OAAO,CAACJ,mBAAmB,CAAC;EACxD,CAAC,CAAC;EAEFD,EAAE,CAAC,yCAAyC,EAAE,MAAM;IAChDI,aAAa,CAAC;MAAEE,eAAe,EAAE;IAA2B,CAAC,CAAC;IAE9DP,MAAM,CAACG,aAAa,CAAC,CAAC,CAAC,CAACG,OAAO,CAAC;MAC5B,GAAGJ,mBAAmB;MACtBK,eAAe,EAAE;IACrB,CAAC,CAAC;EACN,CAAC,CAAC;EAEFN,EAAE,CAAC,4DAA4D,EAAE,MAAM;IACnEI,aAAa,CAAC;MAAEG,eAAe,EAAE;IAA6B,CAAC,CAAC;IAChEH,aAAa,CAAC;MAAEG,eAAe,EAAEC;IAAU,CAAC,CAAC;IAE7CT,MAAM,CAACG,aAAa,CAAC,CAAC,CAACK,eAAe,CAAC,CAACE,IAAI,CAAC,4BAA4B,CAAC;EAC9E,CAAC,CAAC;EAEFT,EAAE,CAAC,oCAAoC,EAAE,MAAM;IAC3CI,aAAa,CAAC;MAAEM,eAAe,EAAE;IAA+B,CAAC,CAAC;IAClEN,aAAa,CAACI,SAAS,CAAC;IAExBT,MAAM,CAACG,aAAa,CAAC,CAAC,CAACQ,eAAe,CAAC,CAACD,IAAI,CAAC,8BAA8B,CAAC;EAChF,CAAC,CAAC;EAEFT,EAAE,CAAC,sDAAsD,EAAE,MAAM;IAC7DI,aAAa,CAAC;MAAEE,eAAe,EAAE;IAA2B,CAAC,CAAC;IAE9DP,MAAM,CAACG,aAAa,CAAC;MAAEI,eAAe,EAAE;IAAyB,CAAC,CAAC,CAACA,eAAe,CAAC,CAACG,IAAI,CACrF,wBACJ,CAAC;EACL,CAAC,CAAC;EAEFT,EAAE,CAAC,8DAA8D,EAAE,MAAM;IACrEI,aAAa,CAAC;MAAEE,eAAe,EAAE;IAA2B,CAAC,CAAC;IAC9DJ,aAAa,CAAC;MAAEI,eAAe,EAAE;IAAyB,CAAC,CAAC;IAE5DP,MAAM,CAACG,aAAa,CAAC,CAAC,CAACI,eAAe,CAAC,CAACG,IAAI,CAAC,0BAA0B,CAAC;EAC5E,CAAC,CAAC;EAEFT,EAAE,CAAC,sCAAsC,EAAE,MAAM;IAC7CI,aAAa,CAAC;MACVE,eAAe,EAAE,0BAA0B;MAC3CI,eAAe,EAAE,8BAA8B;MAC/CH,eAAe,EAAE;IACrB,CAAC,CAAC;IACFJ,eAAe,CAAC,CAAC;IAEjBJ,MAAM,CAACG,aAAa,CAAC,CAAC,CAAC,CAACG,OAAO,CAACJ,mBAAmB,CAAC;EACxD,CAAC,CAAC;AACN,CAAC,CAAC","ignoreList":[]}
package/lib/esm/index.js CHANGED
@@ -80,6 +80,7 @@ export { filterFilesByMimeType, getFileAsArrayBuffer, selectFiles } from './util
80
80
  export { isTobitEmployee } from './utils/isTobitEmployee';
81
81
  export { getUsableHeight } from './utils/pageProvider';
82
82
  export { uploadFile } from './utils/uploadFile';
83
+ export { DEFAULT_UPLOAD_URLS, getUploadUrls, resetUploadUrls, setUploadUrls } from './config/uploadUrls';
83
84
  export { ComboBoxSize } from './components/combobox/ComboBox.types';
84
85
  export { default as Skeleton } from './components/skeleton';
85
86
  export { SkeletonAnimationType } from './components/skeleton/types';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["default","Accordion","AccordionContent","AccordionGroup","AccordionIntro","AccordionItem","AmountControl","VerificationBadge","AreaContext","AreaProvider","Badge","Button","Checkbox","ColorSchemeProvider","useColorScheme","BadgeSize","BadgeDesign","useContainer","ContainerAnchor","useFocusRingPortal","DropdownDirection","useIsMeasuredClone","useCombinedRefs","Filter","AnimatedNumber","FileList","FileSelect","DropdownBodyWrapper","ComboBox","ContentCard","CopyableContent","CopyableContentAppearance","HighlightSlider","ContextMenu","ContextMenuAlignment","ExpandableContent","FileInput","STREAMINGSERVICE_FILE_TYPES","TSIMG_FILE_TYPES","FilterButton","FilterButtons","GridImage","GroupedImage","Icon","Input","InputSize","List","ListItemContent","ListItem","LIST_ITEM_MARKER","withListItemMarker","withListItemMarkerForwardRef","MentionFinder","MultiActionButton","NumberInput","PageProvider","Popup","PopupContent","ProgressBar","PopupAlignment","RadioButtonGroup","RadioButton","ScrollView","SearchBox","SearchInput","SelectButton","SetupWizardItem","SetupWizard","SharingContextMenu","SharingBar","SharingButton","Signature","SliderButton","Slider","SmallWaitCursor","SmallWaitCursorSize","SmallWaitCursorSpeed","TagInput","TextArea","Tooltip","Truncation","MentionFinderPopupAlignment","useElementSize","ContentCardType","isValidFileType","getHumanSize","FilterButtonItemShape","FilterButtonSize","MultiActionButtonHeight","MultiActionButtonStatusType","ClampPosition","useIsTouch","filterFilesByMimeType","getFileAsArrayBuffer","selectFiles","isTobitEmployee","getUsableHeight","uploadFile","ComboBoxSize","Skeleton","SkeletonAnimationType","Masonry","useKeyboardFocusHighlighting"],"sources":["../../src/index.ts"],"sourcesContent":["// noinspection JSUnusedGlobalSymbols\n\nexport { default as Accordion } from './components/accordion/Accordion';\nexport { default as AccordionContent } from './components/accordion/accordion-content/AccordionContent';\nexport { default as AccordionGroup } from './components/accordion/accordion-group/AccordionGroup';\nexport { default as AccordionIntro } from './components/accordion/accordion-intro/AccordionIntro';\nexport { default as AccordionItem } from './components/accordion/accordion-item/AccordionItem';\nexport { default as AmountControl } from './components/amount-control/AmountControl';\nexport { default as VerificationBadge } from './components/verification-badge/VerificationBadge';\nexport {\n AreaContext,\n default as AreaProvider,\n} from './components/area-provider/AreaContextProvider';\nexport { default as Badge } from './components/badge/Badge';\nexport { default as Button } from './components/button/Button';\nexport { default as Checkbox } from './components/checkbox/Checkbox';\nexport {\n default as ColorSchemeProvider,\n useColorScheme,\n} from './components/color-scheme-provider/ColorSchemeProvider';\nexport { BadgeSize, BadgeDesign } from './components/badge/Badge.types';\nexport type {\n ColorSchemeContextProps,\n WithTheme,\n} from './components/color-scheme-provider/ColorSchemeProvider';\nexport { useContainer, ContainerAnchor } from './hooks/container';\nexport { useFocusRingPortal } from './hooks/useFocusRingPortal';\nexport { DropdownDirection, type DropdownCoordinates } from './types/dropdown';\nexport { useIsMeasuredClone } from './hooks/element';\nexport { useCombinedRefs } from './hooks/ref';\nexport { default as Filter, type FilterRightIcon } from './components/filter/Filter';\nexport {\n type SortItem,\n type SearchConfig,\n type SortConfig,\n type CheckboxConfig,\n type FilterButtonConfig,\n type FilterRef,\n} from './types/filter';\nexport { default as AnimatedNumber } from './components/animated-number/AnimatedNumber';\nexport {\n default as FileList,\n type IFileItem as FileListItem,\n} from './components/file-list/FileList';\nexport { default as FileSelect } from './components/file-select/FileSelect';\nexport { default as DropdownBodyWrapper } from './components/dropdown-body-wrapper/DropdownBodyWrapper';\nexport { default as ComboBox } from './components/combobox/ComboBox';\nexport { default as ContentCard } from './components/content-card/ContentCard';\nexport {\n default as CopyableContent,\n CopyableContentAppearance,\n type CopyableContentProps,\n} from './components/copyable-content/CopyableContent';\nexport { default as HighlightSlider } from './components/highlight-slider/HighlightSlider';\nexport type { HighlightSliderItemColors as HighlightSliderColors } from './components/highlight-slider/highlight-slider-item/HighlightSliderItem';\nexport { default as ContextMenu } from './components/context-menu/ContextMenu';\nexport {\n ContextMenuAlignment,\n type ContextMenuCoordinates,\n type ContextMenuItem,\n type ContextMenuProps,\n type ContextMenuRef,\n} from './components/context-menu/ContextMenu.types';\nexport { default as ExpandableContent } from './components/expandable-content/ExpandableContent';\nexport {\n default as FileInput,\n type FileInputRef,\n STREAMINGSERVICE_FILE_TYPES,\n TSIMG_FILE_TYPES,\n} from './components/file-input/FileInput';\nexport { default as FilterButton } from './components/filter-buttons/filter-button/FilterButton';\nexport { default as FilterButtons } from './components/filter-buttons/FilterButtons';\nexport { default as GridImage } from './components/grid-image/GridImage';\nexport { default as GroupedImage } from './components/grouped-image/GroupedImage';\nexport { default as Icon, type IconProps } from './components/icon/Icon';\nexport { default as Input, InputSize } from './components/input/Input';\nexport { default as List } from './components/list/List';\nexport { default as ListItemContent } from './components/list/list-item/list-item-content/ListItemContent';\nexport {\n default as ListItem,\n type ListItemElements,\n type ListItemProps,\n type ListItemRef,\n type ListItemSize,\n} from './components/list/list-item/ListItem';\nexport {\n type ListItemMarkedForwardRefComponent,\n type ListItemMarkedComponent,\n type ListItemMetaProps,\n LIST_ITEM_MARKER,\n withListItemMarker,\n withListItemMarkerForwardRef,\n} from './components/list/list-item/ListItem.utils';\nexport { default as MentionFinder } from './components/mention-finder/MentionFinder';\nexport type { MentionMember } from './components/mention-finder/MentionFinder';\nexport { default as MultiActionButton } from './components/multi-action-button/MultiActionButton';\nexport { default as NumberInput } from './components/number-input/NumberInput';\nexport { default as PageProvider } from './components/page-provider/PageProvider';\nexport { default as Popup } from './components/popup/Popup';\nexport { default as PopupContent } from './components/popup/popup-content/PopupContent';\nexport { default as ProgressBar } from './components/progress-bar/ProgressBar';\nexport { PopupAlignment } from './types/popup';\nexport type { PopupProps } from './components/popup/Popup.types';\nexport {\n default as RadioButtonGroup,\n type RadioButtonGroupRef,\n} from './components/radio-button/radio-button-group/RadioButtonGroup';\nexport { default as RadioButton } from './components/radio-button/RadioButton';\nexport { default as ScrollView } from './components/scroll-view/ScrollView';\nexport { default as SearchBox } from './components/search-box/SearchBox';\nexport { default as SearchInput } from './components/search-input/SearchInput';\nexport { default as SelectButton } from './components/select-button/SelectButton';\nexport { default as SetupWizardItem } from './components/setup-wizard/setup-wizard-item/SetupWizardItem';\nexport { default as SetupWizard } from './components/setup-wizard/SetupWizard';\nexport type { SetupWizardRef } from './components/setup-wizard/SetupWizard';\nexport { default as SharingContextMenu } from './components/sharing-context-menu/SharingContextMenu';\nexport { default as SharingBar } from './components/sharing-bar/SharingBar';\nexport { default as SharingButton } from './components/sharing-button/SharingButton';\nexport { default as Signature } from './components/signature/Signature';\nexport type { SignatureRef } from './components/signature/Signature';\nexport { default as SliderButton } from './components/slider-button/SliderButton';\nexport { default as Slider } from './components/slider/Slider';\nexport {\n default as SmallWaitCursor,\n SmallWaitCursorSize,\n SmallWaitCursorSpeed,\n} from './components/small-wait-cursor/SmallWaitCursor';\nexport type { Tag } from './types/tagInput';\nexport { default as TagInput } from './components/tag-input/TagInput';\nexport type { TagInputRef } from './components/tag-input/TagInput';\nexport { default as TextArea } from './components/text-area/TextArea';\nexport { default as Tooltip } from './components/tooltip/Tooltip';\nexport { default as Truncation } from './components/truncation/Truncation';\nexport { MentionFinderPopupAlignment } from './constants/mentionFinder';\nexport { useElementSize } from './hooks/element';\nexport type { BrowserName } from './types/chayns';\nexport { ContentCardType } from './types/contentCard';\nexport type { FileItem, Image, InternalFileItem, Meta, Video } from './types/file';\nexport { isValidFileType, getHumanSize } from './utils/file';\nexport type { FileInputFileItem } from './types/fileInput';\nexport { FilterButtonItemShape, FilterButtonSize } from './types/filterButtons';\nexport type { IFilterButtonItem as FilterButtonItem } from './types/filterButtons';\nexport type { IListItemRightElements } from './types/list';\nexport type { PopupRef } from './types/popup';\nexport type { RadioButtonItem } from './types/radioButton';\nexport type {\n ISearchBoxItem as SearchBoxItem,\n ISearchBoxItems as SearchBoxItems,\n} from './types/searchBox';\nexport type { SearchBoxSortFunction } from './utils/searchBox';\nexport type { SelectButtonItem } from './types/selectButton';\nexport type { SliderButtonItem } from './types/slider-button';\nexport {\n type MultiActionButtonAction,\n type MultiActionButtonActionEvent,\n type MultiActionButtonActionStatus,\n MultiActionButtonHeight,\n type MultiActionButtonProps,\n type MultiActionButtonSecondaryContextMenu,\n MultiActionButtonStatusType,\n} from './components/multi-action-button/MultiActionButton.types';\nexport { ClampPosition } from './types/truncation';\nexport { useIsTouch } from './utils/environment';\nexport { filterFilesByMimeType, getFileAsArrayBuffer, selectFiles } from './utils/fileDialog';\nexport { isTobitEmployee } from './utils/isTobitEmployee';\nexport { getUsableHeight } from './utils/pageProvider';\nexport { uploadFile } from './utils/uploadFile';\nexport type { Theme } from './components/color-scheme-provider/ColorSchemeProvider';\nexport { ComboBoxSize } from './components/combobox/ComboBox.types';\nexport type {\n IComboBoxItem as ComboBoxItem,\n ComboBoxTextStyles,\n IComboBoxItems as ComboBoxItems,\n ComboBoxRef,\n} from './components/combobox/ComboBox.types';\nexport { default as Skeleton } from './components/skeleton';\nexport { SkeletonAnimationType } from './components/skeleton/types';\nexport { default as Masonry } from './components/masonry/Masonry';\nexport { useKeyboardFocusHighlighting } from './hooks/useKeyboardFocusHighlighting';\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["default","Accordion","AccordionContent","AccordionGroup","AccordionIntro","AccordionItem","AmountControl","VerificationBadge","AreaContext","AreaProvider","Badge","Button","Checkbox","ColorSchemeProvider","useColorScheme","BadgeSize","BadgeDesign","useContainer","ContainerAnchor","useFocusRingPortal","DropdownDirection","useIsMeasuredClone","useCombinedRefs","Filter","AnimatedNumber","FileList","FileSelect","DropdownBodyWrapper","ComboBox","ContentCard","CopyableContent","CopyableContentAppearance","HighlightSlider","ContextMenu","ContextMenuAlignment","ExpandableContent","FileInput","STREAMINGSERVICE_FILE_TYPES","TSIMG_FILE_TYPES","FilterButton","FilterButtons","GridImage","GroupedImage","Icon","Input","InputSize","List","ListItemContent","ListItem","LIST_ITEM_MARKER","withListItemMarker","withListItemMarkerForwardRef","MentionFinder","MultiActionButton","NumberInput","PageProvider","Popup","PopupContent","ProgressBar","PopupAlignment","RadioButtonGroup","RadioButton","ScrollView","SearchBox","SearchInput","SelectButton","SetupWizardItem","SetupWizard","SharingContextMenu","SharingBar","SharingButton","Signature","SliderButton","Slider","SmallWaitCursor","SmallWaitCursorSize","SmallWaitCursorSpeed","TagInput","TextArea","Tooltip","Truncation","MentionFinderPopupAlignment","useElementSize","ContentCardType","isValidFileType","getHumanSize","FilterButtonItemShape","FilterButtonSize","MultiActionButtonHeight","MultiActionButtonStatusType","ClampPosition","useIsTouch","filterFilesByMimeType","getFileAsArrayBuffer","selectFiles","isTobitEmployee","getUsableHeight","uploadFile","DEFAULT_UPLOAD_URLS","getUploadUrls","resetUploadUrls","setUploadUrls","ComboBoxSize","Skeleton","SkeletonAnimationType","Masonry","useKeyboardFocusHighlighting"],"sources":["../../src/index.ts"],"sourcesContent":["// noinspection JSUnusedGlobalSymbols\n\nexport { default as Accordion } from './components/accordion/Accordion';\nexport { default as AccordionContent } from './components/accordion/accordion-content/AccordionContent';\nexport { default as AccordionGroup } from './components/accordion/accordion-group/AccordionGroup';\nexport { default as AccordionIntro } from './components/accordion/accordion-intro/AccordionIntro';\nexport { default as AccordionItem } from './components/accordion/accordion-item/AccordionItem';\nexport { default as AmountControl } from './components/amount-control/AmountControl';\nexport { default as VerificationBadge } from './components/verification-badge/VerificationBadge';\nexport {\n AreaContext,\n default as AreaProvider,\n} from './components/area-provider/AreaContextProvider';\nexport { default as Badge } from './components/badge/Badge';\nexport { default as Button } from './components/button/Button';\nexport { default as Checkbox } from './components/checkbox/Checkbox';\nexport {\n default as ColorSchemeProvider,\n useColorScheme,\n} from './components/color-scheme-provider/ColorSchemeProvider';\nexport { BadgeSize, BadgeDesign } from './components/badge/Badge.types';\nexport type {\n ColorSchemeContextProps,\n WithTheme,\n} from './components/color-scheme-provider/ColorSchemeProvider';\nexport { useContainer, ContainerAnchor } from './hooks/container';\nexport { useFocusRingPortal } from './hooks/useFocusRingPortal';\nexport { DropdownDirection, type DropdownCoordinates } from './types/dropdown';\nexport { useIsMeasuredClone } from './hooks/element';\nexport { useCombinedRefs } from './hooks/ref';\nexport { default as Filter, type FilterRightIcon } from './components/filter/Filter';\nexport {\n type SortItem,\n type SearchConfig,\n type SortConfig,\n type CheckboxConfig,\n type FilterButtonConfig,\n type FilterRef,\n} from './types/filter';\nexport { default as AnimatedNumber } from './components/animated-number/AnimatedNumber';\nexport {\n default as FileList,\n type IFileItem as FileListItem,\n} from './components/file-list/FileList';\nexport { default as FileSelect } from './components/file-select/FileSelect';\nexport { default as DropdownBodyWrapper } from './components/dropdown-body-wrapper/DropdownBodyWrapper';\nexport { default as ComboBox } from './components/combobox/ComboBox';\nexport { default as ContentCard } from './components/content-card/ContentCard';\nexport {\n default as CopyableContent,\n CopyableContentAppearance,\n type CopyableContentProps,\n} from './components/copyable-content/CopyableContent';\nexport { default as HighlightSlider } from './components/highlight-slider/HighlightSlider';\nexport type { HighlightSliderItemColors as HighlightSliderColors } from './components/highlight-slider/highlight-slider-item/HighlightSliderItem';\nexport { default as ContextMenu } from './components/context-menu/ContextMenu';\nexport {\n ContextMenuAlignment,\n type ContextMenuCoordinates,\n type ContextMenuItem,\n type ContextMenuProps,\n type ContextMenuRef,\n} from './components/context-menu/ContextMenu.types';\nexport { default as ExpandableContent } from './components/expandable-content/ExpandableContent';\nexport {\n default as FileInput,\n type FileInputRef,\n STREAMINGSERVICE_FILE_TYPES,\n TSIMG_FILE_TYPES,\n} from './components/file-input/FileInput';\nexport { default as FilterButton } from './components/filter-buttons/filter-button/FilterButton';\nexport { default as FilterButtons } from './components/filter-buttons/FilterButtons';\nexport { default as GridImage } from './components/grid-image/GridImage';\nexport { default as GroupedImage } from './components/grouped-image/GroupedImage';\nexport { default as Icon, type IconProps } from './components/icon/Icon';\nexport { default as Input, InputSize } from './components/input/Input';\nexport { default as List } from './components/list/List';\nexport { default as ListItemContent } from './components/list/list-item/list-item-content/ListItemContent';\nexport {\n default as ListItem,\n type ListItemElements,\n type ListItemProps,\n type ListItemRef,\n type ListItemSize,\n} from './components/list/list-item/ListItem';\nexport {\n type ListItemMarkedForwardRefComponent,\n type ListItemMarkedComponent,\n type ListItemMetaProps,\n LIST_ITEM_MARKER,\n withListItemMarker,\n withListItemMarkerForwardRef,\n} from './components/list/list-item/ListItem.utils';\nexport { default as MentionFinder } from './components/mention-finder/MentionFinder';\nexport type { MentionMember } from './components/mention-finder/MentionFinder';\nexport { default as MultiActionButton } from './components/multi-action-button/MultiActionButton';\nexport { default as NumberInput } from './components/number-input/NumberInput';\nexport { default as PageProvider } from './components/page-provider/PageProvider';\nexport { default as Popup } from './components/popup/Popup';\nexport { default as PopupContent } from './components/popup/popup-content/PopupContent';\nexport { default as ProgressBar } from './components/progress-bar/ProgressBar';\nexport { PopupAlignment } from './types/popup';\nexport type { PopupProps } from './components/popup/Popup.types';\nexport {\n default as RadioButtonGroup,\n type RadioButtonGroupRef,\n} from './components/radio-button/radio-button-group/RadioButtonGroup';\nexport { default as RadioButton } from './components/radio-button/RadioButton';\nexport { default as ScrollView } from './components/scroll-view/ScrollView';\nexport { default as SearchBox } from './components/search-box/SearchBox';\nexport { default as SearchInput } from './components/search-input/SearchInput';\nexport { default as SelectButton } from './components/select-button/SelectButton';\nexport { default as SetupWizardItem } from './components/setup-wizard/setup-wizard-item/SetupWizardItem';\nexport { default as SetupWizard } from './components/setup-wizard/SetupWizard';\nexport type { SetupWizardRef } from './components/setup-wizard/SetupWizard';\nexport { default as SharingContextMenu } from './components/sharing-context-menu/SharingContextMenu';\nexport { default as SharingBar } from './components/sharing-bar/SharingBar';\nexport { default as SharingButton } from './components/sharing-button/SharingButton';\nexport { default as Signature } from './components/signature/Signature';\nexport type { SignatureRef } from './components/signature/Signature';\nexport { default as SliderButton } from './components/slider-button/SliderButton';\nexport { default as Slider } from './components/slider/Slider';\nexport {\n default as SmallWaitCursor,\n SmallWaitCursorSize,\n SmallWaitCursorSpeed,\n} from './components/small-wait-cursor/SmallWaitCursor';\nexport type { Tag } from './types/tagInput';\nexport { default as TagInput } from './components/tag-input/TagInput';\nexport type { TagInputRef } from './components/tag-input/TagInput';\nexport { default as TextArea } from './components/text-area/TextArea';\nexport { default as Tooltip } from './components/tooltip/Tooltip';\nexport { default as Truncation } from './components/truncation/Truncation';\nexport { MentionFinderPopupAlignment } from './constants/mentionFinder';\nexport { useElementSize } from './hooks/element';\nexport type { BrowserName } from './types/chayns';\nexport { ContentCardType } from './types/contentCard';\nexport type { FileItem, Image, InternalFileItem, Meta, Video } from './types/file';\nexport { isValidFileType, getHumanSize } from './utils/file';\nexport type { FileInputFileItem } from './types/fileInput';\nexport { FilterButtonItemShape, FilterButtonSize } from './types/filterButtons';\nexport type { IFilterButtonItem as FilterButtonItem } from './types/filterButtons';\nexport type { IListItemRightElements } from './types/list';\nexport type { PopupRef } from './types/popup';\nexport type { RadioButtonItem } from './types/radioButton';\nexport type {\n ISearchBoxItem as SearchBoxItem,\n ISearchBoxItems as SearchBoxItems,\n} from './types/searchBox';\nexport type { SearchBoxSortFunction } from './utils/searchBox';\nexport type { SelectButtonItem } from './types/selectButton';\nexport type { SliderButtonItem } from './types/slider-button';\nexport {\n type MultiActionButtonAction,\n type MultiActionButtonActionEvent,\n type MultiActionButtonActionStatus,\n MultiActionButtonHeight,\n type MultiActionButtonProps,\n type MultiActionButtonSecondaryContextMenu,\n MultiActionButtonStatusType,\n} from './components/multi-action-button/MultiActionButton.types';\nexport { ClampPosition } from './types/truncation';\nexport { useIsTouch } from './utils/environment';\nexport { filterFilesByMimeType, getFileAsArrayBuffer, selectFiles } from './utils/fileDialog';\nexport { isTobitEmployee } from './utils/isTobitEmployee';\nexport { getUsableHeight } from './utils/pageProvider';\nexport { uploadFile } from './utils/uploadFile';\nexport {\n DEFAULT_UPLOAD_URLS,\n getUploadUrls,\n resetUploadUrls,\n setUploadUrls,\n type UploadUrls,\n} from './config/uploadUrls';\nexport type { Theme } from './components/color-scheme-provider/ColorSchemeProvider';\nexport { ComboBoxSize } from './components/combobox/ComboBox.types';\nexport type {\n IComboBoxItem as ComboBoxItem,\n ComboBoxTextStyles,\n IComboBoxItems as ComboBoxItems,\n ComboBoxRef,\n} from './components/combobox/ComboBox.types';\nexport { default as Skeleton } from './components/skeleton';\nexport { SkeletonAnimationType } from './components/skeleton/types';\nexport { default as Masonry } from './components/masonry/Masonry';\nexport { useKeyboardFocusHighlighting } from './hooks/useKeyboardFocusHighlighting';\n"],"mappings":"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","ignoreList":[]}
@@ -3,14 +3,16 @@ import { postVideo } from '../api/video/post';
3
3
  export const uploadFile = async ({
4
4
  fileToUpload,
5
5
  callback,
6
- shouldUploadImageToSite
6
+ shouldUploadImageToSite,
7
+ uploadUrls
7
8
  }) => {
8
9
  if (!fileToUpload || fileToUpload.state !== undefined && fileToUpload.state !== 'none') {
9
10
  return;
10
11
  }
11
12
  if (fileToUpload.file?.type.includes('video/')) {
12
13
  const uploadedVideo = await postVideo({
13
- file: fileToUpload.file
14
+ file: fileToUpload.file,
15
+ uploadUrls
14
16
  });
15
17
  if (uploadedVideo) {
16
18
  callback({
@@ -22,7 +24,8 @@ export const uploadFile = async ({
22
24
  if (fileToUpload.file?.type.includes('image/')) {
23
25
  const uploadedImage = await postImage({
24
26
  file: fileToUpload.file,
25
- shouldUploadImageToSite
27
+ shouldUploadImageToSite,
28
+ uploadUrls
26
29
  });
27
30
  if (uploadedImage) {
28
31
  callback({
@@ -1 +1 @@
1
- {"version":3,"file":"uploadFile.js","names":["postImage","postVideo","uploadFile","fileToUpload","callback","shouldUploadImageToSite","state","undefined","file","type","includes","uploadedVideo","id","toString","uploadedImage","url","base","key","meta","ratio","width","height","Number"],"sources":["../../../src/utils/uploadFile.ts"],"sourcesContent":["import { postImage } from '../api/image/post';\nimport { postVideo } from '../api/video/post';\nimport type { Image, InternalFileItem, Video } from '../types/file';\n\ninterface UploadFilesOptions {\n fileToUpload: InternalFileItem;\n callback: (UploadedFile: Video | Image) => void;\n shouldUploadImageToSite?: boolean;\n}\n\nexport const uploadFile = async ({\n fileToUpload,\n callback,\n shouldUploadImageToSite,\n}: UploadFilesOptions): Promise<void> => {\n if (!fileToUpload || (fileToUpload.state !== undefined && fileToUpload.state !== 'none')) {\n return;\n }\n\n if (fileToUpload.file?.type.includes('video/')) {\n const uploadedVideo = await postVideo({ file: fileToUpload.file });\n\n if (uploadedVideo) {\n callback({\n ...uploadedVideo,\n id: uploadedVideo.id.toString(),\n });\n }\n }\n\n if (fileToUpload.file?.type.includes('image/')) {\n const uploadedImage = await postImage({ file: fileToUpload.file, shouldUploadImageToSite });\n\n if (uploadedImage) {\n callback({\n url: `${uploadedImage.base}/${uploadedImage.key}`,\n id: uploadedImage.key,\n meta: uploadedImage.meta,\n ratio:\n uploadedImage.meta?.width && uploadedImage.meta?.height\n ? Number(uploadedImage.meta?.width) / Number(uploadedImage.meta?.height)\n : undefined,\n });\n }\n }\n};\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,mBAAmB;AAC7C,SAASC,SAAS,QAAQ,mBAAmB;AAS7C,OAAO,MAAMC,UAAU,GAAG,MAAAA,CAAO;EAC7BC,YAAY;EACZC,QAAQ;EACRC;AACgB,CAAC,KAAoB;EACrC,IAAI,CAACF,YAAY,IAAKA,YAAY,CAACG,KAAK,KAAKC,SAAS,IAAIJ,YAAY,CAACG,KAAK,KAAK,MAAO,EAAE;IACtF;EACJ;EAEA,IAAIH,YAAY,CAACK,IAAI,EAAEC,IAAI,CAACC,QAAQ,CAAC,QAAQ,CAAC,EAAE;IAC5C,MAAMC,aAAa,GAAG,MAAMV,SAAS,CAAC;MAAEO,IAAI,EAAEL,YAAY,CAACK;IAAK,CAAC,CAAC;IAElE,IAAIG,aAAa,EAAE;MACfP,QAAQ,CAAC;QACL,GAAGO,aAAa;QAChBC,EAAE,EAAED,aAAa,CAACC,EAAE,CAACC,QAAQ,CAAC;MAClC,CAAC,CAAC;IACN;EACJ;EAEA,IAAIV,YAAY,CAACK,IAAI,EAAEC,IAAI,CAACC,QAAQ,CAAC,QAAQ,CAAC,EAAE;IAC5C,MAAMI,aAAa,GAAG,MAAMd,SAAS,CAAC;MAAEQ,IAAI,EAAEL,YAAY,CAACK,IAAI;MAAEH;IAAwB,CAAC,CAAC;IAE3F,IAAIS,aAAa,EAAE;MACfV,QAAQ,CAAC;QACLW,GAAG,EAAE,GAAGD,aAAa,CAACE,IAAI,IAAIF,aAAa,CAACG,GAAG,EAAE;QACjDL,EAAE,EAAEE,aAAa,CAACG,GAAG;QACrBC,IAAI,EAAEJ,aAAa,CAACI,IAAI;QACxBC,KAAK,EACDL,aAAa,CAACI,IAAI,EAAEE,KAAK,IAAIN,aAAa,CAACI,IAAI,EAAEG,MAAM,GACjDC,MAAM,CAACR,aAAa,CAACI,IAAI,EAAEE,KAAK,CAAC,GAAGE,MAAM,CAACR,aAAa,CAACI,IAAI,EAAEG,MAAM,CAAC,GACtEd;MACd,CAAC,CAAC;IACN;EACJ;AACJ,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"uploadFile.js","names":["postImage","postVideo","uploadFile","fileToUpload","callback","shouldUploadImageToSite","uploadUrls","state","undefined","file","type","includes","uploadedVideo","id","toString","uploadedImage","url","base","key","meta","ratio","width","height","Number"],"sources":["../../../src/utils/uploadFile.ts"],"sourcesContent":["import { postImage } from '../api/image/post';\nimport { postVideo } from '../api/video/post';\nimport type { UploadUrls } from '../config/uploadUrls';\nimport type { Image, InternalFileItem, Video } from '../types/file';\n\ninterface UploadFilesOptions {\n fileToUpload: InternalFileItem;\n callback: (UploadedFile: Video | Image) => void;\n shouldUploadImageToSite?: boolean;\n /**\n * Overrides the globally configured upload service URLs for this upload.\n */\n uploadUrls?: Partial<UploadUrls>;\n}\n\nexport const uploadFile = async ({\n fileToUpload,\n callback,\n shouldUploadImageToSite,\n uploadUrls,\n}: UploadFilesOptions): Promise<void> => {\n if (!fileToUpload || (fileToUpload.state !== undefined && fileToUpload.state !== 'none')) {\n return;\n }\n\n if (fileToUpload.file?.type.includes('video/')) {\n const uploadedVideo = await postVideo({ file: fileToUpload.file, uploadUrls });\n\n if (uploadedVideo) {\n callback({\n ...uploadedVideo,\n id: uploadedVideo.id.toString(),\n });\n }\n }\n\n if (fileToUpload.file?.type.includes('image/')) {\n const uploadedImage = await postImage({\n file: fileToUpload.file,\n shouldUploadImageToSite,\n uploadUrls,\n });\n\n if (uploadedImage) {\n callback({\n url: `${uploadedImage.base}/${uploadedImage.key}`,\n id: uploadedImage.key,\n meta: uploadedImage.meta,\n ratio:\n uploadedImage.meta?.width && uploadedImage.meta?.height\n ? Number(uploadedImage.meta?.width) / Number(uploadedImage.meta?.height)\n : undefined,\n });\n }\n }\n};\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,mBAAmB;AAC7C,SAASC,SAAS,QAAQ,mBAAmB;AAc7C,OAAO,MAAMC,UAAU,GAAG,MAAAA,CAAO;EAC7BC,YAAY;EACZC,QAAQ;EACRC,uBAAuB;EACvBC;AACgB,CAAC,KAAoB;EACrC,IAAI,CAACH,YAAY,IAAKA,YAAY,CAACI,KAAK,KAAKC,SAAS,IAAIL,YAAY,CAACI,KAAK,KAAK,MAAO,EAAE;IACtF;EACJ;EAEA,IAAIJ,YAAY,CAACM,IAAI,EAAEC,IAAI,CAACC,QAAQ,CAAC,QAAQ,CAAC,EAAE;IAC5C,MAAMC,aAAa,GAAG,MAAMX,SAAS,CAAC;MAAEQ,IAAI,EAAEN,YAAY,CAACM,IAAI;MAAEH;IAAW,CAAC,CAAC;IAE9E,IAAIM,aAAa,EAAE;MACfR,QAAQ,CAAC;QACL,GAAGQ,aAAa;QAChBC,EAAE,EAAED,aAAa,CAACC,EAAE,CAACC,QAAQ,CAAC;MAClC,CAAC,CAAC;IACN;EACJ;EAEA,IAAIX,YAAY,CAACM,IAAI,EAAEC,IAAI,CAACC,QAAQ,CAAC,QAAQ,CAAC,EAAE;IAC5C,MAAMI,aAAa,GAAG,MAAMf,SAAS,CAAC;MAClCS,IAAI,EAAEN,YAAY,CAACM,IAAI;MACvBJ,uBAAuB;MACvBC;IACJ,CAAC,CAAC;IAEF,IAAIS,aAAa,EAAE;MACfX,QAAQ,CAAC;QACLY,GAAG,EAAE,GAAGD,aAAa,CAACE,IAAI,IAAIF,aAAa,CAACG,GAAG,EAAE;QACjDL,EAAE,EAAEE,aAAa,CAACG,GAAG;QACrBC,IAAI,EAAEJ,aAAa,CAACI,IAAI;QACxBC,KAAK,EACDL,aAAa,CAACI,IAAI,EAAEE,KAAK,IAAIN,aAAa,CAACI,IAAI,EAAEG,MAAM,GACjDC,MAAM,CAACR,aAAa,CAACI,IAAI,EAAEE,KAAK,CAAC,GAAGE,MAAM,CAACR,aAAa,CAACI,IAAI,EAAEG,MAAM,CAAC,GACtEd;MACd,CAAC,CAAC;IACN;EACJ;AACJ,CAAC","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ import { type UploadUrls } from '../../config/uploadUrls';
1
2
  import type { Meta } from '../../types/file';
2
3
  export interface PostImageResult {
3
4
  key: string;
@@ -23,9 +24,13 @@ export interface Signature {
23
24
  interface PostImageOptions {
24
25
  file: File;
25
26
  shouldUploadImageToSite?: boolean;
27
+ /**
28
+ * Overrides the globally configured upload service URLs for this upload.
29
+ */
30
+ uploadUrls?: Partial<UploadUrls>;
26
31
  }
27
32
  /**
28
33
  * Uploads an image to the tsimg cloud service
29
34
  */
30
- export declare const postImage: ({ file, shouldUploadImageToSite, }: PostImageOptions) => Promise<PostImageResult | undefined>;
35
+ export declare const postImage: ({ file, shouldUploadImageToSite, uploadUrls, }: PostImageOptions) => Promise<PostImageResult | undefined>;
31
36
  export {};
@@ -1,3 +1,4 @@
1
+ import { type UploadUrls } from '../../config/uploadUrls';
1
2
  export interface PostVideoResult {
2
3
  id: string;
3
4
  originalVideoQuality: string;
@@ -7,9 +8,13 @@ export interface PostVideoResult {
7
8
  }
8
9
  interface PostVideoOptions {
9
10
  file: File | Blob;
11
+ /**
12
+ * Overrides the globally configured upload service URLs for this upload.
13
+ */
14
+ uploadUrls?: Partial<UploadUrls>;
10
15
  }
11
16
  /**
12
17
  * Uploads a video to the streaming service
13
18
  */
14
- export declare const postVideo: ({ file, }: PostVideoOptions) => Promise<PostVideoResult | undefined>;
19
+ export declare const postVideo: ({ file, uploadUrls, }: PostVideoOptions) => Promise<PostVideoResult | undefined>;
15
20
  export {};
@@ -0,0 +1,54 @@
1
+ /**
2
+ * URLs of the services used to upload images and videos.
3
+ */
4
+ export interface UploadUrls {
5
+ /**
6
+ * URL of the image service used to upload images.
7
+ */
8
+ imageServiceUrl: string;
9
+ /**
10
+ * URL of the image resizer service used to upload images larger than 10 MB.
11
+ */
12
+ imageResizerUrl: string;
13
+ /**
14
+ * URL of the streaming service used to upload videos.
15
+ */
16
+ videoServiceUrl: string;
17
+ }
18
+ /**
19
+ * Default chayns upload service URLs that are used when no custom URLs have
20
+ * been configured via {@link setUploadUrls}.
21
+ */
22
+ export declare const DEFAULT_UPLOAD_URLS: UploadUrls;
23
+ /**
24
+ * Overrides the URLs of the services used to upload images and videos, e.g. for
25
+ * OnPremise deployments with self-hosted services.
26
+ *
27
+ * This has to be called once during the startup of the consuming application,
28
+ * before an upload is triggered. Environment variables cannot be used inside
29
+ * this package, because it is bundled before the consuming application is built
30
+ * and therefore no longer contains replaceable `process.env` references.
31
+ *
32
+ * Only the URLs that are passed are overridden, all others keep their current
33
+ * value.
34
+ *
35
+ * @example
36
+ * ```ts
37
+ * setUploadUrls({
38
+ * imageServiceUrl: process.env.PUBLIC_IMAGE_SERVICE_URL,
39
+ * imageResizerUrl: process.env.PUBLIC_IMAGE_RESIZER_URL,
40
+ * videoServiceUrl: process.env.PUBLIC_VIDEO_SERVICE_URL,
41
+ * });
42
+ * ```
43
+ */
44
+ export declare const setUploadUrls: (urls?: Partial<UploadUrls>) => void;
45
+ /**
46
+ * Returns the currently configured upload service URLs, optionally merged with
47
+ * the given overrides. Overrides take precedence over the globally configured
48
+ * URLs, which in turn take precedence over {@link DEFAULT_UPLOAD_URLS}.
49
+ */
50
+ export declare const getUploadUrls: (overrides?: Partial<UploadUrls>) => UploadUrls;
51
+ /**
52
+ * Resets the upload service URLs to {@link DEFAULT_UPLOAD_URLS}.
53
+ */
54
+ export declare const resetUploadUrls: () => void;
@@ -98,6 +98,7 @@ export { filterFilesByMimeType, getFileAsArrayBuffer, selectFiles } from './util
98
98
  export { isTobitEmployee } from './utils/isTobitEmployee';
99
99
  export { getUsableHeight } from './utils/pageProvider';
100
100
  export { uploadFile } from './utils/uploadFile';
101
+ export { DEFAULT_UPLOAD_URLS, getUploadUrls, resetUploadUrls, setUploadUrls, type UploadUrls, } from './config/uploadUrls';
101
102
  export type { Theme } from './components/color-scheme-provider/ColorSchemeProvider';
102
103
  export { ComboBoxSize } from './components/combobox/ComboBox.types';
103
104
  export type { IComboBoxItem as ComboBoxItem, ComboBoxTextStyles, IComboBoxItems as ComboBoxItems, ComboBoxRef, } from './components/combobox/ComboBox.types';
@@ -1,8 +1,13 @@
1
+ import type { UploadUrls } from '../config/uploadUrls';
1
2
  import type { Image, InternalFileItem, Video } from '../types/file';
2
3
  interface UploadFilesOptions {
3
4
  fileToUpload: InternalFileItem;
4
5
  callback: (UploadedFile: Video | Image) => void;
5
6
  shouldUploadImageToSite?: boolean;
7
+ /**
8
+ * Overrides the globally configured upload service URLs for this upload.
9
+ */
10
+ uploadUrls?: Partial<UploadUrls>;
6
11
  }
7
- export declare const uploadFile: ({ fileToUpload, callback, shouldUploadImageToSite, }: UploadFilesOptions) => Promise<void>;
12
+ export declare const uploadFile: ({ fileToUpload, callback, shouldUploadImageToSite, uploadUrls, }: UploadFilesOptions) => Promise<void>;
8
13
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chayns-components/core",
3
- "version": "5.5.56",
3
+ "version": "5.5.57",
4
4
  "description": "A set of beautiful React components for developing your own applications with chayns.",
5
5
  "sideEffects": false,
6
6
  "browserslist": [
@@ -93,5 +93,5 @@
93
93
  "publishConfig": {
94
94
  "access": "public"
95
95
  },
96
- "gitHead": "fae855edc2345044ecaca5ec91793695d833c733"
96
+ "gitHead": "b459c22ff66328b82b7c504447ad4685200d47d4"
97
97
  }
@@ -1,61 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.VIDEO_SERVICE_URL = exports.IMAGE_SERVICE_URL = exports.IMAGE_RESIZER_URL = void 0;
7
- /**
8
- * URL of the image service used to upload images.
9
- *
10
- * Can be overridden via the `PUBLIC_IMAGE_SERVICE_URL` environment variable
11
- * (e.g. for OnPremise deployments with a self-hosted image service). The
12
- * variable is expected to be substituted for its value by a pre-deploy
13
- * script that replaces literal `process.env.PUBLIC_IMAGE_SERVICE_URL`
14
- * occurrences with a quoted string, mirroring the approach used in the
15
- * chayns-threads project.
16
- *
17
- * Accessing `process` is wrapped in a try/catch so that a `ReferenceError`
18
- * thrown in environments where the substitution did not run and `process`
19
- * is not defined (e.g. in the browser) is swallowed, falling back to the
20
- * default chayns image service instead. Unlike a `typeof process` guard,
21
- * this does not suppress an already-substituted literal value at runtime,
22
- * since that value no longer depends on `process` being defined.
23
- */
24
- const IMAGE_SERVICE_URL = exports.IMAGE_SERVICE_URL = (() => {
25
- try {
26
- return process.env.PUBLIC_IMAGE_SERVICE_URL ?? 'https://cube.tobit.cloud/image-service/v3/Images';
27
- } catch {
28
- return 'https://cube.tobit.cloud/image-service/v3/Images';
29
- }
30
- })();
31
-
32
- /**
33
- * URL of the image resizer service used to upload images larger than 10 MB.
34
- *
35
- * Can be overridden via the `PUBLIC_IMAGE_RESIZER_URL` environment variable
36
- * (e.g. for OnPremise deployments with a self-hosted image service). See
37
- * {@link IMAGE_SERVICE_URL} for details on the substitution mechanism.
38
- */
39
- const IMAGE_RESIZER_URL = exports.IMAGE_RESIZER_URL = (() => {
40
- try {
41
- return process.env.PUBLIC_IMAGE_RESIZER_URL ?? 'https://cube.tobit.cloud/image-resizer-backend/api/v1.0/image';
42
- } catch {
43
- return 'https://cube.tobit.cloud/image-resizer-backend/api/v1.0/image';
44
- }
45
- })();
46
-
47
- /**
48
- * URL of the streaming service used to upload videos.
49
- *
50
- * Can be overridden via the `PUBLIC_VIDEO_SERVICE_URL` environment variable
51
- * (e.g. for OnPremise deployments with a self-hosted video service). See
52
- * {@link IMAGE_SERVICE_URL} for details on the substitution mechanism.
53
- */
54
- const VIDEO_SERVICE_URL = exports.VIDEO_SERVICE_URL = (() => {
55
- try {
56
- return process.env.PUBLIC_VIDEO_SERVICE_URL ?? 'https://streamingservice.chayns.space/video';
57
- } catch {
58
- return 'https://streamingservice.chayns.space/video';
59
- }
60
- })();
61
- //# sourceMappingURL=serverUrls.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"serverUrls.js","names":["IMAGE_SERVICE_URL","exports","process","env","PUBLIC_IMAGE_SERVICE_URL","IMAGE_RESIZER_URL","PUBLIC_IMAGE_RESIZER_URL","VIDEO_SERVICE_URL","PUBLIC_VIDEO_SERVICE_URL"],"sources":["../../../src/constants/serverUrls.ts"],"sourcesContent":["/**\n * URL of the image service used to upload images.\n *\n * Can be overridden via the `PUBLIC_IMAGE_SERVICE_URL` environment variable\n * (e.g. for OnPremise deployments with a self-hosted image service). The\n * variable is expected to be substituted for its value by a pre-deploy\n * script that replaces literal `process.env.PUBLIC_IMAGE_SERVICE_URL`\n * occurrences with a quoted string, mirroring the approach used in the\n * chayns-threads project.\n *\n * Accessing `process` is wrapped in a try/catch so that a `ReferenceError`\n * thrown in environments where the substitution did not run and `process`\n * is not defined (e.g. in the browser) is swallowed, falling back to the\n * default chayns image service instead. Unlike a `typeof process` guard,\n * this does not suppress an already-substituted literal value at runtime,\n * since that value no longer depends on `process` being defined.\n */\nexport const IMAGE_SERVICE_URL = ((): string => {\n try {\n return (\n process.env.PUBLIC_IMAGE_SERVICE_URL ??\n 'https://cube.tobit.cloud/image-service/v3/Images'\n );\n } catch {\n return 'https://cube.tobit.cloud/image-service/v3/Images';\n }\n})();\n\n/**\n * URL of the image resizer service used to upload images larger than 10 MB.\n *\n * Can be overridden via the `PUBLIC_IMAGE_RESIZER_URL` environment variable\n * (e.g. for OnPremise deployments with a self-hosted image service). See\n * {@link IMAGE_SERVICE_URL} for details on the substitution mechanism.\n */\nexport const IMAGE_RESIZER_URL = ((): string => {\n try {\n return (\n process.env.PUBLIC_IMAGE_RESIZER_URL ??\n 'https://cube.tobit.cloud/image-resizer-backend/api/v1.0/image'\n );\n } catch {\n return 'https://cube.tobit.cloud/image-resizer-backend/api/v1.0/image';\n }\n})();\n\n/**\n * URL of the streaming service used to upload videos.\n *\n * Can be overridden via the `PUBLIC_VIDEO_SERVICE_URL` environment variable\n * (e.g. for OnPremise deployments with a self-hosted video service). See\n * {@link IMAGE_SERVICE_URL} for details on the substitution mechanism.\n */\nexport const VIDEO_SERVICE_URL = ((): string => {\n try {\n return (\n process.env.PUBLIC_VIDEO_SERVICE_URL ?? 'https://streamingservice.chayns.space/video'\n );\n } catch {\n return 'https://streamingservice.chayns.space/video';\n }\n})();\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAG,CAAC,MAAc;EAC5C,IAAI;IACA,OACIE,OAAO,CAACC,GAAG,CAACC,wBAAwB,IACpC,kDAAkD;EAE1D,CAAC,CAAC,MAAM;IACJ,OAAO,kDAAkD;EAC7D;AACJ,CAAC,EAAE,CAAC;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,iBAAiB,GAAAJ,OAAA,CAAAI,iBAAA,GAAG,CAAC,MAAc;EAC5C,IAAI;IACA,OACIH,OAAO,CAACC,GAAG,CAACG,wBAAwB,IACpC,+DAA+D;EAEvE,CAAC,CAAC,MAAM;IACJ,OAAO,+DAA+D;EAC1E;AACJ,CAAC,EAAE,CAAC;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,iBAAiB,GAAAN,OAAA,CAAAM,iBAAA,GAAG,CAAC,MAAc;EAC5C,IAAI;IACA,OACIL,OAAO,CAACC,GAAG,CAACK,wBAAwB,IAAI,6CAA6C;EAE7F,CAAC,CAAC,MAAM;IACJ,OAAO,6CAA6C;EACxD;AACJ,CAAC,EAAE,CAAC","ignoreList":[]}
@@ -1,55 +0,0 @@
1
- /**
2
- * URL of the image service used to upload images.
3
- *
4
- * Can be overridden via the `PUBLIC_IMAGE_SERVICE_URL` environment variable
5
- * (e.g. for OnPremise deployments with a self-hosted image service). The
6
- * variable is expected to be substituted for its value by a pre-deploy
7
- * script that replaces literal `process.env.PUBLIC_IMAGE_SERVICE_URL`
8
- * occurrences with a quoted string, mirroring the approach used in the
9
- * chayns-threads project.
10
- *
11
- * Accessing `process` is wrapped in a try/catch so that a `ReferenceError`
12
- * thrown in environments where the substitution did not run and `process`
13
- * is not defined (e.g. in the browser) is swallowed, falling back to the
14
- * default chayns image service instead. Unlike a `typeof process` guard,
15
- * this does not suppress an already-substituted literal value at runtime,
16
- * since that value no longer depends on `process` being defined.
17
- */
18
- export const IMAGE_SERVICE_URL = (() => {
19
- try {
20
- return process.env.PUBLIC_IMAGE_SERVICE_URL ?? 'https://cube.tobit.cloud/image-service/v3/Images';
21
- } catch {
22
- return 'https://cube.tobit.cloud/image-service/v3/Images';
23
- }
24
- })();
25
-
26
- /**
27
- * URL of the image resizer service used to upload images larger than 10 MB.
28
- *
29
- * Can be overridden via the `PUBLIC_IMAGE_RESIZER_URL` environment variable
30
- * (e.g. for OnPremise deployments with a self-hosted image service). See
31
- * {@link IMAGE_SERVICE_URL} for details on the substitution mechanism.
32
- */
33
- export const IMAGE_RESIZER_URL = (() => {
34
- try {
35
- return process.env.PUBLIC_IMAGE_RESIZER_URL ?? 'https://cube.tobit.cloud/image-resizer-backend/api/v1.0/image';
36
- } catch {
37
- return 'https://cube.tobit.cloud/image-resizer-backend/api/v1.0/image';
38
- }
39
- })();
40
-
41
- /**
42
- * URL of the streaming service used to upload videos.
43
- *
44
- * Can be overridden via the `PUBLIC_VIDEO_SERVICE_URL` environment variable
45
- * (e.g. for OnPremise deployments with a self-hosted video service). See
46
- * {@link IMAGE_SERVICE_URL} for details on the substitution mechanism.
47
- */
48
- export const VIDEO_SERVICE_URL = (() => {
49
- try {
50
- return process.env.PUBLIC_VIDEO_SERVICE_URL ?? 'https://streamingservice.chayns.space/video';
51
- } catch {
52
- return 'https://streamingservice.chayns.space/video';
53
- }
54
- })();
55
- //# sourceMappingURL=serverUrls.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"serverUrls.js","names":["IMAGE_SERVICE_URL","process","env","PUBLIC_IMAGE_SERVICE_URL","IMAGE_RESIZER_URL","PUBLIC_IMAGE_RESIZER_URL","VIDEO_SERVICE_URL","PUBLIC_VIDEO_SERVICE_URL"],"sources":["../../../src/constants/serverUrls.ts"],"sourcesContent":["/**\n * URL of the image service used to upload images.\n *\n * Can be overridden via the `PUBLIC_IMAGE_SERVICE_URL` environment variable\n * (e.g. for OnPremise deployments with a self-hosted image service). The\n * variable is expected to be substituted for its value by a pre-deploy\n * script that replaces literal `process.env.PUBLIC_IMAGE_SERVICE_URL`\n * occurrences with a quoted string, mirroring the approach used in the\n * chayns-threads project.\n *\n * Accessing `process` is wrapped in a try/catch so that a `ReferenceError`\n * thrown in environments where the substitution did not run and `process`\n * is not defined (e.g. in the browser) is swallowed, falling back to the\n * default chayns image service instead. Unlike a `typeof process` guard,\n * this does not suppress an already-substituted literal value at runtime,\n * since that value no longer depends on `process` being defined.\n */\nexport const IMAGE_SERVICE_URL = ((): string => {\n try {\n return (\n process.env.PUBLIC_IMAGE_SERVICE_URL ??\n 'https://cube.tobit.cloud/image-service/v3/Images'\n );\n } catch {\n return 'https://cube.tobit.cloud/image-service/v3/Images';\n }\n})();\n\n/**\n * URL of the image resizer service used to upload images larger than 10 MB.\n *\n * Can be overridden via the `PUBLIC_IMAGE_RESIZER_URL` environment variable\n * (e.g. for OnPremise deployments with a self-hosted image service). See\n * {@link IMAGE_SERVICE_URL} for details on the substitution mechanism.\n */\nexport const IMAGE_RESIZER_URL = ((): string => {\n try {\n return (\n process.env.PUBLIC_IMAGE_RESIZER_URL ??\n 'https://cube.tobit.cloud/image-resizer-backend/api/v1.0/image'\n );\n } catch {\n return 'https://cube.tobit.cloud/image-resizer-backend/api/v1.0/image';\n }\n})();\n\n/**\n * URL of the streaming service used to upload videos.\n *\n * Can be overridden via the `PUBLIC_VIDEO_SERVICE_URL` environment variable\n * (e.g. for OnPremise deployments with a self-hosted video service). See\n * {@link IMAGE_SERVICE_URL} for details on the substitution mechanism.\n */\nexport const VIDEO_SERVICE_URL = ((): string => {\n try {\n return (\n process.env.PUBLIC_VIDEO_SERVICE_URL ?? 'https://streamingservice.chayns.space/video'\n );\n } catch {\n return 'https://streamingservice.chayns.space/video';\n }\n})();\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,iBAAiB,GAAG,CAAC,MAAc;EAC5C,IAAI;IACA,OACIC,OAAO,CAACC,GAAG,CAACC,wBAAwB,IACpC,kDAAkD;EAE1D,CAAC,CAAC,MAAM;IACJ,OAAO,kDAAkD;EAC7D;AACJ,CAAC,EAAE,CAAC;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,iBAAiB,GAAG,CAAC,MAAc;EAC5C,IAAI;IACA,OACIH,OAAO,CAACC,GAAG,CAACG,wBAAwB,IACpC,+DAA+D;EAEvE,CAAC,CAAC,MAAM;IACJ,OAAO,+DAA+D;EAC1E;AACJ,CAAC,EAAE,CAAC;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,iBAAiB,GAAG,CAAC,MAAc;EAC5C,IAAI;IACA,OACIL,OAAO,CAACC,GAAG,CAACK,wBAAwB,IAAI,6CAA6C;EAE7F,CAAC,CAAC,MAAM;IACJ,OAAO,6CAA6C;EACxD;AACJ,CAAC,EAAE,CAAC","ignoreList":[]}
@@ -1,34 +0,0 @@
1
- /**
2
- * URL of the image service used to upload images.
3
- *
4
- * Can be overridden via the `PUBLIC_IMAGE_SERVICE_URL` environment variable
5
- * (e.g. for OnPremise deployments with a self-hosted image service). The
6
- * variable is expected to be substituted for its value by a pre-deploy
7
- * script that replaces literal `process.env.PUBLIC_IMAGE_SERVICE_URL`
8
- * occurrences with a quoted string, mirroring the approach used in the
9
- * chayns-threads project.
10
- *
11
- * Accessing `process` is wrapped in a try/catch so that a `ReferenceError`
12
- * thrown in environments where the substitution did not run and `process`
13
- * is not defined (e.g. in the browser) is swallowed, falling back to the
14
- * default chayns image service instead. Unlike a `typeof process` guard,
15
- * this does not suppress an already-substituted literal value at runtime,
16
- * since that value no longer depends on `process` being defined.
17
- */
18
- export declare const IMAGE_SERVICE_URL: string;
19
- /**
20
- * URL of the image resizer service used to upload images larger than 10 MB.
21
- *
22
- * Can be overridden via the `PUBLIC_IMAGE_RESIZER_URL` environment variable
23
- * (e.g. for OnPremise deployments with a self-hosted image service). See
24
- * {@link IMAGE_SERVICE_URL} for details on the substitution mechanism.
25
- */
26
- export declare const IMAGE_RESIZER_URL: string;
27
- /**
28
- * URL of the streaming service used to upload videos.
29
- *
30
- * Can be overridden via the `PUBLIC_VIDEO_SERVICE_URL` environment variable
31
- * (e.g. for OnPremise deployments with a self-hosted video service). See
32
- * {@link IMAGE_SERVICE_URL} for details on the substitution mechanism.
33
- */
34
- export declare const VIDEO_SERVICE_URL: string;