Jade/dbschema/default.esdl

73 lines
1.6 KiB
Plaintext

using extension auth;
module default {
global currentUser := (
assert_single((
select User
filter .identity = global ext::auth::ClientTokenIdentity
))
);
type User {
required setting: Setting;
required identity: ext::auth::Identity;
}
type Key {
required name: str;
required company: str;
required key: str;
required date: datetime {
default := datetime_current();
}
}
type Setting {
default_model: str;
multi keys: Key;
}
type Conversation {
required name: str;
required user: User {
on target delete delete source;
};
required date: datetime {
default := datetime_current();
}
}
type Area {
required position: int64;
required conversation: Conversation {
on target delete delete source;
};
}
type Message {
model_id: str;
selected: bool;
required role: str;
required content: str;
required area: Area {
on target delete delete source;
};
required conversation: Conversation;
required date: datetime {
default := datetime_current();
}
}
type Usage {
required model_id: str;
user: User;
input_cost: float32;
output_cost: float32;
input_token: int32;
output_token: int32;
required date: datetime {
default := datetime_current();
}
}
}