From ec5c3b82bfd007b3812e336b66db965716c904a1 Mon Sep 17 00:00:00 2001 From: Johan Haals Date: Thu, 25 Feb 2021 13:15:39 +0100 Subject: [PATCH] Convert repoVisibility into template parameter Co-authored-by: Ben Lambert Signed-off-by: Johan Haals --- .../actions/builtin/publish/bitbucket.ts | 15 ++++++++++++--- .../scaffolder/actions/builtin/publish/github.ts | 11 ++++++++--- .../scaffolder/actions/builtin/publish/gitlab.ts | 11 ++++++++--- plugins/scaffolder-backend/src/service/router.ts | 3 --- 4 files changed, 28 insertions(+), 12 deletions(-) diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/bitbucket.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/bitbucket.ts index bef4af4b7f..325727775f 100644 --- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/bitbucket.ts +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/bitbucket.ts @@ -145,12 +145,12 @@ const getAuthorizationHeader = (config: BitbucketIntegrationConfig) => { export function createPublishBitbucketAction(options: { integrations: ScmIntegrations; - repoVisibility: 'private' | 'public'; }): TemplateAction<{ repoUrl: string; description: string; + repoVisibility: 'private' | 'public'; }> { - const { integrations, repoVisibility } = options; + const { integrations } = options; return { id: 'publish:bitbucket', @@ -167,6 +167,11 @@ export function createPublishBitbucketAction(options: { title: 'Repository Description', type: 'string', }, + repoVisibility: { + title: 'Repository Visiblity', + type: 'string', + enum: ['private', 'public'], + }, }, }, output: { @@ -184,7 +189,11 @@ export function createPublishBitbucketAction(options: { }, }, async handler(ctx) { - const { repoUrl, description } = ctx.parameters; + const { + repoUrl, + description, + repoVisibility = 'private', + } = ctx.parameters; const { owner, repo, host } = parseRepoUrl(repoUrl); diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/github.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/github.ts index 817250c90c..251f7ed08f 100644 --- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/github.ts +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/github.ts @@ -26,13 +26,13 @@ import { parseRepoUrl } from './util'; export function createPublishGithubAction(options: { integrations: ScmIntegrations; - repoVisibility: 'private' | 'internal' | 'public'; }): TemplateAction<{ repoUrl: string; description?: string; access?: string; + repoVisibility: 'private' | 'internal' | 'public'; }> { - const { integrations, repoVisibility } = options; + const { integrations } = options; const credentialsProviders = new Map( integrations.github.list().map(integration => { @@ -60,6 +60,11 @@ export function createPublishGithubAction(options: { title: 'Repository Access', type: 'string', }, + repoVisibility: { + title: 'Repository Visiblity', + type: 'string', + enum: ['private', 'public', 'internal'], + }, }, }, output: { @@ -77,7 +82,7 @@ export function createPublishGithubAction(options: { }, }, async handler(ctx) { - const { repoUrl, description, access } = ctx.parameters; + const { repoUrl, description, access, repoVisibility } = ctx.parameters; const { owner, repo, host } = parseRepoUrl(repoUrl); diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/gitlab.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/gitlab.ts index a0b60018b6..be8d8fb0be 100644 --- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/gitlab.ts +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/gitlab.ts @@ -23,11 +23,11 @@ import { parseRepoUrl } from './util'; export function createPublishGitlabAction(options: { integrations: ScmIntegrations; - repoVisibility: 'private' | 'internal' | 'public'; }): TemplateAction<{ repoUrl: string; + repoVisibility: 'private' | 'internal' | 'public'; }> { - const { integrations, repoVisibility } = options; + const { integrations } = options; return { id: 'publish:gitlab', @@ -40,6 +40,11 @@ export function createPublishGitlabAction(options: { title: 'Repository Location', type: 'string', }, + repoVisibility: { + title: 'Repository Visiblity', + type: 'string', + enum: ['private', 'public', 'internal'], + }, }, }, output: { @@ -57,7 +62,7 @@ export function createPublishGitlabAction(options: { }, }, async handler(ctx) { - const { repoUrl } = ctx.parameters; + const { repoUrl, repoVisibility = 'private' } = ctx.parameters; const { owner, repo, host } = parseRepoUrl(repoUrl); diff --git a/plugins/scaffolder-backend/src/service/router.ts b/plugins/scaffolder-backend/src/service/router.ts index a820cc6919..e9bfd0e74a 100644 --- a/plugins/scaffolder-backend/src/service/router.ts +++ b/plugins/scaffolder-backend/src/service/router.ts @@ -152,20 +152,17 @@ export async function createRouter( actionRegistry.register( createPublishGithubAction({ integrations, - repoVisibility: 'public', }), ); actionRegistry.register( createPublishGitlabAction({ integrations, - repoVisibility: 'public', }), ); actionRegistry.register( createPublishBitbucketAction({ integrations, - repoVisibility: 'public', }), );