From 99238b54c5db6f73dd8e9ecb7ee87eab2c8a3bd7 Mon Sep 17 00:00:00 2001 From: Mattia Fumo Date: Thu, 22 Feb 2024 17:36:00 +0100 Subject: [PATCH 1/2] impl --- packages/console-types/src/types/provider.ts | 28 +++++++++++------ .../src/types/provider.test.ts.test.cjs | 31 ++++++++++++++++++- 2 files changed, 49 insertions(+), 10 deletions(-) diff --git a/packages/console-types/src/types/provider.ts b/packages/console-types/src/types/provider.ts index a3e9370a..4ac48300 100644 --- a/packages/console-types/src/types/provider.ts +++ b/packages/console-types/src/types/provider.ts @@ -37,7 +37,7 @@ const providerFunctionalitiesSchema = { }, } as const -const { CONTAINER_REGISTRY, ...OTHER_CAPABILITIES } = CAPABILITIES +const { CONTAINER_REGISTRY, GIT_PROVIDER, ...OTHER_CAPABILITIES } = CAPABILITIES export const providerCapabilitySchema = { oneOf: [ { @@ -66,15 +66,23 @@ export const providerCapabilitySchema = { imagePullSecretName: { type: 'string' }, }, }, + { + type: 'object', + additionalProperties: false, + required: [ + 'name', + ], + properties: { + name: { const: GIT_PROVIDER }, + functionalities: providerFunctionalitiesSchema, + repositoryPathTemplate: { + type: 'string', + }, + }, + }, ], } as const -export const providerCapabilitiesSchema = { - type: 'array', - items: providerCapabilitySchema, -} as const - - export const providerSchema = { type: 'object', additionalProperties: false, @@ -107,7 +115,10 @@ export const providerSchema = { required: ['url'], }, credentials: credentialsSchema, - capabilities: providerCapabilitiesSchema, + capabilities: { + type: 'array', + items: providerCapabilitySchema, + }, visibility: { additionalProperties: false, type: 'object', @@ -119,7 +130,6 @@ export const providerSchema = { } as const export type ProviderCapability = FromSchema -export type ProviderCapabilities = FromSchema export type Provider = FromSchema diff --git a/packages/console-types/tap-snapshots/src/types/provider.test.ts.test.cjs b/packages/console-types/tap-snapshots/src/types/provider.test.ts.test.cjs index 33422b55..823e60a0 100644 --- a/packages/console-types/tap-snapshots/src/types/provider.test.ts.test.cjs +++ b/packages/console-types/tap-snapshots/src/types/provider.test.ts.test.cjs @@ -259,7 +259,6 @@ exports[`src/types/provider.test.ts TAP providers match schema > must match snap "name": { "type": "string", "enum": [ - "git-provider", "secret-manager", "ci-cd-tool", "orchestrator-generator" @@ -311,6 +310,36 @@ exports[`src/types/provider.test.ts TAP providers match schema > must match snap "type": "string" } } + }, + { + "type": "object", + "additionalProperties": false, + "required": [ + "name" + ], + "properties": { + "name": { + "const": "git-provider" + }, + "functionalities": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string" + } + } + } + }, + "repositoryPathTemplate": { + "type": "string" + } + } } ] } From 216c7a0ff34dec191410aeacb3108a1575a865d1 Mon Sep 17 00:00:00 2001 From: Mattia Fumo Date: Thu, 22 Feb 2024 17:38:46 +0100 Subject: [PATCH 2/2] changelog --- packages/console-types/CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/console-types/CHANGELOG.md b/packages/console-types/CHANGELOG.md index d55f70d3..6f3fc125 100644 --- a/packages/console-types/CHANGELOG.md +++ b/packages/console-types/CHANGELOG.md @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ## [Unreleased] +- [IDP-86](https://makeitapp.atlassian.net/browse/IDP-86): added `repositoryPathTemplate` to provider's `capabilities` + ## [0.18.1] 2024-02-06 ### Fixed