diff --git a/src/langs/fa.json b/src/langs/fa.json index 432dbdd..e47463c 100644 --- a/src/langs/fa.json +++ b/src/langs/fa.json @@ -885,7 +885,8 @@ "inactive": "غیرفعال", "admins": "مدیران", "add_admin": "افزودن مدیر", - "sms_count": "تعداد پیامک" + "sms_count": "تعداد پیامک", + "role": "نقش" }, "cancel": "لغو" } diff --git a/src/pages/dmenu/hooks/useIconData.ts b/src/pages/dmenu/hooks/useIconData.ts index d01f429..5672ba3 100644 --- a/src/pages/dmenu/hooks/useIconData.ts +++ b/src/pages/dmenu/hooks/useIconData.ts @@ -4,6 +4,7 @@ import { GroupIconsResponse, ReportsResponse, SystemRolesResponse, + RestaurantAdminsResponse, } from "../types/Types"; export const useGetIcons = () => { @@ -59,7 +60,7 @@ export const useGetRestaurants = () => { }; export const useGetRestaurantAdmins = (restaurantId: string) => { - return useQuery({ + return useQuery({ queryKey: ["restaurant-admins", restaurantId], queryFn: () => api.getRestaurantAdmins(restaurantId), enabled: !!restaurantId, diff --git a/src/pages/dmenu/restaurant/components/RestaurantAdminsModal.tsx b/src/pages/dmenu/restaurant/components/RestaurantAdminsModal.tsx index 640335b..3d86004 100644 --- a/src/pages/dmenu/restaurant/components/RestaurantAdminsModal.tsx +++ b/src/pages/dmenu/restaurant/components/RestaurantAdminsModal.tsx @@ -23,7 +23,7 @@ const RestaurantAdminsModal: FC = ({ open, close, re const { data: adminsData, isLoading, refetch } = useGetRestaurantAdmins(restaurantId) const [showAddForm, setShowAddForm] = useState(false) - const adminsList = (adminsData as { data?: RestaurantAdminType[] })?.data || [] + const adminsList = adminsData?.data || [] const { mutate: deleteAdmin, isPending } = useDeleteRestaurantAdmin() @@ -85,6 +85,7 @@ const RestaurantAdminsModal: FC = ({ open, close, re + @@ -96,6 +97,7 @@ const RestaurantAdminsModal: FC = ({ open, close, re +
{moment(admin.createdAt).format('jYYYY-jMM-jDD HH:mm')} diff --git a/src/pages/dmenu/service/IconService.ts b/src/pages/dmenu/service/IconService.ts index 089fddd..610f819 100644 --- a/src/pages/dmenu/service/IconService.ts +++ b/src/pages/dmenu/service/IconService.ts @@ -9,6 +9,7 @@ import { RestaurantSmsCountResponse, AddAdminRestaurantType, SystemRolesResponse, + RestaurantAdminsResponse, } from "../types/Types"; export const getIcons = async (): Promise => { @@ -51,7 +52,9 @@ export const getRestaurants = async (): Promise => { return data; }; -export const getRestaurantAdmins = async (restaurantId: string) => { +export const getRestaurantAdmins = async ( + restaurantId: string +): Promise => { const { data } = await axios.get( `/admin/dmenu/restaurants/${restaurantId}/admins` ); diff --git a/src/pages/dmenu/types/Types.ts b/src/pages/dmenu/types/Types.ts index 0a20ce3..a13e9a9 100644 --- a/src/pages/dmenu/types/Types.ts +++ b/src/pages/dmenu/types/Types.ts @@ -107,14 +107,35 @@ export interface RestaurantsResponse extends IResponse { statusCode: number; } -export type RestaurantAdminType = { +export type RestaurantAdminRoleType = { id: string; - firstName: string; - lastName: string; - email: string; - phone: string; createdAt: string; updatedAt: string; + deletedAt: string | null; + name: string; + isSystem: boolean; + restaurant: string | null; +}; + +export type RestaurantAdminRoleItemType = { + id: string; + createdAt: string; + updatedAt: string; + deletedAt: string | null; + admin: string; + role: RestaurantAdminRoleType; + restaurant: string; +}; + +export type RestaurantAdminType = { + id: string; + createdAt: string; + updatedAt: string; + deletedAt: string | null; + firstName: string; + lastName: string; + phone: string; + roles: RestaurantAdminRoleItemType[]; }; export interface RestaurantAdminsResponse