64 lines
No EOL
2.2 KiB
Rust
64 lines
No EOL
2.2 KiB
Rust
use utoipa::OpenApi;
|
|
|
|
use crate::{controller, db, entity, error};
|
|
|
|
#[derive(OpenApi)]
|
|
#[openapi(
|
|
info(
|
|
title = "PGG API",
|
|
description = "API for the PGG (Peer Group Grading) application",
|
|
version = "0.0.1-rc1",
|
|
),
|
|
paths(
|
|
controller::auth::login,
|
|
controller::auth::logout,
|
|
controller::project::get_projects,
|
|
controller::project::get_project,
|
|
controller::project::create_project,
|
|
controller::project::update_project,
|
|
controller::project::delete_project,
|
|
controller::user::get_users,
|
|
controller::user::get_user,
|
|
controller::user::create_user,
|
|
controller::user::update_user,
|
|
controller::user::delete_user,
|
|
controller::group::get_groups,
|
|
controller::group::get_groups_for_project,
|
|
controller::group::create_group,
|
|
controller::group::update_group,
|
|
controller::group::delete_group,
|
|
controller::class::get_classes,
|
|
controller::class::get_class,
|
|
controller::class::create_class,
|
|
controller::class::update_class,
|
|
controller::class::delete_class,
|
|
controller::template::get_templates,
|
|
controller::template::get_template,
|
|
controller::template::create_template,
|
|
controller::template::update_template,
|
|
controller::template::delete_template,
|
|
),
|
|
components(schemas(
|
|
controller::auth::LoginRequest,
|
|
error::MessageResponse,
|
|
db::project::CreateProject,
|
|
controller::user::CreateUser,
|
|
entity::project::Model,
|
|
entity::user::Model,
|
|
)),
|
|
tags(
|
|
(name = "auth", description = "Authentication endpoints"),
|
|
(name = "users", description = "User management endpoints"),
|
|
(name = "projects", description = "Project management endpoints"),
|
|
(name = "groups", description = "Group management endpoints (Not Implemented)"),
|
|
(name = "classes", description = "Class management endpoints (Not Implemented)"),
|
|
(name = "templates", description = "Template management endpoints (Not Implemented)"),
|
|
)
|
|
)]
|
|
pub struct ApiDoc;
|
|
|
|
impl ApiDoc {
|
|
pub fn openapi_spec() -> utoipa::openapi::OpenApi {
|
|
Self::openapi()
|
|
}
|
|
} |