use anyhow::Result;
use sea_orm::entity::prelude::*;
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, PartialEq, Eq, DeriveEntityModel, Serialize, Deserialize)]
#[sea_orm(table_name = "gateways")]
pub struct Model {
#[sea_orm(primary_key)]
pub id: i32,
#[sea_orm(unique)]
pub name: String,
}
#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]
pub enum Relation {}
impl ActiveModelBehavior for ActiveModel {}
impl Model {
pub async fn find_by_name(db: &DatabaseConnection, name: &str) -> Result<Option<Model>> {
Ok(Entity::find().filter(Column::Name.eq(name)).one(db).await?)
}
pub async fn find_by_id(db: &DatabaseConnection, id: i32) -> Result<Option<Model>> {
Ok(Entity::find_by_id(id).one(db).await?)
}
pub async fn find_all(db: &DatabaseConnection) -> Result<Vec<Model>> {
Ok(Entity::find().all(db).await?)
}
}