export default function()

in controlplane/src/core/bufservices/PlatformService.ts [159:788]


export default function (opts: RouterOptions): Partial<ServiceImpl<typeof PlatformService>> {
  return {
    /*
    Mutations
    */

    createNamespace: (req, ctx) => {
      return createNamespace(opts, req, ctx);
    },

    deleteNamespace: (req, ctx) => {
      return deleteNamespace(opts, req, ctx);
    },

    renameNamespace: (req, ctx) => {
      return renameNamespace(opts, req, ctx);
    },

    getNamespaces: (req, ctx) => {
      return getNamespaces(opts, req, ctx);
    },

    moveMonograph: (req, ctx) => {
      return moveMonograph(opts, req, ctx);
    },

    migrateMonograph: (req, ctx) => {
      return migrateMonograph(opts, req, ctx);
    },

    moveFederatedGraph: (req, ctx) => {
      return moveFederatedGraph(opts, req, ctx);
    },

    moveSubgraph: (req, ctx) => {
      return moveSubgraph(opts, req, ctx);
    },

    createMonograph: (req, ctx) => {
      return createMonograph(opts, req, ctx);
    },

    createFederatedGraph: (req, ctx) => {
      return createFederatedGraph(opts, req, ctx);
    },

    createContract: (req, ctx) => {
      return createContract(opts, req, ctx);
    },

    updateContract: (req, ctx) => {
      return updateContract(opts, req, ctx);
    },

    createFederatedSubgraph: (req, ctx) => {
      return createFederatedSubgraph(opts, req, ctx);
    },

    checkSubgraphSchema: (req, ctx) => {
      return checkSubgraphSchema(opts, req, ctx);
    },

    fixSubgraphSchema: (req, ctx) => {
      return fixSubgraphSchema(opts, req, ctx);
    },

    publishMonograph: (req, ctx) => {
      return publishMonograph(opts, req, ctx);
    },

    publishFederatedSubgraph: (req, ctx) => {
      return publishFederatedSubgraph(opts, req, ctx);
    },

    forceCheckSuccess: (req, ctx) => {
      return forceCheckSuccess(opts, req, ctx);
    },

    createOperationOverrides: (req, ctx) => {
      return createOperationOverrides(opts, req, ctx);
    },

    removeOperationOverrides: (req, ctx) => {
      return removeOperationOverrides(opts, req, ctx);
    },

    removeOperationIgnoreAllOverride: (req, ctx) => {
      return removeOperationIgnoreAllOverride(opts, req, ctx);
    },

    createIgnoreOverridesForAllOperations: (req, ctx) => {
      return createIgnoreOverridesForAllOperations(opts, req, ctx);
    },

    toggleChangeOverridesForAllOperations: (req, ctx) => {
      return toggleChangeOverridesForAllOperations(opts, req, ctx);
    },

    createOperationIgnoreAllOverride: (req, ctx) => {
      return createOperationIgnoreAllOverride(opts, req, ctx);
    },

    getOperationOverrides: (req, ctx) => {
      return getOperationOverrides(opts, req, ctx);
    },

    getAllOverrides: (req, ctx) => {
      return getAllOverrides(opts, req, ctx);
    },

    deleteMonograph: (req, ctx) => {
      return deleteMonograph(opts, req, ctx);
    },

    deleteFederatedGraph: (req, ctx) => {
      return deleteFederatedGraph(opts, req, ctx);
    },

    deleteFederatedSubgraph: (req, ctx) => {
      return deleteFederatedSubgraph(opts, req, ctx);
    },

    createFeatureFlag: (req, ctx) => {
      return createFeatureFlag(opts, req, ctx);
    },

    updateFeatureFlag: (req, ctx) => {
      return updateFeatureFlag(opts, req, ctx);
    },

    enableFeatureFlag: (req, ctx) => {
      return enableFeatureFlag(opts, req, ctx);
    },

    deleteFeatureFlag: (req, ctx) => {
      return deleteFeatureFlag(opts, req, ctx);
    },

    updateMonograph: (req, ctx) => {
      return updateMonograph(opts, req, ctx);
    },

    updateFederatedGraph: (req, ctx) => {
      return updateFederatedGraph(opts, req, ctx);
    },

    updateSubgraph: (req, ctx) => {
      return updateSubgraph(opts, req, ctx);
    },

    checkFederatedGraph: (req, ctx) => {
      return checkFederatedGraph(opts, req, ctx);
    },

    createFederatedGraphToken: (req, ctx) => {
      return createFederatedGraphToken(opts, req, ctx);
    },

    inviteUser: (req, ctx) => {
      return inviteUser(opts, req, ctx);
    },

    createAPIKey: (req, ctx) => {
      return createAPIKey(opts, req, ctx);
    },

    deleteAPIKey: (req, ctx) => {
      return deleteAPIKey(opts, req, ctx);
    },

    removeOrganizationMember: (req, ctx) => {
      return removeOrganizationMember(opts, req, ctx);
    },

    removeInvitation: (req, ctx) => {
      return removeInvitation(opts, req, ctx);
    },

    migrateFromApollo: (req, ctx) => {
      return migrateFromApollo(opts, req, ctx);
    },

    createOrganizationWebhookConfig: (req, ctx) => {
      return createOrganizationWebhookConfig(opts, req, ctx);
    },

    updateOrganizationWebhookConfig: (req, ctx) => {
      return updateOrganizationWebhookConfig(opts, req, ctx);
    },

    deleteOrganizationWebhookConfig: (req, ctx) => {
      return deleteOrganizationWebhookConfig(opts, req, ctx);
    },

    deleteOrganization: (req, ctx) => {
      return deleteOrganization(opts, req, ctx);
    },

    leaveOrganization: (req, ctx) => {
      return leaveOrganization(opts, req, ctx);
    },

    updateOrganizationDetails: (req, ctx) => {
      return updateOrganizationDetails(opts, req, ctx);
    },

    updateOrgMemberRole: (req, ctx) => {
      return updateOrgMemberRole(opts, req, ctx);
    },

    deleteRouterToken: (req, ctx) => {
      return deleteRouterToken(opts, req, ctx);
    },

    createIntegration: (req, ctx) => {
      return createIntegration(opts, req, ctx);
    },

    updateIntegrationConfig: (req, ctx) => {
      return updateIntegrationConfig(opts, req, ctx);
    },

    deleteIntegration: (req, ctx) => {
      return deleteIntegration(opts, req, ctx);
    },

    createOIDCProvider: (req, ctx) => {
      return createOIDCProvider(opts, req, ctx);
    },

    deleteOIDCProvider: (req, ctx) => {
      return deleteOIDCProvider(opts, req, ctx);
    },

    publishPersistedOperations: (req, ctx) => {
      return publishPersistedOperations(opts, req, ctx);
    },

    acceptOrDeclineInvitation: (req, ctx) => {
      return acceptOrDeclineInvitation(opts, req, ctx);
    },

    updateFeatureSettings: (req, ctx) => {
      return updateFeatureSettings(opts, req, ctx);
    },

    addSubgraphMember: (req, ctx) => {
      return addSubgraphMember(opts, req, ctx);
    },

    removeSubgraphMember: (req, ctx) => {
      return removeSubgraphMember(opts, req, ctx);
    },

    addReadme: (req, ctx) => {
      return addReadme(opts, req, ctx);
    },

    enableLintingForTheNamespace: (req, ctx) => {
      return enableLintingForTheNamespace(opts, req, ctx);
    },

    configureNamespaceLintConfig: (req, ctx) => {
      return configureNamespaceLintConfig(opts, req, ctx);
    },

    enableGraphPruning: (req, ctx) => {
      return enableGraphPruning(opts, req, ctx);
    },

    configureNamespaceGraphPruningConfig: (req, ctx) => {
      return configureNamespaceGraphPruningConfig(opts, req, ctx);
    },

    pushCacheWarmerOperation: (req, ctx) => {
      return pushCacheWarmerOperation(opts, req, ctx);
    },

    deleteCacheWarmerOperation: (req, ctx) => {
      return deleteCacheWarmerOperation(opts, req, ctx);
    },

    /*
    Queries
    */
    getSubgraphs: (req, ctx) => {
      return getSubgraphs(opts, req, ctx);
    },

    getFeatureSubgraphs: (req, ctx) => {
      return getFeatureSubgraphs(opts, req, ctx);
    },

    getSubgraphByName: (req, ctx) => {
      return getSubgraphByName(opts, req, ctx);
    },

    getFederatedGraphs: (req, ctx) => {
      return getFederatedGraphs(opts, req, ctx);
    },

    getFederatedGraphsBySubgraphLabels: (req, ctx) => {
      return getFederatedGraphsBySubgraphLabels(opts, req, ctx);
    },

    getFederatedGraphSDLByName: (req, ctx) => {
      return getFederatedGraphSDLByName(opts, req, ctx);
    },

    getSubgraphSDLFromLatestComposition: (req, ctx) => {
      return getSubgraphSDLFromLatestComposition(opts, req, ctx);
    },

    getLatestSubgraphSDL: (req, ctx) => {
      return getLatestSubgraphSDL(opts, req, ctx);
    },

    getFederatedGraphByName: (req, ctx) => {
      return getFederatedGraphByName(opts, req, ctx);
    },

    getFederatedGraphChangelog: (req, ctx) => {
      return getFederatedGraphChangelog(opts, req, ctx);
    },

    getChecksByFederatedGraphName: (req, ctx) => {
      return getChecksByFederatedGraphName(opts, req, ctx);
    },

    getCheckSummary: (req, ctx) => {
      return getCheckSummary(opts, req, ctx);
    },

    getCheckOperations: (req, ctx) => {
      return getCheckOperations(opts, req, ctx);
    },

    getAnalyticsView: (req, ctx) => {
      return getAnalyticsView(opts, req, ctx);
    },

    getDashboardAnalyticsView: (req, ctx) => {
      return getDashboardAnalyticsView(opts, req, ctx);
    },

    getGraphMetrics: (req, ctx) => {
      return getGraphMetrics(opts, req, ctx);
    },

    getMetricsErrorRate: (req, ctx) => {
      return getMetricsErrorRate(opts, req, ctx);
    },

    getTrace: (req, ctx) => {
      return getTrace(opts, req, ctx);
    },

    isMemberLimitReached: (req, ctx) => {
      return isMemberLimitReached(opts, req, ctx);
    },

    getOrganizationBySlug(req, ctx) {
      return getOrganizationBySlug(opts, req, ctx);
    },

    getOrganizationMembers: (req, ctx) => {
      return getOrganizationMembers(opts, req, ctx);
    },

    getPendingOrganizationMembers: (req, ctx) => {
      return getPendingOrganizationMembers(opts, req, ctx);
    },

    getAPIKeys: (req, ctx) => {
      return getAPIKeys(opts, req, ctx);
    },

    whoAmI: (req, ctx) => {
      return whoAmI(opts, req, ctx);
    },

    getOrganizationWebhookConfigs: (req, ctx) => {
      return getOrganizationWebhookConfigs(opts, req, ctx);
    },

    getOrganizationWebhookMeta: (req, ctx) => {
      return getOrganizationWebhookMeta(opts, req, ctx);
    },

    // generates a temporary router token to fetch the router config only. Should only be used while fetching router config.
    generateRouterToken: (req, ctx) => {
      return generateRouterToken(opts, req, ctx);
    },

    getRouterTokens: (req, ctx) => {
      return getRouterTokens(opts, req, ctx);
    },

    getOrganizationIntegrations: (req, ctx) => {
      return getOrganizationIntegrations(opts, req, ctx);
    },

    isGitHubAppInstalled: (req, ctx) => {
      return isGitHubAppInstalled(opts, req, ctx);
    },

    getFieldUsage: (req, ctx) => {
      return getFieldUsage(opts, req, ctx);
    },

    getOperationContent: (req, ctx) => {
      return getOperationContent(opts, req, ctx);
    },

    getOIDCProvider: (req, ctx) => {
      return getOIDCProvider(opts, req, ctx);
    },

    getPersistedOperations: (req, ctx) => {
      return getPersistedOperations(opts, req, ctx);
    },

    getRouters: (req, ctx) => {
      return getRouters(opts, req, ctx);
    },

    getClients: (req, ctx) => {
      return getClients(opts, req, ctx);
    },

    getOrganizationRequestsCount: (req, ctx) => {
      return getOrganizationRequestsCount(opts, req, ctx);
    },

    // returns the pending invites of a user
    getInvitations: (req, ctx) => {
      return getInvitations(opts, req, ctx);
    },

    getCompositions: (req, ctx) => {
      return getCompositions(opts, req, ctx);
    },

    getCompositionDetails: (req, ctx) => {
      return getCompositionDetails(opts, req, ctx);
    },

    getSdlBySchemaVersion: (req, ctx) => {
      return getSdlBySchemaVersion(opts, req, ctx);
    },

    getChangelogBySchemaVersion: (req, ctx) => {
      return getChangelogBySchemaVersion(opts, req, ctx);
    },

    getUserAccessibleResources: (req, ctx) => {
      return getUserAccessibleResources(opts, req, ctx);
    },

    getSubgraphMembers: (req, ctx) => {
      return getSubgraphMembers(opts, req, ctx);
    },

    getBillingPlans: (req, ctx) => {
      return getBillingPlans(opts, req, ctx);
    },

    getAuditLogs: (req, ctx) => {
      return getAuditLogs(opts, req, ctx);
    },

    createOrganization: (req, ctx) => {
      return createOrganization(opts, req, ctx);
    },

    createCheckoutSession: (req, ctx) => {
      return createCheckoutSession(opts, req, ctx);
    },

    upgradePlan: (req, ctx) => {
      return upgradePlan(opts, req, ctx);
    },

    createBillingPortalSession: (req, ctx) => {
      return createBillingPortalSession(opts, req, ctx);
    },

    createDiscussion: (req, ctx) => {
      return createDiscussion(opts, req, ctx);
    },

    replyToDiscussion: (req, ctx) => {
      return replyToDiscussion(opts, req, ctx);
    },

    getAllDiscussions: (req, ctx) => {
      return getAllDiscussions(opts, req, ctx);
    },

    updateDiscussionComment: (req, ctx) => {
      return updateDiscussionComment(opts, req, ctx);
    },

    deleteDiscussionComment: (req, ctx) => {
      return deleteDiscussionComment(opts, req, ctx);
    },

    getDiscussion: (req, ctx) => {
      return getDiscussion(opts, req, ctx);
    },

    getDiscussionSchemas: (req, ctx) => {
      return getDiscussionSchemas(opts, req, ctx);
    },

    setDiscussionResolution: (req, ctx) => {
      return setDiscussionResolution(opts, req, ctx);
    },

    getSubgraphMetrics: (req, ctx) => {
      return getSubgraphMetrics(opts, req, ctx);
    },

    getSubgraphMetricsErrorRate: (req, ctx) => {
      return getSubgraphMetricsErrorRate(opts, req, ctx);
    },

    getNamespaceLintConfig: (req, ctx) => {
      return getNamespaceLintConfig(opts, req, ctx);
    },

    getNamespaceGraphPruningConfig: (req, ctx) => {
      return getNamespaceGraphPruningConfig(opts, req, ctx);
    },

    getUserAccessiblePermissions: (req, ctx) => {
      return getUserAccessiblePermissions(opts, req, ctx);
    },

    getFeatureFlags: (req, ctx) => {
      return getFeatureFlags(opts, req, ctx);
    },

    getFeatureFlagByName: (req, ctx) => {
      return getFeatureFlagByName(opts, req, ctx);
    },

    getFeatureSubgraphsByFeatureFlag: (req, ctx) => {
      return getFeatureSubgraphsByFeatureFlag(opts, req, ctx);
    },

    deleteUser: (req, ctx) => {
      return deleteUser(opts, req, ctx);
    },

    getFeatureFlagsByFederatedGraph: (req, ctx) => {
      return getFeatureFlagsByFederatedGraph(opts, req, ctx);
    },

    getOrganizationWebhookHistory: (req, ctx) => {
      return getOrganizationWebhookHistory(opts, req, ctx);
    },

    getWebhookDeliveryDetails: (req, ctx) => {
      return getWebhookDeliveryDetails(opts, req, ctx);
    },

    redeliverWebhook: (req, ctx) => {
      return redeliverWebhook(opts, req, ctx);
    },

    updateIDPMappers: (req, ctx) => {
      return updateIDPMappers(opts, req, ctx);
    },

    createPlaygroundScript: (req, ctx) => {
      return createPlaygroundScript(opts, req, ctx);
    },

    getPlaygroundScripts: (req, ctx) => {
      return getPlaygroundScripts(opts, req, ctx);
    },

    updatePlaygroundScript: (req, ctx) => {
      return updatePlaygroundScript(opts, req, ctx);
    },

    deletePlaygroundScript: (req, ctx) => {
      return deletePlaygroundScript(opts, req, ctx);
    },

    getCacheWarmerOperations: (req, ctx) => {
      return getCacheWarmerOperations(opts, req, ctx);
    },

    computeCacheWarmerOperations: (req, ctx) => {
      return computeCacheWarmerOperations(opts, req, ctx);
    },

    configureCacheWarmer: (req, ctx) => {
      return configureCacheWarmer(opts, req, ctx);
    },

    getCacheWarmerConfig: (req, ctx) => {
      return getCacheWarmerConfig(opts, req, ctx);
    },

    // apis used by the terraform provider

    getSubgraphById: (req, ctx) => {
      return getSubgraphById(opts, req, ctx);
    },

    getFederatedGraphById: (req, ctx) => {
      return getFederatedGraphById(opts, req, ctx);
    },

    getNamespace: (req, ctx) => {
      return getNamespace(opts, req, ctx);
    },

    listRouterCompatibilityVersions: () => {
      return listRouterCompatibilityVersions();
    },

    setGraphRouterCompatibilityVersion: (req, ctx) => {
      return setGraphRouterCompatibilityVersion(opts, req, ctx);
    },
  };
}