admins-components 9.0.73 → 9.0.76
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/admins-components.js +29 -29
- package/dist/admins-components100.js +1 -1
- package/dist/admins-components100.js.map +1 -1
- package/dist/admins-components102.js +4 -4
- package/dist/admins-components103.js +96 -96
- package/dist/admins-components103.js.map +1 -1
- package/dist/admins-components105.js +4 -4
- package/dist/admins-components105.js.map +1 -1
- package/dist/admins-components11.js +6 -6
- package/dist/admins-components110.js +1 -1
- package/dist/admins-components110.js.map +1 -1
- package/dist/admins-components111.js +2 -2
- package/dist/admins-components111.js.map +1 -1
- package/dist/admins-components112.js.map +1 -1
- package/dist/admins-components113.js +1 -1
- package/dist/admins-components113.js.map +1 -1
- package/dist/admins-components115.js +144 -126
- package/dist/admins-components115.js.map +1 -1
- package/dist/admins-components116.js +7 -5
- package/dist/admins-components116.js.map +1 -1
- package/dist/admins-components117.js +1 -1
- package/dist/admins-components117.js.map +1 -1
- package/dist/admins-components118.js +75 -27
- package/dist/admins-components118.js.map +1 -1
- package/dist/admins-components119.js +30 -6
- package/dist/admins-components119.js.map +1 -1
- package/dist/admins-components12.js.map +1 -1
- package/dist/admins-components120.js +34 -20
- package/dist/admins-components120.js.map +1 -1
- package/dist/admins-components121.js +1 -3
- package/dist/admins-components121.js.map +1 -1
- package/dist/admins-components122.js +4 -3
- package/dist/admins-components122.js.map +1 -1
- package/dist/admins-components124.js +2 -1
- package/dist/admins-components124.js.map +1 -1
- package/dist/admins-components129.js +1 -1
- package/dist/admins-components129.js.map +1 -1
- package/dist/admins-components13.js +2 -2
- package/dist/admins-components13.js.map +1 -1
- package/dist/admins-components132.js +23 -15
- package/dist/admins-components132.js.map +1 -1
- package/dist/admins-components133.js.map +1 -1
- package/dist/admins-components14.js +4 -4
- package/dist/admins-components141.js +2 -2
- package/dist/admins-components141.js.map +1 -1
- package/dist/admins-components142.js.map +1 -1
- package/dist/admins-components143.js +5 -1
- package/dist/admins-components143.js.map +1 -1
- package/dist/admins-components144.js +1 -1
- package/dist/admins-components144.js.map +1 -1
- package/dist/admins-components145.js +4 -1
- package/dist/admins-components145.js.map +1 -1
- package/dist/admins-components146.js +30 -6
- package/dist/admins-components146.js.map +1 -1
- package/dist/admins-components147.js +64 -54
- package/dist/admins-components147.js.map +1 -1
- package/dist/admins-components148.js +8 -25
- package/dist/admins-components148.js.map +1 -1
- package/dist/admins-components149.js +26 -56
- package/dist/admins-components149.js.map +1 -1
- package/dist/admins-components150.js +56 -21
- package/dist/admins-components150.js.map +1 -1
- package/dist/admins-components151.js +27 -45
- package/dist/admins-components151.js.map +1 -1
- package/dist/admins-components152.js +48 -29
- package/dist/admins-components152.js.map +1 -1
- package/dist/admins-components153.js +48 -3
- package/dist/admins-components153.js.map +1 -1
- package/dist/admins-components154.js +3 -179
- package/dist/admins-components154.js.map +1 -1
- package/dist/admins-components155.js +200 -42
- package/dist/admins-components155.js.map +1 -1
- package/dist/admins-components156.js +44 -35
- package/dist/admins-components156.js.map +1 -1
- package/dist/admins-components157.js +35 -44
- package/dist/admins-components157.js.map +1 -1
- package/dist/admins-components158.js +42 -137
- package/dist/admins-components158.js.map +1 -1
- package/dist/admins-components159.js +146 -51
- package/dist/admins-components159.js.map +1 -1
- package/dist/admins-components16.js +2 -2
- package/dist/admins-components16.js.map +1 -1
- package/dist/admins-components160.js +58 -7
- package/dist/admins-components160.js.map +1 -1
- package/dist/admins-components161.js +6 -5
- package/dist/admins-components161.js.map +1 -1
- package/dist/admins-components162.js +6 -76
- package/dist/admins-components162.js.map +1 -1
- package/dist/admins-components163.js +77 -29
- package/dist/admins-components163.js.map +1 -1
- package/dist/admins-components164.js +29 -1931
- package/dist/admins-components164.js.map +1 -1
- package/dist/admins-components165.js +1743 -24631
- package/dist/admins-components165.js.map +1 -1
- package/dist/admins-components166.js +24788 -8
- package/dist/admins-components166.js.map +1 -1
- package/dist/admins-components167.js +9 -7
- package/dist/admins-components167.js.map +1 -0
- package/dist/admins-components168.js +7 -142
- package/dist/admins-components169.js +141 -8
- package/dist/admins-components169.js.map +1 -1
- package/dist/admins-components17.js +3 -3
- package/dist/admins-components170.js +3 -3
- package/dist/admins-components170.js.map +1 -1
- package/dist/admins-components171.js +10 -0
- package/dist/admins-components171.js.map +1 -0
- package/dist/admins-components173.js +160 -45
- package/dist/admins-components173.js.map +1 -1
- package/dist/admins-components174.js +52 -8
- package/dist/admins-components174.js.map +1 -1
- package/dist/admins-components175.js +8 -49
- package/dist/admins-components175.js.map +1 -1
- package/dist/admins-components176.js +50 -6
- package/dist/admins-components176.js.map +1 -1
- package/dist/admins-components177.js +6 -80
- package/dist/admins-components177.js.map +1 -1
- package/dist/admins-components178.js +71 -48
- package/dist/admins-components178.js.map +1 -1
- package/dist/admins-components179.js +30 -35
- package/dist/admins-components179.js.map +1 -1
- package/dist/admins-components18.js +1 -1
- package/dist/admins-components18.js.map +1 -1
- package/dist/admins-components180.js +62 -8
- package/dist/admins-components180.js.map +1 -1
- package/dist/admins-components181.js +8 -51
- package/dist/admins-components181.js.map +1 -1
- package/dist/admins-components182.js +51 -8
- package/dist/admins-components182.js.map +1 -1
- package/dist/admins-components183.js +10 -0
- package/dist/admins-components183.js.map +1 -0
- package/dist/{admins-components184.js → admins-components185.js} +5 -5
- package/dist/{admins-components184.js.map → admins-components185.js.map} +1 -1
- package/dist/admins-components20.js +1 -1
- package/dist/admins-components21.js +10 -6
- package/dist/admins-components21.js.map +1 -1
- package/dist/admins-components22.js +4 -4
- package/dist/admins-components23.js +1 -1
- package/dist/admins-components23.js.map +1 -1
- package/dist/admins-components25.js +1 -1
- package/dist/admins-components26.js +107 -106
- package/dist/admins-components26.js.map +1 -1
- package/dist/admins-components28.js +4 -4
- package/dist/admins-components28.js.map +1 -1
- package/dist/admins-components29.js +1 -1
- package/dist/admins-components29.js.map +1 -1
- package/dist/admins-components3.js +1 -3
- package/dist/admins-components3.js.map +1 -1
- package/dist/admins-components30.js +1 -1
- package/dist/admins-components31.js.map +1 -1
- package/dist/admins-components32.js +2 -2
- package/dist/admins-components32.js.map +1 -1
- package/dist/admins-components34.js +4 -4
- package/dist/admins-components35.js +2 -2
- package/dist/admins-components35.js.map +1 -1
- package/dist/admins-components37.js +4 -4
- package/dist/admins-components38.js +1 -1
- package/dist/admins-components38.js.map +1 -1
- package/dist/admins-components40.js +1 -1
- package/dist/admins-components41.js +1 -1
- package/dist/admins-components41.js.map +1 -1
- package/dist/admins-components43.js +1 -1
- package/dist/admins-components43.js.map +1 -1
- package/dist/admins-components45.js +1 -1
- package/dist/admins-components46.js +1 -1
- package/dist/admins-components46.js.map +1 -1
- package/dist/admins-components48.js +1 -1
- package/dist/admins-components49.js +1 -1
- package/dist/admins-components49.js.map +1 -1
- package/dist/admins-components5.js +2 -2
- package/dist/admins-components5.js.map +1 -1
- package/dist/admins-components51.js +1 -1
- package/dist/admins-components51.js.map +1 -1
- package/dist/admins-components54.js +1 -1
- package/dist/admins-components54.js.map +1 -1
- package/dist/admins-components56.js +1 -1
- package/dist/admins-components57.js +1 -1
- package/dist/admins-components57.js.map +1 -1
- package/dist/admins-components6.js +3 -3
- package/dist/admins-components62.js +1 -1
- package/dist/admins-components62.js.map +1 -1
- package/dist/admins-components64.js +1 -1
- package/dist/admins-components65.js.map +1 -1
- package/dist/admins-components66.js +1 -1
- package/dist/admins-components66.js.map +1 -1
- package/dist/admins-components68.js +5 -5
- package/dist/admins-components68.js.map +1 -1
- package/dist/admins-components7.js +1 -1
- package/dist/admins-components7.js.map +1 -1
- package/dist/admins-components70.js +1 -1
- package/dist/admins-components71.js +1 -1
- package/dist/admins-components71.js.map +1 -1
- package/dist/admins-components73.js +1 -1
- package/dist/admins-components74.js +1 -1
- package/dist/admins-components74.js.map +1 -1
- package/dist/admins-components75.js +1 -1
- package/dist/admins-components75.js.map +1 -1
- package/dist/admins-components77.js +1 -1
- package/dist/admins-components78.js +1 -1
- package/dist/admins-components79.js +1 -1
- package/dist/admins-components79.js.map +1 -1
- package/dist/admins-components8.js +2 -2
- package/dist/admins-components8.js.map +1 -1
- package/dist/admins-components80.js +2 -2
- package/dist/admins-components80.js.map +1 -1
- package/dist/admins-components82.js +4 -4
- package/dist/admins-components83.js +16 -23
- package/dist/admins-components83.js.map +1 -1
- package/dist/admins-components85.js +4 -4
- package/dist/admins-components85.js.map +1 -1
- package/dist/admins-components86.js.map +1 -1
- package/dist/admins-components87.js +46 -24
- package/dist/admins-components87.js.map +1 -1
- package/dist/admins-components88.js +4 -4
- package/dist/admins-components88.js.map +1 -1
- package/dist/admins-components90.js +1 -1
- package/dist/admins-components91.js +1 -1
- package/dist/admins-components91.js.map +1 -1
- package/dist/admins-components93.js +1 -1
- package/dist/admins-components94.js +1 -1
- package/dist/admins-components94.js.map +1 -1
- package/dist/admins-components96.js +1 -1
- package/dist/admins-components97.js +1 -1
- package/dist/admins-components97.js.map +1 -1
- package/dist/admins-components99.js +1 -1
- package/dist/main.css +1 -1
- package/dist/main.css.map +1 -1
- package/dist/src/composables/useDropdownAnchor.d.ts +0 -11
- package/dist/src/index.d.ts +1 -1
- package/dist/src/utils/dataFilters.d.ts +9 -0
- package/dist/{src/styles → styles}/components/data-table/filter-tags.scss_vue_type_style_index_0_src_true_lang.css +1 -1
- package/dist/styles/components/dropdown-select.scss_vue_type_style_index_0_src_true_lang.css +1 -0
- package/package.json +1 -1
- package/dist/admins-components168.js.map +0 -1
- package/dist/admins-components172.js +0 -169
- package/dist/admins-components172.js.map +0 -1
- package/dist/src/styles/components/dropdown-select.scss_vue_type_style_index_0_src_true_lang.css +0 -1
- /package/dist/{src/styles → styles}/components/calendar.scss_vue_type_style_index_0_src_true_lang.css +0 -0
- /package/dist/{src/styles → styles}/components/copy-to-clipboard.scss_vue_type_style_index_0_src_true_lang.css +0 -0
- /package/dist/{src/styles → styles}/components/data-table/data-cards.scss_vue_type_style_index_0_src_true_lang.css +0 -0
- /package/dist/{src/styles → styles}/components/data-table/data-filters.scss_vue_type_style_index_0_src_true_lang.css +0 -0
- /package/dist/{src/styles → styles}/components/data-table/data-list-guide.scss_vue_type_style_index_0_src_true_lang.css +0 -0
- /package/dist/{src/styles → styles}/components/data-table/data-list-options.scss_vue_type_style_index_0_src_true_lang.css +0 -0
- /package/dist/{src/styles → styles}/components/data-table/data-list.scss_vue_type_style_index_0_src_true_lang.css +0 -0
- /package/dist/{src/styles → styles}/components/data-table/data-paginator.scss_vue_type_style_index_0_src_true_lang.css +0 -0
- /package/dist/{src/styles → styles}/components/data-table/data-search.scss_vue_type_style_index_0_src_true_lang.css +0 -0
- /package/dist/{src/styles → styles}/components/data-table/data-sort.scss_vue_type_style_index_0_src_true_lang.css +0 -0
- /package/dist/{src/styles → styles}/components/data-table/data-table.scss_vue_type_style_index_0_src_true_lang.css +0 -0
- /package/dist/{src/styles → styles}/components/data-table/filters-history.scss_vue_type_style_index_0_src_true_lang.css +0 -0
- /package/dist/{src/styles → styles}/components/data-table/tag-list.scss_vue_type_style_index_0_src_true_lang.css +0 -0
- /package/dist/{src/styles → styles}/components/datepickers.scss_vue_type_style_index_1_src_true_lang.css +0 -0
- /package/dist/{src/styles → styles}/components/header.scss_vue_type_style_index_0_src_true_lang.css +0 -0
- /package/dist/{src/styles → styles}/components/image-picker.scss_vue_type_style_index_0_src_true_lang.css +0 -0
- /package/dist/{src/styles → styles}/components/loader.scss_vue_type_style_index_0_src_true_lang.css +0 -0
- /package/dist/{src/styles → styles}/components/modal.scss_vue_type_style_index_0_src_true_lang.css +0 -0
- /package/dist/{src/styles → styles}/components/sidebar.scss_vue_type_style_index_0_src_true_lang.css +0 -0
- /package/dist/{src/styles → styles}/components/toast-notification.scss_vue_type_style_index_0_src_true_lang.css +0 -0
- /package/dist/{src/vueformelements → vueformelements}/ArticlePickerElement.vue_vue_type_style_index_0_scoped_43c54caa_lang.css +0 -0
- /package/dist/{src/vueformelements → vueformelements}/PartnerPickerElement.vue_vue_type_style_index_0_scoped_09bea4ae_lang.css +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import './
|
|
2
|
-
import './
|
|
3
|
-
import "./admins-components7.js";
|
|
4
|
-
import
|
|
1
|
+
import './styles/components/calendar.scss_vue_type_style_index_0_src_true_lang.css';
|
|
2
|
+
import './styles/components/datepickers.scss_vue_type_style_index_1_src_true_lang.css';
|
|
3
|
+
import { calendarConfigDefaults as e } from "./admins-components7.js";
|
|
4
|
+
import t from "./admins-components8.js";
|
|
5
5
|
/* empty css */
|
|
6
6
|
/* empty css */
|
|
7
7
|
//#region src/components/Calendar.vue
|
|
8
|
-
var
|
|
8
|
+
var n = t;
|
|
9
9
|
//#endregion
|
|
10
|
-
export {
|
|
10
|
+
export { e as calendarConfigDefaults, n as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admins-components110.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":"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"}
|
|
1
|
+
{"version":3,"file":"admins-components110.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":"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"}
|
|
@@ -26,7 +26,7 @@ var i = class {
|
|
|
26
26
|
tagsDetailsByIds;
|
|
27
27
|
getRelationsCount;
|
|
28
28
|
errorMap(e) {
|
|
29
|
-
return new Map([[400, `${e} lekérdezése ismeretlen 400 hiba!`], [500, `${e} lekérdezése ismeretlen 500 hiba!`]]);
|
|
29
|
+
return /* @__PURE__ */ new Map([[400, `${e} lekérdezése ismeretlen 400 hiba!`], [500, `${e} lekérdezése ismeretlen 500 hiba!`]]);
|
|
30
30
|
}
|
|
31
31
|
postRequest(r, i, a) {
|
|
32
32
|
return n(new e(this.baseUrl, r, t.POST, this.errorMap(a)), i, void 0, void 0);
|
|
@@ -45,4 +45,4 @@ var i = class {
|
|
|
45
45
|
}
|
|
46
46
|
};
|
|
47
47
|
//#endregion
|
|
48
|
-
export { r as useArticleEditorService };
|
|
48
|
+
export { i as ArticleEditorService, r as useArticleEditorService };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admins-components111.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
|
+
{"version":3,"file":"admins-components111.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,uBAAO,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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admins-components112.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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"}
|
|
1
|
+
{"version":3,"file":"admins-components112.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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"}
|
|
@@ -15,7 +15,7 @@ function a(r, i, a) {
|
|
|
15
15
|
return n(new e(r, i.url, s, o(a, c)), i.payloadType, i.routeParamsType, i.queryParamsType);
|
|
16
16
|
}
|
|
17
17
|
function o(e, t) {
|
|
18
|
-
return new Map([[400, `${e} ${t} során 400-as hiba történt!`], [500, `${e} ${t} során 500-as hiba történt!`]]);
|
|
18
|
+
return /* @__PURE__ */ new Map([[400, `${e} ${t} során 400-as hiba történt!`], [500, `${e} ${t} során 500-as hiba történt!`]]);
|
|
19
19
|
}
|
|
20
20
|
//#endregion
|
|
21
21
|
export { i as BackendService, r as useBackendService };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admins-components113.js","names":[],"sources":["../src/services/backendService.ts"],"sourcesContent":["import {\n FetchDetails,\n type HttpRequest,\n initRequest,\n Methods,\n} from '@/services/services'\n\nexport type EndpointConfig<\n Payload = unknown,\n RouteParams = unknown,\n QueryParams = unknown,\n Result = unknown,\n> = {\n url: string\n method?: Methods\n entityName?: string\n operationName?: string\n\n payloadType?: Payload\n routeParamsType?: RouteParams\n queryParamsType?: QueryParams\n resultType?: Result\n}\n\nexport type EndpointsMap = Record<\n string,\n EndpointConfig<any, any, any, any>\n>\n\nexport type EndpointRequests<E extends EndpointsMap> = {\n [Name in keyof E]: E[Name] extends EndpointConfig<infer P, infer RP, infer QP, infer R>\n ? HttpRequest<P, RP, QP, R>\n : never\n}\n\nexport type BackendServiceConfig<E extends EndpointsMap = EndpointsMap> = {\n backendUrl: string\n endpoints: E\n}\n\nexport function useBackendService<E extends EndpointsMap>(\n config: BackendServiceConfig<E>,\n) {\n return new BackendService(config)\n}\n\nexport class BackendService<E extends EndpointsMap = EndpointsMap> {\n readonly backendUrl: string\n readonly endpoints: EndpointRequests<E>\n\n constructor({ backendUrl, endpoints }: BackendServiceConfig<E>) {\n this.backendUrl = backendUrl\n\n this.endpoints = Object.fromEntries(\n Object.entries(endpoints)\n .filter(([, endpoint]) => endpoint.url)\n .map(([key, endpoint]) => [\n key,\n createRequest(\n backendUrl,\n endpoint,\n endpoint.entityName ?? key,\n ),\n ]),\n ) as EndpointRequests<E>\n }\n}\n\nfunction createRequest<\n Payload,\n RouteParams,\n QueryParams,\n Result,\n>(\n endpointBaseUrl: string,\n endpoint: EndpointConfig<Payload, RouteParams, QueryParams, Result>,\n entityName: string,\n): HttpRequest<Payload, RouteParams, QueryParams, Result> {\n const method = endpoint.method ?? Methods.POST\n const operation = endpoint.operationName ?? String(method)\n\n return initRequest<Payload, RouteParams, QueryParams, Result>(\n new FetchDetails(\n endpointBaseUrl,\n endpoint.url,\n method,\n createErrorMap(entityName, operation),\n ),\n endpoint.payloadType as Payload,\n endpoint.routeParamsType as RouteParams,\n endpoint.queryParamsType as QueryParams,\n )\n}\n\nfunction createErrorMap(entityName: string, operation: string) {\n return new Map<number, string>([\n [400, `${entityName} ${operation} során 400-as hiba történt!`],\n [500, `${entityName} ${operation} során 500-as hiba történt!`],\n ])\n}\n"],"mappings":";;AAwCA,SAAgB,EACd,GACA;CACA,OAAO,IAAI,EAAe,CAAM;AAClC;AAEA,IAAa,IAAb,MAAmE;CACjE;CACA;CAEA,YAAY,EAAE,eAAY,gBAAsC;EAG9D,AAFA,KAAK,aAAa,GAElB,KAAK,YAAY,OAAO,YACtB,OAAO,QAAQ,CAAS,
|
|
1
|
+
{"version":3,"file":"admins-components113.js","names":[],"sources":["../src/services/backendService.ts"],"sourcesContent":["import {\n FetchDetails,\n type HttpRequest,\n initRequest,\n Methods,\n} from '@/services/services'\n\nexport type EndpointConfig<\n Payload = unknown,\n RouteParams = unknown,\n QueryParams = unknown,\n Result = unknown,\n> = {\n url: string\n method?: Methods\n entityName?: string\n operationName?: string\n\n payloadType?: Payload\n routeParamsType?: RouteParams\n queryParamsType?: QueryParams\n resultType?: Result\n}\n\nexport type EndpointsMap = Record<\n string,\n EndpointConfig<any, any, any, any>\n>\n\nexport type EndpointRequests<E extends EndpointsMap> = {\n [Name in keyof E]: E[Name] extends EndpointConfig<infer P, infer RP, infer QP, infer R>\n ? HttpRequest<P, RP, QP, R>\n : never\n}\n\nexport type BackendServiceConfig<E extends EndpointsMap = EndpointsMap> = {\n backendUrl: string\n endpoints: E\n}\n\nexport function useBackendService<E extends EndpointsMap>(\n config: BackendServiceConfig<E>,\n) {\n return new BackendService(config)\n}\n\nexport class BackendService<E extends EndpointsMap = EndpointsMap> {\n readonly backendUrl: string\n readonly endpoints: EndpointRequests<E>\n\n constructor({ backendUrl, endpoints }: BackendServiceConfig<E>) {\n this.backendUrl = backendUrl\n\n this.endpoints = Object.fromEntries(\n Object.entries(endpoints)\n .filter(([, endpoint]) => endpoint.url)\n .map(([key, endpoint]) => [\n key,\n createRequest(\n backendUrl,\n endpoint,\n endpoint.entityName ?? key,\n ),\n ]),\n ) as EndpointRequests<E>\n }\n}\n\nfunction createRequest<\n Payload,\n RouteParams,\n QueryParams,\n Result,\n>(\n endpointBaseUrl: string,\n endpoint: EndpointConfig<Payload, RouteParams, QueryParams, Result>,\n entityName: string,\n): HttpRequest<Payload, RouteParams, QueryParams, Result> {\n const method = endpoint.method ?? Methods.POST\n const operation = endpoint.operationName ?? String(method)\n\n return initRequest<Payload, RouteParams, QueryParams, Result>(\n new FetchDetails(\n endpointBaseUrl,\n endpoint.url,\n method,\n createErrorMap(entityName, operation),\n ),\n endpoint.payloadType as Payload,\n endpoint.routeParamsType as RouteParams,\n endpoint.queryParamsType as QueryParams,\n )\n}\n\nfunction createErrorMap(entityName: string, operation: string) {\n return new Map<number, string>([\n [400, `${entityName} ${operation} során 400-as hiba történt!`],\n [500, `${entityName} ${operation} során 500-as hiba történt!`],\n ])\n}\n"],"mappings":";;AAwCA,SAAgB,EACd,GACA;CACA,OAAO,IAAI,EAAe,CAAM;AAClC;AAEA,IAAa,IAAb,MAAmE;CACjE;CACA;CAEA,YAAY,EAAE,eAAY,gBAAsC;EAG9D,AAFA,KAAK,aAAa,GAElB,KAAK,YAAY,OAAO,YACtB,OAAO,QAAQ,CAAS,CAAC,CACtB,QAAQ,GAAG,OAAc,EAAS,GAAG,CAAC,CACtC,KAAK,CAAC,GAAK,OAAc,CACxB,GACA,EACE,GACA,GACA,EAAS,cAAc,CACzB,CACF,CAAC,CACL;CACF;AACF;AAEA,SAAS,EAMP,GACA,GACA,GACwD;CACxD,IAAM,IAAS,EAAS,UAAU,EAAQ,MACpC,IAAY,EAAS,iBAAiB,OAAO,CAAM;CAEzD,OAAO,EACL,IAAI,EACF,GACA,EAAS,KACT,GACA,EAAe,GAAY,CAAS,CACtC,GACA,EAAS,aACT,EAAS,iBACT,EAAS,eACX;AACF;AAEA,SAAS,EAAe,GAAoB,GAAmB;CAC7D,uBAAO,IAAI,IAAoB,CAC7B,CAAC,KAAK,GAAG,EAAW,GAAG,EAAU,4BAA4B,GAC7D,CAAC,KAAK,GAAG,EAAW,GAAG,EAAU,4BAA4B,CAC/D,CAAC;AACH"}
|