1use crate::db::{ChannelId, DevServerId};
2use rpc::proto;
3use sea_orm::entity::prelude::*;
4
5#[derive(Clone, Debug, PartialEq, Eq, DeriveEntityModel)]
6#[sea_orm(table_name = "dev_servers")]
7pub struct Model {
8 #[sea_orm(primary_key)]
9 pub id: DevServerId,
10 pub name: String,
11 pub channel_id: ChannelId,
12 pub hashed_token: String,
13}
14
15impl ActiveModelBehavior for ActiveModel {}
16
17#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]
18pub enum Relation {}
19
20impl Model {
21 pub fn to_proto(&self, status: proto::DevServerStatus) -> proto::DevServer {
22 proto::DevServer {
23 dev_server_id: self.id.to_proto(),
24 channel_id: self.channel_id.to_proto(),
25 name: self.name.clone(),
26 status: status as i32,
27 }
28 }
29}