feat(gift): 선물 표시 정책을 추가한다
This commit is contained in:
@@ -0,0 +1,105 @@
|
||||
import Foundation
|
||||
|
||||
enum GiftDirection: String, Decodable {
|
||||
case sent = "SENT"
|
||||
case received = "RECEIVED"
|
||||
}
|
||||
|
||||
enum GiftStatus: String, Decodable, CaseIterable {
|
||||
case received = "RECEIVED"
|
||||
case trackingRegistered = "TRACKING_REGISTERED"
|
||||
case arrivedAtMailbox = "ARRIVED_AT_MAILBOX"
|
||||
case inspectionCompleted = "INSPECTION_COMPLETED"
|
||||
case delivered = "DELIVERED"
|
||||
case undeliverable = "UNDELIVERABLE"
|
||||
case canceled = "CANCELED"
|
||||
}
|
||||
|
||||
enum GiftProgressStep: String, CaseIterable {
|
||||
case received = "RECEIVED"
|
||||
case trackingRegistered = "TRACKING_REGISTERED"
|
||||
case arrivedAtMailbox = "ARRIVED_AT_MAILBOX"
|
||||
case inspectionCompleted = "INSPECTION_COMPLETED"
|
||||
case delivered = "DELIVERED"
|
||||
|
||||
var title: String {
|
||||
switch self {
|
||||
case .received:
|
||||
return "신청 접수"
|
||||
case .trackingRegistered:
|
||||
return "발송 확인"
|
||||
case .arrivedAtMailbox:
|
||||
return "사서함 도착"
|
||||
case .inspectionCompleted:
|
||||
return "검수 완료"
|
||||
case .delivered:
|
||||
return "전달 완료"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
enum GiftSize: String, Decodable {
|
||||
case small = "SMALL"
|
||||
case medium = "MEDIUM"
|
||||
case large = "LARGE"
|
||||
}
|
||||
|
||||
struct GiftListStatusDisplayModel {
|
||||
let title: String
|
||||
let subtitle: String?
|
||||
}
|
||||
|
||||
struct GiftListCardDisplayModel {
|
||||
let applicationNo: String
|
||||
let direction: GiftDirection
|
||||
let status: GiftStatus
|
||||
let counterpartNickname: String
|
||||
let counterpartProfileImageUrl: String?
|
||||
let categoryName: String
|
||||
let sizeName: String
|
||||
let createdDateText: String?
|
||||
let statusDisplay: GiftListStatusDisplayModel
|
||||
}
|
||||
|
||||
struct GiftProgressDisplayModel {
|
||||
let step: GiftProgressStep
|
||||
let occurredDateText: String?
|
||||
}
|
||||
|
||||
struct GiftAddressDisplayModel {
|
||||
let name: String
|
||||
let phoneNumber: String
|
||||
let address: String
|
||||
}
|
||||
|
||||
struct SentGiftDetailDisplayModel {
|
||||
let status: GiftStatus
|
||||
let statusName: String
|
||||
let undeliverableReason: String?
|
||||
let recipientCreatorNickname: String?
|
||||
let sizeName: String
|
||||
let categoryName: String
|
||||
let applicationNo: String
|
||||
let paidCan: Int?
|
||||
let tracking: String?
|
||||
let shippingRequestedDateText: String?
|
||||
let applicationDateText: String?
|
||||
let canceledDateText: String?
|
||||
let senderInfo: GiftAddressDisplayModel?
|
||||
let mailbox: GiftAddressDisplayModel?
|
||||
let trackingRequired: Bool
|
||||
let progress: [GiftProgressDisplayModel]
|
||||
}
|
||||
|
||||
struct ReceivedGiftDetailDisplayModel {
|
||||
let status: GiftStatus
|
||||
let statusName: String
|
||||
let undeliverableReason: String?
|
||||
let senderNickname: String?
|
||||
let sizeName: String
|
||||
let categoryName: String
|
||||
let shippingRequestedDateText: String?
|
||||
let recipientAddressRequired: Bool
|
||||
let recipientAddress: GiftAddressDisplayModel?
|
||||
let progress: [GiftProgressDisplayModel]
|
||||
}
|
||||
Reference in New Issue
Block a user