upgrade sqlx to 0.7 Fixes #76 restructure registrations
This commit is contained in:
		@@ -117,7 +117,7 @@ WHERE day=?
 | 
			
		||||
                trip_type = TripType::find_by_id(db, trip_type_id).await;
 | 
			
		||||
            }
 | 
			
		||||
            ret.push(TripWithUserAndType {
 | 
			
		||||
                rower: trip.get_all_rower(db).await,
 | 
			
		||||
                rower: Registration::all_rower(db, trip.trip_details_id.unwrap()).await,
 | 
			
		||||
                trip,
 | 
			
		||||
                trip_type,
 | 
			
		||||
            });
 | 
			
		||||
@@ -125,33 +125,6 @@ WHERE day=?
 | 
			
		||||
        ret
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    async fn get_all_rower(&self, db: &SqlitePool) -> Vec<Registration> {
 | 
			
		||||
        sqlx::query!(
 | 
			
		||||
            "
 | 
			
		||||
SELECT
 | 
			
		||||
    CASE 
 | 
			
		||||
        WHEN user_id IS NOT NULL THEN (SELECT name FROM user WHERE user_trip.user_id = user.id)
 | 
			
		||||
        ELSE user_note
 | 
			
		||||
    END as name,
 | 
			
		||||
    user_id IS NULL as is_real_guest,
 | 
			
		||||
    (SELECT created_at FROM user WHERE user_trip.user_id = user.id) as registered_at,
 | 
			
		||||
    (SELECT is_guest FROM user WHERE user_trip.user_id = user.id) as is_guest
 | 
			
		||||
FROM user_trip WHERE trip_details_id = (SELECT trip_details_id FROM trip WHERE id = ?)",
 | 
			
		||||
            self.id
 | 
			
		||||
        )
 | 
			
		||||
        .fetch_all(db)
 | 
			
		||||
        .await
 | 
			
		||||
        .unwrap()
 | 
			
		||||
        .into_iter()
 | 
			
		||||
        .map(|r| Registration {
 | 
			
		||||
            name: r.name.unwrap(),
 | 
			
		||||
            registered_at: r.registered_at,
 | 
			
		||||
            is_guest: r.is_guest,
 | 
			
		||||
            is_real_guest: r.is_real_guest == 1,
 | 
			
		||||
        })
 | 
			
		||||
        .collect()
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /// Cox decides to update own trip.
 | 
			
		||||
    pub async fn update_own(
 | 
			
		||||
        db: &SqlitePool,
 | 
			
		||||
@@ -232,7 +205,7 @@ FROM user_trip WHERE trip_details_id = (SELECT trip_details_id FROM trip WHERE i
 | 
			
		||||
        db: &SqlitePool,
 | 
			
		||||
        user: &CoxUser,
 | 
			
		||||
    ) -> Result<(), TripDeleteError> {
 | 
			
		||||
        let registered_rower = self.get_all_rower(db).await;
 | 
			
		||||
        let registered_rower = Registration::all_rower(db, self.trip_details_id.unwrap()).await;
 | 
			
		||||
        if !registered_rower.is_empty() {
 | 
			
		||||
            return Err(TripDeleteError::SomebodyAlreadyRegistered);
 | 
			
		||||
        }
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user