bitmine/src/main.rs
Ivan I. Ovchinnikov 32d57b9eaf basic redmine tasks
2026-03-13 22:35:39 +03:00

38 lines
1.2 KiB
Rust

use axum::{Router, routing::get};
use std::net::SocketAddr;
use tokio::net::TcpListener;
use tracing_subscriber::{layer::SubscriberExt, util::SubscriberInitExt};
// Объявление модулей
pub mod config;
pub mod handlers;
pub mod models;
pub mod services;
#[tokio::main]
async fn main() {
// Инициализация логгера
tracing_subscriber::registry()
.with(tracing_subscriber::EnvFilter::new(
std::env::var("RUST_LOG").unwrap_or_else(|_| "info".into()),
))
.init();
// Загрузка переменных окружения
dotenvy::dotenv().ok();
// Маршрутизация
let app = Router::new()
.route("/", get(handlers::index))
.route("/api/redmine", get(handlers::test_redmine))
.route("/api/redmine/tasks", get(handlers::get_redmine_tasks))
.route("/api/bitrix/tasks", get(handlers::get_bitrix_tasks));
// Запуск сервера (axum 0.7 API)
let addr = SocketAddr::from(([127, 0, 0, 1], 3000));
tracing::info!("Listening on {}", addr);
let listener = TcpListener::bind(addr).await.unwrap();
axum::serve(listener, app).await.unwrap();
}