1 use crate::structs::SiteView;
2 use diesel::{result::Error, *};
4 aggregates::structs::SiteAggregates,
5 schema::{local_site, local_site_rate_limit, site, site_aggregates},
6 source::{local_site::LocalSite, local_site_rate_limit::LocalSiteRateLimit, site::Site},
10 pub fn read_local(conn: &mut PgConnection) -> Result<Self, Error> {
11 let (mut site, local_site, local_site_rate_limit, counts) = site::table
12 .inner_join(local_site::table)
14 local_site_rate_limit::table.on(local_site::id.eq(local_site_rate_limit::local_site_id)),
16 .inner_join(site_aggregates::table)
19 local_site::all_columns,
20 local_site_rate_limit::all_columns,
21 site_aggregates::all_columns,
23 .first::<(Site, LocalSite, LocalSiteRateLimit, SiteAggregates)>(conn)?;
25 site.private_key = None;
29 local_site_rate_limit,