36 lines
1.0 KiB
Rust
36 lines
1.0 KiB
Rust
extern crate core;
|
|
|
|
use crate::user::handler::{create_new_user, delete_by_id, get_all_users, initialise, login, update_user, update_user_password};
|
|
use crate::user::validator::validator;
|
|
use actix_web::web::ServiceConfig;
|
|
use actix_web::{get, web, HttpResponse, Responder};
|
|
use actix_web_httpauth::middleware::HttpAuthentication;
|
|
|
|
pub mod user;
|
|
|
|
#[get("/health")]
|
|
async fn health() -> impl Responder {
|
|
"Ok!"
|
|
}
|
|
|
|
pub fn init(cfg: &mut ServiceConfig) {
|
|
cfg.service(health)
|
|
.service(health)
|
|
.service(initialise)
|
|
.service(login)
|
|
.service(
|
|
web::scope("")
|
|
.wrap(HttpAuthentication::bearer(validator))
|
|
.service(create_new_user)
|
|
.service(update_user)
|
|
.service(update_user_password)
|
|
.service(get_all_users)
|
|
.service(delete_by_id)
|
|
);
|
|
|
|
cfg.default_service(web::to(not_found));
|
|
}
|
|
|
|
async fn not_found() -> impl Responder {
|
|
HttpResponse::NotFound().finish()
|
|
} |