@bit.rhplus/data 0.0.13 → 0.0.15

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/dist/index.d.ts CHANGED
@@ -1,11 +1,4 @@
1
- export function useData(): {
2
- fetchData: (api: any, data: any) => Promise<any>;
3
- fetchDataUIAsync: (api: any, data: any) => Promise<any>;
4
- getFileURL: (content: any, type: any) => string;
5
- downloadFileURL: (content: any, type: any, fileName: any) => void;
6
- };
7
- export default useSecureData;
8
- declare function useSecureData(): {
1
+ export default function useData(): {
9
2
  fetchData: (api: any, data: any) => Promise<any>;
10
3
  fetchDataUIAsync: (api: any, data: any) => Promise<any>;
11
4
  getFileURL: (content: any, type: any) => string;
package/dist/index.js CHANGED
@@ -1,42 +1,23 @@
1
- import { FetchData, errorNotification } from '@bit.rhplus/api';
2
- import { useOidcAccessToken } from '@axa-fr/react-oidc';
3
- const getFileURL = (content, type) => {
4
- const isBase64 = typeof content === 'string' && /^[A-Za-z0-9+/=]+$/.test(content);
5
- let byteArray;
6
- if (isBase64) {
7
- // Je to base64, převedeme na byteArray
8
- const byteCharacters = atob(content);
9
- const byteNumbers = new Array(byteCharacters.length);
10
- // eslint-disable-next-line no-plusplus
11
- for (let i = 0; i < byteCharacters.length; i++) {
12
- byteNumbers[i] = byteCharacters.charCodeAt(i);
13
- }
14
- byteArray = new Uint8Array(byteNumbers);
1
+ import { FetchData, errorNotification } from '@rhplus/wieldy.api';
2
+ import { useOidcAccessToken } from "@axa-fr/react-oidc";
3
+ export default function useData() {
4
+ let accessToken = null;
5
+ try {
6
+ const oidcToken = useOidcAccessToken();
7
+ accessToken = oidcToken?.accessToken || null;
15
8
  }
16
- else {
17
- // Očekáváme, že content je již byte array
18
- byteArray = new Uint8Array(content);
9
+ catch (err) {
10
+ // Kontext OIDC není dostupný pokračujeme bez tokenu
11
+ errorNotification('OIDC není dostupné. Pravděpodobně chybí OidcProvider.', err);
19
12
  }
20
- const blob = new Blob([byteArray], { type });
21
- const fileUrl = window.URL.createObjectURL(blob);
22
- return fileUrl;
23
- };
24
- const downloadFileURL = (content, type, fileName) => {
25
- const fileURL = getFileURL(content, type);
26
- const tempLink = document.createElement('a');
27
- tempLink.href = fileURL;
28
- tempLink.download = fileName;
29
- tempLink.click();
30
- };
31
- export const useData = () => {
32
- const fetchData = (api, data) => FetchData(api, data);
13
+ const fetchData = (api, data) => FetchData(api, data, accessToken);
33
14
  const fetchDataUIAsync = async (api, data) => {
34
15
  try {
35
16
  const result = await fetchData(api, data);
36
17
  return {
37
18
  ...result,
38
19
  result: 'success',
39
- success: true,
20
+ success: true
40
21
  };
41
22
  }
42
23
  catch (error) {
@@ -44,45 +25,41 @@ export const useData = () => {
44
25
  return {
45
26
  result: 'fail',
46
27
  success: false,
47
- error,
28
+ error
48
29
  };
49
30
  }
50
31
  };
51
- return {
52
- fetchData,
53
- fetchDataUIAsync,
54
- getFileURL,
55
- downloadFileURL,
56
- };
57
- };
58
- const useSecureData = () => {
59
- const { accessToken } = useOidcAccessToken();
60
- const fetchData = (api, data) => FetchData(api, data, accessToken);
61
- const fetchDataUIAsync = async (api, data) => {
62
- try {
63
- const result = await fetchData(api, data);
64
- return {
65
- ...result,
66
- result: 'success',
67
- success: true,
68
- };
32
+ const getFileURL = (content, type) => {
33
+ const isBase64 = typeof content === 'string' && /^[A-Za-z0-9+/=]+$/.test(content);
34
+ let byteArray;
35
+ if (isBase64) {
36
+ const byteCharacters = atob(content);
37
+ const byteNumbers = new Array(byteCharacters.length);
38
+ for (let i = 0; i < byteCharacters.length; i += 1) {
39
+ byteNumbers[i] = byteCharacters.charCodeAt(i);
40
+ }
41
+ byteArray = new Uint8Array(byteNumbers);
69
42
  }
70
- catch (error) {
71
- errorNotification(error);
72
- return {
73
- result: 'fail',
74
- success: false,
75
- error,
76
- };
43
+ else {
44
+ byteArray = new Uint8Array(content);
77
45
  }
46
+ const blob = new Blob([byteArray], { type });
47
+ const fileUrl = window.URL.createObjectURL(blob);
48
+ return fileUrl;
49
+ };
50
+ const downloadFileURL = (content, type, fileName) => {
51
+ const fileURL = getFileURL(content, type);
52
+ const tempLink = document.createElement("a");
53
+ tempLink.href = fileURL;
54
+ tempLink.download = fileName;
55
+ tempLink.click();
78
56
  };
79
57
  return {
80
58
  fetchData,
81
59
  fetchDataUIAsync,
82
60
  getFileURL,
83
- downloadFileURL,
61
+ downloadFileURL
84
62
  };
85
- };
86
- export default useSecureData;
63
+ }
87
64
  export { useApiQuery, useApiQuerySilence, useStaticQuery } from './reactQuery';
88
65
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.js"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { useQuery, useQueryClient } from '@tanstack/react-query';
2
- import useSecureData from '.';
2
+ import useData from '.';
3
3
  export const useApiQuery = (key, api, params = {}, returnFn, ui = true) => {
4
- const { fetchData, fetchDataUIAsync } = useSecureData();
4
+ const { fetchData, fetchDataUIAsync } = useData();
5
5
  const queryClient = useQueryClient();
6
6
  return {
7
7
  ...useQuery({
@@ -1 +1 @@
1
- {"version":3,"file":"reactQuery.js","sourceRoot":"","sources":["../reactQuery.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,aAAa,MAAM,GAAG,CAAC;AAE9B,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE;IACxE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,aAAa,EAAE,CAAC;IACxD,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IAErC,OAAO;QACL,GAAG,QAAQ,CAAC;YACV,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,+BAA+B;YAChD,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,MAAM,QAAQ,GAAG,EAAE;oBACjB,CAAC,CAAC,MAAM,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC;oBACrC,CAAC,CAAC,MAAM,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBAEjC,IAAI,QAAQ,EAAE,CAAC;oBACb,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACjC,CAAC;gBAED,OAAO,QAAQ,CAAC,IAAI,CAAC;YACvB,CAAC;SACF,CAAC;QACF,sCAAsC;QACtC,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE;YACvB,WAAW,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE;gBAC1C,6BAA6B;gBAC7B,IAAI,CAAC,OAAO;oBAAE,OAAO,OAAO,CAAC;gBAC7B,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,EAAE,EAAE,QAAQ,EAAE,EAAE,CAClE,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;AAEnD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE;IAChD,OAAO,QAAQ,CAAC;QACd,QAAQ,EAAE,CAAC,GAAG,CAAC;QACf,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;QAC1C,WAAW,EAAE,UAAU;QACvB,SAAS,EAAE,QAAQ;KACpB,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"reactQuery.js","sourceRoot":"","sources":["../reactQuery.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,OAAO,MAAM,GAAG,CAAC;AAExB,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE;IACxE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,OAAO,EAAE,CAAC;IAClD,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IAErC,OAAO;QACL,GAAG,QAAQ,CAAC;YACV,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,+BAA+B;YAChD,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,MAAM,QAAQ,GAAG,EAAE;oBACjB,CAAC,CAAC,MAAM,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC;oBACrC,CAAC,CAAC,MAAM,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBAEjC,IAAI,QAAQ,EAAE,CAAC;oBACb,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACjC,CAAC;gBAED,OAAO,QAAQ,CAAC,IAAI,CAAC;YACvB,CAAC;SACF,CAAC;QACF,sCAAsC;QACtC,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE;YACvB,WAAW,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE;gBAC1C,6BAA6B;gBAC7B,IAAI,CAAC,OAAO;oBAAE,OAAO,OAAO,CAAC;gBAC7B,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,EAAE,EAAE,QAAQ,EAAE,EAAE,CAClE,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;AAEnD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE;IAChD,OAAO,QAAQ,CAAC;QACd,QAAQ,EAAE,CAAC,GAAG,CAAC;QACf,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;QAC1C,WAAW,EAAE,UAAU;QACvB,SAAS,EAAE,QAAQ;KACpB,CAAC,CAAC;AACL,CAAC,CAAC"}
package/index.js CHANGED
@@ -1,38 +1,18 @@
1
- import { FetchData, errorNotification } from '@bit.rhplus/api';
2
- import { useOidcAccessToken } from '@axa-fr/react-oidc';
1
+ import { FetchData, errorNotification } from '@rhplus/wieldy.api';
2
+ import { useOidcAccessToken } from "@axa-fr/react-oidc";
3
3
 
4
- const getFileURL = (content, type) => {
5
- const isBase64 =
6
- typeof content === 'string' && /^[A-Za-z0-9+/=]+$/.test(content);
7
- let byteArray;
8
- if (isBase64) {
9
- // Je to base64, převedeme na byteArray
10
- const byteCharacters = atob(content);
11
- const byteNumbers = new Array(byteCharacters.length);
12
- // eslint-disable-next-line no-plusplus
13
- for (let i = 0; i < byteCharacters.length; i++) {
14
- byteNumbers[i] = byteCharacters.charCodeAt(i);
15
- }
16
- byteArray = new Uint8Array(byteNumbers);
17
- } else {
18
- // Očekáváme, že content je již byte array
19
- byteArray = new Uint8Array(content);
20
- }
21
- const blob = new Blob([byteArray], { type });
22
- const fileUrl = window.URL.createObjectURL(blob);
23
- return fileUrl;
24
- };
4
+ export default function useData() {
5
+ let accessToken = null;
25
6
 
26
- const downloadFileURL = (content, type, fileName) => {
27
- const fileURL = getFileURL(content, type);
28
- const tempLink = document.createElement('a');
29
- tempLink.href = fileURL;
30
- tempLink.download = fileName;
31
- tempLink.click();
32
- };
7
+ try {
8
+ const oidcToken = useOidcAccessToken();
9
+ accessToken = oidcToken?.accessToken || null;
10
+ } catch (err) {
11
+ // Kontext OIDC není dostupný – pokračujeme bez tokenu
12
+ errorNotification('OIDC není dostupné. Pravděpodobně chybí OidcProvider.', err);
13
+ }
33
14
 
34
- export const useData = () => {
35
- const fetchData = (api, data) => FetchData(api, data);
15
+ const fetchData = (api, data) => FetchData(api, data, accessToken);
36
16
 
37
17
  const fetchDataUIAsync = async (api, data) => {
38
18
  try {
@@ -40,57 +20,52 @@ export const useData = () => {
40
20
  return {
41
21
  ...result,
42
22
  result: 'success',
43
- success: true,
23
+ success: true
44
24
  };
45
25
  } catch (error) {
46
26
  errorNotification(error);
47
27
  return {
48
28
  result: 'fail',
49
29
  success: false,
50
- error,
30
+ error
51
31
  };
52
32
  }
53
33
  };
54
34
 
55
-
56
- return {
57
- fetchData,
58
- fetchDataUIAsync,
59
- getFileURL,
60
- downloadFileURL,
61
- };
62
- }
63
-
64
- const useSecureData = () => {
65
- const { accessToken } = useOidcAccessToken();
66
- const fetchData = (api, data) => FetchData(api, data, accessToken);
35
+ const getFileURL = (content, type) => {
36
+ const isBase64 = typeof content === 'string' && /^[A-Za-z0-9+/=]+$/.test(content);
67
37
 
68
- const fetchDataUIAsync = async (api, data) => {
69
- try {
70
- const result = await fetchData(api, data);
71
- return {
72
- ...result,
73
- result: 'success',
74
- success: true,
75
- };
76
- } catch (error) {
77
- errorNotification(error);
78
- return {
79
- result: 'fail',
80
- success: false,
81
- error,
82
- };
38
+ let byteArray;
39
+ if (isBase64) {
40
+ const byteCharacters = atob(content);
41
+ const byteNumbers = new Array(byteCharacters.length);
42
+ for (let i = 0; i < byteCharacters.length; i += 1) {
43
+ byteNumbers[i] = byteCharacters.charCodeAt(i);
44
+ }
45
+ byteArray = new Uint8Array(byteNumbers);
46
+ } else {
47
+ byteArray = new Uint8Array(content);
83
48
  }
49
+
50
+ const blob = new Blob([byteArray], { type });
51
+ const fileUrl = window.URL.createObjectURL(blob);
52
+ return fileUrl;
53
+ };
54
+
55
+ const downloadFileURL = (content, type, fileName) => {
56
+ const fileURL = getFileURL(content, type);
57
+ const tempLink = document.createElement("a");
58
+ tempLink.href = fileURL;
59
+ tempLink.download = fileName;
60
+ tempLink.click();
84
61
  };
85
62
 
86
-
87
63
  return {
88
64
  fetchData,
89
65
  fetchDataUIAsync,
90
66
  getFileURL,
91
- downloadFileURL,
67
+ downloadFileURL
92
68
  };
93
69
  }
94
70
 
95
- export default useSecureData;
96
71
  export { useApiQuery, useApiQuerySilence, useStaticQuery } from './reactQuery';
package/package.json CHANGED
@@ -1,19 +1,19 @@
1
1
  {
2
2
  "name": "@bit.rhplus/data",
3
- "version": "0.0.13",
3
+ "version": "0.0.15",
4
4
  "homepage": "https://bit.cloud/remote-scope/data",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "remote-scope",
8
8
  "name": "data",
9
- "version": "0.0.13"
9
+ "version": "0.0.15"
10
10
  },
11
11
  "dependencies": {
12
12
  "@tanstack/react-query": "^5.66.9",
13
- "@bit.rhplus/api": "0.0.2"
13
+ "@rhplus/wieldy.api": "0.0.10"
14
14
  },
15
15
  "devDependencies": {
16
- "@teambit/react.react-env": "1.0.129"
16
+ "@teambit/react.react-env": "1.0.111"
17
17
  },
18
18
  "peerDependencies": {
19
19
  "@axa-fr/react-oidc": "7.24.1"
package/reactQuery.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { useQuery, useQueryClient } from '@tanstack/react-query';
2
- import useSecureData from '.';
2
+ import useData from '.';
3
3
 
4
4
  export const useApiQuery = (key, api, params = {}, returnFn, ui = true) => {
5
- const { fetchData, fetchDataUIAsync } = useSecureData();
5
+ const { fetchData, fetchDataUIAsync } = useData();
6
6
  const queryClient = useQueryClient();
7
7
 
8
8
  return {