hmmmm part 2

This commit is contained in:
ItsMalma
2026-01-08 21:25:57 +07:00
parent 6e9624751e
commit 2ad76e94d4
2 changed files with 0 additions and 43 deletions

View File

@@ -1,5 +1,4 @@
import type { Order } from "@/database/entities/order.entity";
import { RoomType } from "@/database/enums/room-type.enum";
import type { OrderResponse } from "@/modules/order/order.types";
import type { PackageMapper } from "@/modules/package/package.mapper";
import type { PartnerMapper } from "@/modules/partner/partner.mapper";
@@ -11,44 +10,11 @@ export class OrderMapper {
) {}
public mapEntityToResponse(order: Order): OrderResponse {
const details: OrderResponse["details"] = [];
let totalPrice = 0;
for (const detail of order.details) {
let price = 0;
switch (detail.roomType) {
case RoomType.double:
price = order.package.doublePrice;
break;
case RoomType.triple:
price = order.package.triplePrice;
break;
case RoomType.quad:
price = order.package.quadPrice;
break;
case RoomType.infant:
price = order.package.infantPrice ?? 0;
break;
}
details.push({
price,
room_type: detail.roomType,
});
totalPrice += price;
}
return {
id: order.id,
package: this.packageMapper.mapDetailEntityToResponse(order.package),
name: order.name,
whatsapp: order.whatsapp,
details,
total_price: totalPrice,
is_verified: order.verification === null,
partner: order.partner
? this.partnerMapper.mapEntityToResponse(order.partner)
: null,
expired_at: order.expiredAt,
purchased_at: order.purchasedAt,
finished_at: order.finishedAt,

View File

@@ -1,10 +1,8 @@
import type { RoomType } from "@/database/enums/room-type.enum";
import type {
orderParamsSchema,
orderRequestSchema,
} from "@/modules/order/order.schemas";
import type { PackageDetailResponse } from "@/modules/package/package.types";
import type { PartnerResponse } from "@/modules/partner/partner.types";
import z from "zod";
export type OrderRequest = z.infer<typeof orderRequestSchema>;
@@ -16,13 +14,6 @@ export type OrderResponse = {
package: PackageDetailResponse;
name: string;
whatsapp: string;
details: {
room_type: RoomType;
price: number;
}[];
total_price: number;
is_verified: boolean;
partner: PartnerResponse | null;
expired_at: Date | null;
purchased_at: Date | null;
finished_at: Date | null;