refactor: 그룹 서비스 및 인터페이스 엔티티 폴더로 이동

This commit is contained in:
2025-06-19 10:33:50 +09:00
parent 3b7f8bcca7
commit cb38462164
7 changed files with 22 additions and 13 deletions
@@ -6,7 +6,7 @@ import type {
GroupList,
GroupResponseDto,
GroupFormData,
} from "../model/groups-interface";
} from "../model/group-interface";
export class GroupsApiService implements GroupService {
// 그룹 목록 조회
@@ -56,4 +56,4 @@ export class GroupsApiService implements GroupService {
}
}
export const GroupsApi = new GroupsApiService();
export const GroupApi = new GroupsApiService();
+6
View File
@@ -0,0 +1,6 @@
export { GroupApi } from "./api/group-service";
export {
groupFormSchema,
type GroupFormData,
type GroupListResponseDto,
} from "./model/group-interface";
@@ -1,6 +1,6 @@
import { type ColumnDef } from "@tanstack/react-table";
import { Button } from "@common/components";
import { type GroupListResponseDto } from "./groups-interface";
import { type GroupListResponseDto } from "@/entities/group";
import { MenuAuthorityDialog } from "../ui/menu-authority-dialog";
import { GroupsDialog } from "../ui/groups-dialog";
+1 -1
View File
@@ -21,8 +21,8 @@ import {
} from "@/shared/ui/form";
import { CodeSelect } from "@/entities/code";
import { SiteSelect } from "@/entities/site";
import type { GroupFormData } from "@/entities/group";
import { RoleSelect } from "./role-select";
import type { GroupFormData } from "../model/groups-interface";
type GroupFormProps = {
form: UseFormReturn<GroupFormData>;
+10 -7
View File
@@ -15,12 +15,15 @@ import {
DialogTrigger,
DialogClose,
} from "@common/components";
import { Form } from "@/shared/ui/form";
import { ENDPOINT } from "@/shared/config";
import {
GroupApi,
groupFormSchema,
type GroupFormData,
} from "@/entities/group";
import { useAlertStore, useMutationWrapper } from "@/shared/lib";
import { ENDPOINT } from "@/shared/config";
import { Form } from "@/shared/ui/form";
import { GroupForm } from "./group-form";
import { GroupsApi } from "../api/groups-service";
import { groupFormSchema, type GroupFormData } from "../model/groups-interface";
type GroupsDialogProps = {
groupId?: string;
@@ -39,12 +42,12 @@ const GroupsDialog = memo(
const { data: group } = useQuery({
queryKey: [ENDPOINT.CMS_SERVICE.GROUPS, groupId],
queryFn: () => GroupsApi.findGroupById(groupId!),
queryFn: () => GroupApi.findGroupById(groupId!),
enabled: !!groupId,
});
const { mutateAsync: createGroup } = useMutationWrapper({
mutationFn: (data: GroupFormData) => GroupsApi.saveGroup(data),
mutationFn: (data: GroupFormData) => GroupApi.saveGroup(data),
onSuccess: () => {
alert("등록되었습니다.", () => {
setOpen(false);
@@ -55,7 +58,7 @@ const GroupsDialog = memo(
const { mutateAsync: updateGroup } = useMutationWrapper({
mutationFn: (data: GroupFormData) =>
GroupsApi.updateGroup(groupId ?? "", data),
GroupApi.updateGroup(groupId ?? "", data),
onSuccess: () => {
alert("수정되었습니다.", () => {
setOpen(false);
@@ -4,10 +4,10 @@ import { useState } from "react";
import { keepPreviousData, useQuery } from "@tanstack/react-query";
import { getCoreRowModel, type PaginationState } from "@tanstack/react-table";
import { Button } from "@common/components";
import { GroupApi } from "@/entities/group";
import { ENDPOINT } from "@/shared/config";
import { useDataTable } from "@/shared/lib";
import { columns } from "../model/groups-table-columns";
import { GroupsApi } from "../api/groups-service";
import { GroupsDialog } from "./groups-dialog";
type GroupsSectionProps = {
@@ -23,7 +23,7 @@ function GroupsSection({ handleSelectedGroup }: GroupsSectionProps) {
const query = useQuery({
queryKey: [ENDPOINT.CMS_SERVICE.GROUPS, pagination],
queryFn: () =>
GroupsApi.findPageGroup({
GroupApi.findPageGroup({
page: pagination.pageIndex,
size: pagination.pageSize,
}),