2025-02-04 20:04:05 +00:00
|
|
|
import { GithubConnectionConfig } from "@sourcebot/schemas/v3/github.type"
|
2025-02-14 18:58:53 +00:00
|
|
|
import { GitlabConnectionConfig } from "@sourcebot/schemas/v3/gitlab.type";
|
2025-02-21 18:32:10 +00:00
|
|
|
import { QuickAction } from "../components/configEditor";
|
2025-02-14 18:58:53 +00:00
|
|
|
import { GiteaConnectionConfig } from "@sourcebot/schemas/v3/connection.type";
|
|
|
|
|
import { GerritConnectionConfig } from "@sourcebot/schemas/v3/gerrit.type";
|
2025-02-04 20:04:05 +00:00
|
|
|
|
|
|
|
|
export const githubQuickActions: QuickAction<GithubConnectionConfig>[] = [
|
|
|
|
|
{
|
|
|
|
|
fn: (previous: GithubConnectionConfig) => ({
|
|
|
|
|
...previous,
|
|
|
|
|
orgs: [
|
|
|
|
|
...(previous.orgs ?? []),
|
|
|
|
|
""
|
|
|
|
|
]
|
|
|
|
|
}),
|
|
|
|
|
name: "Add an organization",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
fn: (previous: GithubConnectionConfig) => ({
|
|
|
|
|
...previous,
|
|
|
|
|
url: previous.url ?? "",
|
|
|
|
|
}),
|
|
|
|
|
name: "Set a custom url",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
fn: (previous: GithubConnectionConfig) => ({
|
|
|
|
|
...previous,
|
|
|
|
|
repos: [
|
|
|
|
|
...(previous.repos ?? []),
|
|
|
|
|
""
|
|
|
|
|
]
|
|
|
|
|
}),
|
|
|
|
|
name: "Add a repo",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
fn: (previous: GithubConnectionConfig) => ({
|
|
|
|
|
...previous,
|
|
|
|
|
token: previous.token ?? {
|
|
|
|
|
secret: "",
|
|
|
|
|
},
|
|
|
|
|
}),
|
|
|
|
|
name: "Add a secret",
|
|
|
|
|
}
|
|
|
|
|
];
|
|
|
|
|
|
2025-02-14 18:58:53 +00:00
|
|
|
export const gitlabQuickActions: QuickAction<GitlabConnectionConfig>[] = [
|
2025-02-04 20:04:05 +00:00
|
|
|
{
|
2025-02-14 18:58:53 +00:00
|
|
|
fn: (previous: GitlabConnectionConfig) => ({
|
2025-02-04 20:04:05 +00:00
|
|
|
...previous,
|
|
|
|
|
groups: [
|
|
|
|
|
...previous.groups ?? [],
|
|
|
|
|
""
|
|
|
|
|
]
|
|
|
|
|
}),
|
|
|
|
|
name: "Add a group",
|
|
|
|
|
},
|
|
|
|
|
{
|
2025-02-14 18:58:53 +00:00
|
|
|
fn: (previous: GitlabConnectionConfig) => ({
|
2025-02-04 20:04:05 +00:00
|
|
|
...previous,
|
|
|
|
|
url: previous.url ?? "",
|
|
|
|
|
}),
|
|
|
|
|
name: "Set a custom url",
|
|
|
|
|
},
|
|
|
|
|
{
|
2025-02-14 18:58:53 +00:00
|
|
|
fn: (previous: GitlabConnectionConfig) => ({
|
2025-02-04 20:04:05 +00:00
|
|
|
...previous,
|
|
|
|
|
token: previous.token ?? {
|
|
|
|
|
secret: "",
|
|
|
|
|
},
|
|
|
|
|
}),
|
|
|
|
|
name: "Add a secret",
|
|
|
|
|
},
|
|
|
|
|
{
|
2025-02-14 18:58:53 +00:00
|
|
|
fn: (previous: GitlabConnectionConfig) => ({
|
2025-02-04 20:04:05 +00:00
|
|
|
...previous,
|
|
|
|
|
projects: [
|
|
|
|
|
...previous.projects ?? [],
|
|
|
|
|
""
|
|
|
|
|
]
|
|
|
|
|
}),
|
|
|
|
|
name: "Add a project",
|
2025-02-20 02:10:22 +00:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
fn: (previous: GitlabConnectionConfig) => ({
|
|
|
|
|
...previous,
|
|
|
|
|
users: [
|
|
|
|
|
...previous.users ?? [],
|
|
|
|
|
""
|
|
|
|
|
]
|
|
|
|
|
}),
|
|
|
|
|
name: "Add a user",
|
2025-02-04 20:04:05 +00:00
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
|
2025-02-14 18:58:53 +00:00
|
|
|
export const giteaQuickActions: QuickAction<GiteaConnectionConfig>[] = [
|
|
|
|
|
{
|
|
|
|
|
fn: (previous: GiteaConnectionConfig) => ({
|
|
|
|
|
...previous,
|
|
|
|
|
orgs: [
|
|
|
|
|
...(previous.orgs ?? []),
|
|
|
|
|
""
|
|
|
|
|
]
|
|
|
|
|
}),
|
|
|
|
|
name: "Add an organization",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
fn: (previous: GiteaConnectionConfig) => ({
|
|
|
|
|
...previous,
|
|
|
|
|
url: previous.url ?? "",
|
|
|
|
|
}),
|
|
|
|
|
name: "Set a custom url",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
fn: (previous: GiteaConnectionConfig) => ({
|
|
|
|
|
...previous,
|
|
|
|
|
repos: [
|
|
|
|
|
...(previous.repos ?? []),
|
|
|
|
|
""
|
|
|
|
|
]
|
|
|
|
|
}),
|
|
|
|
|
name: "Add a repo",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
fn: (previous: GiteaConnectionConfig) => ({
|
|
|
|
|
...previous,
|
|
|
|
|
token: previous.token ?? {
|
|
|
|
|
secret: "",
|
|
|
|
|
},
|
|
|
|
|
}),
|
|
|
|
|
name: "Add a secret",
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
export const gerritQuickActions: QuickAction<GerritConnectionConfig>[] = [
|
|
|
|
|
{
|
|
|
|
|
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",
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
|