Реализованы все требуемые эндпоинты schedule.

Улучшена документация.
This commit is contained in:
2025-03-28 23:24:37 +04:00
parent 30c985a3d7
commit 680419ea78
32 changed files with 998 additions and 257 deletions

View File

@@ -30,7 +30,7 @@ pub mod users {
.select(User::as_select())
.first(con)
}
pub fn get_by_vk_id(
connection: &Mutex<PgConnection>,
_vk_id: i32,
@@ -72,6 +72,14 @@ pub mod users {
}
}
pub fn insert(connection: &Mutex<PgConnection>, user: &User) -> QueryResult<usize> {
let mut lock = connection.lock().unwrap();
let con = lock.deref_mut();
insert_into(users).values(user).execute(con)
}
#[cfg(test)]
pub fn delete_by_username(connection: &Mutex<PgConnection>, _username: &String) -> bool {
let mut lock = connection.lock().unwrap();
let con = lock.deref_mut();
@@ -81,14 +89,8 @@ pub mod users {
Err(_) => false,
}
}
pub fn insert(connection: &Mutex<PgConnection>, user: &User) -> QueryResult<usize> {
let mut lock = connection.lock().unwrap();
let con = lock.deref_mut();
insert_into(users).values(user).execute(con)
}
#[cfg(test)]
pub fn insert_or_ignore(connection: &Mutex<PgConnection>, user: &User) -> QueryResult<usize> {
let mut lock = connection.lock().unwrap();
let con = lock.deref_mut();

View File

@@ -35,12 +35,27 @@ pub enum UserRole {
#[diesel(table_name = crate::database::schema::users)]
#[diesel(treat_none_as_null = true)]
pub struct User {
/// UUID аккаунта
pub id: String,
/// Имя пользователя
pub username: String,
/// BCrypt хеш пароля
pub password: String,
/// Идентификатор привязанного аккаунта VK
pub vk_id: Option<i32>,
/// JWT токен доступа
pub access_token: String,
/// Группа
pub group: String,
/// Роль
pub role: UserRole,
/// Версия установленного приложения Polytechnic+
pub version: String,
}