Can create new accommodations using the API
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing

This commit is contained in:
2024-05-23 21:20:14 +02:00
parent 2f1df6c117
commit c4fadce69f
12 changed files with 248 additions and 18 deletions

View File

@@ -1,5 +1,5 @@
use crate::app_config::AppConfig;
use crate::schema::{couples, families, members, memberships, photos, users};
use crate::schema::{accommodations_list, couples, families, members, memberships, photos, users};
use crate::utils::crypt_utils::sha256;
use diesel::prelude::*;
@@ -309,7 +309,7 @@ pub struct NewMember {
pub time_update: i64,
}
/// Member ID holder
/// Couple ID holder
#[derive(Debug, Clone, Copy, serde::Serialize, serde::Deserialize, Eq, PartialEq, Hash)]
pub struct CoupleID(pub i32);
@@ -442,3 +442,34 @@ pub struct NewCouple {
pub time_create: i64,
pub time_update: i64,
}
/// Accommodation ID holder
#[derive(Debug, Clone, Copy, serde::Serialize, serde::Deserialize, Eq, PartialEq, Hash)]
pub struct AccommodationID(pub i32);
#[derive(Queryable, Debug, serde::Serialize)]
pub struct Accommodation {
id: i32,
family_id: i32,
time_create: i64,
pub time_update: i64,
pub name: String,
pub need_validation: bool,
pub description: Option<String>,
pub open_to_reservations: bool,
}
impl Accommodation {
pub fn id(&self) -> AccommodationID {
AccommodationID(self.id)
}
}
#[derive(Insertable)]
#[diesel(table_name = accommodations_list)]
pub struct NewAccommodation {
pub family_id: i32,
pub name: String,
pub time_create: i64,
pub time_update: i64,
}