Wire Cursor into the connector-provider registry as an API-key, single-tenant connector using HTTP Basic auth, with no picker, settings, or name resolver. Add the CURSOR enum value, its migration, and the GraphQL enum binding so the provider is accepted across the API surface. Signed-off-by: Aurélien Sibiril <81782+aureliensibiril@users.noreply.github.com>
161 lines
5.1 KiB
GraphQL
161 lines
5.1 KiB
GraphQL
enum ConnectorProvider
|
|
@goModel(model: "go.probo.inc/probo/pkg/coredata.ConnectorProvider") {
|
|
SLACK @goEnum(value: "go.probo.inc/probo/pkg/coredata.ConnectorProviderSlack")
|
|
GOOGLE_WORKSPACE
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.ConnectorProviderGoogleWorkspace"
|
|
)
|
|
LINEAR @goEnum(value: "go.probo.inc/probo/pkg/coredata.ConnectorProviderLinear")
|
|
ONE_PASSWORD
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.ConnectorProviderOnePassword"
|
|
)
|
|
HUBSPOT
|
|
@goEnum(value: "go.probo.inc/probo/pkg/coredata.ConnectorProviderHubSpot")
|
|
DOCUSIGN
|
|
@goEnum(value: "go.probo.inc/probo/pkg/coredata.ConnectorProviderDocuSign")
|
|
NOTION @goEnum(value: "go.probo.inc/probo/pkg/coredata.ConnectorProviderNotion")
|
|
BREX @goEnum(value: "go.probo.inc/probo/pkg/coredata.ConnectorProviderBrex")
|
|
TALLY @goEnum(value: "go.probo.inc/probo/pkg/coredata.ConnectorProviderTally")
|
|
CLOUDFLARE
|
|
@goEnum(value: "go.probo.inc/probo/pkg/coredata.ConnectorProviderCloudflare")
|
|
OPENAI @goEnum(value: "go.probo.inc/probo/pkg/coredata.ConnectorProviderOpenAI")
|
|
SENTRY @goEnum(value: "go.probo.inc/probo/pkg/coredata.ConnectorProviderSentry")
|
|
SUPABASE
|
|
@goEnum(value: "go.probo.inc/probo/pkg/coredata.ConnectorProviderSupabase")
|
|
GITHUB @goEnum(value: "go.probo.inc/probo/pkg/coredata.ConnectorProviderGitHub")
|
|
INTERCOM
|
|
@goEnum(value: "go.probo.inc/probo/pkg/coredata.ConnectorProviderIntercom")
|
|
RESEND @goEnum(value: "go.probo.inc/probo/pkg/coredata.ConnectorProviderResend")
|
|
MICROSOFT_365
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.ConnectorProviderMicrosoft365"
|
|
)
|
|
GITLAB @goEnum(value: "go.probo.inc/probo/pkg/coredata.ConnectorProviderGitLab")
|
|
BITBUCKET
|
|
@goEnum(value: "go.probo.inc/probo/pkg/coredata.ConnectorProviderBitbucket")
|
|
HEROKU @goEnum(value: "go.probo.inc/probo/pkg/coredata.ConnectorProviderHeroku")
|
|
PAGERDUTY
|
|
@goEnum(value: "go.probo.inc/probo/pkg/coredata.ConnectorProviderPagerDuty")
|
|
ASANA @goEnum(value: "go.probo.inc/probo/pkg/coredata.ConnectorProviderAsana")
|
|
NETLIFY
|
|
@goEnum(value: "go.probo.inc/probo/pkg/coredata.ConnectorProviderNetlify")
|
|
CLICKUP
|
|
@goEnum(value: "go.probo.inc/probo/pkg/coredata.ConnectorProviderClickUp")
|
|
VERCEL @goEnum(value: "go.probo.inc/probo/pkg/coredata.ConnectorProviderVercel")
|
|
MONDAY @goEnum(value: "go.probo.inc/probo/pkg/coredata.ConnectorProviderMonday")
|
|
TAILSCALE
|
|
@goEnum(value: "go.probo.inc/probo/pkg/coredata.ConnectorProviderTailscale")
|
|
ANTHROPIC
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.ConnectorProviderAnthropic"
|
|
)
|
|
CURSOR @goEnum(value: "go.probo.inc/probo/pkg/coredata.ConnectorProviderCursor")
|
|
}
|
|
|
|
type ConnectorProviderInfo {
|
|
provider: ConnectorProvider!
|
|
displayName: String!
|
|
oauthConfigured: Boolean!
|
|
apiKeySupported: Boolean!
|
|
clientCredentialsSupported: Boolean!
|
|
oauth2Scopes: [String!]!
|
|
extraSettings: [ConnectorProviderSettingInfo!]!
|
|
}
|
|
|
|
type ConnectorProviderSettingInfo {
|
|
key: String!
|
|
label: String!
|
|
required: Boolean!
|
|
}
|
|
|
|
input ConnectorFilter {
|
|
providers: [ConnectorProvider!]
|
|
}
|
|
|
|
type Connector {
|
|
id: ID!
|
|
provider: ConnectorProvider!
|
|
oauth2Scopes: [String!]! @goField(forceResolver: true)
|
|
createdAt: Datetime!
|
|
}
|
|
|
|
type SlackConnection implements Node {
|
|
id: ID!
|
|
channel: String
|
|
channelId: String
|
|
createdAt: Datetime!
|
|
updatedAt: Datetime!
|
|
|
|
permission(action: String!): Boolean! @goField(forceResolver: true)
|
|
}
|
|
|
|
type SlackConnectionConnection {
|
|
edges: [SlackConnectionEdge!]!
|
|
pageInfo: PageInfo!
|
|
}
|
|
|
|
type SlackConnectionEdge {
|
|
cursor: CursorKey!
|
|
node: SlackConnection!
|
|
}
|
|
|
|
extend type Mutation {
|
|
createAPIKeyConnector(
|
|
input: CreateAPIKeyConnectorInput!
|
|
): CreateAPIKeyConnectorPayload!
|
|
createClientCredentialsConnector(
|
|
input: CreateClientCredentialsConnectorInput!
|
|
): CreateClientCredentialsConnectorPayload!
|
|
deleteConnector(input: DeleteConnectorInput!): DeleteConnectorPayload!
|
|
deleteSlackConnection(
|
|
input: DeleteSlackConnectionInput!
|
|
): DeleteSlackConnectionPayload!
|
|
}
|
|
|
|
input CreateAPIKeyConnectorInput {
|
|
organizationId: ID!
|
|
provider: ConnectorProvider!
|
|
apiKey: String!
|
|
tallyOrganizationId: String
|
|
sentryOrganizationSlug: String
|
|
supabaseOrganizationSlug: String
|
|
githubOrganization: String
|
|
onePasswordScimBridgeUrl: String
|
|
}
|
|
|
|
type CreateAPIKeyConnectorPayload {
|
|
connector: Connector!
|
|
}
|
|
|
|
input CreateClientCredentialsConnectorInput {
|
|
organizationId: ID!
|
|
provider: ConnectorProvider!
|
|
clientId: String!
|
|
clientSecret: String!
|
|
tokenUrl: String!
|
|
scope: String
|
|
onePasswordAccountId: String
|
|
onePasswordRegion: String
|
|
}
|
|
|
|
type CreateClientCredentialsConnectorPayload {
|
|
connector: Connector
|
|
}
|
|
|
|
input DeleteConnectorInput {
|
|
connectorId: ID!
|
|
}
|
|
|
|
type DeleteConnectorPayload {
|
|
deletedConnectorId: ID!
|
|
}
|
|
|
|
input DeleteSlackConnectionInput {
|
|
slackConnectionId: ID!
|
|
}
|
|
|
|
type DeleteSlackConnectionPayload {
|
|
deletedSlackConnectionId: ID!
|
|
}
|