UNPKG

@bapp/auto-api-client

Version:

Client to consume BAPP auto API, based on content types with type inference

195 lines (194 loc) 4.58 kB
import { queryOptions as o, infiniteQueryOptions as O } from "@tanstack/react-query"; import { mergeConfigs as b, getPageParam as f } from "./utils.js"; const i = (e, t) => { var p, l; const { options: r, useTenant: n = !0, useAppSlug: s = !0, useFilter: g = !0 } = t, { filter: y, config: a } = r, { appSlug: A = "account" } = a; let c = ["_bappAutoApi"]; return n && a.tenantId && (c = [ ...c, "t", ((l = (p = a.tenantId) == null ? void 0 : p.toString()) == null ? void 0 : l.toLowerCase()) ?? a.tenantId ]), s && (c = [...c, "a", A.toLowerCase()]), c = [...c, ...e], g && y != null && Object.keys(y).filter((q) => y[q] !== void 0).length && (c = [...c, y]), c; }, u = (e, ...t) => { const r = t.at(-1), { config: n } = r, { bappAutoApi: s } = n; return ({ signal: g, pageParam: y }) => { const a = { axiosConfig: { signal: g } }; return y && (a.filter = { ...a.filter, page: y }), e.call( s, ...t.slice(0, -1), b(r, a) ); }; }, Q = (e) => { const { config: { bappAutoApi: t } } = e; return o({ queryKey: i(["me"], { options: e, useTenant: !1, useAppSlug: !1 }), queryFn: u(t.getMe, e) }); }, d = (e, t) => { const { config: { bappAutoApi: r } } = t; return o({ queryKey: i(["a", e.toLowerCase(), "app"], { options: t, useAppSlug: !1 }), queryFn: u(r.getApp, e, t) }); }, w = (e, t) => { const { config: { bappAutoApi: r } } = t; return o({ queryKey: i( ["ct", e.toLowerCase(), "list-introspect"], { options: t } ), queryFn: u( r.getEntityListIntrospect, e, t ) }); }, F = (e, t, r) => { const { config: { bappAutoApi: n } } = r, s = ["ct", e.toLowerCase(), "detail-introspect"]; return t && s.push(t), o({ queryKey: i(s, { options: r }), queryFn: u( n.getEntityDetailIntrospect, e, t, r ) }); }, C = (e, t) => { const { config: { bappAutoApi: r } } = t; return o({ queryKey: i(["ct", e.toLowerCase(), "list"], { options: t }), queryFn: u(r.listEntities, e, t) }); }, E = (e, t) => { const { config: { bappAutoApi: r } } = t; return O({ queryKey: i(["ct", e.toLowerCase(), "list"], { options: t }), queryFn: u(r.listEntities, e, t), initialPageParam: 1, getPreviousPageParam: (n) => n.previous ? f(n.previous) : null, getNextPageParam: (n) => n.next ? f(n.next) : null }); }, k = (e, t, r) => { const { config: { bappAutoApi: n } } = r; return o({ queryKey: i(["ct", e.toLowerCase(), "detail", t], { options: r }), queryFn: u(n.getEntity, e, t, r) }); }, m = (e) => { const { config: { bappAutoApi: t } } = e; return o({ queryKey: i(["task", "list"], { options: e }), queryFn: u(t.listTasks, e) }); }, x = (e, t) => { const { config: { bappAutoApi: r } } = t; return o({ queryKey: i(["task", "detail", e.toLowerCase()], { options: t }), queryFn: u(r.detailTask, e, t) }); }, I = (e, t = void 0, r) => { const { config: { bappAutoApi: n } } = r, s = ["task", "run", e.toLowerCase()]; return t != null && Object.keys(t).length && s.push(t), o({ queryKey: i(s, { options: r }), queryFn: u(n.runTask, e, t, r) }); }, P = (e) => { const { config: { bappAutoApi: t } } = e; return o({ queryKey: i(["widget", "list"], { options: e }), queryFn: u(t.listWidgets, e) }); }, v = (e, t) => { const { config: { bappAutoApi: r } } = t; return o({ queryKey: i(["widget", "detail", e.toLowerCase()], { options: t }), queryFn: u(r.detailWidget, e, t) }); }, h = (e, t = void 0, r) => { const { config: { bappAutoApi: n } } = r, s = ["widget", "render", e.toLowerCase()]; return t != null && Object.keys(t).length && s.push(t), o({ queryKey: i(s, { options: r }), queryFn: u(n.renderWidget, e, t, r) }); }; export { d as getAppQueryOptions, F as getEntityDetailIntrospectQueryOptions, k as getEntityDetailQueryOptions, E as getEntityInfiniteListQueryOptions, w as getEntityListIntrospectQueryOptions, C as getEntityListQueryOptions, Q as getMeQueryOptions, u as getQueryFn, i as getQueryKey, x as getTaskDetailQueryOptions, m as getTaskListQueryOptions, I as getTaskRunQueryOptions, v as getWidgetDetailQueryOptions, P as getWidgetListQueryOptions, h as getWidgetRenderQueryOptions };