diff --git a/apps/cs/app/(with-base-layout)/groups/page.tsx b/apps/cs/app/(with-base-layout)/groups/page.tsx new file mode 100644 index 000000000..8491e59bb --- /dev/null +++ b/apps/cs/app/(with-base-layout)/groups/page.tsx @@ -0,0 +1,2 @@ +import { GroupsPage } from "@/pages/groups"; +export default GroupsPage; diff --git a/apps/cs/src/entities/menu-authority/api/menu-authority-service.ts b/apps/cs/src/entities/menu-authority/api/menu-authority-service.ts index 14988eee0..ec07d88ad 100644 --- a/apps/cs/src/entities/menu-authority/api/menu-authority-service.ts +++ b/apps/cs/src/entities/menu-authority/api/menu-authority-service.ts @@ -35,6 +35,16 @@ export class MenuAuthorityApiService implements MenuAuthorityService { ); return response.data; } + + public async getGroupMenuAuthorityList( + params: MenuAuthorityParams, + ): Promise { + const response = await client.get( + `${ENDPOINT.CMS_SERVICE.MENU_AUTHRTS}/group`, + { params }, + ); + return response.data; + } } export const MenuAuthorityApi = new MenuAuthorityApiService(); diff --git a/apps/cs/src/entities/menu-authority/index.ts b/apps/cs/src/entities/menu-authority/index.ts index 2a555b77e..5a1b11606 100644 --- a/apps/cs/src/entities/menu-authority/index.ts +++ b/apps/cs/src/entities/menu-authority/index.ts @@ -1,2 +1,9 @@ +export { MenuAuthorityApi } from "./api/menu-authority-service"; +export { + menuAuthorityFormSchema, + type MenuAuthority, + type MenuAuthorityPayload, + type MenuAuthorityFormData, +} from "./model/menu-authority-interface"; export { AuthorityButton } from "./ui/authority-button"; export { ManagementAuthorityDialog } from "./ui/management-authority-dialog"; diff --git a/apps/cs/src/entities/menu-authority/model/menu-authority-interface.ts b/apps/cs/src/entities/menu-authority/model/menu-authority-interface.ts index b59574c2f..7f5401872 100644 --- a/apps/cs/src/entities/menu-authority/model/menu-authority-interface.ts +++ b/apps/cs/src/entities/menu-authority/model/menu-authority-interface.ts @@ -43,6 +43,9 @@ export type MenuAuthorityFormData = z.infer; export interface MenuAuthorityService { getMenuAuthorityList(params: MenuAuthorityParams): Promise; + getGroupMenuAuthorityList( + params: MenuAuthorityParams, + ): Promise; getPageMenuAuthority(menuCd: number): Promise; saveMenuAuthority(data: MenuAuthorityPayload[]): Promise; } diff --git a/apps/cs/src/pages/role/api/role-service.ts b/apps/cs/src/entities/role/api/role-service.ts similarity index 95% rename from apps/cs/src/pages/role/api/role-service.ts rename to apps/cs/src/entities/role/api/role-service.ts index d2db7e5bc..95aac330f 100644 --- a/apps/cs/src/pages/role/api/role-service.ts +++ b/apps/cs/src/entities/role/api/role-service.ts @@ -9,7 +9,7 @@ import type { } from "../model/role-interface"; export class RoleApiService implements RoleService { - public async getRoles(params: RoleParams): Promise { + public async getRoles(params?: RoleParams): Promise { const response = await client.get(ENDPOINT.USER_SERVICE.ROLES, { params, }); diff --git a/apps/cs/src/entities/role/index.ts b/apps/cs/src/entities/role/index.ts new file mode 100644 index 000000000..28fe5f7fb --- /dev/null +++ b/apps/cs/src/entities/role/index.ts @@ -0,0 +1,8 @@ +export { RoleApi } from "./api/role-service"; +export { + roleFormSchema, + type Role, + type RoleParams, + type RoleFormData, + type RoleList, +} from "./model/role-interface"; diff --git a/apps/cs/src/pages/role/model/role-interface.ts b/apps/cs/src/entities/role/model/role-interface.ts similarity index 94% rename from apps/cs/src/pages/role/model/role-interface.ts rename to apps/cs/src/entities/role/model/role-interface.ts index 1b9b8eea2..065d89259 100644 --- a/apps/cs/src/pages/role/model/role-interface.ts +++ b/apps/cs/src/entities/role/model/role-interface.ts @@ -28,7 +28,7 @@ export type RoleList = PageableList; export type RoleFormData = z.infer; export interface RoleService { - getRoles: (params: RoleParams) => Promise; + getRoles: (params?: RoleParams) => Promise; getRoleInfo: (roleId: string) => Promise; createRole: (data: RoleFormData) => Promise; updateRole: (roleId: string, data: RoleFormData) => Promise; diff --git a/apps/cs/src/entities/site/ui/site-select.tsx b/apps/cs/src/entities/site/ui/site-select.tsx index 6c5a0d005..3d56a5658 100644 --- a/apps/cs/src/entities/site/ui/site-select.tsx +++ b/apps/cs/src/entities/site/ui/site-select.tsx @@ -1,5 +1,6 @@ import { useQuery } from "@tanstack/react-query"; import { + cn, Select, SelectContent, SelectItem, @@ -12,12 +13,14 @@ import { SiteApi } from "../api/site-service"; type SiteSelectProps = { placeholder?: string; enabledAllSite?: boolean; + className?: string; } & React.ComponentPropsWithoutRef; function SiteSelect({ defaultValue, placeholder = "선택", enabledAllSite, + className, ...props }: SiteSelectProps) { const { data: sites } = useQuery({ @@ -36,7 +39,7 @@ function SiteSelect({ return ( + + + + )} + /> + + + + 그룹명 + + ( + + + + + + + )} + /> + + + + 그룹구분 + + ( + + + + + + + )} + /> + + + + 그룹설명 + + ( + + +