This is an automated email from the ASF dual-hosted git repository. machristie pushed a commit to branch custos-integration in repository https://gitbox.apache.org/repos/asf/airavata-data-catalog.git
commit 00a04c5ba39eab8b2df33ad529ed3af973135e1d Author: Marcus Christie <[email protected]> AuthorDate: Tue Apr 25 12:03:04 2023 -0400 Adding unique constraints --- .../java/org/apache/airavata/datacatalog/api/model/TenantEntity.java | 3 ++- .../java/org/apache/airavata/datacatalog/api/model/UserEntity.java | 4 ++-- .../datacatalog/api/model/sharing/simple/SimpleGroupEntity.java | 5 +++-- .../api/model/sharing/simple/SimpleGroupSharingEntity.java | 4 +++- .../api/model/sharing/simple/SimplePublicSharingEntity.java | 4 +++- .../datacatalog/api/model/sharing/simple/SimpleTenantEntity.java | 3 ++- .../datacatalog/api/model/sharing/simple/SimpleUserEntity.java | 5 +++-- .../api/model/sharing/simple/SimpleUserSharingEntity.java | 4 +++- 8 files changed, 21 insertions(+), 11 deletions(-) diff --git a/data-catalog-api/server/src/main/java/org/apache/airavata/datacatalog/api/model/TenantEntity.java b/data-catalog-api/server/src/main/java/org/apache/airavata/datacatalog/api/model/TenantEntity.java index 928b25f..c634e7e 100644 --- a/data-catalog-api/server/src/main/java/org/apache/airavata/datacatalog/api/model/TenantEntity.java +++ b/data-catalog-api/server/src/main/java/org/apache/airavata/datacatalog/api/model/TenantEntity.java @@ -8,9 +8,10 @@ import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.SequenceGenerator; import jakarta.persistence.Table; +import jakarta.persistence.UniqueConstraint; @Entity -@Table(name = "tenant") +@Table(name = "tenant", uniqueConstraints = { @UniqueConstraint(columnNames = { "external_id" }) }) public class TenantEntity { @Id diff --git a/data-catalog-api/server/src/main/java/org/apache/airavata/datacatalog/api/model/UserEntity.java b/data-catalog-api/server/src/main/java/org/apache/airavata/datacatalog/api/model/UserEntity.java index 3cff66a..f9109ca 100644 --- a/data-catalog-api/server/src/main/java/org/apache/airavata/datacatalog/api/model/UserEntity.java +++ b/data-catalog-api/server/src/main/java/org/apache/airavata/datacatalog/api/model/UserEntity.java @@ -10,11 +10,11 @@ import jakarta.persistence.JoinColumn; import jakarta.persistence.ManyToOne; import jakarta.persistence.SequenceGenerator; import jakarta.persistence.Table; +import jakarta.persistence.UniqueConstraint; -// TODO: need a unique constraint on (tenant, externalId) @Entity // 'user' is a reserved word, so naming this table 'user_table' -@Table(name = "user_table") +@Table(name = "user_table", uniqueConstraints = { @UniqueConstraint(columnNames = { "tenant_id", "external_id" }) }) public class UserEntity { @Id diff --git a/data-catalog-api/server/src/main/java/org/apache/airavata/datacatalog/api/model/sharing/simple/SimpleGroupEntity.java b/data-catalog-api/server/src/main/java/org/apache/airavata/datacatalog/api/model/sharing/simple/SimpleGroupEntity.java index 78d4268..0488e68 100644 --- a/data-catalog-api/server/src/main/java/org/apache/airavata/datacatalog/api/model/sharing/simple/SimpleGroupEntity.java +++ b/data-catalog-api/server/src/main/java/org/apache/airavata/datacatalog/api/model/sharing/simple/SimpleGroupEntity.java @@ -15,10 +15,11 @@ import jakarta.persistence.ManyToMany; import jakarta.persistence.ManyToOne; import jakarta.persistence.SequenceGenerator; import jakarta.persistence.Table; +import jakarta.persistence.UniqueConstraint; -// TODO: need a unique constraint on (tenant, externalId) @Entity -@Table(name = "simple_group") +@Table(name = "simple_group", uniqueConstraints = { + @UniqueConstraint(columnNames = { "simple_tenant_id", "external_id" }) }) public class SimpleGroupEntity { @Id diff --git a/data-catalog-api/server/src/main/java/org/apache/airavata/datacatalog/api/model/sharing/simple/SimpleGroupSharingEntity.java b/data-catalog-api/server/src/main/java/org/apache/airavata/datacatalog/api/model/sharing/simple/SimpleGroupSharingEntity.java index bf5d0fd..a4ce8bc 100644 --- a/data-catalog-api/server/src/main/java/org/apache/airavata/datacatalog/api/model/sharing/simple/SimpleGroupSharingEntity.java +++ b/data-catalog-api/server/src/main/java/org/apache/airavata/datacatalog/api/model/sharing/simple/SimpleGroupSharingEntity.java @@ -14,9 +14,11 @@ import jakarta.persistence.JoinColumn; import jakarta.persistence.ManyToOne; import jakarta.persistence.SequenceGenerator; import jakarta.persistence.Table; +import jakarta.persistence.UniqueConstraint; @Entity -@Table(name = "simple_group_sharing") +@Table(name = "simple_group_sharing", uniqueConstraints = { + @UniqueConstraint(columnNames = { "simple_group_id", "data_product_id", "permission_id" }) }) public class SimpleGroupSharingEntity { @Id diff --git a/data-catalog-api/server/src/main/java/org/apache/airavata/datacatalog/api/model/sharing/simple/SimplePublicSharingEntity.java b/data-catalog-api/server/src/main/java/org/apache/airavata/datacatalog/api/model/sharing/simple/SimplePublicSharingEntity.java index c20282c..88ea990 100644 --- a/data-catalog-api/server/src/main/java/org/apache/airavata/datacatalog/api/model/sharing/simple/SimplePublicSharingEntity.java +++ b/data-catalog-api/server/src/main/java/org/apache/airavata/datacatalog/api/model/sharing/simple/SimplePublicSharingEntity.java @@ -14,9 +14,11 @@ import jakarta.persistence.JoinColumn; import jakarta.persistence.ManyToOne; import jakarta.persistence.SequenceGenerator; import jakarta.persistence.Table; +import jakarta.persistence.UniqueConstraint; @Entity -@Table(name = "simple_public_sharing") +@Table(name = "simple_public_sharing", uniqueConstraints = { + @UniqueConstraint(columnNames = { "data_product_id", "permission_id", "simple_tenant_id" }) }) public class SimplePublicSharingEntity { @Id diff --git a/data-catalog-api/server/src/main/java/org/apache/airavata/datacatalog/api/model/sharing/simple/SimpleTenantEntity.java b/data-catalog-api/server/src/main/java/org/apache/airavata/datacatalog/api/model/sharing/simple/SimpleTenantEntity.java index eabadcb..38f25ff 100644 --- a/data-catalog-api/server/src/main/java/org/apache/airavata/datacatalog/api/model/sharing/simple/SimpleTenantEntity.java +++ b/data-catalog-api/server/src/main/java/org/apache/airavata/datacatalog/api/model/sharing/simple/SimpleTenantEntity.java @@ -12,9 +12,10 @@ import jakarta.persistence.JoinColumn; import jakarta.persistence.ManyToOne; import jakarta.persistence.SequenceGenerator; import jakarta.persistence.Table; +import jakarta.persistence.UniqueConstraint; @Entity -@Table(name = "simple_tenant") +@Table(name = "simple_tenant", uniqueConstraints = { @UniqueConstraint(columnNames = { "external_id" }) }) public class SimpleTenantEntity { @Id diff --git a/data-catalog-api/server/src/main/java/org/apache/airavata/datacatalog/api/model/sharing/simple/SimpleUserEntity.java b/data-catalog-api/server/src/main/java/org/apache/airavata/datacatalog/api/model/sharing/simple/SimpleUserEntity.java index 83114f7..d4b3792 100644 --- a/data-catalog-api/server/src/main/java/org/apache/airavata/datacatalog/api/model/sharing/simple/SimpleUserEntity.java +++ b/data-catalog-api/server/src/main/java/org/apache/airavata/datacatalog/api/model/sharing/simple/SimpleUserEntity.java @@ -12,10 +12,11 @@ import jakarta.persistence.JoinColumn; import jakarta.persistence.ManyToOne; import jakarta.persistence.SequenceGenerator; import jakarta.persistence.Table; +import jakarta.persistence.UniqueConstraint; -// TODO: need a unique constraint on (tenant, externalId) @Entity -@Table(name = "simple_user") +@Table(name = "simple_user", uniqueConstraints = { + @UniqueConstraint(columnNames = { "simple_tenant_id", "external_id" }) }) public class SimpleUserEntity { @Id diff --git a/data-catalog-api/server/src/main/java/org/apache/airavata/datacatalog/api/model/sharing/simple/SimpleUserSharingEntity.java b/data-catalog-api/server/src/main/java/org/apache/airavata/datacatalog/api/model/sharing/simple/SimpleUserSharingEntity.java index 428537e..57d6c9b 100644 --- a/data-catalog-api/server/src/main/java/org/apache/airavata/datacatalog/api/model/sharing/simple/SimpleUserSharingEntity.java +++ b/data-catalog-api/server/src/main/java/org/apache/airavata/datacatalog/api/model/sharing/simple/SimpleUserSharingEntity.java @@ -14,9 +14,11 @@ import jakarta.persistence.JoinColumn; import jakarta.persistence.ManyToOne; import jakarta.persistence.SequenceGenerator; import jakarta.persistence.Table; +import jakarta.persistence.UniqueConstraint; @Entity -@Table(name = "simple_user_sharing") +@Table(name = "simple_user_sharing", uniqueConstraints = { + @UniqueConstraint(columnNames = { "simple_user_id", "data_product_id", "permission_id" }) }) public class SimpleUserSharingEntity { @Id
