@hedhog/setting 0.0.14 → 0.1.1

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 (31) hide show
  1. package/dist/setting/setting.controller.d.ts +27 -3
  2. package/dist/setting/setting.controller.d.ts.map +1 -1
  3. package/dist/setting/setting.controller.js +3 -3
  4. package/dist/setting/setting.controller.js.map +1 -1
  5. package/dist/setting/setting.service.d.ts +28 -4
  6. package/dist/setting/setting.service.d.ts.map +1 -1
  7. package/dist/setting/setting.service.js +6 -6
  8. package/dist/setting/setting.service.js.map +1 -1
  9. package/hedhog.yaml +285 -285
  10. package/package.json +7 -5
  11. package/frontend/setting/components/create-panel.tsx +0 -83
  12. package/frontend/setting/components/setting.screen.tsx +0 -105
  13. package/frontend/setting/components/update-panel.tsx +0 -96
  14. package/frontend/setting/locales/en/setting.setting.json +0 -11
  15. package/frontend/setting/locales/pt/setting.setting.json +0 -11
  16. package/frontend/setting/react-query/handlers.ts +0 -28
  17. package/frontend/setting/react-query/requests.ts +0 -55
  18. package/frontend/setting-group/components/create-panel.tsx +0 -62
  19. package/frontend/setting-group/components/setting-group.screen.tsx +0 -107
  20. package/frontend/setting-group/components/update-panel.tsx +0 -76
  21. package/frontend/setting-group/locales/en/setting.setting-group.json +0 -11
  22. package/frontend/setting-group/locales/pt/setting.setting-group.json +0 -11
  23. package/frontend/setting-group/react-query/handlers.ts +0 -28
  24. package/frontend/setting-group/react-query/requests.ts +0 -58
  25. package/frontend/setting-user/components/create-panel.tsx +0 -71
  26. package/frontend/setting-user/components/setting-user.screen.tsx +0 -107
  27. package/frontend/setting-user/components/update-panel.tsx +0 -85
  28. package/frontend/setting-user/locales/en/setting.setting-user.json +0 -11
  29. package/frontend/setting-user/locales/pt/setting.setting-user.json +0 -11
  30. package/frontend/setting-user/react-query/handlers.ts +0 -28
  31. package/frontend/setting-user/react-query/requests.ts +0 -57
