Jade/dbschema/default.esdl
2024-05-05 21:10:09 +02:00

72 lines
1.5 KiB
Plaintext

using extension auth;
module default {
global current_user_id: uuid;
global currentUser := (
select User
filter .id = global current_user_id
);
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;
required user: User;
input_cost: float32;
output_cost: float32;
input_token: int32;
output_token: int32;
required date: datetime {
default := datetime_current();
}
}
}