diff --git a/src/json_api/oauth/generate_token.rs b/src/json_api/oauth/generate_token.rs index 95cfbc8..0aa7e27 100644 --- a/src/json_api/oauth/generate_token.rs +++ b/src/json_api/oauth/generate_token.rs @@ -1,14 +1,29 @@ +use chrono::{DateTime, Duration, NaiveDateTime, Utc}; use rocket::{get, State}; +use rocket::serde::json::Json; +use serde::Serialize; use crate::account::account::Auth; use crate::nnid::oauth::generate_token::create_token; use crate::nnid::oauth::generate_token::token_type::AUTH_TOKEN; use crate::Pool; +#[derive(Serialize)] +struct TokenData{ + token: String, + expiry: NaiveDateTime +} + #[get("/api/v2/oauth2/generate_token")] -pub async fn generate_token(pool: &State, auth: Auth) -> String{ +pub async fn generate_token(pool: &State, auth: Auth) -> Json{ let pool = pool.inner(); - create_token(pool, auth.pid, AUTH_TOKEN, None).await + Json( + TokenData{ + expiry: Utc::now().naive_utc() + Duration::hours(1), + token: create_token(pool, auth.pid, AUTH_TOKEN, None).await, + + } + ) } \ No newline at end of file