@hedhog/admin 0.46.35 → 0.46.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +960 -960
- package/dist/auth/auth.service.d.ts.map +1 -1
- package/dist/auth/auth.service.js +30 -4
- package/dist/auth/auth.service.js.map +1 -1
- package/dist/auth/consts/body.js +24 -24
- package/dist/emails/index.d.ts +3 -0
- package/dist/emails/index.d.ts.map +1 -0
- package/dist/emails/index.js +19 -0
- package/dist/emails/index.js.map +1 -0
- package/dist/emails/lib.d.ts +6 -0
- package/dist/emails/lib.d.ts.map +1 -0
- package/dist/emails/lib.js +43 -0
- package/dist/emails/lib.js.map +1 -0
- package/dist/emails/templates.d.ts +13 -0
- package/dist/emails/templates.d.ts.map +1 -0
- package/dist/emails/templates.js +63 -0
- package/dist/emails/templates.js.map +1 -0
- package/frontend/menu/components/create-panel.tsx.ejs +55 -55
- package/frontend/menu/components/update-panel.tsx.ejs +67 -67
- package/frontend/menu/locales/en/admin.menu.json +11 -11
- package/frontend/menu/locales/pt/admin.menu.json +11 -11
- package/frontend/menu/react-query/handlers.ts.ejs +28 -28
- package/frontend/menu/react-query/requests.ts.ejs +56 -56
- package/frontend/menu-locale/locales/en/admin.menu-locale.json +11 -11
- package/frontend/menu-locale/locales/pt/admin.menu-locale.json +11 -11
- package/frontend/menu-screen/locales/en/admin.menu-screen.json +11 -11
- package/frontend/menu-screen/locales/pt/admin.menu-screen.json +11 -11
- package/frontend/multifactor/components/create-panel.tsx.ejs +55 -55
- package/frontend/multifactor/components/update-panel.tsx.ejs +70 -70
- package/frontend/multifactor/locales/en/admin.multifactor.json +11 -11
- package/frontend/multifactor/locales/pt/admin.multifactor.json +11 -11
- package/frontend/multifactor/react-query/handlers.ts.ejs +28 -28
- package/frontend/multifactor/react-query/requests.ts.ejs +59 -59
- package/frontend/multifactor-locale/locales/en/admin.multifactor-locale.json +11 -11
- package/frontend/multifactor-locale/locales/pt/admin.multifactor-locale.json +11 -11
- package/frontend/screen/components/create-panel.tsx.ejs +55 -55
- package/frontend/screen/components/update-panel.tsx.ejs +67 -67
- package/frontend/screen/locales/en/admin.screen.json +11 -11
- package/frontend/screen/locales/pt/admin.screen.json +11 -11
- package/frontend/screen/react-query/handlers.ts.ejs +28 -28
- package/frontend/screen/react-query/requests.ts.ejs +56 -56
- package/frontend/screen-locale/locales/en/admin.screen-locale.json +11 -11
- package/frontend/screen-locale/locales/pt/admin.screen-locale.json +11 -11
- package/frontend/translation/components/create-panel.tsx.ejs +52 -52
- package/frontend/translation/components/update-panel.tsx.ejs +67 -67
- package/frontend/translation/locales/en/admin.translation.json +11 -11
- package/frontend/translation/locales/pt/admin.translation.json +11 -11
- package/frontend/translation/react-query/handlers.ts.ejs +28 -28
- package/frontend/translation/react-query/requests.ts.ejs +58 -58
- package/frontend/translation-namespace/components/create-panel.tsx.ejs +53 -53
- package/frontend/translation-namespace/components/update-panel.tsx.ejs +70 -70
- package/frontend/translation-namespace/locales/en/admin.translation-namespace.json +11 -11
- package/frontend/translation-namespace/locales/pt/admin.translation-namespace.json +11 -11
- package/frontend/translation-namespace/react-query/handlers.ts.ejs +28 -28
- package/frontend/translation-namespace/react-query/requests.ts.ejs +60 -60
- package/frontend/user/components/create-panel.tsx.ejs +52 -52
- package/frontend/user/components/update-panel.tsx.ejs +64 -64
- package/frontend/user/locales/en/admin.user.json +11 -11
- package/frontend/user/locales/pt/admin.user.json +11 -11
- package/frontend/user/react-query/handlers.ts.ejs +28 -28
- package/frontend/user/react-query/requests.ts.ejs +55 -55
- package/hedhog.yaml +783 -783
- package/package.json +45 -43
- package/src/admin.module.ts +39 -39
- package/src/auth/auth.controller.ts +88 -88
- package/src/auth/auth.module.ts +41 -41
- package/src/auth/auth.service.spec.ts +196 -196
- package/src/auth/auth.service.ts +349 -316
- package/src/auth/consts/body.ts +27 -27
- package/src/auth/dto/change.dto.ts +19 -19
- package/src/auth/dto/email.dto.ts +15 -15
- package/src/auth/dto/forget.dto.ts +6 -6
- package/src/auth/dto/login.dto.ts +21 -21
- package/src/auth/dto/otp.dto.ts +11 -11
- package/src/auth/dto/reset.dto.ts +14 -14
- package/src/auth/enums/multifactor-type.enum.ts +4 -4
- package/src/auth/guards/auth.guard.ts +54 -54
- package/src/auth/types/user.type.ts +8 -8
- package/src/dto/delete.dto.ts +8 -8
- package/src/dto/update-ids.dto.ts +9 -9
- package/src/emails/index.ts +2 -0
- package/src/emails/lib.ts +40 -0
- package/src/emails/templates.ts +60 -0
- package/src/index.ts +20 -20
- package/src/menu/dto/create.dto.ts +25 -25
- package/src/menu/dto/order.dto.ts +8 -8
- package/src/menu/dto/update.dto.ts +19 -19
- package/src/menu/menu.controller.ts +105 -105
- package/src/menu/menu.module.ts +18 -18
- package/src/menu/menu.service.spec.ts +247 -247
- package/src/menu/menu.service.ts +263 -263
- package/src/role/dto/create.dto.ts +7 -7
- package/src/role/dto/update.dto.ts +4 -4
- package/src/role/guards/role.guard.ts +121 -121
- package/src/role/role.controller.ts +126 -126
- package/src/role/role.module.ts +28 -28
- package/src/role/role.service.spec.ts +417 -417
- package/src/role/role.service.ts +289 -289
- package/src/route/dto/create.dto.ts +13 -13
- package/src/route/dto/update.dto.ts +15 -15
- package/src/route/route.controller.ts +91 -91
- package/src/route/route.module.ts +18 -18
- package/src/route/route.service.spec.ts +300 -300
- package/src/route/route.service.ts +164 -164
- package/src/screen/dto/create.dto.ts +11 -11
- package/src/screen/dto/update.dto.ts +19 -19
- package/src/screen/screen.controller.ts +93 -93
- package/src/screen/screen.module.ts +18 -18
- package/src/screen/screen.service.spec.ts +298 -298
- package/src/screen/screen.service.ts +179 -179
- package/src/types/http-method.ts +8 -8
- package/src/user/constants/user.constants.ts +1 -1
- package/src/user/dto/create.dto.ts +24 -24
- package/src/user/dto/update.dto.ts +41 -41
- package/src/user/user.controller.ts +75 -75
- package/src/user/user.module.ts +18 -18
- package/src/user/user.service.spec.ts +294 -294
- package/src/user/user.service.ts +129 -129
- package/tsconfig.lib.json +9 -9
- package/tsconfig.production.json +20 -20
@@ -1,11 +1,11 @@
|
|
1
|
-
{
|
2
|
-
"create": "Create menu",
|
3
|
-
"createText": "Fill the menu informations.",
|
4
|
-
"createTooltip": "Create new menu",
|
5
|
-
"delete": "Delete menu",
|
6
|
-
"deleteText": "Are you sure to delete these menu?",
|
7
|
-
"deleteTooltip": "Delete the selected menu",
|
8
|
-
"edit": "Edit menu",
|
9
|
-
"editText": "View and edit menu information.",
|
10
|
-
"editTooltip": "Edit the selected menu"
|
11
|
-
}
|
1
|
+
{
|
2
|
+
"create": "Create menu",
|
3
|
+
"createText": "Fill the menu informations.",
|
4
|
+
"createTooltip": "Create new menu",
|
5
|
+
"delete": "Delete menu",
|
6
|
+
"deleteText": "Are you sure to delete these menu?",
|
7
|
+
"deleteTooltip": "Delete the selected menu",
|
8
|
+
"edit": "Edit menu",
|
9
|
+
"editText": "View and edit menu information.",
|
10
|
+
"editTooltip": "Edit the selected menu"
|
11
|
+
}
|
@@ -1,11 +1,11 @@
|
|
1
|
-
{
|
2
|
-
"create": "Criar menu",
|
3
|
-
"createText": "Preencha as informações do menu.",
|
4
|
-
"createTooltip": "Criar novo menu",
|
5
|
-
"delete": "Excluir menu",
|
6
|
-
"deleteText": "Você tem certeza de que deseja excluir este menu?",
|
7
|
-
"deleteTooltip": "Excluir o menu selecionado",
|
8
|
-
"edit": "Editar menu",
|
9
|
-
"editText": "Ver e editar informações do menu.",
|
10
|
-
"editTooltip": "Editar o menu selecionado"
|
11
|
-
}
|
1
|
+
{
|
2
|
+
"create": "Criar menu",
|
3
|
+
"createText": "Preencha as informações do menu.",
|
4
|
+
"createTooltip": "Criar novo menu",
|
5
|
+
"delete": "Excluir menu",
|
6
|
+
"deleteText": "Você tem certeza de que deseja excluir este menu?",
|
7
|
+
"deleteTooltip": "Excluir o menu selecionado",
|
8
|
+
"edit": "Editar menu",
|
9
|
+
"editText": "Ver e editar informações do menu.",
|
10
|
+
"editTooltip": "Editar o menu 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 = "menu";
|
6
|
-
|
7
|
-
export function useMenuCreate() {
|
8
|
-
const { menuCreate } = requests();
|
9
|
-
return useDefaultMutation(scope, "create", menuCreate);
|
10
|
-
}
|
11
|
-
|
12
|
-
export function useMenuDelete() {
|
13
|
-
const { menuDelete } = requests();
|
14
|
-
return useDefaultMutation(scope, "delete", menuDelete);
|
15
|
-
}
|
16
|
-
|
17
|
-
export function useMenuUpdate() {
|
18
|
-
const { menuUpdate } = requests();
|
19
|
-
return useDefaultMutation(scope, "update", menuUpdate);
|
20
|
-
}
|
21
|
-
|
22
|
-
export function useMenuGet(id: number) {
|
23
|
-
const { menuGet } = requests();
|
24
|
-
return useQuery({
|
25
|
-
queryKey: [scope, "get"],
|
26
|
-
queryFn: () => menuGet(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 = "menu";
|
6
|
+
|
7
|
+
export function useMenuCreate() {
|
8
|
+
const { menuCreate } = requests();
|
9
|
+
return useDefaultMutation(scope, "create", menuCreate);
|
10
|
+
}
|
11
|
+
|
12
|
+
export function useMenuDelete() {
|
13
|
+
const { menuDelete } = requests();
|
14
|
+
return useDefaultMutation(scope, "delete", menuDelete);
|
15
|
+
}
|
16
|
+
|
17
|
+
export function useMenuUpdate() {
|
18
|
+
const { menuUpdate } = requests();
|
19
|
+
return useDefaultMutation(scope, "update", menuUpdate);
|
20
|
+
}
|
21
|
+
|
22
|
+
export function useMenuGet(id: number) {
|
23
|
+
const { menuGet } = requests();
|
24
|
+
return useQuery({
|
25
|
+
queryKey: [scope, "get"],
|
26
|
+
queryFn: () => menuGet(id),
|
27
|
+
});
|
28
|
+
}
|
@@ -1,56 +1,56 @@
|
|
1
|
-
import { useApp } from "@/hooks/use-app";
|
2
|
-
import { Delete, PaginationParams, PaginationResult } from "@/types";
|
3
|
-
import { Menu } 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 menuList = async (params: PaginationParams) => {
|
11
|
-
return request<PaginationResult<Menu>>({
|
12
|
-
url: "/menu",
|
13
|
-
params,
|
14
|
-
}).then((res) => res.data);
|
15
|
-
};
|
16
|
-
|
17
|
-
const menuGet = async (id: number) => {
|
18
|
-
return request<Menu>({
|
19
|
-
url: `/menu/${id}`,
|
20
|
-
}).then((res) => res.data);
|
21
|
-
};
|
22
|
-
|
23
|
-
const menuCreate = async (params: { data: Menu }) => {
|
24
|
-
const { data } = params;
|
25
|
-
return request<Menu>({
|
26
|
-
url: "/menu",
|
27
|
-
method: HttpMethod.POST,
|
28
|
-
data: formatDataWithLocale(data),
|
29
|
-
}).then((res) => res.data);
|
30
|
-
};
|
31
|
-
|
32
|
-
const menuDelete = async (ids: number[]) => {
|
33
|
-
return request<Delete>({
|
34
|
-
url: "/menu",
|
35
|
-
data: { ids },
|
36
|
-
method: HttpMethod.DELETE,
|
37
|
-
}).then((res) => res.data);
|
38
|
-
};
|
39
|
-
|
40
|
-
const menuUpdate = async (params: { id: number; data: Menu }) => {
|
41
|
-
const { id, data } = params;
|
42
|
-
return request<Menu>({
|
43
|
-
url: `/menu/${id}`,
|
44
|
-
method: HttpMethod.PATCH,
|
45
|
-
data: formatDataWithLocale(data),
|
46
|
-
}).then((res) => res.data);
|
47
|
-
};
|
48
|
-
|
49
|
-
return {
|
50
|
-
menuCreate,
|
51
|
-
menuUpdate,
|
52
|
-
menuDelete,
|
53
|
-
menuList,
|
54
|
-
menuGet,
|
55
|
-
};
|
56
|
-
}
|
1
|
+
import { useApp } from "@/hooks/use-app";
|
2
|
+
import { Delete, PaginationParams, PaginationResult } from "@/types";
|
3
|
+
import { Menu } 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 menuList = async (params: PaginationParams) => {
|
11
|
+
return request<PaginationResult<Menu>>({
|
12
|
+
url: "/menu",
|
13
|
+
params,
|
14
|
+
}).then((res) => res.data);
|
15
|
+
};
|
16
|
+
|
17
|
+
const menuGet = async (id: number) => {
|
18
|
+
return request<Menu>({
|
19
|
+
url: `/menu/${id}`,
|
20
|
+
}).then((res) => res.data);
|
21
|
+
};
|
22
|
+
|
23
|
+
const menuCreate = async (params: { data: Menu }) => {
|
24
|
+
const { data } = params;
|
25
|
+
return request<Menu>({
|
26
|
+
url: "/menu",
|
27
|
+
method: HttpMethod.POST,
|
28
|
+
data: formatDataWithLocale(data),
|
29
|
+
}).then((res) => res.data);
|
30
|
+
};
|
31
|
+
|
32
|
+
const menuDelete = async (ids: number[]) => {
|
33
|
+
return request<Delete>({
|
34
|
+
url: "/menu",
|
35
|
+
data: { ids },
|
36
|
+
method: HttpMethod.DELETE,
|
37
|
+
}).then((res) => res.data);
|
38
|
+
};
|
39
|
+
|
40
|
+
const menuUpdate = async (params: { id: number; data: Menu }) => {
|
41
|
+
const { id, data } = params;
|
42
|
+
return request<Menu>({
|
43
|
+
url: `/menu/${id}`,
|
44
|
+
method: HttpMethod.PATCH,
|
45
|
+
data: formatDataWithLocale(data),
|
46
|
+
}).then((res) => res.data);
|
47
|
+
};
|
48
|
+
|
49
|
+
return {
|
50
|
+
menuCreate,
|
51
|
+
menuUpdate,
|
52
|
+
menuDelete,
|
53
|
+
menuList,
|
54
|
+
menuGet,
|
55
|
+
};
|
56
|
+
}
|
@@ -1,11 +1,11 @@
|
|
1
|
-
{
|
2
|
-
"create": "Create menu locale",
|
3
|
-
"createText": "Fill the menu locale informations.",
|
4
|
-
"createTooltip": "Create new menu locale",
|
5
|
-
"delete": "Delete menu locale",
|
6
|
-
"deleteText": "Are you sure to delete these menu locale?",
|
7
|
-
"deleteTooltip": "Delete the selected menu locale",
|
8
|
-
"edit": "Edit menu locale",
|
9
|
-
"editText": "View and edit menu locale information.",
|
10
|
-
"editTooltip": "Edit the selected menu locale"
|
11
|
-
}
|
1
|
+
{
|
2
|
+
"create": "Create menu locale",
|
3
|
+
"createText": "Fill the menu locale informations.",
|
4
|
+
"createTooltip": "Create new menu locale",
|
5
|
+
"delete": "Delete menu locale",
|
6
|
+
"deleteText": "Are you sure to delete these menu locale?",
|
7
|
+
"deleteTooltip": "Delete the selected menu locale",
|
8
|
+
"edit": "Edit menu locale",
|
9
|
+
"editText": "View and edit menu locale information.",
|
10
|
+
"editTooltip": "Edit the selected menu locale"
|
11
|
+
}
|
@@ -1,11 +1,11 @@
|
|
1
|
-
{
|
2
|
-
"create": "Criar menu locale",
|
3
|
-
"createText": "Preencha as informações do menu locale.",
|
4
|
-
"createTooltip": "Criar novo menu locale",
|
5
|
-
"delete": "Excluir menu locale",
|
6
|
-
"deleteText": "Você tem certeza de que deseja excluir esses menu locale?",
|
7
|
-
"deleteTooltip": "Excluir o menu locale selecionado",
|
8
|
-
"edit": "Editar menu locale",
|
9
|
-
"editText": "Visualizar e editar informações do menu locale.",
|
10
|
-
"editTooltip": "Editar o menu locale selecionado"
|
11
|
-
}
|
1
|
+
{
|
2
|
+
"create": "Criar menu locale",
|
3
|
+
"createText": "Preencha as informações do menu locale.",
|
4
|
+
"createTooltip": "Criar novo menu locale",
|
5
|
+
"delete": "Excluir menu locale",
|
6
|
+
"deleteText": "Você tem certeza de que deseja excluir esses menu locale?",
|
7
|
+
"deleteTooltip": "Excluir o menu locale selecionado",
|
8
|
+
"edit": "Editar menu locale",
|
9
|
+
"editText": "Visualizar e editar informações do menu locale.",
|
10
|
+
"editTooltip": "Editar o menu locale selecionado"
|
11
|
+
}
|
@@ -1,11 +1,11 @@
|
|
1
|
-
{
|
2
|
-
"create": "Create menu screen",
|
3
|
-
"createText": "Fill the menu screen informations.",
|
4
|
-
"createTooltip": "Create new menu screen",
|
5
|
-
"delete": "Delete menu screen",
|
6
|
-
"deleteText": "Are you sure to delete these menu screen?",
|
7
|
-
"deleteTooltip": "Delete the selected menu screen",
|
8
|
-
"edit": "Edit menu screen",
|
9
|
-
"editText": "View and edit menu screen information.",
|
10
|
-
"editTooltip": "Edit the selected menu screen"
|
11
|
-
}
|
1
|
+
{
|
2
|
+
"create": "Create menu screen",
|
3
|
+
"createText": "Fill the menu screen informations.",
|
4
|
+
"createTooltip": "Create new menu screen",
|
5
|
+
"delete": "Delete menu screen",
|
6
|
+
"deleteText": "Are you sure to delete these menu screen?",
|
7
|
+
"deleteTooltip": "Delete the selected menu screen",
|
8
|
+
"edit": "Edit menu screen",
|
9
|
+
"editText": "View and edit menu screen information.",
|
10
|
+
"editTooltip": "Edit the selected menu screen"
|
11
|
+
}
|
@@ -1,11 +1,11 @@
|
|
1
|
-
{
|
2
|
-
"create": "Criar menu screen",
|
3
|
-
"createText": "Preencha as informações do menu screen.",
|
4
|
-
"createTooltip": "Criar novo menu screen",
|
5
|
-
"delete": "Excluir menu screen",
|
6
|
-
"deleteText": "Você tem certeza de que deseja excluir estes menu screen?",
|
7
|
-
"deleteTooltip": "Excluir o menu screen selecionado",
|
8
|
-
"edit": "Editar menu screen",
|
9
|
-
"editText": "Visualizar e editar as informações do menu screen.",
|
10
|
-
"editTooltip": "Editar o menu screen selecionado"
|
11
|
-
}
|
1
|
+
{
|
2
|
+
"create": "Criar menu screen",
|
3
|
+
"createText": "Preencha as informações do menu screen.",
|
4
|
+
"createTooltip": "Criar novo menu screen",
|
5
|
+
"delete": "Excluir menu screen",
|
6
|
+
"deleteText": "Você tem certeza de que deseja excluir estes menu screen?",
|
7
|
+
"deleteTooltip": "Excluir o menu screen selecionado",
|
8
|
+
"edit": "Editar menu screen",
|
9
|
+
"editText": "Visualizar e editar as informações do menu screen.",
|
10
|
+
"editTooltip": "Editar o menu screen selecionado"
|
11
|
+
}
|
@@ -1,55 +1,55 @@
|
|
1
|
-
import FormPanel, {
|
2
|
-
FormPanelRef,
|
3
|
-
getFieldsLocale,
|
4
|
-
} from "@/components/panels/form-panel";
|
5
|
-
|
6
|
-
import { useMultifactorCreate } from "@/features/admin/multifactor";
|
7
|
-
import { Multifactor } from "@/types/models";
|
8
|
-
import { forwardRef, useImperativeHandle, useRef } from "react";
|
9
|
-
import { useTranslation } from "react-i18next";
|
10
|
-
|
11
|
-
export type MultifactorCreatePanelRef = {
|
12
|
-
submit: () => void;
|
13
|
-
};
|
14
|
-
|
15
|
-
export type MultifactorCreatePanelProps = {
|
16
|
-
onCreated?: (data: Multifactor) => void;
|
17
|
-
};
|
18
|
-
|
19
|
-
const MultifactorCreatePanel = forwardRef(
|
20
|
-
({ onCreated }: MultifactorCreatePanelProps, ref) => {
|
21
|
-
const formRef = useRef<FormPanelRef>(null);
|
22
|
-
const { t } = useTranslation(["actions", "fields", "translations"]);
|
23
|
-
const { mutateAsync: createMultifactor } = useMultifactorCreate();
|
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={[...getFieldsLocale([{ name: "name" }])]}
|
39
|
-
button={{ text: t("create", { ns: "actions" }) }}
|
40
|
-
onSubmit={async (data) => {
|
41
|
-
const createdData = await createMultifactor({
|
42
|
-
data,
|
43
|
-
});
|
44
|
-
if (typeof onCreated === "function") {
|
45
|
-
onCreated(createdData as any);
|
46
|
-
}
|
47
|
-
}}
|
48
|
-
/>
|
49
|
-
);
|
50
|
-
},
|
51
|
-
);
|
52
|
-
|
53
|
-
MultifactorCreatePanel.displayName = "MultifactorCreatePanel";
|
54
|
-
|
55
|
-
export default MultifactorCreatePanel;
|
1
|
+
import FormPanel, {
|
2
|
+
FormPanelRef,
|
3
|
+
getFieldsLocale,
|
4
|
+
} from "@/components/panels/form-panel";
|
5
|
+
|
6
|
+
import { useMultifactorCreate } from "@/features/admin/multifactor";
|
7
|
+
import { Multifactor } from "@/types/models";
|
8
|
+
import { forwardRef, useImperativeHandle, useRef } from "react";
|
9
|
+
import { useTranslation } from "react-i18next";
|
10
|
+
|
11
|
+
export type MultifactorCreatePanelRef = {
|
12
|
+
submit: () => void;
|
13
|
+
};
|
14
|
+
|
15
|
+
export type MultifactorCreatePanelProps = {
|
16
|
+
onCreated?: (data: Multifactor) => void;
|
17
|
+
};
|
18
|
+
|
19
|
+
const MultifactorCreatePanel = forwardRef(
|
20
|
+
({ onCreated }: MultifactorCreatePanelProps, ref) => {
|
21
|
+
const formRef = useRef<FormPanelRef>(null);
|
22
|
+
const { t } = useTranslation(["actions", "fields", "translations"]);
|
23
|
+
const { mutateAsync: createMultifactor } = useMultifactorCreate();
|
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={[...getFieldsLocale([{ name: "name" }])]}
|
39
|
+
button={{ text: t("create", { ns: "actions" }) }}
|
40
|
+
onSubmit={async (data) => {
|
41
|
+
const createdData = await createMultifactor({
|
42
|
+
data,
|
43
|
+
});
|
44
|
+
if (typeof onCreated === "function") {
|
45
|
+
onCreated(createdData as any);
|
46
|
+
}
|
47
|
+
}}
|
48
|
+
/>
|
49
|
+
);
|
50
|
+
},
|
51
|
+
);
|
52
|
+
|
53
|
+
MultifactorCreatePanel.displayName = "MultifactorCreatePanel";
|
54
|
+
|
55
|
+
export default MultifactorCreatePanel;
|
@@ -1,70 +1,70 @@
|
|
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
|
-
useMultifactorGet,
|
9
|
-
useMultifactorUpdate,
|
10
|
-
} from "@/features/admin/multifactor";
|
11
|
-
import useEffectAfterFirstUpdate from "@/hooks/use-effect-after-first-update";
|
12
|
-
import { Multifactor } from "@/types/models";
|
13
|
-
import { useState, forwardRef, useImperativeHandle, useRef } from "react";
|
14
|
-
import { useTranslation } from "react-i18next";
|
15
|
-
import { IconEdit, IconPlus, IconTrash } from "@tabler/icons-react";
|
16
|
-
|
17
|
-
export type MultifactorUpdatePanelProps = {
|
18
|
-
data: Multifactor;
|
19
|
-
onUpdated?: (data: Multifactor) => void;
|
20
|
-
};
|
21
|
-
|
22
|
-
const MultifactorUpdatePanel = forwardRef(
|
23
|
-
({ data, onUpdated }: MultifactorUpdatePanelProps, ref) => {
|
24
|
-
const { t } = useTranslation(["actions", "fields", "translations"]);
|
25
|
-
const { data: item, isLoading } = useMultifactorGet(data.id as number);
|
26
|
-
const { mutate: multifactorUpdate } = useMultifactorUpdate();
|
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={[...getFieldsLocale([{ name: "name" }], item)]}
|
48
|
-
button={{ text: t("save", { ns: "actions" }) }}
|
49
|
-
onSubmit={(data) => {
|
50
|
-
multifactorUpdate({
|
51
|
-
id: data.id,
|
52
|
-
data,
|
53
|
-
});
|
54
|
-
if (typeof onUpdated === "function") {
|
55
|
-
onUpdated(data);
|
56
|
-
}
|
57
|
-
}}
|
58
|
-
/>
|
59
|
-
</Overlay>
|
60
|
-
),
|
61
|
-
},
|
62
|
-
]}
|
63
|
-
/>
|
64
|
-
);
|
65
|
-
},
|
66
|
-
);
|
67
|
-
|
68
|
-
MultifactorUpdatePanel.displayName = "MultifactorUpdatePanel";
|
69
|
-
|
70
|
-
export default MultifactorUpdatePanel;
|
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
|
+
useMultifactorGet,
|
9
|
+
useMultifactorUpdate,
|
10
|
+
} from "@/features/admin/multifactor";
|
11
|
+
import useEffectAfterFirstUpdate from "@/hooks/use-effect-after-first-update";
|
12
|
+
import { Multifactor } from "@/types/models";
|
13
|
+
import { useState, forwardRef, useImperativeHandle, useRef } from "react";
|
14
|
+
import { useTranslation } from "react-i18next";
|
15
|
+
import { IconEdit, IconPlus, IconTrash } from "@tabler/icons-react";
|
16
|
+
|
17
|
+
export type MultifactorUpdatePanelProps = {
|
18
|
+
data: Multifactor;
|
19
|
+
onUpdated?: (data: Multifactor) => void;
|
20
|
+
};
|
21
|
+
|
22
|
+
const MultifactorUpdatePanel = forwardRef(
|
23
|
+
({ data, onUpdated }: MultifactorUpdatePanelProps, ref) => {
|
24
|
+
const { t } = useTranslation(["actions", "fields", "translations"]);
|
25
|
+
const { data: item, isLoading } = useMultifactorGet(data.id as number);
|
26
|
+
const { mutate: multifactorUpdate } = useMultifactorUpdate();
|
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={[...getFieldsLocale([{ name: "name" }], item)]}
|
48
|
+
button={{ text: t("save", { ns: "actions" }) }}
|
49
|
+
onSubmit={(data) => {
|
50
|
+
multifactorUpdate({
|
51
|
+
id: data.id,
|
52
|
+
data,
|
53
|
+
});
|
54
|
+
if (typeof onUpdated === "function") {
|
55
|
+
onUpdated(data);
|
56
|
+
}
|
57
|
+
}}
|
58
|
+
/>
|
59
|
+
</Overlay>
|
60
|
+
),
|
61
|
+
},
|
62
|
+
]}
|
63
|
+
/>
|
64
|
+
);
|
65
|
+
},
|
66
|
+
);
|
67
|
+
|
68
|
+
MultifactorUpdatePanel.displayName = "MultifactorUpdatePanel";
|
69
|
+
|
70
|
+
export default MultifactorUpdatePanel;
|
@@ -1,11 +1,11 @@
|
|
1
|
-
{
|
2
|
-
"create": "Create multifactor",
|
3
|
-
"createText": "Fill the multifactor informations.",
|
4
|
-
"createTooltip": "Create new multifactor",
|
5
|
-
"delete": "Delete multifactor",
|
6
|
-
"deleteText": "Are you sure to delete these multifactor?",
|
7
|
-
"deleteTooltip": "Delete the selected multifactor",
|
8
|
-
"edit": "Edit multifactor",
|
9
|
-
"editText": "View and edit multifactor information.",
|
10
|
-
"editTooltip": "Edit the selected multifactor"
|
11
|
-
}
|
1
|
+
{
|
2
|
+
"create": "Create multifactor",
|
3
|
+
"createText": "Fill the multifactor informations.",
|
4
|
+
"createTooltip": "Create new multifactor",
|
5
|
+
"delete": "Delete multifactor",
|
6
|
+
"deleteText": "Are you sure to delete these multifactor?",
|
7
|
+
"deleteTooltip": "Delete the selected multifactor",
|
8
|
+
"edit": "Edit multifactor",
|
9
|
+
"editText": "View and edit multifactor information.",
|
10
|
+
"editTooltip": "Edit the selected multifactor"
|
11
|
+
}
|
@@ -1,11 +1,11 @@
|
|
1
|
-
{
|
2
|
-
"create": "Criar multifactor",
|
3
|
-
"createText": "Preencha as informações do multifactor.",
|
4
|
-
"createTooltip": "Criar novo multifactor",
|
5
|
-
"delete": "Deletar multifactor",
|
6
|
-
"deleteText": "Você tem certeza de que deseja deletar este multifactor?",
|
7
|
-
"deleteTooltip": "Deletar o multifactor selecionado",
|
8
|
-
"edit": "Editar multifactor",
|
9
|
-
"editText": "Ver e editar informações do multifactor.",
|
10
|
-
"editTooltip": "Editar o multifactor selecionado"
|
11
|
-
}
|
1
|
+
{
|
2
|
+
"create": "Criar multifactor",
|
3
|
+
"createText": "Preencha as informações do multifactor.",
|
4
|
+
"createTooltip": "Criar novo multifactor",
|
5
|
+
"delete": "Deletar multifactor",
|
6
|
+
"deleteText": "Você tem certeza de que deseja deletar este multifactor?",
|
7
|
+
"deleteTooltip": "Deletar o multifactor selecionado",
|
8
|
+
"edit": "Editar multifactor",
|
9
|
+
"editText": "Ver e editar informações do multifactor.",
|
10
|
+
"editTooltip": "Editar o multifactor selecionado"
|
11
|
+
}
|