codereview.ts 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import axios from '@/utils/axios';
  2. import { CODEREVIEW_PREFIX, COMMENT_PREFIX, FILEREVIEW_PREFIX } from './prefix';
  3. interface CodeReviewPayload {
  4. projectId: number;
  5. sourceBranch: string;
  6. targetBranch: string;
  7. creatorId: number;
  8. reviewerId: number;
  9. title: string;
  10. description: string;
  11. deleteSourceBranch: boolean;
  12. }
  13. interface FileReviewPayload {
  14. projectId: number;
  15. creatorId: number;
  16. reviewerList: Array<number>;
  17. fileList: Array<string>;
  18. branch: string;
  19. title: string;
  20. }
  21. interface CommentPayload {
  22. codeReviewId: number;
  23. creatorId: number;
  24. content: string;
  25. commentType: string;
  26. replyId: number;
  27. }
  28. export const getProjectBranches = (projectId: number) => axios.get(`${CODEREVIEW_PREFIX}/branches/${projectId}`);
  29. export const createCodeReview = (codeReview: CodeReviewPayload) => axios.post(`${CODEREVIEW_PREFIX}/create`, codeReview);
  30. export const getCodeReviewList = (projectId: number) => axios.get(`${CODEREVIEW_PREFIX}/${projectId}`);
  31. export const compareBranch = (projectId: number, fromBash: string, toBash: string) => axios.get(`${CODEREVIEW_PREFIX}/compare?projectId=${projectId}&fromBash=${fromBash}&toBash=${toBash}`);
  32. export const getCodeReviewDetail = (codeReviewId: number) => axios.get(`${CODEREVIEW_PREFIX}/get/${codeReviewId}`);
  33. export const createComment = (comment: CommentPayload) => axios.post(`${COMMENT_PREFIX}/create`, comment);
  34. export const getComment = (codeReviewId: number) => axios.get(`${COMMENT_PREFIX}/${codeReviewId}`);
  35. export const getRepositoryTree = (projectId: number, branch: string) => axios.get(`${FILEREVIEW_PREFIX}/repository_tree?projectId=${projectId}&branch=${branch}`);
  36. export const getSubTree = (projectId: number, branch: string, path: string) => axios.get(`${FILEREVIEW_PREFIX}/repository_tree?projectId=${projectId}&branch=${branch}&path=${path}`);
  37. export const inviteUser = (phoneNumber: string) => axios.get(`${FILEREVIEW_PREFIX}/invite?phoneNumber=${phoneNumber}`);
  38. export const createFileReview = (fileReview: FileReviewPayload) => axios.post(`${FILEREVIEW_PREFIX}/create`, fileReview);
  39. export const getFileReviewDetail = (fileReviewId: number) => axios.get(`${FILEREVIEW_PREFIX}/${fileReviewId}`);