/*
 * This file is part of laurelin/api
 * Copyright (C) 2023 Jonni Liljamo <jonni@liljamo.com>
 *
 * Licensed under GPL-3.0-only.
 * See LICENSE for licensing information.
 */

use actix_session::Session;
use actix_web::{get, HttpResponse, Responder};

mod create;
pub(crate) use create::*;

mod login;
pub(crate) use login::*;

#[get("/api/user/logout")]
pub(crate) async fn logout(session: Session) -> impl Responder {
    // TODO: can anything here fail?
    // should we verify that the session was removed?
    session.purge();

    HttpResponse::NoContent()
}