diff --git a/src/main/java/gg/agit/konect/domain/user/enums/UserRole.java b/src/main/java/gg/agit/konect/domain/user/enums/UserRole.java new file mode 100644 index 00000000..7cb86433 --- /dev/null +++ b/src/main/java/gg/agit/konect/domain/user/enums/UserRole.java @@ -0,0 +1,6 @@ +package gg.agit.konect.domain.user.enums; + +public enum UserRole { + USER, + ADMIN +} diff --git a/src/main/java/gg/agit/konect/domain/user/model/User.java b/src/main/java/gg/agit/konect/domain/user/model/User.java index 2b675dac..5ff78d5c 100644 --- a/src/main/java/gg/agit/konect/domain/user/model/User.java +++ b/src/main/java/gg/agit/konect/domain/user/model/User.java @@ -6,6 +6,7 @@ import gg.agit.konect.domain.university.model.University; import gg.agit.konect.domain.user.enums.Provider; +import gg.agit.konect.domain.user.enums.UserRole; import gg.agit.konect.global.model.BaseEntity; import jakarta.persistence.Column; import jakarta.persistence.Entity; @@ -76,6 +77,10 @@ public class User extends BaseEntity { @Column(name = "provider_id", length = 255) private String providerId; + @Column(name = "role", length = 20, nullable = false) + @Enumerated(EnumType.STRING) + private UserRole role; + @Column(name = "is_marketing_agreement", nullable = false) private Boolean isMarketingAgreement; @@ -92,6 +97,7 @@ private User( String studentNumber, Provider provider, String providerId, + UserRole role, Boolean isMarketingAgreement, String imageUrl ) { @@ -103,6 +109,7 @@ private User( this.studentNumber = studentNumber; this.provider = provider; this.providerId = providerId; + this.role = role == null ? UserRole.USER : role; this.isMarketingAgreement = isMarketingAgreement; this.imageUrl = imageUrl; } diff --git a/src/main/resources/db/migration/V14__add_role_to_users_table.sql b/src/main/resources/db/migration/V14__add_role_to_users_table.sql new file mode 100644 index 00000000..bcf71043 --- /dev/null +++ b/src/main/resources/db/migration/V14__add_role_to_users_table.sql @@ -0,0 +1,9 @@ +ALTER TABLE users + ADD COLUMN role VARCHAR(20) NULL AFTER provider_id; + +UPDATE users +SET role = 'USER' +WHERE role IS NULL; + +ALTER TABLE users + MODIFY COLUMN role VARCHAR(20) NOT NULL DEFAULT 'USER';