Skip to content

Commit 6be60c5

Browse files
committed
Updated important Database related stuff...
1 parent 8bdcb55 commit 6be60c5

2 files changed

Lines changed: 22 additions & 4 deletions

File tree

src/main/java/module-info.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222

2323
// JDA Permission API
2424
exports org.mangorage.mangobotcore.api.jda.permission.v1;
25+
opens org.mangorage.mangobotcore.api.jda.permission.v1 to org.hibernate.orm.core; // Hibernate
2526

2627
// Command API
2728
exports org.mangorage.mangobotcore.api.command.v1;

src/main/java/org/mangorage/mangobotcore/api/jda/permission/v1/JDAPermissionNode.java

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
package org.mangorage.mangobotcore.api.jda.permission.v1;
22

3+
import jakarta.persistence.CollectionTable;
4+
import jakarta.persistence.ElementCollection;
35
import jakarta.persistence.Embeddable;
46
import jakarta.persistence.Entity;
7+
import jakarta.persistence.FetchType;
58
import jakarta.persistence.Id;
9+
import jakarta.persistence.JoinColumn;
610
import jakarta.persistence.Table;
711
import net.dv8tion.jda.api.Permission;
812
import net.dv8tion.jda.api.entities.Member;
@@ -13,7 +17,9 @@
1317
import org.mangorage.mangobotcore.api.util.data.IUniqueIdHolder;
1418

1519
import java.util.ArrayList;
20+
import java.util.HashSet;
1621
import java.util.List;
22+
import java.util.Set;
1723

1824
@Entity
1925
@Table(name = "jda_permission_nodes")
@@ -30,10 +36,21 @@ public static JDAPermissionNode create(String id) {
3036
}
3137

3238
@Id
33-
private final String id;
34-
private final List<GuildRole> roleIds = new ArrayList<>();
35-
private final List<GuildUser> userIds = new ArrayList<>();
36-
private final List<Permission> requiredDiscordPermissions = new ArrayList<>();
39+
private String id;
40+
41+
@ElementCollection(fetch = FetchType.EAGER)
42+
@CollectionTable(name = "guild_roles", joinColumns = @JoinColumn(name = "permission_node_id"))
43+
private final Set<GuildRole> roleIds = new HashSet<>();
44+
45+
@ElementCollection(fetch = FetchType.EAGER)
46+
@CollectionTable(name = "guild_users", joinColumns = @JoinColumn(name = "permission_node_id"))
47+
private final Set<GuildUser> userIds = new HashSet<>();
48+
49+
@ElementCollection(fetch = FetchType.EAGER)
50+
@CollectionTable(name = "required_permissions", joinColumns = @JoinColumn(name = "permission_node_id"))
51+
private final Set<Permission> requiredDiscordPermissions = new HashSet<>();
52+
53+
public JDAPermissionNode() {}
3754

3855
private JDAPermissionNode(String id) {
3956
this.id = id;

0 commit comments

Comments
 (0)