import { GithubConnectionConfig } from "@sourcebot/schemas/v3/github.type" import { GitlabConnectionConfig } from "@sourcebot/schemas/v3/gitlab.type"; import { QuickAction } from "../components/configEditor"; import { GiteaConnectionConfig } from "@sourcebot/schemas/v3/connection.type"; import { GerritConnectionConfig } from "@sourcebot/schemas/v3/gerrit.type"; import { cn } from "@/lib/utils"; const Code = ({ children, className, title }: { children: React.ReactNode, className?: string, title?: string }) => { return ( {children} ) } export const githubQuickActions: QuickAction[] = [ { fn: (previous: GithubConnectionConfig) => ({ ...previous, repos: [ ...(previous.repos ?? []), "" ] }), name: "Add a repo", description: (
Add a individual repository to sync with. Ensure the repository is visible to the provided token (if any). Examples:
{[ "sourcebot/sourcebot", "vercel/next.js", "torvalds/linux" ].map((repo) => ( {repo} ))}
) }, { fn: (previous: GithubConnectionConfig) => ({ ...previous, orgs: [ ...(previous.orgs ?? []), "" ] }), name: "Add an organization", description: (
Add an organization to sync with. All repositories in the organization visible to the provided token (if any) will be synced. Examples:
{[ "commaai", "sourcebot", "vercel" ].map((org) => ( {org} ))}
) }, { fn: (previous: GithubConnectionConfig) => ({ ...previous, users: [ ...(previous.users ?? []), "" ] }), name: "Add a user", description: Add a user to sync with. All repositories that the user owns visible to the provided token (if any) will be synced. }, { fn: (previous: GithubConnectionConfig) => ({ ...previous, url: previous.url ?? "", }), name: "Set a custom url", description: Set a custom GitHub host. Defaults to https://github.com. } ]; export const gitlabQuickActions: QuickAction[] = [ { fn: (previous: GitlabConnectionConfig) => ({ ...previous, projects: [ ...previous.projects ?? [], "" ] }), name: "Add a project", }, { fn: (previous: GitlabConnectionConfig) => ({ ...previous, users: [ ...previous.users ?? [], "" ] }), name: "Add a user", }, { fn: (previous: GitlabConnectionConfig) => ({ ...previous, groups: [ ...previous.groups ?? [], "" ] }), name: "Add a group", }, { fn: (previous: GitlabConnectionConfig) => ({ ...previous, url: previous.url ?? "", }), name: "Set a custom url", }, { fn: (previous: GitlabConnectionConfig) => ({ ...previous, token: previous.token ?? { secret: "", }, }), name: "Add a secret", }, ] export const giteaQuickActions: QuickAction[] = [ { fn: (previous: GiteaConnectionConfig) => ({ ...previous, orgs: [ ...(previous.orgs ?? []), "" ] }), name: "Add an organization", }, { fn: (previous: GiteaConnectionConfig) => ({ ...previous, repos: [ ...(previous.repos ?? []), "" ] }), name: "Add a repo", }, { fn: (previous: GiteaConnectionConfig) => ({ ...previous, url: previous.url ?? "", }), name: "Set a custom url", }, { fn: (previous: GiteaConnectionConfig) => ({ ...previous, token: previous.token ?? { secret: "", }, }), name: "Add a secret", } ] export const gerritQuickActions: QuickAction[] = [ { fn: (previous: GerritConnectionConfig) => ({ ...previous, projects: [ ...(previous.projects ?? []), "" ] }), name: "Add a project", }, { fn: (previous: GerritConnectionConfig) => ({ ...previous, exclude: { ...previous.exclude, projects: [ ...(previous.exclude?.projects ?? []), "" ] } }), name: "Exclude a project", } ]