@dbs-portal/module-identity
Version:
Identity management module for user and role management
63 lines • 2.44 kB
TypeScript
/**
* Role management hooks
*/
import type { RoleFilters, CreateRoleRequest, UpdateRoleRequest } from '../types';
export declare const roleKeys: {
all: readonly ["roles"];
lists: () => readonly ["roles", "list"];
list: (filters: RoleFilters) => readonly ["roles", "list", RoleFilters];
details: () => readonly ["roles", "detail"];
detail: (id: string) => readonly ["roles", "detail", string];
permissions: (id: string) => readonly ["roles", "permissions", string];
users: (id: string) => readonly ["roles", "users", string];
};
/**
* Hook to fetch roles list
*/
export declare function useRoles(filters?: RoleFilters): import("@tanstack/react-query").UseQueryResult<import("..").RoleListResponse, Error>;
/**
* Hook to fetch single role
*/
export declare function useRole(id: string): import("@tanstack/react-query").UseQueryResult<import("..").Role, Error>;
/**
* Hook to create role
*/
export declare function useCreateRole(): import("@tanstack/react-query").UseMutationResult<import("..").Role, Error, CreateRoleRequest, unknown>;
/**
* Hook to update role
*/
export declare function useUpdateRole(): import("@tanstack/react-query").UseMutationResult<import("..").Role, Error, UpdateRoleRequest, unknown>;
/**
* Hook to delete role
*/
export declare function useDeleteRole(): import("@tanstack/react-query").UseMutationResult<void, Error, string, unknown>;
/**
* Hook to get role permissions
*/
export declare function useRolePermissions(roleId: string): import("@tanstack/react-query").UseQueryResult<string[], Error>;
/**
* Hook to grant permission to role
*/
export declare function useGrantRolePermission(): import("@tanstack/react-query").UseMutationResult<void, Error, {
roleId: string;
permissionName: string;
}, unknown>;
/**
* Hook to revoke permission from role
*/
export declare function useRevokeRolePermission(): import("@tanstack/react-query").UseMutationResult<void, Error, {
roleId: string;
permissionName: string;
}, unknown>;
/**
* Hook to set role permissions (replace all)
*/
export declare function useSetRolePermissions(): import("@tanstack/react-query").UseMutationResult<void, Error, {
roleId: string;
permissionNames: string[];
}, unknown>;
/**
* Hook to get users in role
*/
export declare function useRoleUsers(roleId: string): import("@tanstack/react-query").UseQueryResult<string[], Error>;
//# sourceMappingURL=use-roles.d.ts.map