diff --git a/backend/migrations/2022-12-03-124501_init/up.sql b/backend/migrations/2022-12-03-124501_init/up.sql index 49ae6d2..ad3e1c0 100644 --- a/backend/migrations/2022-12-03-124501_init/up.sql +++ b/backend/migrations/2022-12-03-124501_init/up.sql @@ -2,7 +2,6 @@ CREATE TABLE schoolyears ( id SERIAL PRIMARY KEY, untis_id INTEGER NOT NULL UNIQUE, name VARCHAR NOT NULL, - active BOOLEAN NOT NULL, created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP ); @@ -16,7 +15,7 @@ CREATE TABLE tenants ( untis_id INTEGER NOT NULL UNIQUE, schoolyear_id INTEGER NOT NULL REFERENCES schoolyears(id), name VARCHAR NOT NULL, - active BOOLEAN NOT NULL, + active BOOLEAN NOT NULL DEFAULT FALSE, created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP ); diff --git a/backend/src/db/models.rs b/backend/src/db/models.rs index 75fe6b8..caeb751 100644 --- a/backend/src/db/models.rs +++ b/backend/src/db/models.rs @@ -10,7 +10,6 @@ pub struct Schoolyear { pub id: i32, pub untis_id: i32, pub name: String, - pub active: bool, pub created_at: NaiveDateTime, pub updated_at: Option, } @@ -20,7 +19,6 @@ pub struct Schoolyear { pub struct NewSchoolyear<'a> { pub untis_id: i32, pub name: &'a str, - pub active: bool, } #[derive(Identifiable, Queryable, Associations, Debug)] diff --git a/backend/src/db/schema.rs b/backend/src/db/schema.rs index 4a16323..c27d85c 100644 --- a/backend/src/db/schema.rs +++ b/backend/src/db/schema.rs @@ -13,7 +13,6 @@ diesel::table! { id -> Integer, untis_id -> Integer, name -> VarChar, - active -> Bool, created_at -> Timestamp, updated_at -> Nullable, } diff --git a/backend/src/worker/update_info.rs b/backend/src/worker/update_info.rs index e3db80e..64aa6b5 100644 --- a/backend/src/worker/update_info.rs +++ b/backend/src/worker/update_info.rs @@ -24,26 +24,15 @@ async fn fetch_schoolyears(client: &untis::Client, db_conn: &mut PgConnection) - .map(|y| db::models::NewSchoolyear { untis_id: y.id, name: &y.name, - active: false, }) .collect::>(), ) .execute(db_conn)?; - let id = db::schema::schoolyears::table + Ok(db::schema::schoolyears::table .filter(db::schema::schoolyears::untis_id.eq(client.current_schoolyear().await?.id)) .select(db::schema::schoolyears::id) - .first(db_conn)?; - - diesel::update(db::schema::schoolyears::table) - .set(db::schema::schoolyears::active.eq(false)) - .execute(db_conn)?; - diesel::update(db::schema::schoolyears::table) - .filter(db::schema::schoolyears::id.eq(id)) - .set(db::schema::schoolyears::active.eq(true)) - .execute(db_conn)?; - - Ok(id) + .first(db_conn)?) } async fn fetch_current_tenant(