package Ġdev . k drag 0 n . pat re on dl . data Ċ Ċ import Ġio . ktor . auth .* Ċ import Ġorg . jetbrains . ex posed . dao . Int Entity Ċ import Ġorg . jetbrains . ex posed . dao . Int Entity Class Ċ import Ġorg . jetbrains . ex posed . dao . id . Entity ID Ċ import Ġorg . jetbrains . ex posed . dao . id . Int Id Table Ċ import Ġorg . jetbrains . ex posed . sql .` java - time `. timestamp Ċ Ċ object ĠGr ants Ġ: ĠInt Id Table (" gr ants ") Ġ{ ĊĠĠĠ Ġval Ġtype Ġ= Ġenumeration ByName (" type ", Ġ 3 2 , ĠGrant . Type :: class ) ĊĠĠĠ Ġval Ġpath Ġ= Ġtext (" path ") ĊĠĠĠ Ġval Ġtag Ġ= Ġtext (" tag ") ĊĠĠĠ Ġval Ġexpire Time Ġ= Ġtimestamp (" expire _ time ") ĊĠĠĠ Ġval Ġaccess Count Ġ= Ġinteger (" access _ count "). default ( 0 ) ĊĠĠĠ Ġval Ġlast Access Time Ġ= Ġtimestamp (" last _ access _ time "). nullable (). default ( null ) ĊĠĠĠ Ġval Ġdisabled Ġ= Ġbool (" disabled "). default ( false ) Ċ } Ċ Ċ class ĠGrant ( id : ĠEntity ID < Int >) Ġ: ĠInt Entity ( id ), ĠPrincipal Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ: ĠInt Entity Class < Grant >( Gr ants ) ĊĊĠĠĠ Ġvar Ġtype Ġby ĠGr ants . type ĊĠĠĠ Ġvar Ġpath Ġby ĠGr ants . path ĊĠĠĠ Ġvar Ġtag Ġby ĠGr ants . tag ĊĠĠĠ Ġvar Ġexpire Time Ġby ĠGr ants . expire Time ĊĠĠĠ Ġvar Ġaccess Count Ġby ĠGr ants . access Count ĊĠĠĠ Ġvar Ġlast Access Time Ġby ĠGr ants . last Access Time ĊĠĠĠ Ġvar Ġdisabled Ġby ĠGr ants . disabled ĊĊĠĠĠ Ġenum Ġclass ĠType Ġ{ ĊĠĠĠĠĠĠĠ ĠCRE ATOR , ĊĠĠĠĠĠĠĠ ĠP UR CH ASE , ĊĠĠĠ Ġ} Ċ }