106 lines
2.8 KiB
Swift
106 lines
2.8 KiB
Swift
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]
|
|
}
|