|
| 1 | +const baseApiUrl = "https://api.github.com"; |
| 2 | +const perPage = 100; |
| 3 | + |
| 4 | +const getRepoUrl = (owner: string, repo: string) => |
| 5 | + `${baseApiUrl}/repos/${owner}/${repo}`; |
| 6 | +const getOrgUrl = (owner: string) => `${baseApiUrl}/orgs/${owner}`; |
| 7 | + |
| 8 | +const backstageShowcaseAPI = getRepoUrl("janus-idp", "backstage-showcase"); |
| 9 | + |
| 10 | +export const GITHUB_API_ENDPOINTS = { |
| 11 | + pull: (owner: string, repo: string, state: "open" | "closed" | "all") => |
| 12 | + `${getRepoUrl(owner, repo)}/pulls?per_page=${perPage}&state=${state}`, |
| 13 | + |
| 14 | + issues: (state: string) => |
| 15 | + `${backstageShowcaseAPI}/issues?per_page=${perPage}&sort=updated&state=${state}`, |
| 16 | + |
| 17 | + workflowRuns: `${backstageShowcaseAPI}/actions/runs?per_page=${perPage}`, |
| 18 | + |
| 19 | + deleteRepo: getRepoUrl, |
| 20 | + |
| 21 | + mergePR: (owner: string, repoName: string, pullNumber: number) => |
| 22 | + `${getRepoUrl(owner, repoName)}/pulls/${pullNumber}/merge`, |
| 23 | + |
| 24 | + createRepo: (owner: string) => `${getOrgUrl(owner)}/repos`, |
| 25 | + |
| 26 | + pullFiles: (owner: string, repoName: string, pr: number) => |
| 27 | + `${getRepoUrl(owner, repoName)}/pulls/${pr}/files`, |
| 28 | + |
| 29 | + contents: (owner: string, repoName: string) => |
| 30 | + `${getRepoUrl(owner, repoName)}/contents`, |
| 31 | +}; |
0 commit comments