pipeline.ts 2.0 KB

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