@hedhog/admin 0.51.24 → 0.51.26

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.
Files changed (43) hide show
  1. package/dist/auth/auth.service.d.ts.map +1 -1
  2. package/dist/auth/auth.service.js +2 -2
  3. package/dist/auth/auth.service.js.map +1 -1
  4. package/dist/dashboard/dashboard-core/dashboard-core.controller.d.ts +11 -11
  5. package/dist/dashboard/dashboard-core/dashboard-core.service.d.ts +11 -11
  6. package/dist/dashboard/dashboard-user/dashboard-user.controller.d.ts +3 -3
  7. package/dist/dashboard/dashboard-user/dashboard-user.service.d.ts +3 -3
  8. package/dist/menu/menu.controller.d.ts +3 -3
  9. package/dist/menu/menu.service.d.ts +3 -3
  10. package/frontend/dashboard/components/create-panel.tsx.ejs +63 -63
  11. package/frontend/dashboard/components/dashboard.screen.tsx.ejs +116 -116
  12. package/frontend/dashboard/components/update-panel.tsx.ejs +80 -80
  13. package/frontend/dashboard/locales/en/dashboard.dashboard.json +11 -11
  14. package/frontend/dashboard/locales/pt/dashboard.dashboard.json +11 -11
  15. package/frontend/dashboard/react-query/handlers.ts.ejs +28 -28
  16. package/frontend/dashboard/react-query/requests.ts.ejs +56 -56
  17. package/frontend/dashboard-component/components/create-panel.tsx.ejs +130 -130
  18. package/frontend/dashboard-component/components/update-panel.tsx.ejs +164 -164
  19. package/frontend/dashboard-component/locales/en/dashboard.dashboard-component.json +11 -11
  20. package/frontend/dashboard-component/locales/pt/dashboard.dashboard-component.json +11 -11
  21. package/frontend/dashboard-component/react-query/handlers.ts.ejs +28 -28
  22. package/frontend/dashboard-component/react-query/requests.ts.ejs +61 -61
  23. package/frontend/dashboard-item/components/create-panel.tsx.ejs +108 -108
  24. package/frontend/dashboard-item/components/update-panel.tsx.ejs +141 -141
  25. package/frontend/dashboard-item/locales/en/dashboard.dashboard-item.json +11 -11
  26. package/frontend/dashboard-item/locales/pt/dashboard.dashboard-item.json +11 -11
  27. package/frontend/dashboard-item/react-query/handlers.ts.ejs +28 -28
  28. package/frontend/dashboard-item/react-query/requests.ts.ejs +58 -58
  29. package/frontend/dashboard-user/components/create-panel.tsx.ejs +108 -108
  30. package/frontend/dashboard-user/components/update-panel.tsx.ejs +137 -137
  31. package/frontend/dashboard-user/locales/en/dashboard.dashboard-user.json +11 -11
  32. package/frontend/dashboard-user/locales/pt/dashboard.dashboard-user.json +11 -11
  33. package/frontend/dashboard-user/react-query/handlers.ts.ejs +28 -28
  34. package/frontend/dashboard-user/react-query/requests.ts.ejs +58 -58
  35. package/hedhog.yaml +2 -2
  36. package/package.json +1 -1
  37. package/src/auth/auth.service.ts +3 -1
  38. package/src/dashboard/dashboard-component/dashboard-component.controller.ts +55 -55
  39. package/src/dashboard/dashboard-component/dto/create.dto.ts +36 -36
  40. package/src/dashboard/dashboard-component/dto/update.dto.ts +4 -4
  41. package/src/dashboard/dashboard-item/dto/update.dto.ts +4 -4
  42. package/src/dashboard/dashboard-user/dto/update.dto.ts +4 -4
  43. package/src/dashboard/index.ts +1 -1
