account/src/json_api/oauth/generate_token.rs
kitten 038f720f81
Some checks failed
Build and Test / account (push) Failing after 50s
revert
2026-06-07 18:25:45 +02:00

27 lines
No EOL
727 B
Rust

use chrono::{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)]
pub struct TokenData{
token: String,
expiry: NaiveDateTime
}
#[get("/api/v2/oauth2/generate_token")]
pub async fn generate_token(pool: &State<Pool>, auth: Auth<false>) -> Json<TokenData>{
let pool = pool.inner();
Json(
TokenData{
expiry: Utc::now().naive_utc() + Duration::hours(1),
token: create_token(pool, auth.pid, AUTH_TOKEN, None).await,
}
)
}