| 1 | /** |
| 2 | * Public route inventory pinned from prisma/pdp-control-plane at the commit |
| 3 | * below. Keep this fixture in-tree so CI never depends on an ambient sibling |
| 4 | * checkout. Refresh it deliberately when the Management API changes. |
| 5 | */ |
| 6 | export const managementApiContract = { |
| 7 | repository: "prisma/pdp-control-plane", |
| 8 | commit: "4a71a1f3500c02c6d6914f86435c251f95fda536", |
| 9 | routes: [ |
| 10 | "DELETE /v1/apps/{appId}", |
| 11 | "DELETE /v1/branches/{branchId}", |
| 12 | "DELETE /v1/buckets/{bucketId}", |
| 13 | "DELETE /v1/buckets/{bucketId}/keys/{keyId}", |
| 14 | "DELETE /v1/connections/{id}", |
| 15 | "DELETE /v1/databases/{databaseId}", |
| 16 | "DELETE /v1/deployments/{deploymentId}", |
| 17 | "DELETE /v1/domains/{domainId}", |
| 18 | "DELETE /v1/environment-variables/{envVarId}", |
| 19 | "DELETE /v1/integrations/{id}", |
| 20 | "DELETE /v1/projects/{id}", |
| 21 | "DELETE /v1/source-repositories/{id}", |
| 22 | "DELETE /v1/workspaces/{workspaceId}/integrations/{clientId}", |
| 23 | "GET /v1/apps", |
| 24 | "GET /v1/apps/{appId}", |
| 25 | "GET /v1/apps/{appId}/deployments", |
| 26 | "GET /v1/apps/{appId}/domains", |
| 27 | "GET /v1/branches/{branchId}", |
| 28 | "GET /v1/builds/{buildId}/logs", |
| 29 | "GET /v1/buckets", |
| 30 | "GET /v1/buckets/{bucketId}", |
| 31 | "GET /v1/buckets/{bucketId}/keys", |
| 32 | "GET /v1/connections", |
| 33 | "GET /v1/connections/{id}", |
| 34 | "GET /v1/databases", |
| 35 | "GET /v1/databases/{databaseId}", |
| 36 | "GET /v1/databases/{databaseId}/backups", |
| 37 | "GET /v1/databases/{databaseId}/connections", |
| 38 | "GET /v1/databases/{databaseId}/usage", |
| 39 | "GET /v1/deployments/{deploymentId}", |
| 40 | "GET /v1/deployments/{deploymentId}/logs", |
| 41 | "GET /v1/domains/{domainId}", |
| 42 | "GET /v1/environment-variables", |
| 43 | "GET /v1/environment-variables/{envVarId}", |
| 44 | "GET /v1/integrations", |
| 45 | "GET /v1/integrations/{id}", |
| 46 | "GET /v1/me", |
| 47 | "GET /v1/projects", |
| 48 | "GET /v1/projects/{id}", |
| 49 | "GET /v1/projects/{projectId}/branches", |
| 50 | "GET /v1/projects/{projectId}/databases", |
| 51 | "GET /v1/regions", |
| 52 | "GET /v1/regions/accelerate", |
| 53 | "GET /v1/regions/postgres", |
| 54 | "GET /v1/scm-installations", |
| 55 | "GET /v1/scm-installations/{installationId}/repositories", |
| 56 | "GET /v1/source-repositories", |
| 57 | "GET /v1/source-repositories/{id}", |
| 58 | "GET /v1/workspaces", |
| 59 | "GET /v1/workspaces/{id}", |
| 60 | "GET /v1/workspaces/{workspaceId}/integrations", |
| 61 | "PATCH /v1/apps/{appId}", |
| 62 | "PATCH /v1/branches/{branchId}", |
| 63 | "PATCH /v1/databases/{databaseId}", |
| 64 | "PATCH /v1/environment-variables/{envVarId}", |
| 65 | "PATCH /v1/projects/{id}", |
| 66 | "POST /v1/apps", |
| 67 | "POST /v1/apps/{appId}/deployments", |
| 68 | "POST /v1/apps/{appId}/domains", |
| 69 | "POST /v1/apps/{appId}/promote", |
| 70 | "POST /v1/apps/{appId}/rollback", |
| 71 | "POST /v1/buckets", |
| 72 | "POST /v1/buckets/{bucketId}/keys", |
| 73 | "POST /v1/connections", |
| 74 | "POST /v1/connections/{id}/rotate", |
| 75 | "POST /v1/databases", |
| 76 | "POST /v1/databases/{databaseId}/connections", |
| 77 | "POST /v1/databases/{targetDatabaseId}/restore", |
| 78 | "POST /v1/deployments/{deploymentId}/start", |
| 79 | "POST /v1/deployments/{deploymentId}/stop", |
| 80 | "POST /v1/domains/{domainId}/retry", |
| 81 | "POST /v1/environment-variables", |
| 82 | "POST /v1/projects", |
| 83 | "POST /v1/projects/{id}/transfer", |
| 84 | "POST /v1/projects/{projectId}/branches", |
| 85 | "POST /v1/projects/{projectId}/databases", |
| 86 | "POST /v1/scm-installations/install-intents", |
| 87 | "POST /v1/source-repositories", |
| 88 | ], |
| 89 | /** |
| 90 | * Routes that are intentionally not mapped by this provider revision. |
| 91 | * Keep any entries visible in the pinned contract so an omission cannot |
| 92 | * be mistaken for API coverage. Currently every pinned route is mapped. |
| 93 | */ |
| 94 | deferredRoutes: [], |
| 95 | } as const; |
| 96 | |
| 97 | const deferredRouteSet = new Set<string>(managementApiContract.deferredRoutes); |
| 98 | |
| 99 | /** Canonical production routes that Alchemy must map. */ |
| 100 | export const productionManagementApiRoutes = |
| 101 | managementApiContract.routes.filter((route) => !deferredRouteSet.has(route)); |