chore: update query list

This commit is contained in:
Maulana Sodiqin
2025-05-20 16:57:45 +07:00
parent 055ef6ac8e
commit d906fc4747
18 changed files with 165 additions and 1139 deletions
@@ -38,7 +38,7 @@ impl GachaClaimItemDto {
Self {
id: dto.id.id.to_raw(),
user: UsersDetailItemDto::from(&dto.user),
item: GachaItemDto::from(&dto.item),
item: GachaItemDto::from(dto.item.clone()),
is_deleted: dto.is_deleted,
created_at: dto.created_at.clone(),
updated_at: dto.updated_at.clone(),
@@ -21,7 +21,7 @@ pub struct GachaItemDto {
}
impl GachaItemDto {
pub fn from(dto: &GachaItemSchema) -> Self {
pub fn from(dto: GachaItemSchema) -> Self {
Self {
id: dto.id.id.to_raw(),
name: dto.name.clone(),
@@ -1,9 +1,10 @@
use super::GachaItemSchema;
use crate::{
AppState, GachaItemDto, MetaRequestDto, ResourceEnum, ResponseListSuccessDto,
get_id, make_thing, query_list_with_meta,
get_id, make_thing,
};
use anyhow::{Result, bail};
use imphnen_iam::QueryListBuilder;
pub struct GachaItemRepository<'a> {
state: &'a AppState,
@@ -19,24 +20,23 @@ impl<'a> GachaItemRepository<'a> {
meta: MetaRequestDto,
) -> Result<ResponseListSuccessDto<Vec<GachaItemDto>>> {
let raw_result: ResponseListSuccessDto<Vec<GachaItemSchema>> =
query_list_with_meta(
QueryListBuilder::new(
&self.state.surrealdb_ws,
&ResourceEnum::GachaItems.to_string(),
&meta,
vec!["is_deleted = false".into()],
None,
"name",
Some(vec!["*"]),
None,
)
.with_condition("is_deleted = false")
.search_field("name")
.select_fields(vec!["*"])
.build()
.await?;
let transformed_data = raw_result
let data = raw_result
.data
.into_iter()
.map(|gacha_item| GachaItemDto::from(&gacha_item))
.map(GachaItemDto::from)
.collect();
Ok(ResponseListSuccessDto {
data: transformed_data,
data,
meta: raw_result.meta,
})
}
@@ -31,7 +31,7 @@ impl GachaItemService {
let repo = GachaItemRepository::new(state);
match repo.query_gacha_item_by_id(id).await {
Ok(item) => success_response(ResponseSuccessDto {
data: GachaItemDto::from(&item),
data: GachaItemDto::from(item),
}),
Err(e) => common_response(StatusCode::NOT_FOUND, &e.to_string()),
}
@@ -29,7 +29,7 @@ impl GachaRollItemDto {
pub fn from(dto: &GachaRollQueryDto) -> Self {
Self {
id: dto.id.id.to_raw(),
item: GachaItemDto::from(&dto.item),
item: GachaItemDto::from(dto.item.clone()),
weight: dto.weight.to_string(),
quantity: dto.quantity,
is_deleted: dto.is_deleted,