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

Reply via email to