chore: update query list
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user