dialtone_axum 0.1.0

Dialtone Axum Back-end
Documentation
use axum::{
    routing::{get, post, put},
    Router,
};

use dialtone_common::rest::api_paths::API_V1;

use dialtone_common::rest::api_paths::path::*;

use crate::api_v1::authenticate_handlers::post_authenticate_handler;
use crate::api_v1::names_handlers::get_name;
use crate::api_v1::sites_handlers::get_site_handler;

use super::{
    actor_handlers::{
        default_handlers::put_default_actor_handler,
        owned_handlers::{
            get_owned_actor_handler, post_owned_actor_handler, put_owned_actor_handler,
        },
        public_handlers::get_public_actor_handler,
        sysinfo_handlers::{get_actor_sysinfo_handler, put_actor_sysinfo_handler},
    },
    actor_pages_handlers::{
        all_pages_handlers::get_all_actor_pages_handler,
        by_host_handlers::get_all_actors_by_host_handler,
        by_owner_handlers::get_actor_pages_by_owner_handler,
    },
    ap_object_handlers::{
        owned::{
            get_owned_ap_object_handler, post_owned_ap_object_handler, put_owned_ap_object_handler,
        },
        public_handlers::get_ap_object_handler,
        sysdata_handlers::put_ap_object_sysdata_handler,
        sysinfo_handlers::get_ap_object_sysinfo_handler,
        visibility_handler::put_ap_object_visibility_handler,
    },
    ap_object_pages_handlers::{
        by_actor_handlers::get_ap_object_pages_by_actor_handler,
        by_host_handlers::get_ap_object_pages_by_host_handler,
        owned_by_actor_handlers::get_owned_ap_object_pages_by_actor_handler,
    },
    user_handlers::{
        password_handlers::put_user_password_handler,
        prefs_handlers::put_user_prefs_handler,
        status_handlers::put_user_status_handler,
        sysdata_handlers::put_user_sysdata_handler,
        sysinfo_handlers::get_user_sysinfo_handler,
        webuser_handlers::{get_user_handler, post_user_handler},
    },
    user_page_handlers::page_handlers::get_user_page_handler,
};

pub fn api_v1_routes() -> (String, Router) {
    let router = Router::new()
        // sites
        .route(SITES, get(get_site_handler))
        // users
        .route(USER, get(get_user_handler))
        .route(USER, post(post_user_handler))
        .route(USER__PASSWORD, put(put_user_password_handler))
        .route(USER__STATUS, put(put_user_status_handler))
        .route(USER__PREFS, put(put_user_prefs_handler))
        .route(USER__SYSINFO, get(get_user_sysinfo_handler))
        .route(USER__SYSDATA, put(put_user_sysdata_handler))
        // user pages
        .route(USER_PAGES, get(get_user_page_handler))
        // authenticate
        .route(AUTHENTICATE, post(post_authenticate_handler))
        // actors
        .route(ACTOR, get(get_public_actor_handler))
        .route(ACTOR__OWNED, post(post_owned_actor_handler))
        .route(ACTOR__OWNED, get(get_owned_actor_handler))
        .route(ACTOR__OWNED, put(put_owned_actor_handler))
        .route(ACTOR__DEFAULT, put(put_default_actor_handler))
        .route(ACTOR__SYSINFO, get(get_actor_sysinfo_handler))
        .route(ACTOR__SYSINFO, put(put_actor_sysinfo_handler))
        // actor pages
        .route(ACTOR_PAGES__ALL_OWNED, get(get_all_actor_pages_handler))
        .route(ACTOR_PAGES__BY_OWNER, get(get_actor_pages_by_owner_handler))
        .route(ACTOR_PAGES__BY_HOST, get(get_all_actors_by_host_handler))
        // names
        // .route(NAME, get(get_name))
        .route(NAME, get(get_name))
        // ap objects
        .route(AP_OBJECT, get(get_ap_object_handler))
        .route(AP_OBJECT__OWNED, post(post_owned_ap_object_handler))
        .route(AP_OBJECT__OWNED, put(put_owned_ap_object_handler))
        .route(AP_OBJECT__OWNED, get(get_owned_ap_object_handler))
        .route(AP_OBJECT__SYSINFO, get(get_ap_object_sysinfo_handler))
        .route(AP_OBJECT__SYSDATA, put(put_ap_object_sysdata_handler))
        .route(AP_OBJECT__VISIBILITY, put(put_ap_object_visibility_handler))
        // ap object pages
        .route(
            AP_OBJECT_PAGES__BY_ACTOR,
            get(get_ap_object_pages_by_actor_handler),
        )
        .route(
            AP_OBJECT_PAGES__BY_HOST,
            get(get_ap_object_pages_by_host_handler),
        )
        .route(
            AP_OBJECT_PAGES__OWNED_BY_ACTOR,
            get(get_owned_ap_object_pages_by_actor_handler),
        );
    (API_V1.to_string(), router)
}