]> Untitled Git - lemmy.git/blob - lemmy_db/src/views/site_view.rs
remove timing files added by accident
[lemmy.git] / lemmy_db / src / views / site_view.rs
1 use crate::ToSafe;
2 use diesel::{result::Error, *};
3 use lemmy_db_schema::{
4   schema::{site, user_},
5   source::{
6     site::Site,
7     user::{UserSafe, User_},
8   },
9 };
10 use serde::Serialize;
11
12 #[derive(Debug, Serialize, Clone)]
13 pub struct SiteView {
14   pub site: Site,
15   pub creator: UserSafe,
16 }
17
18 impl SiteView {
19   pub fn read(conn: &PgConnection) -> Result<Self, Error> {
20     let (site, creator) = site::table
21       .inner_join(user_::table)
22       .select((site::all_columns, User_::safe_columns_tuple()))
23       .first::<(Site, UserSafe)>(conn)?;
24
25     Ok(SiteView { site, creator })
26   }
27 }