-impl RegistrationApplicationView {
- pub fn read(conn: &PgConnection, registration_application_id: i32) -> Result<Self, Error> {
- let (registration_application, creator_local_user, creator, admin) =
- registration_application::table
- .find(registration_application_id)
- .inner_join(
- local_user::table.on(registration_application::local_user_id.eq(local_user::id)),
- )
- .inner_join(person::table.on(local_user::person_id.eq(person::id)))
- .left_join(
- person_alias_1::table
- .on(registration_application::admin_id.eq(person_alias_1::id.nullable())),
- )
- .order_by(registration_application::published.desc())
- .select((
- registration_application::all_columns,
- LocalUser::safe_settings_columns_tuple(),
- Person::safe_columns_tuple(),
- PersonAlias1::safe_columns_tuple().nullable(),
- ))
- .first::<RegistrationApplicationViewTuple>(conn)?;
-
- Ok(RegistrationApplicationView {
- registration_application,
- creator_local_user,
- creator,
- admin,
- })
- }
+type RegistrationApplicationViewTuple =
+ (RegistrationApplication, LocalUser, Person, Option<Person>);