Skip to content

Commit 2df4f24

Browse files
authored
[backend] (feat) fix datamodel catalog (#3528)
1 parent a8d2fa5 commit 2df4f24

File tree

4 files changed

+47
-7
lines changed

4 files changed

+47
-7
lines changed
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package io.openaev.migration;
2+
3+
import java.sql.Statement;
4+
import org.flywaydb.core.api.migration.BaseJavaMigration;
5+
import org.flywaydb.core.api.migration.Context;
6+
import org.springframework.stereotype.Component;
7+
8+
@Component
9+
public class V4_48__Update_catalog_connector_configuration extends BaseJavaMigration {
10+
@Override
11+
public void migrate(Context context) throws Exception {
12+
try (Statement select = context.getConnection().createStatement()) {
13+
select.execute(
14+
"""
15+
ALTER TABLE catalog_connectors_configuration
16+
DROP COLUMN IF EXISTS connector_configuration_default,
17+
DROP COLUMN IF EXISTS connector_configuration_enum
18+
""");
19+
20+
select.execute(
21+
"""
22+
ALTER TABLE catalog_connectors_configuration
23+
ADD COLUMN connector_configuration_default jsonb,
24+
ADD COLUMN connector_configuration_enum text[]
25+
""");
26+
27+
select.execute(
28+
"""
29+
ALTER TABLE connector_instance_configurations ADD COLUMN connector_instance_configuration_is_encrypted BOOLEAN DEFAULT false;
30+
""");
31+
}
32+
}
33+
}

openaev-model/src/main/java/io/openaev/database/model/CatalogConnector.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package io.openaev.database.model;
22

33
import com.fasterxml.jackson.annotation.JsonProperty;
4-
import io.hypersistence.utils.hibernate.type.array.StringArrayType;
4+
import io.hypersistence.utils.hibernate.type.array.ListArrayType;
55
import io.openaev.database.audit.ModelBaseListener;
66
import io.swagger.v3.oas.annotations.media.Schema;
77
import jakarta.persistence.*;
@@ -61,11 +61,11 @@ public enum CONNECTOR_TYPE {
6161
@Schema(description = "Connector logo")
6262
private String logoUrl;
6363

64-
@Type(StringArrayType.class)
64+
@Type(ListArrayType.class)
6565
@Column(name = "catalog_connector_use_cases")
6666
@JsonProperty("catalog_connector_use_cases")
6767
@Schema(description = "Connector use_cases")
68-
private String[] useCases;
68+
private Set<String> useCases = new HashSet<>();
6969

7070
@Column(name = "catalog_connector_verified")
7171
@JsonProperty("catalog_connector_verified")
@@ -117,6 +117,7 @@ public enum CONNECTOR_TYPE {
117117
@Schema(description = "Connector container image")
118118
private String containerImage;
119119

120+
@Enumerated(EnumType.STRING)
120121
@Column(name = "catalog_connector_type")
121122
@JsonProperty("catalog_connector_type")
122123
@Schema(description = "Connector type")
@@ -148,5 +149,5 @@ public enum CONNECTOR_TYPE {
148149
orphanRemoval = true)
149150
@JsonProperty("catalog_connector_instances")
150151
@NotNull
151-
private Set<ConnectorInstance> configurations = new HashSet<>();
152+
private Set<ConnectorInstance> instances = new HashSet<>();
152153
}

openaev-model/src/main/java/io/openaev/database/model/CatalogConnectorConfiguration.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,15 @@
44
import com.fasterxml.jackson.annotation.JsonProperty;
55
import com.fasterxml.jackson.databind.JsonNode;
66
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
7-
import io.hypersistence.utils.hibernate.type.array.StringArrayType;
7+
import io.hypersistence.utils.hibernate.type.array.ListArrayType;
88
import io.hypersistence.utils.hibernate.type.json.JsonType;
99
import io.openaev.database.audit.ModelBaseListener;
1010
import io.openaev.helper.MonoIdDeserializer;
1111
import io.swagger.v3.oas.annotations.media.Schema;
1212
import jakarta.persistence.*;
1313
import jakarta.validation.constraints.NotNull;
14+
import java.util.HashSet;
15+
import java.util.Set;
1416
import lombok.Getter;
1517
import lombok.Setter;
1618
import org.hibernate.annotations.Type;
@@ -65,11 +67,11 @@ public class CatalogConnectorConfiguration implements Base {
6567
@Schema(description = "Connector configuration format")
6668
private String connectorConfigurationFormat;
6769

68-
@Type(StringArrayType.class)
70+
@Type(ListArrayType.class)
6971
@Column(name = "connector_configuration_enum")
7072
@JsonProperty("connector_configuration_enum")
7173
@Schema(description = "Connector configuration enum")
72-
private String[] connectorConfigurationEnum;
74+
private Set<String> connectorConfigurationEnum = new HashSet<>();
7375

7476
@Column(name = "connector_configuration_writeonly")
7577
@JsonProperty("connector_configuration_writeonly")

openaev-model/src/main/java/io/openaev/database/model/ConnectorInstanceConfiguration.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,4 +47,8 @@ public class ConnectorInstanceConfiguration implements Base {
4747
@NotNull
4848
@JsonSerialize(using = MonoIdDeserializer.class)
4949
private ConnectorInstance connectorInstance;
50+
51+
@Column(name = "connector_instance_configuration_is_encrypted")
52+
@JsonProperty("connector_instance_configuration_is_encrypted")
53+
private boolean isEncrypted = false;
5054
}

0 commit comments

Comments
 (0)