From 5c3ff5b7ff1c44bde228e66bd456d1efab02a2c9 Mon Sep 17 00:00:00 2001 From: razzanYoni <13521087@mahasiswa.itb.ac.id> Date: Wed, 1 Nov 2023 17:45:51 +0700 Subject: [PATCH] feat : subscription model --- .../java/org/tonality/model/Subscription.java | 38 +++++++++++++++++++ .../org/tonality/type/SubscriptionStatus.java | 8 ++++ 2 files changed, 46 insertions(+) create mode 100644 src/main/java/org/tonality/model/Subscription.java create mode 100644 src/main/java/org/tonality/type/SubscriptionStatus.java diff --git a/src/main/java/org/tonality/model/Subscription.java b/src/main/java/org/tonality/model/Subscription.java new file mode 100644 index 0000000..74deb62 --- /dev/null +++ b/src/main/java/org/tonality/model/Subscription.java @@ -0,0 +1,38 @@ +package org.tonality.model; + +import org.tonality.type.SubscriptionStatus; + +import org.hibernate.annotations.GenericGenerator; +import org.hibernate.annotations.ColumnDefault; + +import javax.persistence.*; +import java.util.Date; + +@Entity(name = "subscription") +public class Subscription { + @Id + @GeneratedValue(generator = "increment") + @GenericGenerator(name = "increment", strategy = "increment") + @Column(name = "subscription_id") + private long subscriptionId; + + @Column(name = "user_id") + private long userId; + + @Column(name = "album_id") + private long albumId; + + @Column(name = "subscription_status") + @Enumerated(EnumType.STRING) + private SubscriptionStatus status; + + @Column(name = "created_at") + @Temporal(TemporalType.TIMESTAMP) + @ColumnDefault("'CURRENT_TIMESTAMP'") + private Date createdAt; + + @Column(name = "updated_at") + @Temporal(TemporalType.TIMESTAMP) + @ColumnDefault("'CURRENT_TIMESTAMP'") + private Date updatedAt; +} diff --git a/src/main/java/org/tonality/type/SubscriptionStatus.java b/src/main/java/org/tonality/type/SubscriptionStatus.java new file mode 100644 index 0000000..5f6c666 --- /dev/null +++ b/src/main/java/org/tonality/type/SubscriptionStatus.java @@ -0,0 +1,8 @@ +package org.tonality.type; + +public enum SubscriptionStatus { + PENDING, + ACTIVE, + REJECTED, + EXPIRED, +} -- GitLab