102 lines
1.5 KiB
Swift
102 lines
1.5 KiB
Swift
//
|
|
// OrderRequest.swift
|
|
// KissMe
|
|
//
|
|
// Created by ened-book-m1 on 2023/05/14.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
|
|
public protocol TokenRequest: AuthRequest {
|
|
var accessToken: String { get }
|
|
}
|
|
|
|
|
|
public protocol OrderRequest: TokenRequest {
|
|
var accountNo: String { get }
|
|
}
|
|
|
|
|
|
extension OrderRequest {
|
|
public var accountNo: String {
|
|
credential.accountNo
|
|
}
|
|
|
|
var accountNo8: String {
|
|
String(accountNo.prefix(8))
|
|
}
|
|
|
|
var accountNo2: String {
|
|
String(accountNo.suffix(2))
|
|
}
|
|
}
|
|
|
|
|
|
public enum OrderType {
|
|
case buy
|
|
case sell
|
|
}
|
|
|
|
|
|
public enum OrderDivision {
|
|
/// 지정가
|
|
case limits
|
|
|
|
/// 시장가
|
|
case marketPrice
|
|
|
|
var code: String {
|
|
switch self {
|
|
case .limits: return "00"
|
|
case .marketPrice: return "01"
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
public enum OrderRevisionType {
|
|
/// 정정
|
|
case modify
|
|
|
|
/// 취소
|
|
case cancel
|
|
|
|
var code: String {
|
|
switch self {
|
|
case .modify: return "01"
|
|
case .cancel: return "02"
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
public enum OverseasExchangeType: String {
|
|
/// 나스닥
|
|
case nasdaq = "NASD"
|
|
|
|
/// 뉴욕
|
|
case newyork = "NYSE"
|
|
|
|
/// 아멕스
|
|
case amex = "AMEX"
|
|
|
|
/// 홍콩
|
|
case hongkong = "SEHK"
|
|
|
|
/// 중국상해
|
|
case shanghai = "SHAA"
|
|
|
|
/// 중국심천
|
|
case shenzhen = "SZAA"
|
|
|
|
/// 일본
|
|
case tokyo = "TKSE"
|
|
|
|
/// 베트남 하노이
|
|
case hanoi = "HASE"
|
|
|
|
/// 베트남 호치민
|
|
case hochiminh = "VNSE"
|
|
}
|