feat: 모듈 API 권한 관리 작업
This commit is contained in:
@@ -30,11 +30,10 @@ export class RoleAuthorizationsApiService implements RoleAuthorizationsService {
|
||||
}
|
||||
|
||||
public async updateRoleAuthorizations(
|
||||
authorizationNo: string,
|
||||
data: RoleAuthorizationsData,
|
||||
): Promise<RoleAuthorizations> {
|
||||
const response = await client.put<RoleAuthorizations>(
|
||||
`${ENDPOINT.USER_SERVICE.ROLE_AUTHORIZATIONS}/${authorizationNo}`,
|
||||
`${ENDPOINT.USER_SERVICE.ROLE_AUTHORIZATIONS}`,
|
||||
data,
|
||||
);
|
||||
return response.data;
|
||||
|
||||
@@ -38,7 +38,6 @@ export interface RoleAuthorizationsService {
|
||||
data: RoleAuthorizationsData,
|
||||
) => Promise<RoleAuthorizations>;
|
||||
updateRoleAuthorizations: (
|
||||
authorizationNo: string,
|
||||
data: RoleAuthorizationsData,
|
||||
) => Promise<RoleAuthorizations>;
|
||||
}
|
||||
|
||||
@@ -18,13 +18,19 @@ import {
|
||||
DialogHeader,
|
||||
DialogTitle,
|
||||
DialogTrigger,
|
||||
Table,
|
||||
TableBody,
|
||||
TableCell,
|
||||
TableHead,
|
||||
TableHeader,
|
||||
TableRow,
|
||||
} from "@common/components/ui";
|
||||
import { ENDPOINT } from "@/shared/config";
|
||||
import { useAlertStore } from "@/shared/lib/use-alert-store";
|
||||
import {
|
||||
roleAuthorizationFormSchema,
|
||||
type RoleAuthorizationFormData,
|
||||
type RoleAuthorizationData,
|
||||
roleAuthorizationsFormSchema,
|
||||
type RoleAuthorizationsFormData,
|
||||
type RoleAuthorizationsData,
|
||||
} from "../model/role-authorizations-interface";
|
||||
import { columns } from "../model/role-authorizations-table-columns";
|
||||
import type { Authorizations } from "../model/authorizations-interface";
|
||||
@@ -37,6 +43,7 @@ type ManagementAuthorityDialogProps = {
|
||||
|
||||
function ManagementAuthorityDialog({
|
||||
authorizationNo,
|
||||
rowData,
|
||||
...props
|
||||
}: ManagementAuthorityDialogProps) {
|
||||
const { confirm } = useConfirm();
|
||||
@@ -53,15 +60,15 @@ function ManagementAuthorityDialog({
|
||||
});
|
||||
|
||||
const { mutateAsync: saveRoleAuthorization } = useMutation({
|
||||
mutationFn: (data: RoleAuthorizationData) =>
|
||||
RoleAuthorizationsApi.createRoleAuthorization(data),
|
||||
mutationFn: (data: RoleAuthorizationsData) =>
|
||||
RoleAuthorizationsApi.createRoleAuthorizations(data),
|
||||
onSuccess: () => {
|
||||
alert("저장되었습니다.");
|
||||
},
|
||||
});
|
||||
|
||||
const form = useForm<RoleAuthorizationFormData>({
|
||||
resolver: zodResolver(roleAuthorizationFormSchema),
|
||||
const form = useForm<RoleAuthorizationsFormData>({
|
||||
resolver: zodResolver(roleAuthorizationsFormSchema),
|
||||
values: {
|
||||
roleAuthorizations: roleAuthorizationList?.content ?? [],
|
||||
},
|
||||
@@ -88,14 +95,34 @@ function ManagementAuthorityDialog({
|
||||
<Dialog {...props}>
|
||||
<DialogTrigger asChild>
|
||||
<Button size="sm" onClick={() => setIsOpened(true)}>
|
||||
권한관리
|
||||
관리
|
||||
</Button>
|
||||
</DialogTrigger>
|
||||
<DialogContent className="max-w-[60rem]" aria-describedby={undefined}>
|
||||
<DialogHeader>
|
||||
<DialogTitle>모듈API 권한관리</DialogTitle>
|
||||
</DialogHeader>
|
||||
<DataTable table={table} />
|
||||
<div className="flex flex-col gap-8">
|
||||
<Table variant="line">
|
||||
<TableHeader>
|
||||
<TableRow>
|
||||
<TableHead>API명</TableHead>
|
||||
<TableHead>요청 메소드</TableHead>
|
||||
<TableHead>API URL</TableHead>
|
||||
</TableRow>
|
||||
</TableHeader>
|
||||
<TableBody>
|
||||
<TableRow>
|
||||
<TableCell align="center">
|
||||
{rowData?.authorizationName}
|
||||
</TableCell>
|
||||
<TableCell align="center">{rowData?.httpMethodCode}</TableCell>
|
||||
<TableCell align="center">{rowData?.urlPatternValue}</TableCell>
|
||||
</TableRow>
|
||||
</TableBody>
|
||||
</Table>
|
||||
<DataTable table={table} />
|
||||
</div>
|
||||
<DialogFooter className="!justify-center">
|
||||
<Button size="lg" onClick={handleSave}>
|
||||
허용
|
||||
|
||||
@@ -15,7 +15,7 @@ import type {
|
||||
Authorizations,
|
||||
AuthorizationsParams,
|
||||
} from "../model/authorizations-interface";
|
||||
import { columns } from "../model/table-columns";
|
||||
import { columns } from "../model/authorizations-table-columns";
|
||||
import { AuthorizationsApi } from "../api/authorization-service";
|
||||
|
||||
function ModulePage() {
|
||||
|
||||
Reference in New Issue
Block a user