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}`,
// Admin Users APIs
GET_ADMIN_USERS: "api/v1/admin/users",
GET_ADMIN_USER: (id: string) => `api/v1/admin/users/${id}`,
CREATE_ADMIN_USER: "api/v1/admin/users",
UPDATE_ADMIN_USER: (id: string) => `api/v1/admin/users/${id}`,
DELETE_ADMIN_USER: (id: string) => `api/v1/admin/users/${id}`,
GET_ADMIN_USERS: "api/v1/admin/admin-users",
GET_ADMIN_USER: (id: string) => `api/v1/admin/admin-users/${id}`,
CREATE_ADMIN_USER: "api/v1/admin/admin-users",
UPDATE_ADMIN_USER: (id: string) => `api/v1/admin/admin-users/${id}`,
DELETE_ADMIN_USER: (id: string) => `api/v1/admin/admin-users/${id}`,
// Roles APIs
GET_ROLES: "api/v1/admin/roles",

View File

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

View File

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

View File

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