Skip to content

Commit e4d2ead

Browse files
committed
models/action: Add async_for_versions() fn
1 parent 6a5cf9f commit e4d2ead

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

src/models/action.rs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ use crate::sql::pg_enum;
44
use crate::util::diesel::prelude::*;
55
use crate::util::diesel::Conn;
66
use chrono::NaiveDateTime;
7+
use diesel_async::AsyncPgConnection;
78

89
pg_enum! {
910
pub enum VersionAction {
@@ -78,6 +79,20 @@ impl VersionOwnerAction {
7879
.load(conn)?
7980
.grouped_by(versions))
8081
}
82+
83+
pub async fn async_for_versions(
84+
conn: &mut AsyncPgConnection,
85+
versions: &[&Version],
86+
) -> QueryResult<Vec<Vec<(Self, User)>>> {
87+
use diesel_async::RunQueryDsl;
88+
89+
Ok(Self::belonging_to(versions)
90+
.inner_join(users::table)
91+
.order(version_owner_actions::dsl::id)
92+
.load(conn)
93+
.await?
94+
.grouped_by(versions))
95+
}
8196
}
8297

8398
pub fn insert_version_owner_action(

0 commit comments

Comments
 (0)