This commit is contained in:
@@ -8,6 +8,8 @@ export interface AdminPaginationParams extends PaginationDto {
|
||||
sortBy?: string;
|
||||
sortOrder?: "asc" | "desc";
|
||||
search?: string;
|
||||
role?: string;
|
||||
subscriptionStatus?: string;
|
||||
}
|
||||
|
||||
// ========================
|
||||
@@ -50,6 +52,7 @@ export interface AdminUserDto {
|
||||
isActive: boolean;
|
||||
subscription?: string;
|
||||
subscriptionStatus?: string;
|
||||
subscriptionExpiresAt?: string | null;
|
||||
createdAt: string;
|
||||
[key: string]: unknown;
|
||||
}
|
||||
@@ -60,6 +63,7 @@ export interface UpdateUserRoleDto {
|
||||
|
||||
export interface UpdateUserSubscriptionDto {
|
||||
plan: string;
|
||||
expiresAt?: string | null;
|
||||
}
|
||||
|
||||
// ========================
|
||||
|
||||
@@ -13,8 +13,9 @@ export const AdminQueryKeys = {
|
||||
settings: () => [...AdminQueryKeys.all, "settings"] as const,
|
||||
usageLimits: (params?: AdminPaginationParams) =>
|
||||
[...AdminQueryKeys.all, "usageLimits", params] as const,
|
||||
usersList: () => [...AdminQueryKeys.all, "users"] as const,
|
||||
users: (params?: AdminPaginationParams) =>
|
||||
[...AdminQueryKeys.all, "users", params] as const,
|
||||
[...AdminQueryKeys.usersList(), params] as const,
|
||||
user: (id: string) => [...AdminQueryKeys.all, "user", id] as const,
|
||||
};
|
||||
|
||||
@@ -104,7 +105,7 @@ export const useDeleteUser = () => {
|
||||
return useMutation({
|
||||
mutationFn: (id: string) => adminService.deleteUser(id),
|
||||
onSuccess: () => {
|
||||
queryClient.invalidateQueries({ queryKey: AdminQueryKeys.users() });
|
||||
queryClient.invalidateQueries({ queryKey: AdminQueryKeys.usersList() });
|
||||
},
|
||||
});
|
||||
};
|
||||
@@ -116,7 +117,7 @@ export const useUpdateUserRole = () => {
|
||||
mutationFn: ({ id, dto }: { id: string; dto: UpdateUserRoleDto }) =>
|
||||
adminService.updateUserRole(id, dto),
|
||||
onSuccess: () => {
|
||||
queryClient.invalidateQueries({ queryKey: AdminQueryKeys.users() });
|
||||
queryClient.invalidateQueries({ queryKey: AdminQueryKeys.usersList() });
|
||||
},
|
||||
});
|
||||
};
|
||||
@@ -128,7 +129,7 @@ export const useUpdateUserSubscription = () => {
|
||||
mutationFn: ({ id, dto }: { id: string; dto: UpdateUserSubscriptionDto }) =>
|
||||
adminService.updateUserSubscription(id, dto),
|
||||
onSuccess: () => {
|
||||
queryClient.invalidateQueries({ queryKey: AdminQueryKeys.users() });
|
||||
queryClient.invalidateQueries({ queryKey: AdminQueryKeys.usersList() });
|
||||
},
|
||||
});
|
||||
};
|
||||
@@ -139,7 +140,7 @@ export const useToggleUserActive = () => {
|
||||
return useMutation({
|
||||
mutationFn: (id: string) => adminService.toggleUserActive(id),
|
||||
onSuccess: () => {
|
||||
queryClient.invalidateQueries({ queryKey: AdminQueryKeys.users() });
|
||||
queryClient.invalidateQueries({ queryKey: AdminQueryKeys.usersList() });
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user