diff --git a/backend/sql/schema.sql b/backend/sql/schema.sql index 107fd6f..8d8bd0a 100644 --- a/backend/sql/schema.sql +++ b/backend/sql/schema.sql @@ -11,9 +11,14 @@ CREATE TABLE person ( person_names VARCHAR(50) NOT NULL, person_paternal_surname VARCHAR(30) NOT NULL, person_maternal_surname VARCHAR(30) NOT NULL, - person_classroom_id INTEGER DEFAULT -1 + person_classroom_id INTEGER DEFAULT -1, + person_classroom_username VARCHAR(30) NULL DEFAULT NULL, ); +-- Add person_classroom_username +ALTER TABLE `person` ADD `person_classroom_username` VARCHAR(30) NULL DEFAULT NULL AFTER `person_classroom_id`; + + CREATE TABLE course ( course_id INTEGER PRIMARY KEY AUTO_INCREMENT, course_name VARCHAR(50) NOT NULL, diff --git a/backend/src/controller/person/mod.rs b/backend/src/controller/person/mod.rs index f9d9950..b6e9fc3 100644 --- a/backend/src/controller/person/mod.rs +++ b/backend/src/controller/person/mod.rs @@ -118,6 +118,7 @@ pub async fn get_by_dni(dni: i32) -> (Status, Json>) { person_paternal_surname: p.apellidoPaterno, person_maternal_surname: p.apellidoMaterno, person_classroom_id: None, + person_classroom_username: None, }), ); } diff --git a/backend/src/model/person.rs b/backend/src/model/person.rs index 9d3bbe8..8db3360 100644 --- a/backend/src/model/person.rs +++ b/backend/src/model/person.rs @@ -24,6 +24,7 @@ pub struct Person { pub person_maternal_surname: String, /// Id of the online classroom user id linked to this user pub person_classroom_id: Option, + pub person_classroom_username: Option, } impl Person { @@ -68,6 +69,7 @@ impl PersonCreate { pub struct PersonLink { pub person_id: i32, pub person_classroom_id: i32, + pub person_classroom_username: String, } impl PersonLink { @@ -75,8 +77,9 @@ impl PersonLink { let db = db(); let res = sqlx::query!( - "UPDATE person SET person_classroom_id = ? WHERE person_id = ?", + "UPDATE person SET person_classroom_id = ?, person_classroom_username = ? WHERE person_id = ?", self.person_classroom_id, + self.person_classroom_username, self.person_id, ) .execute(db) diff --git a/backend/src/online_classroom/create_user.rs b/backend/src/online_classroom/create_user.rs index 8b09fa2..44fecbb 100644 --- a/backend/src/online_classroom/create_user.rs +++ b/backend/src/online_classroom/create_user.rs @@ -38,6 +38,7 @@ pub async fn create(data: &ClassroomPersonCreate) -> Result let person_link = PersonLink { person_id: data.person_id, person_classroom_id: user_id, + person_classroom_username: data.person_username.clone(), }; let result = person_link.insert().await;