@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.
- package/lib/cjs/api/image/post.js +8 -3
- package/lib/cjs/api/image/post.js.map +1 -1
- package/lib/cjs/api/video/post.js +7 -3
- package/lib/cjs/api/video/post.js.map +1 -1
- package/lib/cjs/config/uploadUrls.js +83 -0
- package/lib/cjs/config/uploadUrls.js.map +1 -0
- package/lib/cjs/config/uploadUrls.test.js +64 -0
- package/lib/cjs/config/uploadUrls.test.js.map +1 -0
- package/lib/cjs/index.js +25 -0
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/utils/uploadFile.js +6 -3
- package/lib/cjs/utils/uploadFile.js.map +1 -1
- package/lib/esm/api/image/post.js +8 -3
- package/lib/esm/api/image/post.js.map +1 -1
- package/lib/esm/api/video/post.js +7 -3
- package/lib/esm/api/video/post.js.map +1 -1
- package/lib/esm/config/uploadUrls.js +74 -0
- package/lib/esm/config/uploadUrls.js.map +1 -0
- package/lib/esm/config/uploadUrls.test.js +62 -0
- package/lib/esm/config/uploadUrls.test.js.map +1 -0
- package/lib/esm/index.js +1 -0
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/utils/uploadFile.js +6 -3
- package/lib/esm/utils/uploadFile.js.map +1 -1
- package/lib/types/api/image/post.d.ts +6 -1
- package/lib/types/api/video/post.d.ts +6 -1
- package/lib/types/config/uploadUrls.d.ts +54 -0
- package/lib/types/index.d.ts +1 -0
- package/lib/types/utils/uploadFile.d.ts +6 -1
- package/package.json +2 -2
- package/lib/cjs/constants/serverUrls.js +0 -61
- package/lib/cjs/constants/serverUrls.js.map +0 -1
- package/lib/esm/constants/serverUrls.js +0 -55
- package/lib/esm/constants/serverUrls.js.map +0 -1
- 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
|
|
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
|
|
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","
|
|
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
|
|
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
|
|
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","
|
|
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");
|
package/lib/cjs/index.js.map
CHANGED
|
@@ -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({
|
|
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 {
|
|
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
|
|
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","
|
|
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 {
|
|
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
|
|
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","
|
|
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';
|
package/lib/esm/index.js.map
CHANGED
|
@@ -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({
|
|
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;
|
package/lib/types/index.d.ts
CHANGED
|
@@ -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.
|
|
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": "
|
|
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;
|