diff --git a/apps/cs/app/(with-base-layout)/module/register/[sequential]/page.tsx b/apps/cs/app/(with-base-layout)/module/register/[sequential]/page.tsx
new file mode 100644
index 000000000..9f1c32ff5
--- /dev/null
+++ b/apps/cs/app/(with-base-layout)/module/register/[sequential]/page.tsx
@@ -0,0 +1,10 @@
+import { ModifyPage as VModifyPage } from "@/pages/module";
+
+export default async function ModifyPage({
+ params,
+}: {
+ params: Promise<{ sequential: string }>;
+}) {
+ const { sequential } = await params;
+ return ;
+}
diff --git a/apps/cs/src/pages/module/api/authorization-service.ts b/apps/cs/src/pages/module/api/authorization-service.ts
index 3e0621171..d68c6920a 100644
--- a/apps/cs/src/pages/module/api/authorization-service.ts
+++ b/apps/cs/src/pages/module/api/authorization-service.ts
@@ -19,6 +19,15 @@ export class AuthorizationsApiService implements AuthorizationsService {
return response.data;
}
+ public async getAuthorizationInfo(
+ authorizationNo: string,
+ ): Promise {
+ const response = await client.get(
+ `${ENDPOINT.USER_SERVICE.AUTHORIZATIONS}/${authorizationNo}`,
+ );
+ return response.data;
+ }
+
public async createAuthorization(
data: AuthorizationFormData,
): Promise {
@@ -28,6 +37,17 @@ export class AuthorizationsApiService implements AuthorizationsService {
);
return response.data;
}
+
+ public async updateAuthorization(
+ authorizationNo: string,
+ data: AuthorizationFormData,
+ ): Promise {
+ const response = await client.put(
+ `${ENDPOINT.USER_SERVICE.AUTHORIZATIONS}/${authorizationNo}`,
+ data,
+ );
+ return response.data;
+ }
}
export const AuthorizationsApi = new AuthorizationsApiService();
diff --git a/apps/cs/src/pages/module/index.ts b/apps/cs/src/pages/module/index.ts
index b1e8c3b32..fffbd617b 100644
--- a/apps/cs/src/pages/module/index.ts
+++ b/apps/cs/src/pages/module/index.ts
@@ -1,2 +1,3 @@
export { ModulePage } from "./ui/module-page";
export { CreatePage } from "./ui/create-page";
+export { ModifyPage } from "./ui/modify-page";
diff --git a/apps/cs/src/pages/module/model/authorizations-interface.ts b/apps/cs/src/pages/module/model/authorizations-interface.ts
index 61cd849e2..114d5cb10 100644
--- a/apps/cs/src/pages/module/model/authorizations-interface.ts
+++ b/apps/cs/src/pages/module/model/authorizations-interface.ts
@@ -44,7 +44,14 @@ export interface AuthorizationsService {
getAuthorizationsList: (
params: AuthorizationsParams,
) => Promise;
+ getAuthorizationInfo: (
+ authorizationNo: string,
+ ) => Promise;
createAuthorization: (
data: AuthorizationFormData,
) => Promise;
+ updateAuthorization: (
+ authorizationNo: string,
+ data: AuthorizationFormData,
+ ) => Promise;
}
diff --git a/apps/cs/src/pages/module/ui/modify-page.tsx b/apps/cs/src/pages/module/ui/modify-page.tsx
new file mode 100644
index 000000000..8eff7f0a8
--- /dev/null
+++ b/apps/cs/src/pages/module/ui/modify-page.tsx
@@ -0,0 +1,50 @@
+"use client";
+
+import { useForm } from "react-hook-form";
+import { zodResolver } from "@hookform/resolvers/zod";
+import { useMutation, useQuery } from "@tanstack/react-query";
+import { useAlertStore } from "@/shared/lib/use-alert-store";
+import { ENDPOINT } from "@/shared/config";
+import {
+ authorizationFormSchema,
+ type AuthorizationFormData,
+} from "../model/authorizations-interface";
+import { AuthorizationsApi } from "../api/authorization-service";
+import { ModuleForm } from "./module-form";
+
+function ModifyPage({ sequential }: { sequential: string }) {
+ const { setMessage: alert } = useAlertStore((state) => state);
+
+ const { data: authorizationInfo } = useQuery({
+ queryKey: [ENDPOINT.USER_SERVICE.AUTHORIZATIONS, sequential],
+ queryFn: () => AuthorizationsApi.getAuthorizationInfo(sequential),
+ });
+
+ const { mutateAsync: updateAuthorization } = useMutation({
+ mutationFn: (data: AuthorizationFormData) =>
+ AuthorizationsApi.updateAuthorization(sequential, data),
+ onSuccess: () => {
+ alert("수정되었습니다.");
+ },
+ });
+
+ const form = useForm({
+ resolver: zodResolver(authorizationFormSchema),
+ values: authorizationInfo,
+ });
+
+ return (
+
+ );
+}
+
+export { ModifyPage };