@@ -1,116 +1,116 @@
1
- import { PageTitle } from '@/components/custom/page-title'
2
- import DataPanel from '@/components/panels/data-panel'
3
- import { useDashboardDelete } from '@/features/admin/dashboard'
4
- import { useApp } from '@/hooks/use-app'
5
- import { isPlural } from '@/lib/utils'
6
- import { Dashboard } from '@/types/models'
7
- import { IconEdit, IconPlus, IconTrash } from '@tabler/icons-react'
8
- import { useState } from 'react'
9
- import { useTranslation } from 'react-i18next'
10
- import DashboardCreatePanel from './components/dashboard-create-panel'
11
- import DashboardUpdatePanel from './components/dashboard-update-panel'
12
- import DashboardCard from '@/components/cards/dashboard-card'
13
-
14
- export default function Page() {
15
- const [selectedItems, setSelectedItems] = useState<Dashboard[]>([])
16
- const { mutate: deleteDashboard } = useDashboardDelete()
17
- const { openSheet, confirm, closeSheet } = useApp()
18
- const { t } = useTranslation([
19
- 'dashboard.dashboard',
20
- 'modules',
21
- 'actions',
22
- 'fields',
23
- ])
24
-
25
- const openCreate = () => {
26
- const id = openSheet({
27
- title: t('create', { ns: 'dashboard.dashboard' }),
28
- description: t('createText', { ns: 'dashboard.dashboard' }),
29
- children: () => <DashboardCreatePanel onCreated={() => closeSheet(id)} />,
30
- })
31
-
32
- return id
33
- }
34
-
35
- const openDelete = (items: Dashboard[]) => {
36
- return confirm({
37
- title: `${t('delete', { ns: 'dashboard.dashboard' })} ${items.length} ${isPlural(items.length) ? t('items', { ns: 'actions' }) : t('item', { ns: 'actions' })}`,
38
- description: t('deleteText', { ns: 'dashboard.dashboard' }),
39
- })
40
- .then(() =>
41
- deleteDashboard(
42
- items
43
- .map((item) => (item as any).dashboard_id)
44
- .filter((id) => id !== undefined)
45
- )
46
- )
47
- .catch(() => setSelectedItems(items))
48
- }
49
-
50
- const openUpdate = (item: Dashboard) => {
51
- const id = openSheet({
52
- children: () => (
53
- <DashboardUpdatePanel data={item} onUpdated={() => closeSheet(id)} />
54
- ),
55
- title: t('edit', { ns: 'dashboard.dashboard' }),
56
- description: t('editText', { ns: 'dashboard.dashboard' }),
57
- })
58
-
59
- return id
60
- }
61
-
62
- return (
63
- <>
64
- <PageTitle title={t('dashboard', { ns: 'modules' })} />
65
- <DataPanel
66
- url='/dashboard'
67
- layout='grid'
68
- id='dashboard'
69
- selectable
70
- render={(item: Dashboard) => <DashboardCard item={item} />}
71
- responsiveColumns={{
72
- default: 1,
73
- sm: 2,
74
- md: 1,
75
- lg: 2,
76
- xl: 3,
77
- }}
78
- selected={selectedItems as Dashboard[]}
79
- multiple
80
- hasSearch
81
- onItemDoubleClick={(item) => openUpdate(item)}
82
- menuActions={[
83
- {
84
- icon: <IconEdit className='mr-1 w-8 cursor-pointer' />,
85
- label: t('edit', { ns: 'actions' }),
86
- tooltip: t('editTooltip', { ns: 'contact.dashboard' }),
87
- handler: (items: Dashboard[]) => {
88
- if (items.length === 1) openUpdate(items[0])
89
- },
90
- show: 'once',
91
- },
92
- {
93
- icon: <IconTrash className='mr-1 w-8 cursor-pointer' />,
94
- label: t('delete', { ns: 'actions' }),
95
- tooltip: t('deleteTooltip', { ns: 'contact.dashboard' }),
96
- variant: 'destructive',
97
- handler: (items: Dashboard[]) => {
98
- openDelete(items)
99
- },
100
- show: 'some',
101
- },
102
- {
103
- icon: <IconPlus className='mr-1 w-8 cursor-pointer' />,
104
- label: t('create', { ns: 'actions' }),
105
- tooltip: t('createTooltip', { ns: 'contact.dashboard' }),
106
- variant: 'default',
107
- handler: () => {
108
- openCreate()
109
- },
110
- show: 'none',
111
- },
112
- ]}
113
- />
114
- </>
115
- )
116
- }
1
+ import { PageTitle } from '@/components/custom/page-title'
2
+ import DataPanel from '@/components/panels/data-panel'
3
+ import { useDashboardDelete } from '@/features/admin/dashboard'
4
+ import { useApp } from '@/hooks/use-app'
5
+ import { isPlural } from '@/lib/utils'
6
+ import { Dashboard } from '@/types/models'
7
+ import { IconEdit, IconPlus, IconTrash } from '@tabler/icons-react'
8
+ import { useState } from 'react'
9
+ import { useTranslation } from 'react-i18next'
10
+ import DashboardCreatePanel from './components/dashboard-create-panel'
11
+ import DashboardUpdatePanel from './components/dashboard-update-panel'
12
+ import DashboardCard from '@/components/cards/dashboard-card'
13
+
14
+ export default function Page() {
15
+ const [selectedItems, setSelectedItems] = useState<Dashboard[]>([])
16
+ const { mutate: deleteDashboard } = useDashboardDelete()
17
+ const { openSheet, confirm, closeSheet } = useApp()
18
+ const { t } = useTranslation([
19
+ 'dashboard.dashboard',
20
+ 'modules',
21
+ 'actions',
22
+ 'fields',
23
+ ])
24
+
25
+ const openCreate = () => {
26
+ const id = openSheet({
27
+ title: t('create', { ns: 'dashboard.dashboard' }),
28
+ description: t('createText', { ns: 'dashboard.dashboard' }),
29
+ children: () => <DashboardCreatePanel onCreated={() => closeSheet(id)} />,
30
+ })
31
+
32
+ return id
33
+ }
34
+
35
+ const openDelete = (items: Dashboard[]) => {
36
+ return confirm({
37
+ title: `${t('delete', { ns: 'dashboard.dashboard' })} ${items.length} ${isPlural(items.length) ? t('items', { ns: 'actions' }) : t('item', { ns: 'actions' })}`,
38
+ description: t('deleteText', { ns: 'dashboard.dashboard' }),
39
+ })
40
+ .then(() =>
41
+ deleteDashboard(
42
+ items
43
+ .map((item) => (item as any).dashboard_id)
44
+ .filter((id) => id !== undefined)
45
+ )
46
+ )
47
+ .catch(() => setSelectedItems(items))
48
+ }
49
+
50
+ const openUpdate = (item: Dashboard) => {
51
+ const id = openSheet({
52
+ children: () => (
53
+ <DashboardUpdatePanel data={item} onUpdated={() => closeSheet(id)} />
54
+ ),
55
+ title: t('edit', { ns: 'dashboard.dashboard' }),
56
+ description: t('editText', { ns: 'dashboard.dashboard' }),
57
+ })
58
+
59
+ return id
60
+ }
61
+
62
+ return (
63
+ <>
64
+ <PageTitle title={t('dashboard', { ns: 'modules' })} />
65
+ <DataPanel
66
+ url='/dashboard'
67
+ layout='grid'
68
+ id='dashboard'
69
+ selectable
70
+ render={(item: Dashboard) => <DashboardCard item={item} />}
71
+ responsiveColumns={{
72
+ default: 1,
73
+ sm: 2,
74
+ md: 1,
75
+ lg: 2,
76
+ xl: 3,
77
+ }}
78
+ selected={selectedItems as Dashboard[]}
79
+ multiple
80
+ hasSearch
81
+ onItemDoubleClick={(item) => openUpdate(item)}
82
+ menuActions={[
83
+ {
84
+ icon: <IconEdit className='mr-1 w-8 cursor-pointer' />,
85
+ label: t('edit', { ns: 'actions' }),
86
+ tooltip: t('editTooltip', { ns: 'contact.dashboard' }),
87
+ handler: (items: Dashboard[]) => {
88
+ if (items.length === 1) openUpdate(items[0])
89
+ },
90
+ show: 'once',
91
+ },
92
+ {
93
+ icon: <IconTrash className='mr-1 w-8 cursor-pointer' />,
94
+ label: t('delete', { ns: 'actions' }),
95
+ tooltip: t('deleteTooltip', { ns: 'contact.dashboard' }),
96
+ variant: 'destructive',
97
+ handler: (items: Dashboard[]) => {
98
+ openDelete(items)
99
+ },
100
+ show: 'some',
101
+ },
102
+ {
103
+ icon: <IconPlus className='mr-1 w-8 cursor-pointer' />,
104
+ label: t('create', { ns: 'actions' }),
105
+ tooltip: t('createTooltip', { ns: 'contact.dashboard' }),
106
+ variant: 'default',
107
+ handler: () => {
108
+ openCreate()
109
+ },
110
+ show: 'none',
111
+ },
112
+ ]}
113
+ />
114
+ </>
115
+ )
116
+ }
@@ -1,80 +1,80 @@
1
- import FormPanel, {
2
- FormPanelRef,
3
- getFieldsLocale,
4
- } from '@/components/panels/form-panel'
5
- import { Overlay } from '@/components/custom/overlay'
6
- import { TabPanel } from '@/components/panels/tab-panel'
7
- import {
8
- useDashboardGet,
9
- useDashboardUpdate,
10
- } from '@/features/admin/dashboard'
11
- import useEffectAfterFirstUpdate from '@/hooks/use-effect-after-first-update'
12
- import { Dashboard } from '@/types/models'
13
- import { forwardRef, useImperativeHandle, useRef } from 'react'
14
- import { useTranslation } from 'react-i18next'
15
- import { EnumFieldType } from '@/enums/EnumFieldType'
16
-
17
- export type DashboardUpdatePanelProps = {
18
- data: Dashboard
19
- onUpdated?: (data: Dashboard) => void
20
- }
21
-
22
- const DashboardUpdatePanel = forwardRef(
23
- ({ data, onUpdated }: DashboardUpdatePanelProps, ref) => {
24
- const { t } = useTranslation(['actions', 'fields', 'translations'])
25
- const { data: item, isLoading } = useDashboardGet(
26
- (data as any).dashboard_id as number
27
- )
28
- const { mutate: dashboardUpdate } = useDashboardUpdate()
29
- const formRef = useRef<FormPanelRef>(null)
30
-
31
- useEffectAfterFirstUpdate(() => {
32
- if (item && formRef.current) {
33
- formRef.current.setValuesFromItem(item)
34
- }
35
- }, [item])
36
-
37
- useImperativeHandle(ref, () => ({}))
38
-
39
- return (
40
- <TabPanel
41
- activeTabIndex={0}
42
- tabs={[
43
- {
44
- title: t('details', { ns: 'actions' }),
45
- children: (
46
- <Overlay loading={isLoading}>
47
- <FormPanel
48
- ref={formRef}
49
- fields={[
50
- {
51
- name: 'slug',
52
- label: { text: t('dashboard.slug', { ns: 'fields' }) },
53
- type: EnumFieldType.TEXT,
54
- required: true,
55
- },
56
- ...getFieldsLocale([{ name: 'name' }], item),
57
- ]}
58
- button={{ text: t('save', { ns: 'actions' }) }}
59
- onSubmit={(data) => {
60
- dashboardUpdate({
61
- id: data.id,
62
- data,
63
- })
64
- if (typeof onUpdated === 'function') {
65
- onUpdated(data)
66
- }
67
- }}
68
- />
69
- </Overlay>
70
- ),
71
- },
72
- ]}
73
- />
74
- )
75
- }
76
- )
77
-
78
- DashboardUpdatePanel.displayName = 'DashboardUpdatePanel'
79
-
80
- export default DashboardUpdatePanel
1
+ import FormPanel, {
2
+ FormPanelRef,
3
+ getFieldsLocale,
4
+ } from '@/components/panels/form-panel'
5
+ import { Overlay } from '@/components/custom/overlay'
6
+ import { TabPanel } from '@/components/panels/tab-panel'
7
+ import {
8
+ useDashboardGet,
9
+ useDashboardUpdate,
10
+ } from '@/features/admin/dashboard'
11
+ import useEffectAfterFirstUpdate from '@/hooks/use-effect-after-first-update'
12
+ import { Dashboard } from '@/types/models'
13
+ import { forwardRef, useImperativeHandle, useRef } from 'react'
14
+ import { useTranslation } from 'react-i18next'
15
+ import { EnumFieldType } from '@/enums/EnumFieldType'
16
+
17
+ export type DashboardUpdatePanelProps = {
18
+ data: Dashboard
19
+ onUpdated?: (data: Dashboard) => void
20
+ }
21
+
22
+ const DashboardUpdatePanel = forwardRef(
23
+ ({ data, onUpdated }: DashboardUpdatePanelProps, ref) => {
24
+ const { t } = useTranslation(['actions', 'fields', 'translations'])
25
+ const { data: item, isLoading } = useDashboardGet(
26
+ (data as any).dashboard_id as number
27
+ )
28
+ const { mutate: dashboardUpdate } = useDashboardUpdate()
29
+ const formRef = useRef<FormPanelRef>(null)
30
+
31
+ useEffectAfterFirstUpdate(() => {
32
+ if (item && formRef.current) {
33
+ formRef.current.setValuesFromItem(item)
34
+ }
35
+ }, [item])
36
+
37
+ useImperativeHandle(ref, () => ({}))
38
+
39
+ return (
40
+ <TabPanel
41
+ activeTabIndex={0}
42
+ tabs={[
43
+ {
44
+ title: t('details', { ns: 'actions' }),
45
+ children: (
46
+ <Overlay loading={isLoading}>
47
+ <FormPanel
48
+ ref={formRef}
49
+ fields={[
50
+ {
51
+ name: 'slug',
52
+ label: { text: t('dashboard.slug', { ns: 'fields' }) },
53
+ type: EnumFieldType.TEXT,
54
+ required: true,
55
+ },
56
+ ...getFieldsLocale([{ name: 'name' }], item),
57
+ ]}
58
+ button={{ text: t('save', { ns: 'actions' }) }}
59
+ onSubmit={(data) => {
60
+ dashboardUpdate({
61
+ id: data.id,
62
+ data,
63
+ })
64
+ if (typeof onUpdated === 'function') {
65
+ onUpdated(data)
66
+ }
67
+ }}
68
+ />
69
+ </Overlay>
70
+ ),
71
+ },
72
+ ]}
73
+ />
74
+ )
75
+ }
76
+ )
77
+
78
+ DashboardUpdatePanel.displayName = 'DashboardUpdatePanel'
79
+
80
+ export default DashboardUpdatePanel
@@ -1,11 +1,11 @@
1
- {
2
- "create": "Create dashboard",
3
- "createText": "Fill the dashboard informations.",
4
- "createTooltip": "Create new dashboard",
5
- "delete": "Delete dashboard",
6
- "deleteText": "Are you sure to delete these dashboard?",
7
- "deleteTooltip": "Delete the selected dashboard",
8
- "edit": "Edit dashboard",
9
- "editText": "View and edit dashboard information.",
10
- "editTooltip": "Edit the selected dashboard"
11
- }
1
+ {
2
+ "create": "Create dashboard",
3
+ "createText": "Fill the dashboard informations.",
4
+ "createTooltip": "Create new dashboard",
5
+ "delete": "Delete dashboard",
6
+ "deleteText": "Are you sure to delete these dashboard?",
7
+ "deleteTooltip": "Delete the selected dashboard",
8
+ "edit": "Edit dashboard",
9
+ "editText": "View and edit dashboard information.",
10
+ "editTooltip": "Edit the selected dashboard"
11
+ }
@@ -1,11 +1,11 @@
1
- {
2
- "create": "Criar dashboard",
3
- "createText": "Preencha as informações do dashboard.",
4
- "createTooltip": "Criar novo dashboard",
5
- "delete": "Excluir dashboard",
6
- "deleteText": "Você tem certeza de que deseja excluir estes dashboards?",
7
- "deleteTooltip": "Excluir o dashboard selecionado",
8
- "edit": "Editar dashboard",
9
- "editText": "Visualizar e editar informações do dashboard.",
10
- "editTooltip": "Editar o dashboard selecionado"
11
- }
1
+ {
2
+ "create": "Criar dashboard",
3
+ "createText": "Preencha as informações do dashboard.",
4
+ "createTooltip": "Criar novo dashboard",
5
+ "delete": "Excluir dashboard",
6
+ "deleteText": "Você tem certeza de que deseja excluir estes dashboards?",
7
+ "deleteTooltip": "Excluir o dashboard selecionado",
8
+ "edit": "Editar dashboard",
9
+ "editText": "Visualizar e editar informações do dashboard.",
10
+ "editTooltip": "Editar o dashboard selecionado"
11
+ }
@@ -1,28 +1,28 @@
1
- import { useDefaultMutation } from "@/hooks/use-default-mutation";
2
- import { useQuery } from "@tanstack/react-query";
3
- import { requests } from "./requests";
4
-
5
- const scope = "dashboard";
6
-
7
- export function useDashboardCreate() {
8
- const { dashboardCreate } = requests();
9
- return useDefaultMutation(scope, "create", dashboardCreate);
10
- }
11
-
12
- export function useDashboardDelete() {
13
- const { dashboardDelete } = requests();
14
- return useDefaultMutation(scope, "delete", dashboardDelete);
15
- }
16
-
17
- export function useDashboardUpdate() {
18
- const { dashboardUpdate } = requests();
19
- return useDefaultMutation(scope, "update", dashboardUpdate);
20
- }
21
-
22
- export function useDashboardGet(id: number) {
23
- const { dashboardGet } = requests();
24
- return useQuery({
25
- queryKey: [scope, "get"],
26
- queryFn: () => dashboardGet(id),
27
- });
28
- }
1
+ import { useDefaultMutation } from "@/hooks/use-default-mutation";
2
+ import { useQuery } from "@tanstack/react-query";
3
+ import { requests } from "./requests";
4
+
5
+ const scope = "dashboard";
6
+
7
+ export function useDashboardCreate() {
8
+ const { dashboardCreate } = requests();
9
+ return useDefaultMutation(scope, "create", dashboardCreate);
10
+ }
11
+
12
+ export function useDashboardDelete() {
13
+ const { dashboardDelete } = requests();
14
+ return useDefaultMutation(scope, "delete", dashboardDelete);
15
+ }
16
+
17
+ export function useDashboardUpdate() {
18
+ const { dashboardUpdate } = requests();
19
+ return useDefaultMutation(scope, "update", dashboardUpdate);
20
+ }
21
+
22
+ export function useDashboardGet(id: number) {
23
+ const { dashboardGet } = requests();
24
+ return useQuery({
25
+ queryKey: [scope, "get"],
26
+ queryFn: () => dashboardGet(id),
27
+ });
28
+ }
@@ -1,56 +1,56 @@
1
- import { useApp } from "@/hooks/use-app";
2
- import { Delete, PaginationParams, PaginationResult } from "@/types";
3
- import { Dashboard } from "@/types/models";
4
- import { HttpMethod } from "@/types/http-method";
5
- import { formatDataWithLocale } from '@hedhog/utils'
6
-
7
- export function requests() {
8
- const { request } = useApp();
9
-
10
- const dashboardList = async (params: PaginationParams) => {
11
- return request<PaginationResult<Dashboard>>({
12
- url: "/dashboard",
13
- params,
14
- }).then((res) => res.data);
15
- };
16
-
17
- const dashboardGet = async (id: number) => {
18
- return request<Dashboard>({
19
- url: `/dashboard/${id}`,
20
- }).then((res) => res.data);
21
- };
22
-
23
- const dashboardCreate = async (params: { data: Dashboard }) => {
24
- const { data } = params;
25
- return request<Dashboard>({
26
- url: "/dashboard",
27
- method: HttpMethod.POST,
28
- data: formatDataWithLocale(data),
29
- }).then((res) => res.data);
30
- };
31
-
32
- const dashboardDelete = async (ids: number[]) => {
33
- return request<Delete>({
34
- url: "/dashboard",
35
- data: { ids },
36
- method: HttpMethod.DELETE,
37
- }).then((res) => res.data);
38
- };
39
-
40
- const dashboardUpdate = async (params: { id: number; data: Dashboard }) => {
41
- const { id, data } = params;
42
- return request<Dashboard>({
43
- url: `/dashboard/${id}`,
44
- method: HttpMethod.PATCH,
45
- data: formatDataWithLocale(data),
46
- }).then((res) => res.data);
47
- };
48
-
49
- return {
50
- dashboardCreate,
51
- dashboardUpdate,
52
- dashboardDelete,
53
- dashboardList,
54
- dashboardGet,
55
- };
56
- }
1
+ import { useApp } from "@/hooks/use-app";
2
+ import { Delete, PaginationParams, PaginationResult } from "@/types";
3
+ import { Dashboard } from "@/types/models";
4
+ import { HttpMethod } from "@/types/http-method";
5
+ import { formatDataWithLocale } from '@hedhog/utils'
6
+
7
+ export function requests() {
8
+ const { request } = useApp();
9
+
10
+ const dashboardList = async (params: PaginationParams) => {
11
+ return request<PaginationResult<Dashboard>>({
12
+ url: "/dashboard",
13
+ params,
14
+ }).then((res) => res.data);
15
+ };
16
+
17
+ const dashboardGet = async (id: number) => {
18
+ return request<Dashboard>({
19
+ url: `/dashboard/${id}`,
20
+ }).then((res) => res.data);
21
+ };
22
+
23
+ const dashboardCreate = async (params: { data: Dashboard }) => {
24
+ const { data } = params;
25
+ return request<Dashboard>({
26
+ url: "/dashboard",
27
+ method: HttpMethod.POST,
28
+ data: formatDataWithLocale(data),
29
+ }).then((res) => res.data);
30
+ };
31
+
32
+ const dashboardDelete = async (ids: number[]) => {
33
+ return request<Delete>({
34
+ url: "/dashboard",
35
+ data: { ids },
36
+ method: HttpMethod.DELETE,
37
+ }).then((res) => res.data);
38
+ };
39
+
40
+ const dashboardUpdate = async (params: { id: number; data: Dashboard }) => {
41
+ const { id, data } = params;
42
+ return request<Dashboard>({
43
+ url: `/dashboard/${id}`,
44
+ method: HttpMethod.PATCH,
45
+ data: formatDataWithLocale(data),
46
+ }).then((res) => res.data);
47
+ };
48
+
49
+ return {
50
+ dashboardCreate,
51
+ dashboardUpdate,
52
+ dashboardDelete,
53
+ dashboardList,
54
+ dashboardGet,
55
+ };
56
+ }