diff --git a/dbschema/default.gel b/dbschema/default.gel index da5469c..d7e5105 100644 --- a/dbschema/default.gel +++ b/dbschema/default.gel @@ -1,62 +1,4 @@ using future simple_scoping; module default { - scalar type access_status extending enum; - - type IPAddr { - required value: str { - constraint exclusive; - } - } - - type UserAgent { - required value: str { - constraint exclusive; - } - } - - type files { - required file_id: str { - constraint exclusive; - }; - required file_name: str; - required file_size: str; - required note: str; - - required content_type: str { - readonly := true; - } - property expires_at: datetime; - required uploaded_at: datetime { - readonly := true; - } - - multi accesses -> file_access { - on source delete delete target if orphan; - }; - required property user_id: str { - readonly := true; - }; - - index on ((.file_id, .file_name, .expires_at, .user_id)); - } - - type file_access { - required link ip -> IPAddr { - readonly := true; - on source delete delete target if orphan; - } - required link user_agent -> UserAgent { - readonly := true; - on source delete delete target if orphan; - } - - required status: access_status { - default := access_status.ok; - } - required at: datetime { - readonly := true; - default := datetime_of_statement(); - } - } }