chore: update remaining configuration files

- Update routes configuration
- Update roles module hooks, models, and requests
- Ensure all modified files are properly committed
This commit is contained in:
hosseintaromi 2025-07-29 09:50:23 +03:30
parent 0082da5928
commit b287eaa320
4 changed files with 24 additions and 14 deletions

View File

@ -11,11 +11,11 @@ export const API_ROUTES = {
GET_DRAFT_DETAIL: (id: string) => `api/v1/drafts/${id}`, GET_DRAFT_DETAIL: (id: string) => `api/v1/drafts/${id}`,
// Admin Users APIs // Admin Users APIs
GET_ADMIN_USERS: "api/v1/admin/users", GET_ADMIN_USERS: "api/v1/admin/admin-users",
GET_ADMIN_USER: (id: string) => `api/v1/admin/users/${id}`, GET_ADMIN_USER: (id: string) => `api/v1/admin/admin-users/${id}`,
CREATE_ADMIN_USER: "api/v1/admin/users", CREATE_ADMIN_USER: "api/v1/admin/admin-users",
UPDATE_ADMIN_USER: (id: string) => `api/v1/admin/users/${id}`, UPDATE_ADMIN_USER: (id: string) => `api/v1/admin/admin-users/${id}`,
DELETE_ADMIN_USER: (id: string) => `api/v1/admin/users/${id}`, DELETE_ADMIN_USER: (id: string) => `api/v1/admin/admin-users/${id}`,
// Roles APIs // Roles APIs
GET_ROLES: "api/v1/admin/roles", GET_ROLES: "api/v1/admin/roles",

View File

@ -11,14 +11,14 @@ import {
removePermissionFromRole, removePermissionFromRole,
getAllPermissions, getAllPermissions,
} from "./_requests"; } from "./_requests";
import { CreateRoleRequest, UpdateRoleRequest } from "./_models"; import { CreateRoleRequest, UpdateRoleRequest, RoleFilters } from "./_models";
import { Role } from "@/types/auth"; import { Role } from "@/types/auth";
import toast from "react-hot-toast"; import toast from "react-hot-toast";
export const useRoles = () => { export const useRoles = (filters?: RoleFilters) => {
return useQuery({ return useQuery({
queryKey: [QUERY_KEYS.GET_ROLES], queryKey: [QUERY_KEYS.GET_ROLES, filters],
queryFn: () => getRoles(), queryFn: () => getRoles(filters),
}); });
}; };

View File

@ -1,5 +1,11 @@
import { Role, Permission } from "@/types/auth"; import { Role, Permission } from "@/types/auth";
export interface RoleFilters {
search?: string;
page?: number;
limit?: number;
}
export interface CreateRoleRequest { export interface CreateRoleRequest {
title: string; title: string;
description: string; description: string;

View File

@ -13,17 +13,23 @@ import {
RoleResponse, RoleResponse,
DeleteRoleResponse, DeleteRoleResponse,
AssignPermissionResponse, AssignPermissionResponse,
RoleFilters,
} from "./_models"; } from "./_models";
export const getRoles = async () => { export const getRoles = async (filters?: RoleFilters) => {
try { try {
const queryParams: Record<string, string | number | null> = {};
if (filters?.search) queryParams.search = filters.search;
if (filters?.page) queryParams.page = filters.page;
if (filters?.limit) queryParams.limit = filters.limit;
const response = await httpGetRequest<{ roles: Role[] | null }>( const response = await httpGetRequest<{ roles: Role[] | null }>(
APIUrlGenerator(API_ROUTES.GET_ROLES) APIUrlGenerator(API_ROUTES.GET_ROLES, queryParams)
); );
console.log("Roles API Response:", response); console.log("Roles API Response:", response);
console.log("Roles data:", response.data); console.log("Roles data:", response.data);
// ساختار API: {data: {roles: Role[] | null}}
if ( if (
response.data && response.data &&
response.data.roles && response.data.roles &&
@ -32,12 +38,10 @@ export const getRoles = async () => {
return response.data.roles; return response.data.roles;
} }
// اگر roles null باشد یا آرایه نباشد، آرایه خالی برگردان
console.warn("Roles is null or not an array:", response.data); console.warn("Roles is null or not an array:", response.data);
return []; return [];
} catch (error) { } catch (error) {
console.error("Error fetching roles:", error); console.error("Error fetching roles:", error);
// اگر backend کار نمی‌کند، آرایه خالی برگردان
return []; return [];
} }
}; };