3 schema::registration_application::dsl::{local_user_id, registration_application},
4 source::registration_application::{
5 RegistrationApplication,
6 RegistrationApplicationInsertForm,
7 RegistrationApplicationUpdateForm,
10 utils::{get_conn, DbPool},
12 use diesel::{insert_into, result::Error, ExpressionMethods, QueryDsl};
13 use diesel_async::RunQueryDsl;
16 impl Crud for RegistrationApplication {
17 type InsertForm = RegistrationApplicationInsertForm;
18 type UpdateForm = RegistrationApplicationUpdateForm;
21 async fn create(pool: &mut DbPool<'_>, form: &Self::InsertForm) -> Result<Self, Error> {
22 let conn = &mut get_conn(pool).await?;
23 insert_into(registration_application)
25 .get_result::<Self>(conn)
29 async fn read(pool: &mut DbPool<'_>, id_: Self::IdType) -> Result<Self, Error> {
30 let conn = &mut get_conn(pool).await?;
31 registration_application.find(id_).first::<Self>(conn).await
35 pool: &mut DbPool<'_>,
37 form: &Self::UpdateForm,
38 ) -> Result<Self, Error> {
39 let conn = &mut get_conn(pool).await?;
40 diesel::update(registration_application.find(id_))
42 .get_result::<Self>(conn)
46 async fn delete(pool: &mut DbPool<'_>, id_: Self::IdType) -> Result<usize, Error> {
47 let conn = &mut get_conn(pool).await?;
48 diesel::delete(registration_application.find(id_))
54 impl RegistrationApplication {
55 pub async fn find_by_local_user_id(
56 pool: &mut DbPool<'_>,
57 local_user_id_: LocalUserId,
58 ) -> Result<Self, Error> {
59 let conn = &mut get_conn(pool).await?;
60 registration_application
61 .filter(local_user_id.eq(local_user_id_))