survey/src/api/v1/mod.rs

45 lines
1 KiB
Rust
Raw Normal View History

2023-11-01 17:12:16 +05:30
// Copyright (C) 2021 Aravinth Manivannan <realaravinth@batsense.net>
// SPDX-FileCopyrightText: 2023 Aravinth Manivannan <realaravinth@batsense.net>
//
// SPDX-License-Identifier: AGPL-3.0-or-later
2021-10-04 21:21:10 +05:30
use actix_web::web::ServiceConfig;
use serde::Deserialize;
use sqlx::types::Uuid;
2021-10-04 21:21:10 +05:30
2021-10-11 13:41:36 +05:30
pub mod admin;
2021-10-10 19:23:48 +05:30
pub mod bench;
pub mod mcaptcha;
2021-10-04 21:21:10 +05:30
mod meta;
pub mod routes;
pub use routes::ROUTES;
pub fn services(cfg: &mut ServiceConfig) {
meta::services(cfg);
2021-10-10 19:23:48 +05:30
bench::services(cfg);
2021-10-11 13:41:36 +05:30
admin::services(cfg);
mcaptcha::services(cfg);
2021-10-04 21:21:10 +05:30
}
pub fn get_random(len: usize) -> String {
use rand::{distributions::Alphanumeric, rngs::ThreadRng, thread_rng, Rng};
use std::iter;
let mut rng: ThreadRng = thread_rng();
iter::repeat(())
.map(|()| rng.sample(Alphanumeric))
.map(char::from)
.take(len)
.collect::<String>()
}
pub fn get_uuid() -> Uuid {
Uuid::parse_str(&uuid::Uuid::new_v4().to_string()).unwrap()
2021-10-04 21:21:10 +05:30
}
#[derive(Deserialize)]
pub struct RedirectQuery {
pub redirect_to: Option<String>,
}