Group.ts 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. import type { IStudio } from "../auth/Studio"
  2. import type { IUser } from "../auth/User"
  3. import type { TRole } from "./Auth"
  4. export interface IGroupRequest {
  5. id?: string;
  6. name: string;
  7. description?: string;
  8. studio_name?: string;
  9. }
  10. export interface IGroupDataRequest {
  11. uid: string;
  12. name: string;
  13. description: string;
  14. owner: string;
  15. studio: IStudio;
  16. role: TRole;
  17. created_at: string;
  18. updated_at: string;
  19. }
  20. export interface IGroupResponse {
  21. ok: boolean;
  22. message: string;
  23. data: IGroupDataRequest;
  24. }
  25. export interface IGroupListResponse {
  26. ok: boolean;
  27. message: string;
  28. data: {
  29. rows: IGroupDataRequest[];
  30. count: number;
  31. };
  32. }
  33. export interface IGroupMemberRequest {
  34. id?: number;
  35. user_id: string;
  36. group_id: string;
  37. power?: number;
  38. level?: number;
  39. status?: number;
  40. }
  41. export interface IGroupMemberData {
  42. id?: number;
  43. user_id: string;
  44. group_id: string;
  45. group: IStudio;
  46. power?: number;
  47. level?: number;
  48. status?: number;
  49. user: IUser;
  50. created_at?: string;
  51. updated_at?: string;
  52. }
  53. export interface IGroupMemberResponse {
  54. ok: boolean;
  55. message: string;
  56. data: IGroupMemberData;
  57. }
  58. export interface IGroupMemberListResponse {
  59. ok: boolean;
  60. message: string;
  61. data: {
  62. rows: IGroupMemberData[];
  63. role: TRole;
  64. count: number;
  65. };
  66. }
  67. export interface IGroupMemberDeleteResponse {
  68. ok: boolean;
  69. message: string;
  70. data: boolean;
  71. }
  72. export interface IDeleteResponse {
  73. ok: boolean;
  74. message: string;
  75. data: number;
  76. }