admins-components 9.0.27 → 9.0.29
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/README.md +4 -22
- package/dist/admins-components.js +53 -52
- package/dist/admins-components100.js +79 -249
- package/dist/admins-components100.js.map +1 -1
- package/dist/admins-components101.js +112 -26
- package/dist/admins-components101.js.map +1 -1
- package/dist/admins-components102.js +45 -26
- package/dist/admins-components102.js.map +1 -1
- package/dist/admins-components103.js +102 -168
- package/dist/admins-components103.js.map +1 -1
- package/dist/admins-components104.js +17 -65
- package/dist/admins-components104.js.map +1 -1
- package/dist/admins-components105.js +6 -66
- package/dist/admins-components105.js.map +1 -1
- package/dist/admins-components106.js +247 -25
- package/dist/admins-components106.js.map +1 -1
- package/dist/admins-components107.js +27 -16
- package/dist/admins-components107.js.map +1 -1
- package/dist/admins-components108.js +26 -25
- package/dist/admins-components108.js.map +1 -1
- package/dist/admins-components109.js +171 -8
- package/dist/admins-components109.js.map +1 -1
- package/dist/admins-components110.js +67 -3
- package/dist/admins-components110.js.map +1 -1
- package/dist/admins-components111.js +67 -3
- package/dist/admins-components111.js.map +1 -1
- package/dist/admins-components112.js +30 -3
- package/dist/admins-components112.js.map +1 -1
- package/dist/admins-components113.js +15 -20
- package/dist/admins-components113.js.map +1 -1
- package/dist/admins-components114.js +27 -14
- package/dist/admins-components114.js.map +1 -1
- package/dist/admins-components115.js +8 -7
- package/dist/admins-components115.js.map +1 -1
- package/dist/admins-components116.js +4 -13
- package/dist/admins-components116.js.map +1 -1
- package/dist/admins-components117.js +3 -26
- package/dist/admins-components117.js.map +1 -1
- package/dist/admins-components118.js +3 -83
- package/dist/admins-components118.js.map +1 -1
- package/dist/admins-components119.js +19 -9
- package/dist/admins-components119.js.map +1 -1
- package/dist/admins-components120.js +14 -5
- package/dist/admins-components120.js.map +1 -1
- package/dist/admins-components121.js +7 -7
- package/dist/admins-components121.js.map +1 -1
- package/dist/admins-components122.js +12 -6
- package/dist/admins-components122.js.map +1 -1
- package/dist/admins-components123.js +25 -5
- package/dist/admins-components123.js.map +1 -1
- package/dist/admins-components124.js +82 -14
- package/dist/admins-components124.js.map +1 -1
- package/dist/admins-components125.js +10 -12
- package/dist/admins-components125.js.map +1 -1
- package/dist/admins-components126.js +5 -30
- package/dist/admins-components126.js.map +1 -1
- package/dist/admins-components127.js +7 -3
- package/dist/admins-components127.js.map +1 -1
- package/dist/admins-components128.js +7 -29
- package/dist/admins-components128.js.map +1 -1
- package/dist/admins-components129.js +3 -2
- package/dist/admins-components129.js.map +1 -1
- package/dist/admins-components130.js +12 -2
- package/dist/admins-components130.js.map +1 -1
- package/dist/admins-components131.js +12 -7
- package/dist/admins-components131.js.map +1 -1
- package/dist/admins-components132.js +30 -74
- package/dist/admins-components132.js.map +1 -1
- package/dist/admins-components133.js +4 -29
- package/dist/admins-components133.js.map +1 -1
- package/dist/admins-components134.js +27 -57
- package/dist/admins-components134.js.map +1 -1
- package/dist/admins-components135.js +5 -24
- package/dist/admins-components135.js.map +1 -1
- package/dist/admins-components136.js +5 -50
- package/dist/admins-components136.js.map +1 -1
- package/dist/admins-components137.js +7 -30
- package/dist/admins-components137.js.map +1 -1
- package/dist/admins-components138.js +74 -3
- package/dist/admins-components138.js.map +1 -1
- package/dist/admins-components139.js +27 -177
- package/dist/admins-components139.js.map +1 -1
- package/dist/admins-components140.js +58 -45
- package/dist/admins-components140.js.map +1 -1
- package/dist/admins-components141.js +23 -36
- package/dist/admins-components141.js.map +1 -1
- package/dist/admins-components142.js +46 -42
- package/dist/admins-components142.js.map +1 -1
- package/dist/admins-components143.js +28 -138
- package/dist/admins-components143.js.map +1 -1
- package/dist/admins-components144.js +3 -58
- package/dist/admins-components144.js.map +1 -1
- package/dist/admins-components145.js +178 -6
- package/dist/admins-components145.js.map +1 -1
- package/dist/admins-components146.js +45 -5
- package/dist/admins-components146.js.map +1 -1
- package/dist/admins-components147.js +37 -76
- package/dist/admins-components147.js.map +1 -1
- package/dist/admins-components148.js +45 -28
- package/dist/admins-components148.js.map +1 -1
- package/dist/admins-components149.js +129 -1919
- package/dist/admins-components149.js.map +1 -1
- package/dist/admins-components15.js +8 -42
- package/dist/admins-components15.js.map +1 -1
- package/dist/admins-components150.js +54 -24807
- package/dist/admins-components150.js.map +1 -1
- package/dist/admins-components151.js +6 -8
- package/dist/admins-components151.js.map +1 -1
- package/dist/admins-components152.js +6 -7
- package/dist/admins-components152.js.map +1 -0
- package/dist/admins-components153.js +76 -142
- package/dist/admins-components153.js.map +1 -1
- package/dist/admins-components154.js +28 -8
- package/dist/admins-components154.js.map +1 -1
- package/dist/admins-components155.js +1930 -8
- package/dist/admins-components155.js.map +1 -1
- package/dist/admins-components156.js +24812 -0
- package/dist/admins-components156.js.map +1 -0
- package/dist/admins-components157.js +8 -167
- package/dist/admins-components157.js.map +1 -1
- package/dist/admins-components158.js +7 -51
- package/dist/admins-components159.js +141 -8
- package/dist/admins-components159.js.map +1 -1
- package/dist/admins-components16.js +89 -4
- package/dist/admins-components16.js.map +1 -1
- package/dist/admins-components160.js +8 -49
- package/dist/admins-components160.js.map +1 -1
- package/dist/admins-components161.js +9 -6
- package/dist/admins-components161.js.map +1 -1
- package/dist/admins-components163.js +160 -50
- package/dist/admins-components163.js.map +1 -1
- package/dist/admins-components164.js +34 -42
- package/dist/admins-components164.js.map +1 -1
- package/dist/admins-components165.js +3 -3
- package/dist/admins-components165.js.map +1 -1
- package/dist/admins-components166.js +18 -20
- package/dist/admins-components166.js.map +1 -1
- package/dist/admins-components167.js +6 -9
- package/dist/admins-components167.js.map +1 -1
- package/dist/{admins-components162.js → admins-components168.js} +3 -3
- package/dist/{admins-components162.js.map → admins-components168.js.map} +1 -1
- package/dist/admins-components169.js +51 -51
- package/dist/admins-components169.js.map +1 -1
- package/dist/admins-components17.js +4 -94
- package/dist/admins-components17.js.map +1 -1
- package/dist/admins-components170.js +60 -0
- package/dist/admins-components170.js.map +1 -0
- package/dist/admins-components171.js +10 -0
- package/dist/admins-components171.js.map +1 -0
- package/dist/admins-components172.js +53 -0
- package/dist/admins-components172.js.map +1 -0
- package/dist/admins-components173.js +10 -0
- package/dist/admins-components173.js.map +1 -0
- package/dist/admins-components175.js +59 -0
- package/dist/admins-components175.js.map +1 -0
- package/dist/admins-components18.js +37 -239
- package/dist/admins-components18.js.map +1 -1
- package/dist/admins-components19.js +1 -2
- package/dist/admins-components19.js.map +1 -1
- package/dist/admins-components20.js +91 -179
- package/dist/admins-components20.js.map +1 -1
- package/dist/admins-components21.js +245 -0
- package/dist/admins-components21.js.map +1 -0
- package/dist/admins-components22.js +3 -4
- package/dist/admins-components22.js.map +1 -1
- package/dist/admins-components23.js +172 -68
- package/dist/admins-components23.js.map +1 -1
- package/dist/admins-components25.js +6 -58
- package/dist/admins-components25.js.map +1 -1
- package/dist/admins-components26.js +79 -0
- package/dist/{admins-components24.js.map → admins-components26.js.map} +1 -1
- package/dist/admins-components27.js +3 -3
- package/dist/admins-components27.js.map +1 -1
- package/dist/admins-components28.js +50 -64
- package/dist/admins-components28.js.map +1 -1
- package/dist/admins-components29.js +75 -0
- package/dist/admins-components29.js.map +1 -0
- package/dist/admins-components31.js +6 -39
- package/dist/admins-components31.js.map +1 -1
- package/dist/admins-components32.js +66 -0
- package/dist/admins-components32.js.map +1 -0
- package/dist/admins-components34.js +6 -36
- package/dist/admins-components34.js.map +1 -1
- package/dist/admins-components35.js +39 -4
- package/dist/admins-components35.js.map +1 -1
- package/dist/{admins-components33.js → admins-components37.js} +1 -1
- package/dist/{admins-components33.js.map → admins-components37.js.map} +1 -1
- package/dist/admins-components38.js +36 -6
- package/dist/admins-components38.js.map +1 -1
- package/dist/admins-components39.js +4 -146
- package/dist/admins-components39.js.map +1 -1
- package/dist/{admins-components36.js.map → admins-components40.js.map} +1 -1
- package/dist/admins-components42.js +6 -124
- package/dist/admins-components42.js.map +1 -1
- package/dist/admins-components43.js +146 -4
- package/dist/admins-components43.js.map +1 -1
- package/dist/admins-components45.js +4 -2
- package/dist/admins-components45.js.map +1 -1
- package/dist/admins-components46.js +120 -15
- package/dist/admins-components46.js.map +1 -1
- package/dist/admins-components47.js +5 -0
- package/dist/admins-components47.js.map +1 -0
- package/dist/admins-components48.js +179 -6
- package/dist/admins-components48.js.map +1 -1
- package/dist/admins-components49.js +4 -54
- package/dist/admins-components49.js.map +1 -1
- package/dist/admins-components50.js +15 -89
- package/dist/admins-components50.js.map +1 -1
- package/dist/admins-components52.js +2 -2
- package/dist/admins-components52.js.map +1 -1
- package/dist/admins-components53.js +52 -23
- package/dist/admins-components53.js.map +1 -1
- package/dist/admins-components54.js +93 -9
- package/dist/admins-components54.js.map +1 -1
- package/dist/admins-components56.js +6 -73
- package/dist/admins-components56.js.map +1 -1
- package/dist/admins-components57.js +24 -65
- package/dist/admins-components57.js.map +1 -1
- package/dist/admins-components58.js +9 -4
- package/dist/admins-components58.js.map +1 -1
- package/dist/admins-components59.js +19 -138
- package/dist/admins-components59.js.map +1 -1
- package/dist/admins-components60.js +74 -0
- package/dist/admins-components60.js.map +1 -0
- package/dist/admins-components61.js +66 -7
- package/dist/admins-components61.js.map +1 -1
- package/dist/admins-components62.js +4 -170
- package/dist/admins-components62.js.map +1 -1
- package/dist/admins-components63.js +140 -0
- package/dist/admins-components63.js.map +1 -0
- package/dist/admins-components65.js +7 -7
- package/dist/admins-components65.js.map +1 -1
- package/dist/admins-components66.js +155 -259
- package/dist/admins-components66.js.map +1 -1
- package/dist/admins-components68.js +3 -2
- package/dist/admins-components68.js.map +1 -1
- package/dist/admins-components69.js +6 -119
- package/dist/admins-components69.js.map +1 -1
- package/dist/admins-components70.js +280 -0
- package/dist/admins-components70.js.map +1 -0
- package/dist/admins-components72.js +6 -59
- package/dist/admins-components72.js.map +1 -1
- package/dist/admins-components73.js +110 -207
- package/dist/admins-components73.js.map +1 -1
- package/dist/admins-components75.js +2 -2
- package/dist/admins-components75.js.map +1 -1
- package/dist/admins-components76.js +58 -7
- package/dist/admins-components76.js.map +1 -1
- package/dist/admins-components77.js +220 -51
- package/dist/admins-components77.js.map +1 -1
- package/dist/admins-components79.js +7 -0
- package/dist/admins-components79.js.map +1 -0
- package/dist/admins-components80.js +52 -6
- package/dist/admins-components80.js.map +1 -1
- package/dist/admins-components81.js +246 -32
- package/dist/admins-components81.js.map +1 -1
- package/dist/admins-components83.js +2 -2
- package/dist/admins-components83.js.map +1 -1
- package/dist/admins-components84.js +31 -192
- package/dist/admins-components84.js.map +1 -1
- package/dist/admins-components86.js +2 -2
- package/dist/admins-components86.js.map +1 -1
- package/dist/admins-components87.js +195 -184
- package/dist/admins-components87.js.map +1 -1
- package/dist/admins-components89.js +2 -2
- package/dist/admins-components89.js.map +1 -1
- package/dist/admins-components90.js +16 -3
- package/dist/admins-components90.js.map +1 -1
- package/dist/admins-components91.js +77 -16
- package/dist/admins-components91.js.map +1 -1
- package/dist/admins-components93.js +6 -52
- package/dist/admins-components93.js.map +1 -1
- package/dist/admins-components94.js +195 -81
- package/dist/admins-components94.js.map +1 -1
- package/dist/admins-components96.js +6 -47
- package/dist/admins-components96.js.map +1 -1
- package/dist/admins-components97.js +3 -106
- package/dist/admins-components97.js.map +1 -1
- package/dist/admins-components98.js +3 -20
- package/dist/admins-components98.js.map +1 -1
- package/dist/admins-components99.js +51 -6
- package/dist/admins-components99.js.map +1 -1
- package/dist/main.css +1 -1
- package/dist/main.css.map +1 -1
- package/dist/src/components/Checkbox.vue.d.ts +11 -1
- package/dist/src/components/TextInput.vue.d.ts +33 -0
- package/dist/src/components/data-table/DataFilters.vue.d.ts +7 -14
- package/dist/src/components/data-table/DataList.vue.d.ts +10 -7
- package/dist/src/components/data-table/DataSearch.vue.d.ts +26 -0
- package/dist/src/composables/useSwipeToClose.d.ts +50 -0
- package/dist/src/index.d.ts +5 -1
- package/dist/src/styles/components/data-table/data-cards.scss_vue_type_style_index_0_src_true_lang.css +1 -1
- package/dist/src/styles/components/data-table/data-list.scss_vue_type_style_index_0_src_true_lang.css +1 -1
- package/dist/src/styles/components/data-table/data-paginator.scss_vue_type_style_index_0_src_true_lang.css +1 -1
- package/dist/src/styles/components/data-table/data-search.scss_vue_type_style_index_0_src_true_lang.css +1 -0
- package/dist/src/styles/components/data-table/data-table.scss_vue_type_style_index_0_src_true_lang.css +1 -1
- package/dist/src/styles/components/dropdown-select.scss_vue_type_style_index_0_src_true_lang.css +1 -1
- package/dist/src/styles/components/image-picker.scss_vue_type_style_index_0_src_true_lang.css +1 -1
- package/dist/src/styles/components/sidebar.scss_vue_type_style_index_0_src_true_lang.css +1 -1
- package/dist/src/types/data-list.d.ts +0 -1
- package/package.json +1 -1
- package/dist/admins-components158.js.map +0 -1
- package/dist/admins-components24.js +0 -7
- package/dist/admins-components30.js +0 -7
- package/dist/admins-components30.js.map +0 -1
- package/dist/admins-components41.js +0 -7
- package/dist/admins-components41.js.map +0 -1
- package/dist/admins-components44.js +0 -180
- package/dist/admins-components44.js.map +0 -1
- package/dist/admins-components55.js +0 -20
- package/dist/admins-components55.js.map +0 -1
- package/dist/admins-components64.js +0 -8
- package/dist/admins-components64.js.map +0 -1
- package/dist/admins-components71.js +0 -7
- package/dist/admins-components71.js.map +0 -1
- package/dist/admins-components78.js +0 -276
- package/dist/admins-components78.js.map +0 -1
- package/dist/admins-components92.js +0 -4
- package/dist/admins-components92.js.map +0 -1
- package/dist/admins-components95.js +0 -114
- package/dist/admins-components95.js.map +0 -1
- /package/dist/{admins-components36.js → admins-components40.js} +0 -0
|
@@ -1,28 +1,114 @@
|
|
|
1
|
-
import e from "./admins-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
"
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
"
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
1
|
+
import { toast as e } from "./admins-components53.js";
|
|
2
|
+
import { isIpInUrl as t } from "./admins-components97.js";
|
|
3
|
+
import { createNativeFetch as n } from "./admins-components100.js";
|
|
4
|
+
import { ref as r, watch as i } from "vue";
|
|
5
|
+
//#region src/services/services.ts
|
|
6
|
+
var a = class {
|
|
7
|
+
title;
|
|
8
|
+
message;
|
|
9
|
+
errorCode;
|
|
10
|
+
constructor(e, t, n) {
|
|
11
|
+
this.title = e, this.message = t, this.errorCode = n;
|
|
12
|
+
}
|
|
13
|
+
}, o = /* @__PURE__ */ function(e) {
|
|
14
|
+
return e[e.GET = 0] = "GET", e[e.GET_TEXT = 1] = "GET_TEXT", e[e.POST = 2] = "POST", e[e.POST_TEXT = 3] = "POST_TEXT", e[e.PUT = 4] = "PUT", e[e.PUT_TEXT = 5] = "PUT_TEXT", e[e.PATCH = 6] = "PATCH", e[e.DELETE = 7] = "DELETE", e;
|
|
15
|
+
}({}), s = class {
|
|
16
|
+
relativeUrl;
|
|
17
|
+
method;
|
|
18
|
+
fetchMethod;
|
|
19
|
+
constructor(r, i, a, s, c = "application/json", l) {
|
|
20
|
+
this.relativeUrl = i, this.method = a, this.fetchMethod = n({
|
|
21
|
+
baseUrl: r,
|
|
22
|
+
fetchOptions: { credentials: r.indexOf("localhost") != -1 || t(r) ? "omit" : "include" },
|
|
23
|
+
options: {
|
|
24
|
+
immediate: !1,
|
|
25
|
+
beforeFetch: (e) => {
|
|
26
|
+
e.options.headers = {
|
|
27
|
+
...c ? { "Content-Type": c } : {},
|
|
28
|
+
...l ?? {}
|
|
29
|
+
};
|
|
30
|
+
},
|
|
31
|
+
onFetchError: (t) => {
|
|
32
|
+
if (t.error?.name === "AbortError") return t;
|
|
33
|
+
let n = "Ismeretlen eredetű hiba!", r = !t.response;
|
|
34
|
+
return t.response && !t.response.ok && (r = !0, n = s.get(t.response.status), n || (n = `${o[a]} for Call: ${i} with Status: ${t.response.status} has no registered errorMessages!`, console.error(n))), r && e.error("Hiba a szerver elérése közben...", n), t;
|
|
35
|
+
},
|
|
36
|
+
afterFetch: (e) => e
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
}
|
|
26
40
|
};
|
|
41
|
+
function c(e, t, n, o) {
|
|
42
|
+
let s = {};
|
|
43
|
+
s.payload = r(t), s.routeParams = r(n), s.queryParams = r(o), s.isFetching = r(!1), s.data = r();
|
|
44
|
+
let c = null, l = null;
|
|
45
|
+
return s.execute = () => {
|
|
46
|
+
c &&= (c(), null), l &&= (l(), null), s.fetch && s.fetch.canAbort.value && s.fetch.abort();
|
|
47
|
+
let t = `${u(e.relativeUrl, s.routeParams.value, s.queryParams.value)}`, n = e.fetchMethod(t), r, o = n.isFetching;
|
|
48
|
+
async function d() {
|
|
49
|
+
if (f() && s.successCallback) s.successCallback(s.data.value);
|
|
50
|
+
else if (!f() && s.errorCallback) {
|
|
51
|
+
console.log(s.fetch.error.value);
|
|
52
|
+
let e;
|
|
53
|
+
if (s.fetch.response.value && s.fetch.response.value.body) {
|
|
54
|
+
let { value: t, done: n } = await s.fetch.response.value.body.getReader().read();
|
|
55
|
+
!n && t && (e = new TextDecoder().decode(t), console.log("Response Body:", e));
|
|
56
|
+
}
|
|
57
|
+
s.errorCallback(new a(s.fetch.error.value, e, s.fetch.statusCode.value ? s.fetch.statusCode.value : void 0));
|
|
58
|
+
}
|
|
59
|
+
s.finallyCallback && s.finallyCallback();
|
|
60
|
+
}
|
|
61
|
+
function f() {
|
|
62
|
+
return s.fetch.statusCode && s.fetch.statusCode.value >= 200 && s.fetch.statusCode.value <= 299;
|
|
63
|
+
}
|
|
64
|
+
switch (e.method) {
|
|
65
|
+
case 0:
|
|
66
|
+
r = n.get().json().data;
|
|
67
|
+
break;
|
|
68
|
+
case 1:
|
|
69
|
+
r = n.get().text().data;
|
|
70
|
+
break;
|
|
71
|
+
case 4:
|
|
72
|
+
r = n.put(s.payload).json().data;
|
|
73
|
+
break;
|
|
74
|
+
case 5:
|
|
75
|
+
r = n.put(s.payload).text().data;
|
|
76
|
+
break;
|
|
77
|
+
case 3:
|
|
78
|
+
r = n.post(s.payload).text().data;
|
|
79
|
+
break;
|
|
80
|
+
case 2:
|
|
81
|
+
r = n.post(s.payload).json().data;
|
|
82
|
+
break;
|
|
83
|
+
case 6:
|
|
84
|
+
r = n.patch(s.payload).json().data;
|
|
85
|
+
break;
|
|
86
|
+
case 7:
|
|
87
|
+
r = n.delete(s.payload).json().data;
|
|
88
|
+
break;
|
|
89
|
+
default: throw Error(`Method: ${e.method} is not implemented!`);
|
|
90
|
+
}
|
|
91
|
+
c = i(r, (e) => {
|
|
92
|
+
s.data.value = e;
|
|
93
|
+
}), l = i(o, (e) => {
|
|
94
|
+
s.isFetching.value = e, e || d();
|
|
95
|
+
}), s.fetch = n, n.execute();
|
|
96
|
+
}, s;
|
|
97
|
+
}
|
|
98
|
+
function l(e) {
|
|
99
|
+
return e ? Object.keys(e).filter((t) => e[t] !== void 0 && e[t] !== null).map((t) => `${encodeURIComponent(t)}=${encodeURIComponent(String(e[t]))}`).join("&") : "";
|
|
100
|
+
}
|
|
101
|
+
function u(e, t, n) {
|
|
102
|
+
let r = e;
|
|
103
|
+
if (r ||= "", r.slice(-1) === "/" && (r = r.substring(0, r.length - 1)), t && Object.keys(t).forEach((e) => {
|
|
104
|
+
if (r.indexOf(`{${e}}`) === -1) throw window.dispatchEvent(new CustomEvent("fetch-error", { detail: new a("Hiba!", `RouteParams: ${e} not found in url: ${r}! Contact the developers!`) })), Error(`RouteParams: ${e} not found in url: ${r}! Contact the developers!`);
|
|
105
|
+
let n = t[e];
|
|
106
|
+
r = r.replace(`{${e}}`, n);
|
|
107
|
+
}), n) {
|
|
108
|
+
let e = l(n);
|
|
109
|
+
e.length > 0 && (r.indexOf("?") === -1 ? r += "?" : !r.endsWith("?") && !r.endsWith("&") && (r += "&"), r += e);
|
|
110
|
+
}
|
|
111
|
+
return r;
|
|
112
|
+
}
|
|
27
113
|
//#endregion
|
|
28
|
-
export {
|
|
114
|
+
export { s as FetchDetails, a as FetchError, o as Methods, c as initRequest };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admins-components101.js","names":["utils"],"sources":["../node_modules/axios/lib/helpers/parseHeaders.js"],"sourcesContent":["'use strict';\n\nimport utils from '../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age',\n 'authorization',\n 'content-length',\n 'content-type',\n 'etag',\n 'expires',\n 'from',\n 'host',\n 'if-modified-since',\n 'if-unmodified-since',\n 'last-modified',\n 'location',\n 'max-forwards',\n 'proxy-authorization',\n 'referer',\n 'retry-after',\n 'user-agent',\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default (rawHeaders) => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders &&\n rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n"],"x_google_ignoreList":[0],"mappings":";;AAMA,IAAM,IAAoBA,EAAM,YAAY;CAC1C;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC,GAgBD,KAAgB,MAAe;CAC7B,IAAM,IAAS,CAAC,GACZ,GACA,GACA;CAuBJ,OArBA,KACE,EAAW,MAAM,IAAI,EAAE,QAAQ,SAAgB,GAAM;EACnD,IAAI,EAAK,QAAQ,GAAG,GACpB,IAAM,EAAK,UAAU,GAAG,CAAC,EAAE,KAAK,EAAE,YAAY,GAC9C,IAAM,EAAK,UAAU,IAAI,CAAC,EAAE,KAAK,GAE7B,GAAC,KAAQ,EAAO,MAAQ,EAAkB,QAI1C,MAAQ,eACN,EAAO,KACT,EAAO,GAAK,KAAK,CAAG,IAEpB,EAAO,KAAO,CAAC,CAAG,IAGpB,EAAO,KAAO,EAAO,KAAO,EAAO,KAAO,OAAO,IAAM;CAE3D,CAAC,GAEI;AACT"}
|
|
1
|
+
{"version":3,"file":"admins-components101.js","names":[],"sources":["../src/services/services.ts"],"sourcesContent":["import { createNativeFetch, type NativeUseFetchReturn } from '@/services/createNativeFetch'\nimport { ref, watch, type Ref } from 'vue'\nimport { isIpInUrl } from '@/utils/ipUtils'\nimport { toast } from '@/services/toast'\n\nexport class FetchError {\n title?: string\n message?: string\n errorCode?: number\n constructor(title?: string, message?: string, errorCode?: number) {\n this.title = title\n this.message = message\n this.errorCode = errorCode\n }\n}\n\nexport interface HttpRequest<TPayload, TRouteParams, TQueryParams, TResponse> {\n data: Ref<TResponse>\n execute: () => any\n isFetching: Ref<boolean>\n fetch: NativeUseFetchReturn\n successCallback?: (response: TResponse) => void\n errorCallback?: (error: FetchError) => void\n finallyCallback?: () => void\n queryParams: Ref<TQueryParams>\n routeParams: Ref<TRouteParams>\n payload: Ref<TPayload>\n}\n\nexport enum Methods {\n GET,\n GET_TEXT,\n POST,\n POST_TEXT,\n PUT,\n PUT_TEXT,\n PATCH,\n DELETE,\n}\n\nexport class FetchDetails {\n public fetchMethod: ReturnType<typeof createNativeFetch>\n\n constructor(\n baseUrl: string,\n public relativeUrl: string,\n public method: Methods,\n errorMessages: Map<number, string>,\n contentType: string | null = 'application/json',\n defaultRequestHeaders?: Record<string, string>,\n ) {\n this.fetchMethod = createNativeFetch({\n baseUrl,\n fetchOptions: {\n credentials: baseUrl.indexOf('localhost') != -1 || isIpInUrl(baseUrl) ? 'omit' : 'include',\n },\n options: {\n immediate: false,\n\n beforeFetch: (ctx) => {\n ctx.options.headers = {\n ...(contentType ? { 'Content-Type': contentType } : {}),\n ...(defaultRequestHeaders ?? {}),\n }\n },\n\n onFetchError: (ctx) => {\n if (ctx.error?.name === 'AbortError') {\n return ctx\n }\n\n let errorMsg: string | undefined = 'Ismeretlen eredetű hiba!'\n let showError = !ctx.response\n\n if (ctx.response && !ctx.response.ok) {\n showError = true\n errorMsg = errorMessages.get(ctx.response.status)\n\n if (!errorMsg) {\n errorMsg = `${Methods[method]} for Call: ${relativeUrl} with Status: ${ctx.response.status} has no registered errorMessages!`\n console.error(errorMsg)\n }\n }\n\n if (showError) {\n toast.error('Hiba a szerver elérése közben...', errorMsg)\n }\n\n return ctx\n },\n\n afterFetch: (ctx) => ctx,\n },\n })\n }\n}\n\nexport function initRequest<TPayload, TRouteParams, TQueryParams, TResponse>(\n fetchDetails: FetchDetails,\n payload: TPayload,\n routeParams: TRouteParams,\n queryParams: TQueryParams,\n) {\n const detail = {} as HttpRequest<TPayload, TRouteParams, TQueryParams, TResponse>\n\n detail.payload = ref(payload) as Ref<TPayload>\n detail.routeParams = ref(routeParams) as Ref<TRouteParams>\n detail.queryParams = ref(queryParams) as Ref<TQueryParams>\n detail.isFetching = ref(false)\n detail.data = ref<TResponse>() as Ref<TResponse>\n\n let stopDataWatch: (() => void) | null = null\n let stopFetchingWatch: (() => void) | null = null\n\n detail.execute = () => {\n if (stopDataWatch) {\n stopDataWatch()\n stopDataWatch = null\n }\n if (stopFetchingWatch) {\n stopFetchingWatch()\n stopFetchingWatch = null\n }\n\n if (detail.fetch && detail.fetch.canAbort.value) {\n detail.fetch.abort()\n }\n\n const fullurl = `${generateUrl(fetchDetails.relativeUrl, detail.routeParams.value, detail.queryParams.value)}`\n\n const fetch = fetchDetails.fetchMethod(fullurl)\n\n let data: Ref<TResponse>\n const isFetching = fetch.isFetching\n\n async function onFetchFinished() {\n if (isSuccessStatusCode() && detail.successCallback) {\n detail.successCallback(detail.data.value)\n } else if (!isSuccessStatusCode() && detail.errorCallback) {\n console.log(detail.fetch.error.value)\n let responseBody: string | undefined = undefined\n if (detail.fetch.response.value && detail.fetch.response.value.body) {\n const reader = detail.fetch.response.value.body.getReader()\n const { value, done } = await reader.read()\n if (!done && value) {\n responseBody = new TextDecoder().decode(value)\n console.log('Response Body:', responseBody)\n }\n }\n detail.errorCallback(\n new FetchError(\n detail.fetch.error.value,\n responseBody,\n detail.fetch.statusCode.value ? detail.fetch.statusCode.value : undefined,\n ),\n )\n }\n\n if (detail.finallyCallback) {\n detail.finallyCallback()\n }\n }\n\n function isSuccessStatusCode() {\n return (\n detail.fetch.statusCode &&\n detail.fetch.statusCode.value! >= 200 &&\n detail.fetch.statusCode.value! <= 299\n )\n }\n\n switch (fetchDetails.method) {\n case Methods.GET:\n data = fetch.get().json().data as Ref<TResponse>\n break\n case Methods.GET_TEXT:\n data = fetch.get().text().data as Ref<TResponse>\n break\n case Methods.PUT:\n data = fetch.put(detail.payload).json().data as Ref<TResponse>\n break\n case Methods.PUT_TEXT:\n data = fetch.put(detail.payload).text().data as Ref<TResponse>\n break\n case Methods.POST_TEXT:\n data = fetch.post(detail.payload).text().data as Ref<TResponse>\n break\n case Methods.POST:\n data = fetch.post(detail.payload).json().data as Ref<TResponse>\n break\n case Methods.PATCH:\n data = fetch.patch(detail.payload).json().data as Ref<TResponse>\n break\n case Methods.DELETE:\n data = fetch.delete(detail.payload).json().data as Ref<TResponse>\n break\n\n default:\n throw new Error(`Method: ${fetchDetails.method} is not implemented!`)\n }\n\n stopDataWatch = watch(data, (v) => {\n detail.data.value = v\n })\n\n stopFetchingWatch = watch(isFetching, (i) => {\n detail.isFetching.value = i\n if (!i) {\n onFetchFinished()\n }\n })\n\n detail.fetch = fetch\n fetch.execute()\n }\n\n return detail\n}\n\nexport function serializeQueryParams(\n queryParams: Record<string, unknown> | null | undefined,\n): string {\n if (!queryParams) {\n return ''\n }\n\n return Object.keys(queryParams)\n .filter((k) => queryParams[k] !== undefined && queryParams[k] !== null)\n .map((k) => `${encodeURIComponent(k)}=${encodeURIComponent(String(queryParams[k]))}`)\n .join('&')\n}\n\nfunction generateUrl(relativeUrl: string, routeParams: any, queryParams: any) {\n let res = relativeUrl\n\n if (!res) res = ''\n\n if (res.slice(-1) === '/') {\n res = res.substring(0, res.length - 1)\n }\n\n if (routeParams) {\n Object.keys(routeParams).forEach((k) => {\n if (res.indexOf(`{${k}}`) === -1) {\n window.dispatchEvent(\n new CustomEvent('fetch-error', {\n detail: new FetchError(\n 'Hiba!',\n `RouteParams: ${k} not found in url: ${res}! Contact the developers!`,\n ),\n }),\n )\n\n throw new Error(`RouteParams: ${k} not found in url: ${res}! Contact the developers!`)\n }\n\n const val = routeParams[k]\n\n res = res.replace(`{${k}}`, val)\n })\n }\n\n if (queryParams) {\n const parts = serializeQueryParams(queryParams)\n\n if (parts.length > 0) {\n if (res.indexOf('?') === -1) {\n res += '?'\n } else if (!res.endsWith('?') && !res.endsWith('&')) {\n res += '&'\n }\n\n res += parts\n }\n }\n\n return res\n}\n"],"mappings":";;;;;AAKA,IAAa,IAAb,MAAwB;CACtB;CACA;CACA;CACA,YAAY,GAAgB,GAAkB,GAAoB;EAGhE,AAFA,KAAK,QAAQ,GACb,KAAK,UAAU,GACf,KAAK,YAAY;CACnB;AACF,GAeY,IAAL,yBAAA,GAAA;QACL,EAAA,EAAA,MAAA,KAAA,OACA,EAAA,EAAA,WAAA,KAAA,YACA,EAAA,EAAA,OAAA,KAAA,QACA,EAAA,EAAA,YAAA,KAAA,aACA,EAAA,EAAA,MAAA,KAAA,OACA,EAAA,EAAA,WAAA,KAAA,YACA,EAAA,EAAA,QAAA,KAAA,SACA,EAAA,EAAA,SAAA,KAAA;AACF,EAAA,CAAA,CAAA,GAEa,IAAb,MAA0B;CAKf;CACA;CALT;CAEA,YACE,GACA,GACA,GACA,GACA,IAA6B,oBAC7B,GACA;EACA,AANO,KAAA,cAAA,GACA,KAAA,SAAA,GAKP,KAAK,cAAc,EAAkB;GACnC;GACA,cAAc,EACZ,aAAa,EAAQ,QAAQ,WAAW,KAAK,MAAM,EAAU,CAAO,IAAI,SAAS,UACnF;GACA,SAAS;IACP,WAAW;IAEX,cAAc,MAAQ;KACpB,EAAI,QAAQ,UAAU;MACpB,GAAI,IAAc,EAAE,gBAAgB,EAAY,IAAI,CAAC;MACrD,GAAI,KAAyB,CAAC;KAChC;IACF;IAEA,eAAe,MAAQ;KACrB,IAAI,EAAI,OAAO,SAAS,cACtB,OAAO;KAGT,IAAI,IAA+B,4BAC/B,IAAY,CAAC,EAAI;KAgBrB,OAdI,EAAI,YAAY,CAAC,EAAI,SAAS,OAChC,IAAY,IACZ,IAAW,EAAc,IAAI,EAAI,SAAS,MAAM,GAE3C,MACH,IAAW,GAAG,EAAQ,GAAQ,aAAa,EAAY,gBAAgB,EAAI,SAAS,OAAO,oCAC3F,QAAQ,MAAM,CAAQ,KAItB,KACF,EAAM,MAAM,oCAAoC,CAAQ,GAGnD;IACT;IAEA,aAAa,MAAQ;GACvB;EACF,CAAC;CACH;AACF;AAEA,SAAgB,EACd,GACA,GACA,GACA,GACA;CACA,IAAM,IAAS,CAAC;CAMhB,AAJA,EAAO,UAAU,EAAI,CAAO,GAC5B,EAAO,cAAc,EAAI,CAAW,GACpC,EAAO,cAAc,EAAI,CAAW,GACpC,EAAO,aAAa,EAAI,EAAK,GAC7B,EAAO,OAAO,EAAe;CAE7B,IAAI,IAAqC,MACrC,IAAyC;CAwG7C,OAtGA,EAAO,gBAAgB;EAUrB,AATA,AAEE,OADA,EAAc,GACE,OAElB,AAEE,OADA,EAAkB,GACE,OAGlB,EAAO,SAAS,EAAO,MAAM,SAAS,SACxC,EAAO,MAAM,MAAM;EAGrB,IAAM,IAAU,GAAG,EAAY,EAAa,aAAa,EAAO,YAAY,OAAO,EAAO,YAAY,KAAK,KAErG,IAAQ,EAAa,YAAY,CAAO,GAE1C,GACE,IAAa,EAAM;EAEzB,eAAe,IAAkB;GAC/B,IAAI,EAAoB,KAAK,EAAO,iBAClC,EAAO,gBAAgB,EAAO,KAAK,KAAK;QACnC,IAAI,CAAC,EAAoB,KAAK,EAAO,eAAe;IACzD,QAAQ,IAAI,EAAO,MAAM,MAAM,KAAK;IACpC,IAAI;IACJ,IAAI,EAAO,MAAM,SAAS,SAAS,EAAO,MAAM,SAAS,MAAM,MAAM;KAEnE,IAAM,EAAE,UAAO,YAAS,MADT,EAAO,MAAM,SAAS,MAAM,KAAK,UAClB,EAAO,KAAK;KAC1C,AAAI,CAAC,KAAQ,MACX,IAAe,IAAI,YAAY,EAAE,OAAO,CAAK,GAC7C,QAAQ,IAAI,kBAAkB,CAAY;IAE9C;IACA,EAAO,cACL,IAAI,EACF,EAAO,MAAM,MAAM,OACnB,GACA,EAAO,MAAM,WAAW,QAAQ,EAAO,MAAM,WAAW,QAAQ,KAAA,CAClE,CACF;GACF;GAEA,AAAI,EAAO,mBACT,EAAO,gBAAgB;EAE3B;EAEA,SAAS,IAAsB;GAC7B,OACE,EAAO,MAAM,cACb,EAAO,MAAM,WAAW,SAAU,OAClC,EAAO,MAAM,WAAW,SAAU;EAEtC;EAEA,QAAQ,EAAa,QAArB;GACE,KAAA;IACE,IAAO,EAAM,IAAI,EAAE,KAAK,EAAE;IAC1B;GACF,KAAA;IACE,IAAO,EAAM,IAAI,EAAE,KAAK,EAAE;IAC1B;GACF,KAAA;IACE,IAAO,EAAM,IAAI,EAAO,OAAO,EAAE,KAAK,EAAE;IACxC;GACF,KAAA;IACE,IAAO,EAAM,IAAI,EAAO,OAAO,EAAE,KAAK,EAAE;IACxC;GACF,KAAA;IACE,IAAO,EAAM,KAAK,EAAO,OAAO,EAAE,KAAK,EAAE;IACzC;GACF,KAAA;IACE,IAAO,EAAM,KAAK,EAAO,OAAO,EAAE,KAAK,EAAE;IACzC;GACF,KAAA;IACE,IAAO,EAAM,MAAM,EAAO,OAAO,EAAE,KAAK,EAAE;IAC1C;GACF,KAAA;IACE,IAAO,EAAM,OAAO,EAAO,OAAO,EAAE,KAAK,EAAE;IAC3C;GAEF,SACE,MAAU,MAAM,WAAW,EAAa,OAAO,qBAAqB;EACxE;EAcA,AAZA,IAAgB,EAAM,IAAO,MAAM;GACjC,EAAO,KAAK,QAAQ;EACtB,CAAC,GAED,IAAoB,EAAM,IAAa,MAAM;GAE3C,AADA,EAAO,WAAW,QAAQ,GACrB,KACH,EAAgB;EAEpB,CAAC,GAED,EAAO,QAAQ,GACf,EAAM,QAAQ;CAChB,GAEO;AACT;AAEA,SAAgB,EACd,GACQ;CAKR,OAJK,IAIE,OAAO,KAAK,CAAW,EAC3B,QAAQ,MAAM,EAAY,OAAO,KAAA,KAAa,EAAY,OAAO,IAAI,EACrE,KAAK,MAAM,GAAG,mBAAmB,CAAC,EAAE,GAAG,mBAAmB,OAAO,EAAY,EAAE,CAAC,GAAG,EACnF,KAAK,GAAG,IANF;AAOX;AAEA,SAAS,EAAY,GAAqB,GAAkB,GAAkB;CAC5E,IAAI,IAAM;CA6BV,IA3BA,AAAU,MAAM,IAEZ,EAAI,MAAM,EAAE,MAAM,QACpB,IAAM,EAAI,UAAU,GAAG,EAAI,SAAS,CAAC,IAGnC,KACF,OAAO,KAAK,CAAW,EAAE,SAAS,MAAM;EACtC,IAAI,EAAI,QAAQ,IAAI,EAAE,EAAE,MAAM,IAU5B,MATA,OAAO,cACL,IAAI,YAAY,eAAe,EAC7B,QAAQ,IAAI,EACV,SACA,gBAAgB,EAAE,qBAAqB,EAAI,0BAC7C,EACF,CAAC,CACH,GAEU,MAAM,gBAAgB,EAAE,qBAAqB,EAAI,0BAA0B;EAGvF,IAAM,IAAM,EAAY;EAExB,IAAM,EAAI,QAAQ,IAAI,EAAE,IAAI,CAAG;CACjC,CAAC,GAGC,GAAa;EACf,IAAM,IAAQ,EAAqB,CAAW;EAE9C,AAAI,EAAM,SAAS,MACb,EAAI,QAAQ,GAAG,MAAM,KACvB,KAAO,MACE,CAAC,EAAI,SAAS,GAAG,KAAK,CAAC,EAAI,SAAS,GAAG,MAChD,KAAO,MAGT,KAAO;CAEX;CAEA,OAAO;AACT"}
|
|
@@ -1,29 +1,48 @@
|
|
|
1
|
-
import e from "./admins-
|
|
2
|
-
//#region
|
|
3
|
-
function
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { FetchDetails as e, Methods as t, initRequest as n } from "./admins-components101.js";
|
|
2
|
+
//#region src/services/articleEditorService.ts
|
|
3
|
+
function r(e) {
|
|
4
|
+
return new i(e);
|
|
5
|
+
}
|
|
6
|
+
var i = class {
|
|
7
|
+
articleEditorBackendUrl;
|
|
8
|
+
baseUrl;
|
|
9
|
+
searchPosts;
|
|
10
|
+
whoAmI;
|
|
11
|
+
getPostsConfig;
|
|
12
|
+
getImagesConfig;
|
|
13
|
+
getPresenceConfig;
|
|
14
|
+
sites;
|
|
15
|
+
authorsSearch;
|
|
16
|
+
authorsDetailsByIds;
|
|
17
|
+
articleSeriesSearch;
|
|
18
|
+
articleSeriesDetailsByIds;
|
|
19
|
+
columnsSearch;
|
|
20
|
+
columnsDetailsByIds;
|
|
21
|
+
digitalSupplementsSearch;
|
|
22
|
+
digitalSupplementsDetailsByIds;
|
|
23
|
+
partnersSearch;
|
|
24
|
+
partnersDetailsByIds;
|
|
25
|
+
tagsSearch;
|
|
26
|
+
tagsDetailsByIds;
|
|
27
|
+
getRelationsCount;
|
|
28
|
+
errorMap(e) {
|
|
29
|
+
return new Map([[400, `${e} lekérdezése ismeretlen 400 hiba!`], [500, `${e} lekérdezése ismeretlen 500 hiba!`]]);
|
|
9
30
|
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
if (t !== 9 && t !== 32) break;
|
|
13
|
-
--n;
|
|
31
|
+
postRequest(r, i, a) {
|
|
32
|
+
return n(new e(this.baseUrl, r, t.POST, this.errorMap(a)), i, void 0, void 0);
|
|
14
33
|
}
|
|
15
|
-
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
}
|
|
34
|
+
searchRequest(e, t) {
|
|
35
|
+
return this.postRequest(`admin/${e}/search`, {}, t);
|
|
36
|
+
}
|
|
37
|
+
detailsByIdsRequest(e, t) {
|
|
38
|
+
return this.postRequest(`admin/${e}/detailsByIds`, { ids: [] }, t);
|
|
39
|
+
}
|
|
40
|
+
constructor(r) {
|
|
41
|
+
this.articleEditorBackendUrl = r, this.baseUrl = this.articleEditorBackendUrl, this.searchPosts = n(new e(this.baseUrl, "admin/Posts/searchPosts", t.POST, this.errorMap("Cikk lekérdezés")), {}, void 0, void 0), this.whoAmI = n(new e(this.baseUrl, "whoami", t.GET, this.errorMap("Felhasználói adatok lekérdezése")), void 0, void 0, void 0), this.getPostsConfig = n(new e(this.baseUrl, "/admin/Widgets/{name}", t.GET, this.errorMap("Search Posts Widget konfiguráció lekérése")), void 0, { name: "" }, void 0), this.getImagesConfig = n(new e(this.baseUrl, "/admin/Widgets/{name}", t.GET, this.errorMap("Widget konfiguráció lekérése")), void 0, { name: "" }, void 0), this.getPresenceConfig = n(new e(this.baseUrl, "/admin/Widgets/{name}", t.GET, this.errorMap("Widget konfiguráció lekérése")), void 0, { name: "" }, void 0), this.sites = n(new e(this.baseUrl, "/admin/sites", t.GET, this.errorMap("Site lekérése")), void 0, void 0, void 0), this.authorsSearch = this.searchRequest("Authors", "Szerzők"), this.authorsDetailsByIds = this.detailsByIdsRequest("Authors", "Szerzők"), this.articleSeriesSearch = this.searchRequest("ArticleSeries", "Cikk sorozatok"), this.articleSeriesDetailsByIds = this.detailsByIdsRequest("ArticleSeries", "Cikk sorozatok"), this.partnersSearch = this.searchRequest("Partners", "Partnerek"), this.partnersDetailsByIds = this.detailsByIdsRequest("Partners", "Partnerek"), this.columnsSearch = this.searchRequest("Columns", "Rovatok"), this.columnsDetailsByIds = this.detailsByIdsRequest("Columns", "Rovatok"), this.digitalSupplementsSearch = this.searchRequest("DigitalSupplements", "Digitális kiegészítők"), this.digitalSupplementsDetailsByIds = this.detailsByIdsRequest("DigitalSupplements", "Digitális kiegészítők"), this.tagsSearch = this.searchRequest("Tags", "Címkék"), this.tagsDetailsByIds = this.detailsByIdsRequest("Tags", "Címkék"), this.getRelationsCount = this.postRequest("admin/Relations/byIds", {
|
|
42
|
+
ids: [],
|
|
43
|
+
outputEntityType: ""
|
|
44
|
+
}, "Kapcsolatok számlálása");
|
|
45
|
+
}
|
|
46
|
+
};
|
|
28
47
|
//#endregion
|
|
29
|
-
export {
|
|
48
|
+
export { r as useArticleEditorService };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admins-components102.js","names":["utils"],"sources":["../node_modules/axios/lib/helpers/sanitizeHeaderValue.js"],"sourcesContent":["'use strict';\n\nimport utils from '../utils.js';\n\nfunction trimSPorHTAB(str) {\n let start = 0;\n let end = str.length;\n\n while (start < end) {\n const code = str.charCodeAt(start);\n\n if (code !== 0x09 && code !== 0x20) {\n break;\n }\n\n start += 1;\n }\n\n while (end > start) {\n const code = str.charCodeAt(end - 1);\n\n if (code !== 0x09 && code !== 0x20) {\n break;\n }\n\n end -= 1;\n }\n\n return start === 0 && end === str.length ? str : str.slice(start, end);\n}\n\n// The control-code ranges are intentional: header sanitization strips C0/DEL bytes.\n// eslint-disable-next-line no-control-regex\nconst INVALID_UNICODE_HEADER_VALUE_CHARS = new RegExp('[\\\\u0000-\\\\u0008\\\\u000a-\\\\u001f\\\\u007f]+', 'g');\n// eslint-disable-next-line no-control-regex\nconst INVALID_BYTE_STRING_HEADER_VALUE_CHARS = new RegExp('[^\\\\u0009\\\\u0020-\\\\u007e\\\\u0080-\\\\u00ff]+', 'g');\n\nfunction sanitizeValue(value, invalidChars) {\n if (utils.isArray(value)) {\n return value.map((item) => sanitizeValue(item, invalidChars));\n }\n\n return trimSPorHTAB(String(value).replace(invalidChars, ''));\n}\n\nexport const sanitizeHeaderValue = (value) =>\n sanitizeValue(value, INVALID_UNICODE_HEADER_VALUE_CHARS);\n\nexport const sanitizeByteStringHeaderValue = (value) =>\n sanitizeValue(value, INVALID_BYTE_STRING_HEADER_VALUE_CHARS);\n\nexport function toByteStringHeaderObject(headers) {\n const byteStringHeaders = Object.create(null);\n\n utils.forEach(headers.toJSON(), (value, header) => {\n byteStringHeaders[header] = sanitizeByteStringHeaderValue(value);\n });\n\n return byteStringHeaders;\n}\n"],"x_google_ignoreList":[0],"mappings":";;AAIA,SAAS,EAAa,GAAK;CACzB,IAAI,IAAQ,GACR,IAAM,EAAI;CAEd,OAAO,IAAQ,IAAK;EAClB,IAAM,IAAO,EAAI,WAAW,CAAK;EAEjC,IAAI,MAAS,KAAQ,MAAS,IAC5B;EAGF,KAAS;CACX;CAEA,OAAO,IAAM,IAAO;EAClB,IAAM,IAAO,EAAI,WAAW,IAAM,CAAC;EAEnC,IAAI,MAAS,KAAQ,MAAS,IAC5B;EAGF;CACF;CAEA,OAAO,MAAU,KAAK,MAAQ,EAAI,SAAS,IAAM,EAAI,MAAM,GAAO,CAAG;AACvE;AAIA,IAAM,IAAqC,gBAAI,OAAO,4CAA4C,GAAG,GAE/F,IAAyC,gBAAI,OAAO,6CAA6C,GAAG;AAE1G,SAAS,EAAc,GAAO,GAAc;CAK1C,OAJIA,EAAM,QAAQ,CAAK,IACd,EAAM,KAAK,MAAS,EAAc,GAAM,CAAY,CAAC,IAGvD,EAAa,OAAO,CAAK,EAAE,QAAQ,GAAc,EAAE,CAAC;AAC7D;AAEA,IAAa,KAAuB,MAClC,EAAc,GAAO,CAAkC,GAE5C,KAAiC,MAC5C,EAAc,GAAO,CAAsC;AAE7D,SAAgB,EAAyB,GAAS;CAChD,IAAM,IAAoB,OAAO,OAAO,IAAI;CAM5C,OAJA,EAAM,QAAQ,EAAQ,OAAO,IAAI,GAAO,MAAW;EACjD,EAAkB,KAAU,EAA8B,CAAK;CACjE,CAAC,GAEM;AACT"}
|
|
1
|
+
{"version":3,"file":"admins-components102.js","names":[],"sources":["../src/services/articleEditorService.ts"],"sourcesContent":["import type { SearchPostsPayload, SearchPostsResponse } from '@/models/SearchPosts'\nimport { FetchDetails, type HttpRequest, initRequest, Methods } from '@/services/services'\n\nimport type {\n ArticleSeriesDetails,\n AuthorDetails,\n ColumnDetails,\n DigitalSupplementDetails,\n GetRelationsCountPayload,\n IdsPayload,\n PartnerDetails,\n PresenceWidgetConfig,\n RelationCount,\n SearchArticleSeriesResult,\n SearchAuthorsPayload,\n SearchAuthorsResult,\n SearchColumnsPayload,\n SearchColumnsResult,\n SearchDigitalSupplementsPayload,\n SearchDigitalSupplementsResult,\n SearchEntityPayload,\n SearchImagesWidgetConfig,\n SearchPartnersResult,\n SearchPostWidgetConfig,\n SearchTagsPayload,\n SearchTagsResult,\n Site,\n TagDetails,\n UserInfoModel,\n WidgetDetailsResponse,\n} from '@/services/models'\n\nexport function useArticleEditorService(url: string): ArticleEditorService {\n return new ArticleEditorService(url)\n}\n\nexport class ArticleEditorService {\n baseUrl: string\n searchPosts: HttpRequest<SearchPostsPayload, undefined, undefined, SearchPostsResponse>\n whoAmI: HttpRequest<void, undefined, undefined, UserInfoModel>\n getPostsConfig: HttpRequest<\n undefined,\n { name: string },\n undefined,\n WidgetDetailsResponse<SearchPostWidgetConfig>\n >\n getImagesConfig: HttpRequest<\n undefined,\n { name: string },\n undefined,\n WidgetDetailsResponse<SearchImagesWidgetConfig>\n >\n getPresenceConfig: HttpRequest<\n undefined,\n { name: string },\n undefined,\n WidgetDetailsResponse<PresenceWidgetConfig>\n >\n sites: HttpRequest<undefined, undefined, undefined, Site[]>\n\n /* getMeta: HttpRequest<\n { url: string },\n undefined,\n undefined,\n { url: string; title: string; lead: string; imageUrl: string }\n > */\n\n authorsSearch: HttpRequest<SearchAuthorsPayload, undefined, undefined, SearchAuthorsResult>\n\n authorsDetailsByIds: HttpRequest<IdsPayload, undefined, undefined, AuthorDetails[]>\n\n articleSeriesSearch: HttpRequest<\n SearchEntityPayload,\n undefined,\n undefined,\n SearchArticleSeriesResult\n >\n\n articleSeriesDetailsByIds: HttpRequest<IdsPayload, undefined, undefined, ArticleSeriesDetails[]>\n\n columnsSearch: HttpRequest<SearchColumnsPayload, undefined, undefined, SearchColumnsResult>\n\n columnsDetailsByIds: HttpRequest<IdsPayload, undefined, undefined, ColumnDetails[]>\n\n digitalSupplementsSearch: HttpRequest<\n SearchDigitalSupplementsPayload,\n undefined,\n undefined,\n SearchDigitalSupplementsResult\n >\n\n digitalSupplementsDetailsByIds: HttpRequest<\n IdsPayload,\n undefined,\n undefined,\n DigitalSupplementDetails[]\n >\n\n partnersSearch: HttpRequest<SearchEntityPayload, undefined, undefined, SearchPartnersResult>\n\n partnersDetailsByIds: HttpRequest<IdsPayload, undefined, undefined, PartnerDetails[]>\n\n tagsSearch: HttpRequest<SearchTagsPayload, undefined, undefined, SearchTagsResult>\n\n tagsDetailsByIds: HttpRequest<IdsPayload, undefined, undefined, TagDetails[]>\n\n getRelationsCount: HttpRequest<GetRelationsCountPayload, undefined, undefined, RelationCount[]>\n\n private errorMap(entityName: string) {\n return new Map<number, string>([\n [400, `${entityName} lekérdezése ismeretlen 400 hiba!`],\n [500, `${entityName} lekérdezése ismeretlen 500 hiba!`],\n ])\n }\n\n private postRequest<Payload, Result>(path: string, defaultPayload: Payload, entityName: string) {\n return initRequest<Payload, undefined, undefined, Result>(\n new FetchDetails(this.baseUrl, path, Methods.POST, this.errorMap(entityName)),\n defaultPayload,\n undefined,\n undefined,\n )\n }\n\n private searchRequest<Payload, Result>(resource: string, entityName: string) {\n return this.postRequest<Payload, Result>(`admin/${resource}/search`, {} as Payload, entityName)\n }\n\n private detailsByIdsRequest<Result>(resource: string, entityName: string) {\n return this.postRequest<IdsPayload, Result>(\n `admin/${resource}/detailsByIds`,\n { ids: [] },\n entityName,\n )\n }\n\n constructor(public articleEditorBackendUrl: string) {\n this.baseUrl = this.articleEditorBackendUrl\n\n /* this.getMeta = initRequest<\n { url: string },\n undefined,\n undefined,\n { url: string; title: string; lead: string; imageUrl: string }\n >(\n new FetchDetails(\n this.baseUrl,\n 'admin/Embeds/meta',\n Methods.POST,\n this.errorMap('Meta adatok'),\n ),\n { url: '' },\n undefined,\n undefined,\n ) */\n\n this.searchPosts = initRequest<SearchPostsPayload, undefined, undefined, SearchPostsResponse>(\n new FetchDetails(\n this.baseUrl,\n 'admin/Posts/searchPosts',\n Methods.POST,\n this.errorMap('Cikk lekérdezés'),\n ),\n {} as SearchPostsPayload,\n undefined,\n undefined,\n )\n\n this.whoAmI = initRequest<void, undefined, undefined, UserInfoModel>(\n new FetchDetails(\n this.baseUrl,\n 'whoami',\n Methods.GET,\n this.errorMap('Felhasználói adatok lekérdezése'),\n ),\n undefined,\n undefined,\n undefined,\n )\n\n this.getPostsConfig = initRequest<\n undefined,\n { name: string },\n undefined,\n WidgetDetailsResponse<SearchPostWidgetConfig>\n >(\n new FetchDetails(\n this.baseUrl,\n '/admin/Widgets/{name}',\n Methods.GET,\n this.errorMap('Search Posts Widget konfiguráció lekérése'),\n ),\n undefined,\n { name: '' } as { name: string },\n undefined,\n )\n\n this.getImagesConfig = initRequest<\n undefined,\n { name: string },\n undefined,\n WidgetDetailsResponse<SearchImagesWidgetConfig>\n >(\n new FetchDetails(\n this.baseUrl,\n '/admin/Widgets/{name}',\n Methods.GET,\n this.errorMap('Widget konfiguráció lekérése'),\n ),\n undefined,\n { name: '' } as { name: string },\n undefined,\n )\n\n this.getPresenceConfig = initRequest<\n undefined,\n { name: string },\n undefined,\n WidgetDetailsResponse<PresenceWidgetConfig>\n >(\n new FetchDetails(\n this.baseUrl,\n '/admin/Widgets/{name}',\n Methods.GET,\n this.errorMap('Widget konfiguráció lekérése'),\n ),\n undefined,\n { name: '' } as { name: string },\n undefined,\n )\n\n this.sites = initRequest<undefined, undefined, undefined, Site[]>(\n new FetchDetails(this.baseUrl, '/admin/sites', Methods.GET, this.errorMap('Site lekérése')),\n undefined,\n undefined,\n undefined,\n )\n\n this.authorsSearch = this.searchRequest<SearchAuthorsPayload, SearchAuthorsResult>(\n 'Authors',\n 'Szerzők',\n )\n this.authorsDetailsByIds = this.detailsByIdsRequest<AuthorDetails[]>('Authors', 'Szerzők')\n\n this.articleSeriesSearch = this.searchRequest<SearchEntityPayload, SearchArticleSeriesResult>(\n 'ArticleSeries',\n 'Cikk sorozatok',\n )\n this.articleSeriesDetailsByIds = this.detailsByIdsRequest<ArticleSeriesDetails[]>(\n 'ArticleSeries',\n 'Cikk sorozatok',\n )\n\n this.partnersSearch = this.searchRequest<SearchEntityPayload, SearchPartnersResult>(\n 'Partners',\n 'Partnerek',\n )\n this.partnersDetailsByIds = this.detailsByIdsRequest<PartnerDetails[]>('Partners', 'Partnerek')\n\n this.columnsSearch = this.searchRequest<SearchColumnsPayload, SearchColumnsResult>(\n 'Columns',\n 'Rovatok',\n )\n this.columnsDetailsByIds = this.detailsByIdsRequest<ColumnDetails[]>('Columns', 'Rovatok')\n\n this.digitalSupplementsSearch = this.searchRequest<\n SearchDigitalSupplementsPayload,\n SearchDigitalSupplementsResult\n >('DigitalSupplements', 'Digitális kiegészítők')\n this.digitalSupplementsDetailsByIds = this.detailsByIdsRequest<DigitalSupplementDetails[]>(\n 'DigitalSupplements',\n 'Digitális kiegészítők',\n )\n\n this.tagsSearch = this.searchRequest<SearchTagsPayload, SearchTagsResult>('Tags', 'Címkék')\n this.tagsDetailsByIds = this.detailsByIdsRequest<TagDetails[]>('Tags', 'Címkék')\n\n this.getRelationsCount = this.postRequest<GetRelationsCountPayload, RelationCount[]>(\n 'admin/Relations/byIds',\n { ids: [], outputEntityType: '' },\n 'Kapcsolatok számlálása',\n )\n }\n}\n"],"mappings":";;AAgCA,SAAgB,EAAwB,GAAmC;CACzE,OAAO,IAAI,EAAqB,CAAG;AACrC;AAEA,IAAa,IAAb,MAAkC;CAoGb;CAnGnB;CACA;CACA;CACA;CAMA;CAMA;CAMA;CASA;CAEA;CAEA;CAOA;CAEA;CAEA;CAEA;CAOA;CAOA;CAEA;CAEA;CAEA;CAEA;CAEA,SAAiB,GAAoB;EACnC,OAAO,IAAI,IAAoB,CAC7B,CAAC,KAAK,GAAG,EAAW,kCAAkC,GACtD,CAAC,KAAK,GAAG,EAAW,kCAAkC,CACxD,CAAC;CACH;CAEA,YAAqC,GAAc,GAAyB,GAAoB;EAC9F,OAAO,EACL,IAAI,EAAa,KAAK,SAAS,GAAM,EAAQ,MAAM,KAAK,SAAS,CAAU,CAAC,GAC5E,GACA,KAAA,GACA,KAAA,CACF;CACF;CAEA,cAAuC,GAAkB,GAAoB;EAC3E,OAAO,KAAK,YAA6B,SAAS,EAAS,UAAU,CAAC,GAAc,CAAU;CAChG;CAEA,oBAAoC,GAAkB,GAAoB;EACxE,OAAO,KAAK,YACV,SAAS,EAAS,gBAClB,EAAE,KAAK,CAAC,EAAE,GACV,CACF;CACF;CAEA,YAAY,GAAwC;EA6IlD,AA7IiB,KAAA,0BAAA,GACjB,KAAK,UAAU,KAAK,yBAmBpB,KAAK,cAAc,EACjB,IAAI,EACF,KAAK,SACL,2BACA,EAAQ,MACR,KAAK,SAAS,iBAAiB,CACjC,GACA,CAAC,GACD,KAAA,GACA,KAAA,CACF,GAEA,KAAK,SAAS,EACZ,IAAI,EACF,KAAK,SACL,UACA,EAAQ,KACR,KAAK,SAAS,iCAAiC,CACjD,GACA,KAAA,GACA,KAAA,GACA,KAAA,CACF,GAEA,KAAK,iBAAiB,EAMpB,IAAI,EACF,KAAK,SACL,yBACA,EAAQ,KACR,KAAK,SAAS,2CAA2C,CAC3D,GACA,KAAA,GACA,EAAE,MAAM,GAAG,GACX,KAAA,CACF,GAEA,KAAK,kBAAkB,EAMrB,IAAI,EACF,KAAK,SACL,yBACA,EAAQ,KACR,KAAK,SAAS,8BAA8B,CAC9C,GACA,KAAA,GACA,EAAE,MAAM,GAAG,GACX,KAAA,CACF,GAEA,KAAK,oBAAoB,EAMvB,IAAI,EACF,KAAK,SACL,yBACA,EAAQ,KACR,KAAK,SAAS,8BAA8B,CAC9C,GACA,KAAA,GACA,EAAE,MAAM,GAAG,GACX,KAAA,CACF,GAEA,KAAK,QAAQ,EACX,IAAI,EAAa,KAAK,SAAS,gBAAgB,EAAQ,KAAK,KAAK,SAAS,eAAe,CAAC,GAC1F,KAAA,GACA,KAAA,GACA,KAAA,CACF,GAEA,KAAK,gBAAgB,KAAK,cACxB,WACA,SACF,GACA,KAAK,sBAAsB,KAAK,oBAAqC,WAAW,SAAS,GAEzF,KAAK,sBAAsB,KAAK,cAC9B,iBACA,gBACF,GACA,KAAK,4BAA4B,KAAK,oBACpC,iBACA,gBACF,GAEA,KAAK,iBAAiB,KAAK,cACzB,YACA,WACF,GACA,KAAK,uBAAuB,KAAK,oBAAsC,YAAY,WAAW,GAE9F,KAAK,gBAAgB,KAAK,cACxB,WACA,SACF,GACA,KAAK,sBAAsB,KAAK,oBAAqC,WAAW,SAAS,GAEzF,KAAK,2BAA2B,KAAK,cAGnC,sBAAsB,uBAAuB,GAC/C,KAAK,iCAAiC,KAAK,oBACzC,sBACA,uBACF,GAEA,KAAK,aAAa,KAAK,cAAmD,QAAQ,QAAQ,GAC1F,KAAK,mBAAmB,KAAK,oBAAkC,QAAQ,QAAQ,GAE/E,KAAK,oBAAoB,KAAK,YAC5B,yBACA;GAAE,KAAK,CAAC;GAAG,kBAAkB;EAAG,GAChC,wBACF;CACF;AACF"}
|
|
@@ -1,173 +1,107 @@
|
|
|
1
|
-
import e from "./admins-
|
|
2
|
-
import t from "./admins-
|
|
3
|
-
import {
|
|
4
|
-
//#region
|
|
5
|
-
var
|
|
6
|
-
function
|
|
7
|
-
return
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
},
|
|
40
|
-
configurable: !0
|
|
41
|
-
});
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
var d = class {
|
|
45
|
-
constructor(e) {
|
|
46
|
-
e && this.set(e);
|
|
47
|
-
}
|
|
48
|
-
set(n, r, o) {
|
|
49
|
-
let c = this;
|
|
50
|
-
function l(t, n, r) {
|
|
51
|
-
let o = i(n);
|
|
52
|
-
if (!o) return;
|
|
53
|
-
let s = e.findKey(c, o);
|
|
54
|
-
(!s || c[s] === void 0 || r === !0 || r === void 0 && c[s] !== !1) && (c[s || n] = a(t));
|
|
55
|
-
}
|
|
56
|
-
let u = (t, n) => e.forEach(t, (e, t) => l(e, t, n));
|
|
57
|
-
if (e.isPlainObject(n) || n instanceof this.constructor) u(n, r);
|
|
58
|
-
else if (e.isString(n) && (n = n.trim()) && !s(n)) u(t(n), r);
|
|
59
|
-
else if (e.isObject(n) && e.isIterable(n)) {
|
|
60
|
-
let t = {}, i, a;
|
|
61
|
-
for (let r of n) {
|
|
62
|
-
if (!e.isArray(r)) throw TypeError("Object iterator must return a key-value pair");
|
|
63
|
-
t[a = r[0]] = (i = t[a]) ? e.isArray(i) ? [...i, r[1]] : [i, r[1]] : r[1];
|
|
64
|
-
}
|
|
65
|
-
u(t, r);
|
|
66
|
-
} else n != null && l(r, n, o);
|
|
67
|
-
return this;
|
|
68
|
-
}
|
|
69
|
-
get(t, n) {
|
|
70
|
-
if (t = i(t), t) {
|
|
71
|
-
let r = e.findKey(this, t);
|
|
72
|
-
if (r) {
|
|
73
|
-
let t = this[r];
|
|
74
|
-
if (!n) return t;
|
|
75
|
-
if (n === !0) return o(t);
|
|
76
|
-
if (e.isFunction(n)) return n.call(this, t, r);
|
|
77
|
-
if (e.isRegExp(n)) return n.exec(t);
|
|
78
|
-
throw TypeError("parser must be boolean|regexp|function");
|
|
79
|
-
}
|
|
1
|
+
import { isIpInUrl as e } from "./admins-components97.js";
|
|
2
|
+
import { useArticleEditorService as t } from "./admins-components102.js";
|
|
3
|
+
import { computed as n, ref as r } from "vue";
|
|
4
|
+
//#region src/services/currentUserInfo.ts
|
|
5
|
+
var i = null, a = [], o = !1;
|
|
6
|
+
function s() {
|
|
7
|
+
if (i) return o && console.debug("[currentUserInfo] Returning existing store instance"), i;
|
|
8
|
+
o && console.debug("[currentUserInfo] Creating new store instance");
|
|
9
|
+
let s = r(null), c = r("loading"), l = r(null), u = r(null), d = n(() => c.value === "loading"), f = n(() => c.value === "authenticated" && s.value !== null), p = n(() => s.value?.displayName ?? ""), m = n(() => s.value?.email ?? ""), h = n(() => s.value?.roles ?? []);
|
|
10
|
+
async function g(n, r) {
|
|
11
|
+
o = r ?? !1, o && console.debug("[currentUserInfo] initialize() called", { backendUrl: n }), o && console.debug("[currentUserInfo] Starting initialization"), u.value = n, c.value = "loading", l.value = null;
|
|
12
|
+
try {
|
|
13
|
+
let r = t(n);
|
|
14
|
+
await new Promise((t, n) => {
|
|
15
|
+
if (r.baseUrl.indexOf("localhost") != -1 || e(r.baseUrl)) return o && console.debug("[currentUserInfo] Localhost/IP detected, using dev credentials"), s.value = {
|
|
16
|
+
displayName: "developer",
|
|
17
|
+
email: "developer@hvg.hu",
|
|
18
|
+
roles: ["devadmin"],
|
|
19
|
+
id: "00000000-0000-0000-0000-000000000000"
|
|
20
|
+
}, c.value = "authenticated", t();
|
|
21
|
+
r.whoAmI.successCallback = (e) => {
|
|
22
|
+
o && console.debug("[currentUserInfo] whoAmI success", {
|
|
23
|
+
displayName: e.displayName,
|
|
24
|
+
email: e.email,
|
|
25
|
+
rolesCount: e.roles?.length ?? 0
|
|
26
|
+
}), s.value = e, c.value = "authenticated", t();
|
|
27
|
+
}, r.whoAmI.errorCallback = (e) => {
|
|
28
|
+
o && console.error("[currentUserInfo] whoAmI failed:", e), l.value = e.message ?? "Ismeretlen hiba történt", c.value = "error", n(Error(l.value));
|
|
29
|
+
}, o && console.debug("[currentUserInfo] Executing whoAmI request"), r.whoAmI.execute();
|
|
30
|
+
}), await new Promise((e, t) => {
|
|
31
|
+
r.sites.successCallback = (t) => {
|
|
32
|
+
o && console.debug("[currentUserInfo] sites fetch success", { sitesCount: t.length }), a = t, e();
|
|
33
|
+
}, r.sites.errorCallback = (e) => {
|
|
34
|
+
o && console.error("[currentUserInfo] sites fetch failed:", e), t(Error(e.message ?? "Ismeretlen hiba történt"));
|
|
35
|
+
}, o && console.debug("[currentUserInfo] Executing sites request"), r.sites.execute();
|
|
36
|
+
}), o && console.debug("[currentUserInfo] Initialization completed successfully");
|
|
37
|
+
} catch (e) {
|
|
38
|
+
throw o && console.error("[currentUserInfo] initialize failed:", e), c.value = "error", l.value ||= "Felhasználói adatok vagy site-ok lekérése sikertelen", e;
|
|
80
39
|
}
|
|
81
40
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
41
|
+
function _() {
|
|
42
|
+
o && console.debug("[currentUserInfo] clear() called, resetting all state"), s.value = null, c.value = "loading", l.value = null, u.value = null, a = [];
|
|
43
|
+
}
|
|
44
|
+
function v(e, t, n) {
|
|
45
|
+
if (o && console.debug("[currentUserInfo] hasPermission() check", {
|
|
46
|
+
siteId: e,
|
|
47
|
+
entityName: t,
|
|
48
|
+
accessLevel: n
|
|
49
|
+
}), !s.value?.roles || s.value.roles.length === 0) return o && console.debug("[currentUserInfo] hasPermission() denied: no roles"), !1;
|
|
50
|
+
if (s.value.roles.includes("devadmin")) return o && console.debug("[currentUserInfo] hasPermission() granted: devadmin role"), !0;
|
|
51
|
+
let r = n === "admin" ? ["admin"] : ["reader", "admin"];
|
|
52
|
+
for (let n of r) {
|
|
53
|
+
let r = `cms-${e}-${t}-${n}`;
|
|
54
|
+
if (s.value.roles.includes(r)) return o && console.debug("[currentUserInfo] hasPermission() granted: specific role", r), !0;
|
|
55
|
+
let i = `cms-${e}-all-${n}`;
|
|
56
|
+
if (s.value.roles.includes(i)) return o && console.debug("[currentUserInfo] hasPermission() granted: all-entity role", i), !0;
|
|
86
57
|
}
|
|
87
|
-
return !1;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
normalize(t) {
|
|
108
|
-
let n = this, r = {};
|
|
109
|
-
return e.forEach(this, (i, o) => {
|
|
110
|
-
let s = e.findKey(r, o);
|
|
111
|
-
if (s) {
|
|
112
|
-
n[s] = a(i), delete n[o];
|
|
113
|
-
return;
|
|
58
|
+
return o && console.debug("[currentUserInfo] hasPermission() denied: no matching roles"), !1;
|
|
59
|
+
}
|
|
60
|
+
function y(e, t) {
|
|
61
|
+
if (o && console.debug("[currentUserInfo] getMixableSitesForResource() called", {
|
|
62
|
+
entityName: e,
|
|
63
|
+
currentSiteId: t
|
|
64
|
+
}), !u.value) throw o && console.error("[currentUserInfo] getMixableSitesForResource called before initialize"), Error("Store nincs inicializálva. Hívd meg előbb az initialize() metódust!");
|
|
65
|
+
let n = a.find((e) => e.id === t);
|
|
66
|
+
o && console.debug("[currentUserInfo] Current site lookup", {
|
|
67
|
+
found: !!n,
|
|
68
|
+
totalSites: a.length
|
|
69
|
+
});
|
|
70
|
+
let r = [];
|
|
71
|
+
return a.forEach((t) => {
|
|
72
|
+
if (n === void 0) {
|
|
73
|
+
if (!v(t.id, e, "reader")) return;
|
|
74
|
+
r.push(t);
|
|
75
|
+
} else {
|
|
76
|
+
if (n.entities.find((n) => n.type === e && n.allowedSiteIds.includes(t.id)) === void 0 || !v(t.id, e, "reader")) return;
|
|
77
|
+
r.push(t);
|
|
114
78
|
}
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
}
|
|
143
|
-
static concat(e, ...t) {
|
|
144
|
-
let n = new this(e);
|
|
145
|
-
return t.forEach((e) => n.set(e)), n;
|
|
146
|
-
}
|
|
147
|
-
static accessor(t) {
|
|
148
|
-
let n = (this[r] = this[r] = { accessors: {} }).accessors, a = this.prototype;
|
|
149
|
-
function o(e) {
|
|
150
|
-
let t = i(e);
|
|
151
|
-
n[t] || (u(a, e), n[t] = !0);
|
|
152
|
-
}
|
|
153
|
-
return e.isArray(t) ? t.forEach(o) : o(t), this;
|
|
154
|
-
}
|
|
155
|
-
};
|
|
156
|
-
d.accessor([
|
|
157
|
-
"Content-Type",
|
|
158
|
-
"Content-Length",
|
|
159
|
-
"Accept",
|
|
160
|
-
"Accept-Encoding",
|
|
161
|
-
"User-Agent",
|
|
162
|
-
"Authorization"
|
|
163
|
-
]), e.reduceDescriptors(d.prototype, ({ value: e }, t) => {
|
|
164
|
-
let n = t[0].toUpperCase() + t.slice(1);
|
|
165
|
-
return {
|
|
166
|
-
get: () => e,
|
|
167
|
-
set(e) {
|
|
168
|
-
this[n] = e;
|
|
169
|
-
}
|
|
170
|
-
};
|
|
171
|
-
}), e.freezeMethods(d);
|
|
79
|
+
}), o && console.debug("[currentUserInfo] getMixableSitesForResource() result", {
|
|
80
|
+
mixableCount: r.length,
|
|
81
|
+
mixableSiteIds: r.map((e) => e.id)
|
|
82
|
+
}), r;
|
|
83
|
+
}
|
|
84
|
+
function b(e, t) {
|
|
85
|
+
return o && console.debug("[currentUserInfo] getMixableSiteIdsForResource() called", {
|
|
86
|
+
entityName: e,
|
|
87
|
+
currentSiteId: t
|
|
88
|
+
}), y(e, t).map((e) => e.id);
|
|
89
|
+
}
|
|
90
|
+
return i = {
|
|
91
|
+
user: s,
|
|
92
|
+
state: c,
|
|
93
|
+
error: l,
|
|
94
|
+
isLoading: d,
|
|
95
|
+
isAuthenticated: f,
|
|
96
|
+
displayName: p,
|
|
97
|
+
email: m,
|
|
98
|
+
roles: h,
|
|
99
|
+
initialize: g,
|
|
100
|
+
clear: _,
|
|
101
|
+
hasPermission: v,
|
|
102
|
+
getMixableSitesForResource: y,
|
|
103
|
+
getMixableSiteIdsForResource: b
|
|
104
|
+
}, i;
|
|
105
|
+
}
|
|
172
106
|
//#endregion
|
|
173
|
-
export {
|
|
107
|
+
export { s as useCurrentUser };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admins-components103.js","names":["utils","parseHeaders"],"sources":["../node_modules/axios/lib/core/AxiosHeaders.js"],"sourcesContent":["'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\nimport { sanitizeHeaderValue } from '../helpers/sanitizeHeaderValue.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : sanitizeHeaderValue(String(value));\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header\n .trim()\n .toLowerCase()\n .replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach((methodName) => {\n Object.defineProperty(obj, methodName + accessorName, {\n // Null-proto descriptor so a polluted Object.prototype.get cannot turn\n // this data descriptor into an accessor descriptor on the way in.\n __proto__: null,\n value: function (arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true,\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n return;\n }\n\n const key = utils.findKey(self, lHeader);\n\n if (\n !key ||\n self[key] === undefined ||\n _rewrite === true ||\n (_rewrite === undefined && self[key] !== false)\n ) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite);\n } else if (utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isObject(header) && utils.isIterable(header)) {\n let obj = {},\n dest,\n key;\n for (const entry of header) {\n if (!utils.isArray(entry)) {\n throw new TypeError('Object iterator must return a key-value pair');\n }\n\n obj[(key = entry[0])] = (dest = obj[key])\n ? utils.isArray(dest)\n ? [...dest, entry[1]]\n : [dest, entry[1]]\n : entry[1];\n }\n\n setHeaders(obj, valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(\n key &&\n this[key] !== undefined &&\n (!matcher || matchHeaderValue(this, this[key], key, matcher))\n );\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if (!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null &&\n value !== false &&\n (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON())\n .map(([header, value]) => header + ': ' + value)\n .join('\\n');\n }\n\n getSetCookie() {\n return this.get('set-cookie') || [];\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals =\n (this[$internals] =\n this[$internals] =\n {\n accessors: {},\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor([\n 'Content-Type',\n 'Content-Length',\n 'Accept',\n 'Accept-Encoding',\n 'User-Agent',\n 'Authorization',\n]);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({ value }, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n },\n };\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n"],"x_google_ignoreList":[0],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"admins-components103.js","names":[],"sources":["../src/services/currentUserInfo.ts"],"sourcesContent":["import { ref, computed, type Ref, type ComputedRef } from 'vue'\nimport { useArticleEditorService } from '@/services/articleEditorService'\nimport type { UserInfoModel, Site } from '@/services/models'\nimport { isIpInUrl } from '@/utils/ipUtils'\n\nexport type UserState = 'loading' | 'authenticated' | 'error'\n\nexport interface CurrentUserStore {\n user: Ref<UserInfoModel | null>\n state: Ref<UserState>\n error: Ref<string | null>\n isLoading: ComputedRef<boolean>\n isAuthenticated: ComputedRef<boolean>\n displayName: ComputedRef<string>\n email: ComputedRef<string>\n roles: ComputedRef<readonly string[]>\n initialize(backendUrl: string, enableLogging?: boolean): Promise<void>\n clear(): void\n hasPermission(\n siteId: string,\n entityName: string | 'all',\n accessLevel: 'reader' | 'admin',\n ): boolean\n getMixableSitesForResource(entityName: string | 'all', currentSiteId: string | undefined): Site[]\n getMixableSiteIdsForResource(\n entityName: string | 'all',\n currentSiteId: string | undefined,\n ): string[]\n}\n\nlet storeInstance: CurrentUserStore | null = null\nlet sites = [] as Site[]\nlet loggingEnabled = false\n\nexport function useCurrentUser(): CurrentUserStore {\n if (storeInstance) {\n if (loggingEnabled) console.debug('[currentUserInfo] Returning existing store instance')\n return storeInstance\n }\n\n if (loggingEnabled) console.debug('[currentUserInfo] Creating new store instance')\n const user = ref<UserInfoModel | null>(null)\n const state = ref<UserState>('loading')\n const error = ref<string | null>(null)\n const _backendUrl = ref<string | null>(null)\n const isLoading = computed(() => state.value === 'loading')\n const isAuthenticated = computed(() => state.value === 'authenticated' && user.value !== null)\n const displayName = computed(() => user.value?.displayName ?? '')\n const email = computed(() => user.value?.email ?? '')\n const roles = computed(() => user.value?.roles ?? [])\n\n async function initialize(backendUrl: string, enableLogging?: boolean): Promise<void> {\n loggingEnabled = enableLogging ?? false\n\n if (loggingEnabled) console.debug('[currentUserInfo] initialize() called', { backendUrl })\n\n if (loggingEnabled) console.debug('[currentUserInfo] Starting initialization')\n _backendUrl.value = backendUrl\n state.value = 'loading'\n error.value = null\n\n try {\n const service = useArticleEditorService(backendUrl)\n\n await new Promise<void>((resolve, reject) => {\n if (service.baseUrl.indexOf('localhost') != -1 || isIpInUrl(service.baseUrl)) {\n if (loggingEnabled)\n console.debug('[currentUserInfo] Localhost/IP detected, using dev credentials')\n user.value = {\n displayName: 'developer',\n email: 'developer@hvg.hu',\n roles: ['devadmin'],\n id: '00000000-0000-0000-0000-000000000000',\n }\n state.value = 'authenticated'\n return resolve()\n }\n\n service.whoAmI.successCallback = (userInfo: UserInfoModel) => {\n if (loggingEnabled) {\n console.debug('[currentUserInfo] whoAmI success', {\n displayName: userInfo.displayName,\n email: userInfo.email,\n rolesCount: userInfo.roles?.length ?? 0,\n })\n }\n user.value = userInfo\n state.value = 'authenticated'\n resolve()\n }\n\n service.whoAmI.errorCallback = (err) => {\n if (loggingEnabled) console.error('[currentUserInfo] whoAmI failed:', err)\n error.value = err.message ?? 'Ismeretlen hiba történt'\n state.value = 'error'\n reject(new Error(error.value))\n }\n\n if (loggingEnabled) console.debug('[currentUserInfo] Executing whoAmI request')\n service.whoAmI.execute()\n })\n\n await new Promise<void>((resolve, reject) => {\n service.sites.successCallback = (fetchedSites) => {\n if (loggingEnabled)\n console.debug('[currentUserInfo] sites fetch success', {\n sitesCount: fetchedSites.length,\n })\n sites = fetchedSites\n resolve()\n }\n\n service.sites.errorCallback = (err) => {\n if (loggingEnabled) console.error('[currentUserInfo] sites fetch failed:', err)\n reject(new Error(err.message ?? 'Ismeretlen hiba történt'))\n }\n\n if (loggingEnabled) console.debug('[currentUserInfo] Executing sites request')\n service.sites.execute()\n })\n\n if (loggingEnabled) console.debug('[currentUserInfo] Initialization completed successfully')\n } catch (err) {\n if (loggingEnabled) console.error('[currentUserInfo] initialize failed:', err)\n state.value = 'error'\n if (!error.value) {\n error.value = 'Felhasználói adatok vagy site-ok lekérése sikertelen'\n }\n throw err\n }\n }\n\n function clear(): void {\n if (loggingEnabled) console.debug('[currentUserInfo] clear() called, resetting all state')\n user.value = null\n state.value = 'loading'\n error.value = null\n _backendUrl.value = null\n sites = []\n }\n\n function hasPermission(\n siteId: string,\n entityName: string | 'all',\n accessLevel: 'reader' | 'admin',\n ): boolean {\n if (loggingEnabled)\n console.debug('[currentUserInfo] hasPermission() check', { siteId, entityName, accessLevel })\n\n if (!user.value?.roles || user.value.roles.length === 0) {\n if (loggingEnabled) console.debug('[currentUserInfo] hasPermission() denied: no roles')\n return false\n }\n\n if (user.value.roles.includes('devadmin')) {\n if (loggingEnabled) console.debug('[currentUserInfo] hasPermission() granted: devadmin role')\n return true\n }\n\n const requiredLevels = accessLevel === 'admin' ? ['admin'] : ['reader', 'admin']\n\n for (const level of requiredLevels) {\n const specificRole = `cms-${siteId}-${entityName}-${level}`\n if (user.value.roles.includes(specificRole)) {\n if (loggingEnabled)\n console.debug('[currentUserInfo] hasPermission() granted: specific role', specificRole)\n return true\n }\n\n const allentityRole = `cms-${siteId}-all-${level}`\n if (user.value.roles.includes(allentityRole)) {\n if (loggingEnabled)\n console.debug('[currentUserInfo] hasPermission() granted: all-entity role', allentityRole)\n return true\n }\n }\n\n if (loggingEnabled) console.debug('[currentUserInfo] hasPermission() denied: no matching roles')\n return false\n }\n\n function getMixableSitesForResource(\n entityName: string | 'all',\n currentSiteId: string | undefined,\n ): Site[] {\n if (loggingEnabled)\n console.debug('[currentUserInfo] getMixableSitesForResource() called', {\n entityName,\n currentSiteId,\n })\n\n if (!_backendUrl.value) {\n if (loggingEnabled)\n console.error('[currentUserInfo] getMixableSitesForResource called before initialize')\n throw new Error('Store nincs inicializálva. Hívd meg előbb az initialize() metódust!')\n }\n\n const currentSite = sites.find((site) => site.id === currentSiteId)\n if (loggingEnabled)\n console.debug('[currentUserInfo] Current site lookup', {\n found: !!currentSite,\n totalSites: sites.length,\n })\n\n const mixableSites = [] as Site[]\n sites.forEach((site) => {\n if (currentSite === undefined) {\n // Case 1: No current site specified - only check permissions\n if (!hasPermission(site.id, entityName, 'reader')) {\n return\n }\n mixableSites.push(site)\n } else {\n // Case 2: Current site specified - check entity allowance AND permissions\n if (\n currentSite.entities.find(\n (e) => e.type === entityName && e.allowedSiteIds.includes(site.id),\n ) === undefined\n ) {\n return\n }\n\n if (!hasPermission(site.id, entityName, 'reader')) {\n return\n }\n\n mixableSites.push(site)\n }\n })\n\n if (loggingEnabled) {\n console.debug('[currentUserInfo] getMixableSitesForResource() result', {\n mixableCount: mixableSites.length,\n mixableSiteIds: mixableSites.map((s) => s.id),\n })\n }\n return mixableSites\n }\n\n function getMixableSiteIdsForResource(\n entityName: string | 'all',\n currentSiteId: string | undefined,\n ): string[] {\n if (loggingEnabled)\n console.debug('[currentUserInfo] getMixableSiteIdsForResource() called', {\n entityName,\n currentSiteId,\n })\n const mixableSites = getMixableSitesForResource(entityName, currentSiteId)\n return mixableSites.map((site) => site.id)\n }\n\n storeInstance = {\n user,\n state,\n error,\n isLoading,\n isAuthenticated,\n displayName,\n email,\n roles,\n initialize,\n clear,\n hasPermission,\n getMixableSitesForResource,\n getMixableSiteIdsForResource,\n }\n\n return storeInstance\n}\n"],"mappings":"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"}
|