Skip to content

Commit c9ff4d8

Browse files
author
Ella Rohm-Ensing
committed
chore: remove connector name in use backend check (#13895)
1 parent 6b35241 commit c9ff4d8

File tree

3 files changed

+13
-17
lines changed

3 files changed

+13
-17
lines changed

airbyte-connector-builder-server/src/main/kotlin/io/airbyte/connector_builder/handlers/ConnectorContributionHandler.kt

+6-13
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
package io.airbyte.connector_builder.handlers
44

55
import io.airbyte.api.problems.model.generated.GithubContributionProblemData
6-
import io.airbyte.api.problems.throwable.generated.ConnectorImageNameInUseProblem
76
import io.airbyte.api.problems.throwable.generated.GithubContributionFailedProblem
87
import io.airbyte.api.problems.throwable.generated.InsufficientGithubTokenPermissionsProblem
98
import io.airbyte.api.problems.throwable.generated.InvalidGithubTokenProblem
@@ -39,7 +38,7 @@ class ConnectorContributionHandler(
3938

4039
// Check for existing connector
4140
val connectorExists = githubContributionService.checkIfConnectorExistsOnMain()
42-
val connectorName = if (connectorExists) githubContributionService.readConnectorMetadataName() else null
41+
val connectorName = githubContributionService.readConnectorMetadataValue("name")
4342
val connectorPath = if (connectorExists) "airbytehq/airbyte/tree/master/airbyte-integrations/connectors/${request.connectorImageName}" else null
4443

4544
return CheckContributionRead().apply {
@@ -63,7 +62,7 @@ class ConnectorContributionHandler(
6362
connectorDescription: String,
6463
rawManifestYaml: String,
6564
baseImage: String,
66-
actorDefinitionId: UUID,
65+
actorDefinitionId: String,
6766
githubContributionService: GithubContributionService,
6867
): Map<String, String> {
6968
val versionTag = "0.0.1"
@@ -93,7 +92,7 @@ class ConnectorContributionHandler(
9392
contributionTemplates.renderContributionMetadataYaml(
9493
connectorImageName = connectorImageName,
9594
connectorName = connectorName,
96-
actorDefinitionId = actorDefinitionId.toString(),
95+
actorDefinitionId = actorDefinitionId,
9796
versionTag = versionTag,
9897
baseImage = baseImage,
9998
// TODO: Parse Allowed Hosts from manifest
@@ -124,17 +123,11 @@ class ConnectorContributionHandler(
124123
val connectorImageName = generateContributionRequestBody.connectorImageName
125124

126125
val githubContributionService = GithubContributionService(connectorImageName, githubToken)
127-
128-
// 0. Error if connector already exists
129-
if (githubContributionService.checkIfConnectorExistsOnMain()) {
130-
throw ConnectorImageNameInUseProblem()
131-
}
126+
val actorDefinitionId = githubContributionService.readConnectorMetadataValue("definitionId") ?: UUID.randomUUID().toString()
132127

133128
// 1. Create a branch
134129
githubContributionService.prepareBranchForContribution()
135130

136-
val generatedActorDefinitionId = UUID.randomUUID()
137-
138131
// 2. Generate Files
139132
val filesToCommit =
140133
createFileCommitMap(
@@ -143,7 +136,7 @@ class ConnectorContributionHandler(
143136
generateContributionRequestBody.description,
144137
generateContributionRequestBody.manifestYaml,
145138
generateContributionRequestBody.baseImage,
146-
generatedActorDefinitionId,
139+
actorDefinitionId,
147140
githubContributionService,
148141
)
149142

@@ -156,7 +149,7 @@ class ConnectorContributionHandler(
156149
// 4. Create / update pull request
157150
val pullRequest = githubContributionService.getOrCreatePullRequest()
158151

159-
return GenerateContributionResponse().pullRequestUrl(pullRequest.htmlUrl.toString()).actorDefinitionId(generatedActorDefinitionId)
152+
return GenerateContributionResponse().pullRequestUrl(pullRequest.htmlUrl.toString()).actorDefinitionId(UUID.fromString(actorDefinitionId))
160153
}
161154

162155
fun convertGithubExceptionToContributionException(e: HttpException): Exception {

airbyte-connector-builder-server/src/main/kotlin/io/airbyte/connector_builder/services/GithubContributionService.kt

+6-3
Original file line numberDiff line numberDiff line change
@@ -132,12 +132,15 @@ class GithubContributionService(var connectorImageName: String, personalAccessTo
132132
return yaml.load(rawYamlString)
133133
}
134134

135-
fun readConnectorMetadataName(): String? {
135+
/*
136+
* Read a top-level field from the connector metadata
137+
*/
138+
fun readConnectorMetadataValue(field: String): String? {
136139
val parsedYaml = readConnectorMetadata() ?: return null
137140

138-
// Extract "name" from the "data" section
141+
// Extract a top-level field from the "data" section
139142
val dataSection = parsedYaml["data"] as? Map<*, *>
140-
return dataSection?.get("name") as? String
143+
return dataSection?.get(field) as? String
141144
}
142145

143146
fun constructConnectorFilePath(fileName: String): String {

airbyte-connector-builder-server/src/test/kotlin/io/airbyte/connector_builder/handlers/ConnectorContributionHandlerTest.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ class ConnectorContributionHandlerTest {
3333
@Test
3434
fun `returns details of an existing connector if found in target repository`() {
3535
every { anyConstructed<GithubContributionService>().checkIfConnectorExistsOnMain() } returns true
36-
every { anyConstructed<GithubContributionService>().readConnectorMetadataName() } returns "Test Connector"
36+
every { anyConstructed<GithubContributionService>().readConnectorMetadataValue("name") } returns "Test Connector"
3737

3838
val response = connectorContributionHandler.checkContribution(requestBodyMock)
3939

0 commit comments

Comments
 (0)