diff --git a/src/controllers/crate_owner_invitation.rs b/src/controllers/crate_owner_invitation.rs index 24718b8a7fc..84b814532d1 100644 --- a/src/controllers/crate_owner_invitation.rs +++ b/src/controllers/crate_owner_invitation.rs @@ -14,7 +14,7 @@ pub fn list(req: &mut dyn RequestExt) -> EndpointResult { .load(&*conn)?; let crate_owner_invitations = crate_owner_invitations .into_iter() - .map(|i| i.encodable(conn)) + .map(|i| EncodableCrateOwnerInvitation::from(i, conn)) .collect(); #[derive(Serialize)] diff --git a/src/models/crate_owner_invitation.rs b/src/models/crate_owner_invitation.rs index e94fac6cac6..6836b56e912 100644 --- a/src/models/crate_owner_invitation.rs +++ b/src/models/crate_owner_invitation.rs @@ -2,7 +2,6 @@ use chrono::NaiveDateTime; use diesel::prelude::*; use crate::schema::{crate_owner_invitations, crates, users}; -use crate::views::EncodableCrateOwnerInvitation; /// The model representing a row in the `crate_owner_invitations` database table. #[derive(Clone, Debug, PartialEq, Eq, Identifiable, Queryable)] @@ -40,13 +39,4 @@ impl CrateOwnerInvitation { .first(&*conn) .unwrap_or_else(|_| String::from("(unknown crate name)")) } - - pub fn encodable(self, conn: &PgConnection) -> EncodableCrateOwnerInvitation { - EncodableCrateOwnerInvitation { - invited_by_username: self.invited_by_username(conn), - crate_name: self.crate_name(conn), - crate_id: self.crate_id, - created_at: self.created_at, - } - } } diff --git a/src/views.rs b/src/views.rs index 7012d815c1e..1c77d8c3fce 100644 --- a/src/views.rs +++ b/src/views.rs @@ -1,10 +1,11 @@ use chrono::NaiveDateTime; +use diesel::PgConnection; use std::collections::HashMap; use crate::github; use crate::models::{ - Badge, Category, CreatedApiToken, Dependency, DependencyKind, Keyword, Owner, - ReverseDependency, Team, User, VersionDownload, + Badge, Category, CrateOwnerInvitation, CreatedApiToken, Dependency, DependencyKind, Keyword, + Owner, ReverseDependency, Team, User, VersionDownload, }; use crate::util::rfc3339; @@ -76,6 +77,17 @@ pub struct EncodableCrateOwnerInvitation { pub created_at: NaiveDateTime, } +impl EncodableCrateOwnerInvitation { + pub fn from(invitation: CrateOwnerInvitation, conn: &PgConnection) -> Self { + Self { + invited_by_username: invitation.invited_by_username(conn), + crate_name: invitation.crate_name(conn), + crate_id: invitation.crate_id, + created_at: invitation.created_at, + } + } +} + #[derive(Deserialize, Serialize, Debug, Copy, Clone)] pub struct InvitationResponse { pub crate_id: i32,