use serde::{Serialize, Deserialize}; use rocket_contrib::json::Json; use diesel::prelude::*; use crate::DbConn; use crate::models::users::{UserInfo, LocalUser, User}; #[derive(Debug, Serialize, Deserialize)] struct AuthClaims { jti: String, sub: String, exp: usize, iat: usize, } #[derive(Debug, Serialize)] pub struct AuthTokenResponse { token: String } #[derive(Debug, Deserialize)] pub struct AuthTokenRequest { user: String, password: String, } #[post("/users/me/token", data = "")] pub fn create_auth_token(conn: DbConn, auth_request: Json) -> Json { use crate::schema::localuser::dsl::*; use crate::schema::user::dsl::*; let client_user: Result<(User, LocalUser), _> = user.inner_join(localuser).filter(username.eq(&auth_request.user)).get_result(&*conn); println!("{:?}", client_user); Json(AuthTokenResponse { token: "".into() }) } /* GET /users -> list all users POST /users { provider: local ... } /users// */