added columns for tracking created/updated

This commit is contained in:
Sheldan
2020-05-16 00:21:53 +02:00
parent 82c63d4825
commit ddb540ccfe
26 changed files with 385 additions and 7 deletions

View File

@@ -3,11 +3,9 @@ package dev.sheldan.abstracto.experience.models.database;
import lombok.*;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import javax.persistence.Cacheable;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.*;
import java.io.Serializable;
import java.time.Instant;
import java.util.Objects;
/**
@@ -33,6 +31,22 @@ public class AExperienceLevel implements Serializable {
*/
private Long experienceNeeded;
@Column(name = "created")
private Instant created;
@PrePersist
private void onInsert() {
this.created = Instant.now();
}
@Column(name = "updated")
private Instant updated;
@PreUpdate
private void onUpdate() {
this.updated = Instant.now();
}
@Override
public boolean equals(Object o) {
if (this == o) return true;

View File

@@ -7,6 +7,7 @@ import org.hibernate.annotations.CacheConcurrencyStrategy;
import javax.persistence.*;
import java.io.Serializable;
import java.time.Instant;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
@@ -56,6 +57,22 @@ public class AExperienceRole implements Serializable {
@JoinColumn(name = "role_id", nullable = false)
private ARole role;
@Column(name = "created")
private Instant created;
@PrePersist
private void onInsert() {
this.created = Instant.now();
}
@Column(name = "updated")
private Instant updated;
@PreUpdate
private void onUpdate() {
this.updated = Instant.now();
}
/**
* Current list of {@link dev.sheldan.abstracto.core.models.database.AUserInAServer} which were given this role.
*/

View File

@@ -6,6 +6,7 @@ import org.hibernate.annotations.CacheConcurrencyStrategy;
import javax.persistence.*;
import java.io.Serializable;
import java.time.Instant;
import java.util.Objects;
@@ -58,6 +59,22 @@ public class AUserExperience implements Serializable {
@JoinColumn(name = "experience_role_id")
private AExperienceRole currentExperienceRole;
@Column(name = "created")
private Instant created;
@PrePersist
private void onInsert() {
this.created = Instant.now();
}
@Column(name = "updated")
private Instant updated;
@PreUpdate
private void onUpdate() {
this.updated = Instant.now();
}
@Override
public boolean equals(Object o) {
if (this == o) return true;

View File

@@ -87,6 +87,22 @@ public class Mute {
*/
private String triggerKey;
@Column(name = "created")
private Instant created;
@PrePersist
private void onInsert() {
this.created = Instant.now();
}
@Column(name = "updated")
private Instant updated;
@PreUpdate
private void onUpdate() {
this.updated = Instant.now();
}
@Override
public boolean equals(Object o) {
if (this == o) return true;

View File

@@ -5,6 +5,7 @@ import dev.sheldan.abstracto.core.models.database.AServer;
import lombok.*;
import javax.persistence.*;
import java.time.Instant;
import java.util.Objects;
/**
@@ -42,6 +43,22 @@ public class MuteRole {
@JoinColumn(name = "role_id", nullable = false)
private ARole role;
@Column(name = "created")
private Instant created;
@PrePersist
private void onInsert() {
this.created = Instant.now();
}
@Column(name = "updated")
private Instant updated;
@PreUpdate
private void onUpdate() {
this.updated = Instant.now();
}
@Override
public boolean equals(Object o) {
if (this == o) return true;

View File

@@ -67,6 +67,23 @@ public class Warning {
@Setter
private Instant decayDate;
@Column(name = "created")
private Instant created;
@PrePersist
private void onInsert() {
this.created = Instant.now();
}
@Column(name = "updated")
private Instant updated;
@PreUpdate
private void onUpdate() {
this.updated = Instant.now();
}
@Override
public boolean equals(Object o) {
if (this == o) return true;

View File

@@ -5,6 +5,7 @@ import lombok.*;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import javax.persistence.*;
import java.time.Instant;
@Builder
@Entity
@@ -31,4 +32,12 @@ public class ModMailMessage {
private Boolean dmChannel;
private Boolean anonymous;
@Column(name = "created")
private Instant created;
@PrePersist
private void onInsert() {
this.created = Instant.now();
}
}

View File

@@ -6,6 +6,7 @@ import lombok.*;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import javax.persistence.*;
import java.time.Instant;
@Builder
@Entity
@@ -29,4 +30,20 @@ public class ModMailRole {
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "modmail_role", nullable = false)
private ARole role;
@Column(name = "created")
private Instant created;
@PrePersist
private void onInsert() {
this.created = Instant.now();
}
@Column(name = "updated")
private Instant updated;
@PreUpdate
private void onUpdate() {
this.updated = Instant.now();
}
}

View File

@@ -37,12 +37,22 @@ public class ModMailThread {
@JoinColumn(name = "modmail_thread_server", nullable = false)
private AServer server;
@Column
@Column(name = "created")
private Instant created;
@Column
@PrePersist
private void onInsert() {
this.created = Instant.now();
}
@Column(name = "updated")
private Instant updated;
@PreUpdate
private void onUpdate() {
this.updated = Instant.now();
}
@Column
private Instant closed;

View File

@@ -5,6 +5,7 @@ import lombok.*;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import javax.persistence.*;
import java.time.Instant;
@Builder
@Entity
@@ -28,4 +29,13 @@ public class ModMailThreadSubscriber {
@ManyToOne(cascade = {CascadeType.PERSIST, CascadeType.MERGE})
@JoinColumn(name = "modMailThread", nullable = false)
private ModMailThread threadReference;
@Column(name = "created")
private Instant created;
@PrePersist
private void onInsert() {
this.created = Instant.now();
}
}

View File

@@ -7,6 +7,7 @@ import lombok.*;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import javax.persistence.*;
import java.time.Instant;
import java.util.Objects;
@Entity
@@ -57,6 +58,14 @@ public class EmbeddedMessage {
@Id
private Long embeddingMessageId;
@Column(name = "created")
private Instant created;
@PrePersist
private void onInsert() {
this.created = Instant.now();
}
@Override
public boolean equals(Object o) {
if (this == o) return true;

View File

@@ -44,9 +44,22 @@ public class Reminder {
@JoinColumn(name = "serverId", nullable = false)
private AServer server;
@Getter
@Column(name = "created")
private Instant reminderDate;
@PrePersist
private void onInsert() {
this.reminderDate = Instant.now();
}
@Column(name = "updated")
private Instant updated;
@PreUpdate
private void onUpdate() {
this.updated = Instant.now();
}
@Getter
private Instant targetDate;

View File

@@ -46,6 +46,22 @@ public class StarboardPost {
@Transient
private Integer reactionCount;
@Column(name = "created")
private Instant created;
@PrePersist
private void onInsert() {
this.created = Instant.now();
}
@Column(name = "updated")
private Instant updated;
@PreUpdate
private void onUpdate() {
this.updated = Instant.now();
}
@PostLoad
private void onLoad() {
this.reactionCount = this.reactions.size();

View File

@@ -5,6 +5,7 @@ import lombok.*;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import javax.persistence.*;
import java.time.Instant;
import java.util.Objects;
@Entity
@@ -31,6 +32,14 @@ public class StarboardPostReaction {
@JoinColumn(name = "post_id")
private StarboardPost starboardPost;
@Column(name = "created")
private Instant created;
@PrePersist
private void onInsert() {
this.created = Instant.now();
}
@Override
public boolean equals(Object o) {
if (this == o) return true;

View File

@@ -50,6 +50,22 @@ public class Suggestion {
@Enumerated(EnumType.STRING)
private SuggestionState state;
@Column(name = "created")
private Instant created;
@PrePersist
private void onInsert() {
this.created = Instant.now();
}
@Column(name = "updated")
private Instant updated;
@PreUpdate
private void onUpdate() {
this.updated = Instant.now();
}
@Override
public boolean equals(Object o) {
if (this == o) return true;