/* * Copyright (C) 2022 Aravinth Manivannan * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ use actix_web::web; pub mod forms; pub mod meta; pub const API_V1_ROUTES: routes::Routes = routes::Routes::new(); #[derive(Debug, Clone, Eq, PartialEq)] pub struct SignedInUser(String); pub fn services(cfg: &mut web::ServiceConfig) { meta::services(cfg); forms::services(cfg); } pub mod routes { use crate::api::v1::forms::routes::Forms; use crate::api::v1::meta::routes::Meta; pub struct Routes { pub meta: Meta, pub forms: Forms, } impl Routes { pub const fn new() -> Self { Self { meta: Meta::new(), forms: Forms::new(), } } } }