pipeline.ts 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. import axios from '@/utils/axios';
  2. import { PIPELINE_PREFIX, DEPLOYMENT_PREFIX, STAGE_PREFIX } from './prefix';
  3. interface PipelinePayload {
  4. projectId: number;
  5. pipelineId: number;
  6. }
  7. type CreatePipelinePayload = PipelinePayload & {
  8. name: string;
  9. templateName: string;
  10. }
  11. type UpdatePipelinePayload = PipelinePayload & {
  12. configJson: string;
  13. }
  14. // PIPELINE API
  15. export const deletePipeline = (pipeline: PipelinePayload) => axios.delete(`${PIPELINE_PREFIX}`, {
  16. params: pipeline,
  17. });
  18. export const getPipeline = (pipeline: PipelinePayload) => axios.get(`${PIPELINE_PREFIX}`, {
  19. params: pipeline,
  20. });
  21. export const createPipeline = (createPipelinePayload: CreatePipelinePayload) => axios.post(`${PIPELINE_PREFIX}`, createPipelinePayload);
  22. export const updatePipeline = (updatePipelinePayload: UpdatePipelinePayload) => axios.put(`${PIPELINE_PREFIX}/config`,
  23. updatePipelinePayload);
  24. export const getPipelineTemplates = () => axios.get(`${PIPELINE_PREFIX}/templates`);
  25. export const getPipelineRecord = (recordId: number) => axios.get(`${PIPELINE_PREFIX}/record`, {
  26. params: {
  27. recordId,
  28. },
  29. });
  30. export const getPipelineRecordDetail = (recordId: number) => axios.get(`${PIPELINE_PREFIX}/record/details`, {
  31. params: {
  32. recordId,
  33. },
  34. });
  35. export const getPipelineRecordList = (pipeline: PipelinePayload) => axios.get(`${PIPELINE_PREFIX}/record/list`, {
  36. params: pipeline,
  37. });
  38. export const getPipelinesByProjectId = (projectId: number) => axios.get(`${PIPELINE_PREFIX}/list`, {
  39. params: {
  40. projectId,
  41. },
  42. });
  43. // DEPLOYMENT API
  44. export const deleteInstance = (deploymentId: number) => axios.delete(`${DEPLOYMENT_PREFIX}`, {
  45. params: {
  46. deploymentId,
  47. },
  48. });
  49. export const triggerDeployment = (pipeline: PipelinePayload) => axios.post(`${DEPLOYMENT_PREFIX}`, {
  50. params: pipeline,
  51. });
  52. export const getDeploymentsByProjectId = (projectId: number) => axios.get(`${DEPLOYMENT_PREFIX}/list`, {
  53. params: {
  54. projectId,
  55. },
  56. });
  57. // STAGE API
  58. export const getStages = () => axios.get(`${STAGE_PREFIX}`);