summaryrefslogtreecommitdiff
path: root/src/main/kotlin/io/dico/parcels2/storage/backing/Exposed.kt
blob: 404e48c058f65c4f34dfbbac43a2acfdaad929d2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package io.dico.parcels2.storage.backing

import org.jetbrains.exposed.sql.ReferenceOption
import org.jetbrains.exposed.sql.Table

object ParcelsTable : Table() {
    val id = integer("id").autoIncrement().primaryKey()
    val px = integer("px")
    val pz = integer("pz")
    val world_uuid = binary("world_uuid", 16).also { uniqueIndex("location", it, px, pz) }
    val world = varchar("world", 32).nullable()
    val owner_uuid = binary("owner_uuid", 16).nullable()
    val owner = varchar("owner", 16).nullable()
}

object ParcelsAddedTable : Table() {
    val id = integer("id").references(ParcelsTable.id, ReferenceOption.CASCADE)
    val player_uuid = binary("player_uuid", 16).also { uniqueIndex("pair", id, it) }
    val allowed_flag = bool("allowed_flag")
}

object PlayerAddedTable : Table() {
    val owner_uuid = binary("owner_uuid", 16)
    val player_uuid = binary("player_uuid", 16).also { uniqueIndex("pair", owner_uuid, it) }
    val allowed_flag = bool("allowed_flag")
}

class AbstractParcelsDatabase {





}