@@ -1,105 +0,0 @@
1
- import { PageTitle } from "@/components/custom/page-title";
2
- import DataPanel from "@/components/panels/data-panel";
3
- import { useSettingDelete } from "@/features/blog/setting";
4
- import { useApp } from "@/hooks/use-app";
5
- import { isPlural } from "@/lib/utils";
6
- import { Setting } 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 SettingCreatePanel from "./components/setting-create-panel";
11
- import SettingUpdatePanel from "./components/setting-update-panel";
12
-
13
- export default function Page() {
14
- const [selectedItems, setSelectedItems] = useState<Setting[]>([]);
15
- const { mutate: deleteSetting } = useSettingDelete();
16
- const { openSheet, confirm, closeSheet } = useApp();
17
- const { t } = useTranslation(["setting", "modules", "actions"]);
18
-
19
- const openCreate = () => {
20
- const id = openSheet({
21
- title: t("create", { ns: "actions" }),
22
- description: t("createText", { ns: "setting" }),
23
- children: () => <SettingCreatePanel onCreated={() => closeSheet(id)} />,
24
- });
25
-
26
- return id;
27
- };
28
-
29
- const openDelete = (items: Setting[]) => {
30
- return confirm({
31
- title: `${t("delete", { ns: "actions" })} ${items.length} ${isPlural(items.length) ? t("items", { ns: "actions" }) : t("item", { ns: "actions" })}`,
32
- description: t("deleteText", { ns: "setting" }),
33
- })
34
- .then(() =>
35
- deleteSetting(
36
- items.map((item) => item.id).filter((id) => id !== undefined),
37
- ),
38
- )
39
- .catch(() => setSelectedItems(items));
40
- };
41
-
42
- const openUpdate = (item: Setting) => {
43
- const id = openSheet({
44
- children: () => (
45
- <SettingUpdatePanel data={item} onUpdated={() => closeSheet(id)} />
46
- ),
47
- title: t("edit", { ns: "setting" }),
48
- description: t("editText", { ns: "setting" }),
49
- });
50
-
51
- return id;
52
- };
53
-
54
- return (
55
- <>
56
- <PageTitle title={t("setting", { ns: "modules" })} />
57
- <DataPanel
58
- url="/setting"
59
- layout="table"
60
- id="setting"
61
- selectable
62
- columns={[
63
- { key: "id", header: "ID", width: 64 },
64
- { key: "name", header: t("name", { ns: "setting" }) },
65
- ]}
66
- selected={selectedItems as Setting[]}
67
- multiple
68
- hasSearch
69
- sortable
70
- onItemDoubleClick={(item) => openUpdate(item)}
71
- menuActions={[
72
- {
73
- icon: <IconEdit className="mr-1 w-8 cursor-pointer" />,
74
- label: t("edit", { ns: "actions" }),
75
- tooltip: t("editTooltip", { ns: "setting" }),
76
- handler: (items: Setting[]) => {
77
- if (items.length === 1) openUpdate(items[0]);
78
- },
79
- show: "once",
80
- },
81
- {
82
- icon: <IconTrash className="mr-1 w-8 cursor-pointer" />,
83
- label: t("delete", { ns: "actions" }),
84
- tooltip: t("deleteTooltip", { ns: "setting" }),
85
- variant: "destructive",
86
- handler: (items: Setting[]) => {
87
- openDelete(items);
88
- },
89
- show: "some",
90
- },
91
- {
92
- icon: <IconPlus className="mr-1 w-8 cursor-pointer" />,
93
- label: t("create", { ns: "actions" }),
94
- tooltip: t("createTooltip", { ns: "setting" }),
95
- variant: "default",
96
- handler: () => {
97
- openCreate();
98
- },
99
- show: "none",
100
- },
101
- ]}
102
- />
103
- </>
104
- );
105
- }
@@ -1,96 +0,0 @@
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 { EnumFieldType } from "@/enums/EnumFieldType";
8
- import { useSettingGet, useSettingUpdate } from "@/features/blog/setting";
9
- import useEffectAfterFirstUpdate from "@/hooks/use-effect-after-first-update";
10
- import { Setting } from "@/types/models";
11
- import { forwardRef, useImperativeHandle, useRef } from "react";
12
- import { useTranslation } from "react-i18next";
13
-
14
- export type SettingUpdatePanelProps = {
15
- data: Setting;
16
- onUpdated?: (data: Setting) => void;
17
- };
18
-
19
- const SettingUpdatePanel = forwardRef(
20
- ({ data, onUpdated }: SettingUpdatePanelProps, ref) => {
21
- const { t } = useTranslation(["actions"]);
22
- const { data: item, isLoading } = useSettingGet(data.id as number);
23
- const { mutate: settingUpdate } = useSettingUpdate();
24
- const formRef = useRef<FormPanelRef>(null);
25
-
26
- useEffectAfterFirstUpdate(() => {
27
- if (item && formRef.current) {
28
- formRef.current.setValuesFromItem(item);
29
- }
30
- }, [item]);
31
-
32
- useImperativeHandle(ref, () => ({}));
33
-
34
- return (
35
- <TabPanel
36
- activeTabIndex={0}
37
- tabs={[
38
- {
39
- title: t("details", { ns: "actions" }),
40
- children: (
41
- <Overlay loading={isLoading}>
42
- <FormPanel
43
- ref={formRef}
44
- fields={[
45
- {
46
- name: "group_id",
47
- label: { text: t("group_id", { ns: "translation" }) },
48
- type: EnumFieldType.TEXT,
49
- required: true,
50
- },
51
-
52
- {
53
- name: "type",
54
- label: { text: t("type", { ns: "translation" }) },
55
- type: EnumFieldType.TEXT,
56
- required: true,
57
- },
58
-
59
- {
60
- name: "value",
61
- label: { text: t("value", { ns: "translation" }) },
62
- type: EnumFieldType.TEXT,
63
- required: true,
64
- },
65
-
66
- {
67
- name: "user_override",
68
- label: {
69
- text: t("user_override", { ns: "translation" }),
70
- },
71
- type: EnumFieldType.TEXT,
72
- required: true,
73
- },
74
-
75
- ...getFieldsLocale([{ name: "name" }]),
76
- ]}
77
- button={{ text: t("save", { ns: "actions" }) }}
78
- onSubmit={(data) => {
79
- settingUpdate({ id: data.id, data });
80
- if (typeof onUpdated === "function") {
81
- onUpdated(data);
82
- }
83
- }}
84
- />
85
- </Overlay>
86
- ),
87
- },
88
- ]}
89
- />
90
- );
91
- },
92
- );
93
-
94
- SettingUpdatePanel.displayName = "SettingUpdatePanel";
95
-
96
- export default SettingUpdatePanel;
@@ -1,11 +0,0 @@
1
- {
2
- "create": "Create setting",
3
- "createText": "Fill the setting informations.",
4
- "createTooltip": "Create new setting",
5
- "delete": "Delete setting",
6
- "deleteText": "Are you sure to delete these setting?",
7
- "deleteTooltip": "Delete the selected setting",
8
- "edit": "Edit setting",
9
- "editText": "View and edit setting information.",
10
- "editTooltip": "Edit the selected setting"
11
- }
@@ -1,11 +0,0 @@
1
- {
2
- "create": "Criar configuração",
3
- "createText": "Preencha as informações da configuração.",
4
- "createTooltip": "Criar nova configuração",
5
- "delete": "Deletar configuração",
6
- "deleteText": "Você tem certeza de que deseja deletar estas configurações?",
7
- "deleteTooltip": "Deletar a configuração selecionada",
8
- "edit": "Editar configuração",
9
- "editText": "Ver e editar informações da configuração.",
10
- "editTooltip": "Editar a configuração selecionada"
11
- }
@@ -1,28 +0,0 @@
1
- import { useDefaultMutation } from "@/hooks/use-default-mutation";
2
- import { useQuery } from "@tanstack/react-query";
3
- import { requests } from "./requests";
4
-
5
- const scope = "setting";
6
-
7
- export function useSettingCreate() {
8
- const { settingCreate } = requests();
9
- return useDefaultMutation(scope, "create", settingCreate);
10
- }
11
-
12
- export function useSettingDelete() {
13
- const { settingDelete } = requests();
14
- return useDefaultMutation(scope, "delete", settingDelete);
15
- }
16
-
17
- export function useSettingUpdate() {
18
- const { settingUpdate } = requests();
19
- return useDefaultMutation(scope, "update", settingUpdate);
20
- }
21
-
22
- export function useSettingGet(id: number) {
23
- const { settingGet } = requests();
24
- return useQuery({
25
- queryKey: [scope, "get"],
26
- queryFn: () => settingGet(id),
27
- });
28
- }
@@ -1,55 +0,0 @@
1
- import { useApp } from "@/hooks/use-app";
2
- import { Delete, PaginationParams, PaginationResult } from "@/types";
3
- import { Setting } 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 settingList = async (params: PaginationParams) => {
11
- return request<PaginationResult<Setting>>({
12
- url: "/setting",
13
- params,
14
- }).then((res) => res.data);
15
- };
16
-
17
- const settingGet = async (id: number) => {
18
- return request<Setting>({
19
- url: `/setting/${id}`,
20
- }).then((res) => res.data);
21
- };
22
-
23
- const settingCreate = async (data: Setting) => {
24
- return request<Setting>({
25
- url: "/setting",
26
- method: HttpMethod.POST,
27
- data: formatDataWithLocale(data),
28
- }).then((res) => res.data);
29
- };
30
-
31
- const settingDelete = async (ids: number[]) => {
32
- return request<Delete>({
33
- url: "/setting",
34
- data: { ids },
35
- method: HttpMethod.DELETE,
36
- }).then((res) => res.data);
37
- };
38
-
39
- const settingUpdate = async (params: { id: number; data: Setting }) => {
40
- const { id, data } = params;
41
- return request<Setting>({
42
- url: `/setting/${id}`,
43
- method: HttpMethod.PATCH,
44
- data: formatDataWithLocale(data),
45
- }).then((res) => res.data);
46
- };
47
-
48
- return {
49
- settingCreate,
50
- settingUpdate,
51
- settingDelete,
52
- settingList,
53
- settingGet,
54
- };
55
- }
@@ -1,62 +0,0 @@
1
- import FormPanel, {
2
- FormPanelRef,
3
- getFieldsLocale,
4
- } from "@/components/panels/form-panel";
5
- import { EnumFieldType } from "@/enums/EnumFieldType";
6
- import { useSettingGroupCreate } from "@/features/blog/setting-group";
7
- import { SettingGroup } from "@/types/models";
8
- import { forwardRef, useImperativeHandle, useRef } from "react";
9
- import { useTranslation } from "react-i18next";
10
-
11
- export type SettingGroupCreatePanelRef = {
12
- submit: () => void;
13
- };
14
-
15
- export type SettingGroupCreatePanelProps = {
16
- onCreated?: (data: SettingGroup) => void;
17
- };
18
-
19
- const SettingGroupCreatePanel = forwardRef(
20
- ({ onCreated }: SettingGroupCreatePanelProps, ref) => {
21
- const formRef = useRef<FormPanelRef>(null);
22
- const { t } = useTranslation(["actions"]);
23
- const { mutateAsync: createSettingGroup } = useSettingGroupCreate();
24
-
25
- useImperativeHandle(
26
- ref,
27
- () => ({
28
- submit: () => {
29
- formRef.current?.submit();
30
- },
31
- }),
32
- [formRef],
33
- );
34
-
35
- return (
36
- <FormPanel
37
- ref={formRef}
38
- fields={[
39
- {
40
- name: "icon",
41
- label: { text: t("icon", { ns: "translation" }) },
42
- type: EnumFieldType.TEXT,
43
- required: true,
44
- },
45
-
46
- ...getFieldsLocale([{ name: "name" }]),
47
- ]}
48
- button={{ text: t("create", { ns: "actions" }) }}
49
- onSubmit={async (data) => {
50
- const createdData = await createSettingGroup(data);
51
- if (typeof onCreated === "function") {
52
- onCreated(createdData);
53
- }
54
- }}
55
- />
56
- );
57
- },
58
- );
59
-
60
- SettingGroupCreatePanel.displayName = "SettingGroupCreatePanel";
61
-
62
- export default SettingGroupCreatePanel;
@@ -1,107 +0,0 @@
1
- import { PageTitle } from "@/components/custom/page-title";
2
- import DataPanel from "@/components/panels/data-panel";
3
- import { useSettingGroupDelete } from "@/features/blog/setting-group";
4
- import { useApp } from "@/hooks/use-app";
5
- import { isPlural } from "@/lib/utils";
6
- import { SettingGroup } 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 SettingGroupCreatePanel from "./components/setting-group-create-panel";
11
- import SettingGroupUpdatePanel from "./components/setting-group-update-panel";
12
-
13
- export default function Page() {
14
- const [selectedItems, setSelectedItems] = useState<SettingGroup[]>([]);
15
- const { mutate: deleteSettingGroup } = useSettingGroupDelete();
16
- const { openSheet, confirm, closeSheet } = useApp();
17
- const { t } = useTranslation(["setting-group", "modules", "actions"]);
18
-
19
- const openCreate = () => {
20
- const id = openSheet({
21
- title: t("create", { ns: "actions" }),
22
- description: t("createText", { ns: "setting-group" }),
23
- children: () => (
24
- <SettingGroupCreatePanel onCreated={() => closeSheet(id)} />
25
- ),
26
- });
27
-
28
- return id;
29
- };
30
-
31
- const openDelete = (items: SettingGroup[]) => {
32
- return confirm({
33
- title: `${t("delete", { ns: "actions" })} ${items.length} ${isPlural(items.length) ? t("items", { ns: "actions" }) : t("item", { ns: "actions" })}`,
34
- description: t("deleteText", { ns: "setting-group" }),
35
- })
36
- .then(() =>
37
- deleteSettingGroup(
38
- items.map((item) => item.id).filter((id) => id !== undefined),
39
- ),
40
- )
41
- .catch(() => setSelectedItems(items));
42
- };
43
-
44
- const openUpdate = (item: SettingGroup) => {
45
- const id = openSheet({
46
- children: () => (
47
- <SettingGroupUpdatePanel data={item} onUpdated={() => closeSheet(id)} />
48
- ),
49
- title: t("edit", { ns: "setting-group" }),
50
- description: t("editText", { ns: "setting-group" }),
51
- });
52
-
53
- return id;
54
- };
55
-
56
- return (
57
- <>
58
- <PageTitle title={t("settingGroup", { ns: "modules" })} />
59
- <DataPanel
60
- url="/setting-group"
61
- layout="table"
62
- id="setting-group"
63
- selectable
64
- columns={[
65
- { key: "id", header: "ID", width: 64 },
66
- { key: "name", header: t("name", { ns: "setting-group" }) },
67
- ]}
68
- selected={selectedItems as SettingGroup[]}
69
- multiple
70
- hasSearch
71
- sortable
72
- onItemDoubleClick={(item) => openUpdate(item)}
73
- menuActions={[
74
- {
75
- icon: <IconEdit className="mr-1 w-8 cursor-pointer" />,
76
- label: t("edit", { ns: "actions" }),
77
- tooltip: t("editTooltip", { ns: "setting-group" }),
78
- handler: (items: SettingGroup[]) => {
79
- if (items.length === 1) openUpdate(items[0]);
80
- },
81
- show: "once",
82
- },
83
- {
84
- icon: <IconTrash className="mr-1 w-8 cursor-pointer" />,
85
- label: t("delete", { ns: "actions" }),
86
- tooltip: t("deleteTooltip", { ns: "setting-group" }),
87
- variant: "destructive",
88
- handler: (items: SettingGroup[]) => {
89
- openDelete(items);
90
- },
91
- show: "some",
92
- },
93
- {
94
- icon: <IconPlus className="mr-1 w-8 cursor-pointer" />,
95
- label: t("create", { ns: "actions" }),
96
- tooltip: t("createTooltip", { ns: "setting-group" }),
97
- variant: "default",
98
- handler: () => {
99
- openCreate();
100
- },
101
- show: "none",
102
- },
103
- ]}
104
- />
105
- </>
106
- );
107
- }
@@ -1,76 +0,0 @@
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 { EnumFieldType } from "@/enums/EnumFieldType";
8
- import {
9
- useSettingGroupGet,
10
- useSettingGroupUpdate,
11
- } from "@/features/blog/setting-group";
12
- import useEffectAfterFirstUpdate from "@/hooks/use-effect-after-first-update";
13
- import { SettingGroup } from "@/types/models";
14
- import { forwardRef, useImperativeHandle, useRef } from "react";
15
- import { useTranslation } from "react-i18next";
16
-
17
- export type SettingGroupUpdatePanelProps = {
18
- data: SettingGroup;
19
- onUpdated?: (data: SettingGroup) => void;
20
- };
21
-
22
- const SettingGroupUpdatePanel = forwardRef(
23
- ({ data, onUpdated }: SettingGroupUpdatePanelProps, ref) => {
24
- const { t } = useTranslation(["actions"]);
25
- const { data: item, isLoading } = useSettingGroupGet(data.id as number);
26
- const { mutate: settingGroupUpdate } = useSettingGroupUpdate();
27
- const formRef = useRef<FormPanelRef>(null);
28
-
29
- useEffectAfterFirstUpdate(() => {
30
- if (item && formRef.current) {
31
- formRef.current.setValuesFromItem(item);
32
- }
33
- }, [item]);
34
-
35
- useImperativeHandle(ref, () => ({}));
36
-
37
- return (
38
- <TabPanel
39
- activeTabIndex={0}
40
- tabs={[
41
- {
42
- title: t("details", { ns: "actions" }),
43
- children: (
44
- <Overlay loading={isLoading}>
45
- <FormPanel
46
- ref={formRef}
47
- fields={[
48
- {
49
- name: "icon",
50
- label: { text: t("icon", { ns: "translation" }) },
51
- type: EnumFieldType.TEXT,
52
- required: true,
53
- },
54
-
55
- ...getFieldsLocale([{ name: "name" }]),
56
- ]}
57
- button={{ text: t("save", { ns: "actions" }) }}
58
- onSubmit={(data) => {
59
- settingGroupUpdate({ id: data.id, data });
60
- if (typeof onUpdated === "function") {
61
- onUpdated(data);
62
- }
63
- }}
64
- />
65
- </Overlay>
66
- ),
67
- },
68
- ]}
69
- />
70
- );
71
- },
72
- );
73
-
74
- SettingGroupUpdatePanel.displayName = "SettingGroupUpdatePanel";
75
-
76
- export default SettingGroupUpdatePanel;
@@ -1,11 +0,0 @@
1
- {
2
- "create": "Create setting group",
3
- "createText": "Fill the setting group informations.",
4
- "createTooltip": "Create new setting group",
5
- "delete": "Delete setting group",
6
- "deleteText": "Are you sure to delete these setting group?",
7
- "deleteTooltip": "Delete the selected setting group",
8
- "edit": "Edit setting group",
9
- "editText": "View and edit setting group information.",
10
- "editTooltip": "Edit the selected setting group"
11
- }
@@ -1,11 +0,0 @@
1
- {
2
- "create": "Criar grupo de configurações",
3
- "createText": "Preencha as informações do grupo de configurações.",
4
- "createTooltip": "Criar novo grupo de configurações",
5
- "delete": "Excluir grupo de configurações",
6
- "deleteText": "Você tem certeza de que deseja excluir esses grupos de configurações?",
7
- "deleteTooltip": "Excluir o grupo de configurações selecionado",
8
- "edit": "Editar grupo de configurações",
9
- "editText": "Visualizar e editar informações do grupo de configurações.",
10
- "editTooltip": "Editar o grupo de configurações selecionado"
11
- }
@@ -1,28 +0,0 @@
1
- import { useDefaultMutation } from "@/hooks/use-default-mutation";
2
- import { useQuery } from "@tanstack/react-query";
3
- import { requests } from "./requests";
4
-
5
- const scope = "setting-group";
6
-
7
- export function useSettingGroupCreate() {
8
- const { settingGroupCreate } = requests();
9
- return useDefaultMutation(scope, "create", settingGroupCreate);
10
- }
11
-
12
- export function useSettingGroupDelete() {
13
- const { settingGroupDelete } = requests();
14
- return useDefaultMutation(scope, "delete", settingGroupDelete);
15
- }
16
-
17
- export function useSettingGroupUpdate() {
18
- const { settingGroupUpdate } = requests();
19
- return useDefaultMutation(scope, "update", settingGroupUpdate);
20
- }
21
-
22
- export function useSettingGroupGet(id: number) {
23
- const { settingGroupGet } = requests();
24
- return useQuery({
25
- queryKey: [scope, "get"],
26
- queryFn: () => settingGroupGet(id),
27
- });
28
- }
@@ -1,58 +0,0 @@
1
- import { useApp } from "@/hooks/use-app";
2
- import { Delete, PaginationParams, PaginationResult } from "@/types";
3
- import { SettingGroup } 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 settingGroupList = async (params: PaginationParams) => {
11
- return request<PaginationResult<SettingGroup>>({
12
- url: "/setting-group",
13
- params,
14
- }).then((res) => res.data);
15
- };
16
-
17
- const settingGroupGet = async (id: number) => {
18
- return request<SettingGroup>({
19
- url: `/setting-group/${id}`,
20
- }).then((res) => res.data);
21
- };
22
-
23
- const settingGroupCreate = async (data: SettingGroup) => {
24
- return request<SettingGroup>({
25
- url: "/setting-group",
26
- method: HttpMethod.POST,
27
- data: formatDataWithLocale(data),
28
- }).then((res) => res.data);
29
- };
30
-
31
- const settingGroupDelete = async (ids: number[]) => {
32
- return request<Delete>({
33
- url: "/setting-group",
34
- data: { ids },
35
- method: HttpMethod.DELETE,
36
- }).then((res) => res.data);
37
- };
38
-
39
- const settingGroupUpdate = async (params: {
40
- id: number;
41
- data: SettingGroup;
42
- }) => {
43
- const { id, data } = params;
44
- return request<SettingGroup>({
45
- url: `/setting-group/${id}`,
46
- method: HttpMethod.PATCH,
47
- data: formatDataWithLocale(data),
48
- }).then((res) => res.data);
49
- };
50
-
51
- return {
52
- settingGroupCreate,
53
- settingGroupUpdate,
54
- settingGroupDelete,
55
- settingGroupList,
56
- settingGroupGet,
57
- };
58
- }