role.ts 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. import type {
  2. BasicFetchResult,
  3. BasicPageParams,
  4. RelationRequest,
  5. StatusParams,
  6. } from '#/api/model';
  7. import { requestClient } from '#/api/request';
  8. export namespace RoleApi {
  9. export interface PageParams extends BasicPageParams {
  10. code?: string;
  11. name?: string;
  12. }
  13. export interface BasicRecordItem {
  14. code: string;
  15. name: string;
  16. status: number;
  17. }
  18. export interface RecordItem extends BasicRecordItem {
  19. id: number;
  20. }
  21. export type PageResult = BasicFetchResult<RecordItem>;
  22. export interface StatisticsItem {
  23. id: number;
  24. name: string;
  25. count: number;
  26. }
  27. export const getPage = (params: PageParams) =>
  28. requestClient.get<PageResult>('/role/page', { params });
  29. export const getDetail = (id: number) =>
  30. requestClient.get<RecordItem>('/role/entity', {
  31. params: { id },
  32. });
  33. export const addDetail = (data: BasicRecordItem) =>
  34. requestClient.post('/role', data);
  35. export const editDetail = (data: RecordItem) =>
  36. requestClient.put('/role', data);
  37. export const deleteDetail = (id: number) =>
  38. requestClient.delete('/role', { data: { id } });
  39. export const updateStatus = (data: StatusParams) =>
  40. requestClient.put('/role/status', data);
  41. export const getMenuIds = (id: number) =>
  42. requestClient.get<number[]>('/role/menu-ids', { params: { id } });
  43. export const getUserIds = (id: number) =>
  44. requestClient.get<number[]>('/role/user-ids', { params: { id } });
  45. export const updateGrant = (data: RelationRequest) =>
  46. requestClient.post('/role/grant', data);
  47. export const updateGrantUser = (data: RelationRequest) =>
  48. requestClient.post('/role/grant-user', data);
  49. export const getStatistics = () =>
  50. requestClient.get<StatisticsItem[]>('/role/statistics');
  51. export const getDataScope = (id: number) =>
  52. requestClient.get<RelationRequest>('/role/data-scope', { params: { id } });
  53. export const updateDataScope = (data: RelationRequest) =>
  54. requestClient.put('/role/data-scope', data);
  55. }