feat: implement surrealdb and redis

This commit is contained in:
Maulana Sodiqin
2025-02-25 02:00:19 +07:00
parent 9abab01b9c
commit 44de53a49d
18 changed files with 2501 additions and 137 deletions
+9 -4
View File
@@ -1,6 +1,11 @@
use super::{mutation_login, AuthLoginRequestDto};
use axum::{response::Response, Json};
use axum::{response::IntoResponse, Extension, Json};
pub async fn post_login(Json(payload): Json<AuthLoginRequestDto>) -> Response {
mutation_login(payload).await
use super::{mutation_login, AuthLoginRequestDto};
use crate::AppState;
pub async fn post_login(
Extension(state): Extension<AppState>,
Json(payload): Json<AuthLoginRequestDto>,
) -> impl IntoResponse {
mutation_login(payload, &state).await
}
+24 -2
View File
@@ -1,8 +1,30 @@
use super::auth_dto::AuthLoginRequestDto;
use crate::{success_response, ResponseSuccessDto};
use crate::{success_response, AppState, ResponseSuccessDto};
use axum::response::Response;
pub async fn mutation_login(params: AuthLoginRequestDto) -> Response {
const USERS_KEY: &str = "users";
pub async fn mutation_login(
params: AuthLoginRequestDto,
state: &AppState,
) -> Response {
let _users: Option<AuthLoginRequestDto> = state
.surrealdb
.select((USERS_KEY, &*params.email))
.await
.unwrap();
let mut redis_conn = state
.redisdb
.get_connection()
.expect("failed to get connection");
redis::cmd("SET")
.arg("some_key")
.arg("some_value")
.query::<()>(&mut redis_conn)
.expect("failed to set value");
let response = ResponseSuccessDto {
data: AuthLoginRequestDto {
email: params.email,