Working on DART api
This commit is contained in:
@@ -305,7 +305,115 @@ extension DomesticDart {
|
||||
}
|
||||
|
||||
|
||||
/// 주요사항보고서 주요정보 - 9
|
||||
/// 주요사항보고서 주요정보 - 9 채권은행 등의 관리절차 개시
|
||||
///
|
||||
public struct BondBankManagementProcedureStartRequest: DartRequest {
|
||||
public typealias KResult = BondBankManagementProcedureStartResult
|
||||
|
||||
public var url: String {
|
||||
"/api/bnkMngtPcbg.json"
|
||||
}
|
||||
public var method: Method { .get }
|
||||
public var header: [String : String?] {
|
||||
[:]
|
||||
}
|
||||
public var body: [String: Any] {
|
||||
return [
|
||||
"crtfc_key": openApiKey,
|
||||
"corp_code": corporationCode,
|
||||
"bgn_de": startDate.yyyyMMdd,
|
||||
"end_de": endDate.yyyyMMdd
|
||||
]
|
||||
}
|
||||
public var result: KResult? = nil
|
||||
|
||||
|
||||
public let openApiKey: String
|
||||
let corporationCode: String
|
||||
let startDate: Date
|
||||
let endDate: Date
|
||||
|
||||
public init(openApiKey: String, corporationCode: String, startDate: Date, endDate: Date) {
|
||||
self.openApiKey = openApiKey
|
||||
self.corporationCode = corporationCode
|
||||
self.startDate = startDate
|
||||
self.endDate = endDate
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// 주요사항보고서 주요정보 - 10 소송 등의 제기
|
||||
///
|
||||
public struct LawsuitLodgeRequest: DartRequest {
|
||||
public typealias KResult = LawsuitLodgeResult
|
||||
|
||||
public var url: String {
|
||||
"/api/lwstLg.json"
|
||||
}
|
||||
public var method: Method { .get }
|
||||
public var header: [String : String?] {
|
||||
[:]
|
||||
}
|
||||
public var body: [String: Any] {
|
||||
return [
|
||||
"crtfc_key": openApiKey,
|
||||
"corp_code": corporationCode,
|
||||
"bgn_de": startDate.yyyyMMdd,
|
||||
"end_de": endDate.yyyyMMdd
|
||||
]
|
||||
}
|
||||
public var result: KResult? = nil
|
||||
|
||||
|
||||
public let openApiKey: String
|
||||
let corporationCode: String
|
||||
let startDate: Date
|
||||
let endDate: Date
|
||||
|
||||
public init(openApiKey: String, corporationCode: String, startDate: Date, endDate: Date) {
|
||||
self.openApiKey = openApiKey
|
||||
self.corporationCode = corporationCode
|
||||
self.startDate = startDate
|
||||
self.endDate = endDate
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// 주요사항보고서 주요정보 - 11 해외 증권시장 주권등 상장 결정
|
||||
///
|
||||
public struct OverseaListingDecisionRequest: DartRequest {
|
||||
public typealias KResult = OverseaListingDecisionResult
|
||||
|
||||
public var url: String {
|
||||
"/api/ovLstDecsn.json"
|
||||
}
|
||||
public var method: Method { .get }
|
||||
public var header: [String : String?] {
|
||||
[:]
|
||||
}
|
||||
public var body: [String: Any] {
|
||||
return [
|
||||
"crtfc_key": openApiKey,
|
||||
"corp_code": corporationCode,
|
||||
"bgn_de": startDate.yyyyMMdd,
|
||||
"end_de": endDate.yyyyMMdd
|
||||
]
|
||||
}
|
||||
public var result: KResult? = nil
|
||||
|
||||
|
||||
public let openApiKey: String
|
||||
let corporationCode: String
|
||||
let startDate: Date
|
||||
let endDate: Date
|
||||
|
||||
public init(openApiKey: String, corporationCode: String, startDate: Date, endDate: Date) {
|
||||
self.openApiKey = openApiKey
|
||||
self.corporationCode = corporationCode
|
||||
self.startDate = startDate
|
||||
self.endDate = endDate
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -855,33 +963,59 @@ extension DomesticDart {
|
||||
/// 회사명
|
||||
public let corporationName: String
|
||||
/// 감자주식의 종류와 수(보통주식 (주))
|
||||
public let capitalReduction_IssuedTotalCommonStock: String
|
||||
/// 감자주식의 종류와 수(기타주식 (주))
|
||||
public let capitalReduction_IssuedTotalEtcStock: String
|
||||
/// 1주당 액면가액 (원)
|
||||
public let stockFacePrice: String
|
||||
/// 감자전후 자본금(감자전 (원))
|
||||
public let beforeDecrease_Capital: String
|
||||
/// 감자전후 자본금(감자후 (원))
|
||||
public let afterDecrease_Capital: String
|
||||
/// 감자전후 발행주식수(보통주식 (주)(감자전 (원)))
|
||||
public let beforeDecrease_IssuedTotalCommonStock: String
|
||||
/// 감자전후 발행주식수(보통주식 (주)(감자후 (원)))
|
||||
public let afterDecrease_IssuedTotalCommonStock: String
|
||||
/// 감자전후 발행주식수(기타주식 (주)(감자전 (원)))
|
||||
public let beforeDecrease_IssuedTotalEtcStock: String
|
||||
/// 감자전후 발행주식수(기타주식 (주)(감자후 (원)))
|
||||
public let afterDecrease_IssuedTotalEtcStock: String
|
||||
/// 감자비율(보통주식 (%))
|
||||
public let captialReduction_CommonStockRatio: String
|
||||
/// 감자비율(기타주식 (%))
|
||||
public let capitalReduction_EtcStockRatio: String
|
||||
/// 감자기준일
|
||||
public let capitalReduction_AssignDate: String
|
||||
/// 감자방법
|
||||
public let capitalReduction_Method: String
|
||||
/// 감자사유
|
||||
public let capitalReduction_Reason: String
|
||||
/// 감자일정(주주총회 예정일)
|
||||
public let stockHolderGeneralMeeting_ScheduleDate: String
|
||||
/// 감자일정(명의개서정지기간)
|
||||
public let stockHolderTrasfer_SuspensionPeriod: String
|
||||
/// 감자일정(구주권 제출기간)
|
||||
public let oldStockRight_SubmitPeriod: String
|
||||
/// 감자일정(매매거래 정지예정기간)
|
||||
public let tradingSuspension_SchedulePeriod: String
|
||||
/// 감자일정(구주권 제출기간(시작일))
|
||||
public let oldStockRight_SubmitStartDate: String
|
||||
/// 감자일정(구주권 제출기간(종료일))
|
||||
public let oldStockRight_SubmitEndDate: String
|
||||
/// 감자일정(매매거래 정지예정기간(시작일))
|
||||
public let tradingSuspension_ScheduleStartDate: String
|
||||
/// 감자일정(매매거래 정지예정기간(종료일))
|
||||
public let tradingSuspension_ScheduleEndDate: String
|
||||
/// 감자일정(신주권교부예정일)
|
||||
public let newStock_DistributionScheduleDate: String
|
||||
/// 감자일정(신주상장예정일)
|
||||
public let newStock_ListingScheduleDate: String
|
||||
/// 채권자 이의제출기간(시작일)
|
||||
public let creditorObjections_SubmitStartDate: String
|
||||
/// 채권자 이의제출기간(종료일)
|
||||
public let creditorObjections_SubmitEndDate: String
|
||||
/// 구주권제출 및 신주권교부장소
|
||||
|
||||
public let newStock_DistributionPlace: String
|
||||
/// 이사회결의일(결정일)
|
||||
public let directorateDecisionDate: String
|
||||
/// 사외이사 참석여부(참석)
|
||||
@@ -898,33 +1032,33 @@ extension DomesticDart {
|
||||
case marketType = "corp_cls"
|
||||
case corporationCode = "corp_code"
|
||||
case corporationName = "corp_name"
|
||||
case = "crstk_ostk_cnt"
|
||||
case = "crstk_estk_cnt"
|
||||
case = "fv_ps"
|
||||
case = "bfcr_cpt"
|
||||
case = "atcr_cpt"
|
||||
case = "bfcr_tisstk_ostk"
|
||||
case = "atcr_tisstk_ostk"
|
||||
case = "bfcr_tisstk_estk"
|
||||
case = "atcr_tisstk_estk"
|
||||
case = "cr_rt_ostk"
|
||||
case = "cr_rt_estk"
|
||||
case = "cr_std"
|
||||
case = "cr_mth"
|
||||
case = "cr_rs"
|
||||
case = "crsc_gmtsck_prd"
|
||||
case = "crsc_trnmsppd"
|
||||
case = "crsc_osprpd"
|
||||
case = "crsc_trspprpd"
|
||||
case = "crsc_osprpd_bgd"
|
||||
case = "crsc_osprpd_edd"
|
||||
case = "crsc_trspprpd_bgd"
|
||||
case = "crsc_trspprpd_edd"
|
||||
case = "crsc_nstkdlprd"
|
||||
case = "crsc_nstklstprd"
|
||||
case = "cdobprpd_bgd"
|
||||
case = "cdobprpd_edd"
|
||||
case = "ospr_nstkdl_pl"
|
||||
case capitalReduction_IssuedTotalCommonStock = "crstk_ostk_cnt"
|
||||
case capitalReduction_IssuedTotalEtcStock = "crstk_estk_cnt"
|
||||
case stockFacePrice = "fv_ps"
|
||||
case beforeDecrease_Capital = "bfcr_cpt"
|
||||
case afterDecrease_Capital = "atcr_cpt"
|
||||
case beforeDecrease_IssuedTotalCommonStock = "bfcr_tisstk_ostk"
|
||||
case afterDecrease_IssuedTotalCommonStock = "atcr_tisstk_ostk"
|
||||
case beforeDecrease_IssuedTotalEtcStock = "bfcr_tisstk_estk"
|
||||
case afterDecrease_IssuedTotalEtcStock = "atcr_tisstk_estk"
|
||||
case captialReduction_CommonStockRatio = "cr_rt_ostk"
|
||||
case capitalReduction_EtcStockRatio = "cr_rt_estk"
|
||||
case capitalReduction_AssignDate = "cr_std"
|
||||
case capitalReduction_Method = "cr_mth"
|
||||
case capitalReduction_Reason = "cr_rs"
|
||||
case stockHolderGeneralMeeting_ScheduleDate = "crsc_gmtsck_prd"
|
||||
case stockHolderTrasfer_SuspensionPeriod = "crsc_trnmsppd"
|
||||
case oldStockRight_SubmitPeriod = "crsc_osprpd"
|
||||
case tradingSuspension_SchedulePeriod = "crsc_trspprpd"
|
||||
case oldStockRight_SubmitStartDate = "crsc_osprpd_bgd"
|
||||
case oldStockRight_SubmitEndDate = "crsc_osprpd_edd"
|
||||
case tradingSuspension_ScheduleStartDate = "crsc_trspprpd_bgd"
|
||||
case tradingSuspension_ScheduleEndDate = "crsc_trspprpd_edd"
|
||||
case newStock_DistributionScheduleDate = "crsc_nstkdlprd"
|
||||
case newStock_ListingScheduleDate = "crsc_nstklstprd"
|
||||
case creditorObjections_SubmitStartDate = "cdobprpd_bgd"
|
||||
case creditorObjections_SubmitEndDate = "cdobprpd_edd"
|
||||
case newStock_DistributionPlace = "ospr_nstkdl_pl"
|
||||
case directorateDecisionDate = "bddd"
|
||||
case outsideDirectorsAttended = "od_a_at_t"
|
||||
case outsideDirectorsAbsent = "od_a_at_b"
|
||||
@@ -933,4 +1067,185 @@ extension DomesticDart {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public struct BondBankManagementProcedureStartResult: Codable {
|
||||
public let result: Result
|
||||
|
||||
public struct Result: Codable {
|
||||
public let status: String
|
||||
public let message: String
|
||||
public let list: [Item]
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case status
|
||||
case message
|
||||
case list
|
||||
}
|
||||
}
|
||||
|
||||
public struct Item: Codable {
|
||||
/// 접수번호
|
||||
public let receiptNo: String
|
||||
/// 법인구분
|
||||
public let marketType: MarketType
|
||||
/// 고유번호
|
||||
public let corporationCode: String
|
||||
/// 회사명
|
||||
public let corporationName: String
|
||||
/// 관리절차개시 결정일자
|
||||
public let managementProcedureStart_DecisionDate: String
|
||||
/// 관리기관
|
||||
public let managementInstitution: String
|
||||
/// 관리기간
|
||||
public let managementPeriod: String
|
||||
/// 관리사유
|
||||
public let managementReason: String
|
||||
/// 확인일자
|
||||
public let confirmDate: String
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case receiptNo = "rcept_no"
|
||||
case marketType = "corp_cls"
|
||||
case corporationCode = "corp_code"
|
||||
case corporationName = "corp_name"
|
||||
case managementProcedureStart_DecisionDate = "mngt_pcbg_dd"
|
||||
case managementInstitution = "mngt_int"
|
||||
case managementPeriod = "mngt_pd"
|
||||
case managementReason = "mngt_rs"
|
||||
case confirmDate = "cfd"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public struct LawsuitLodgeResult: Codable {
|
||||
public let result: Result
|
||||
|
||||
public struct Result: Codable {
|
||||
public let status: String
|
||||
public let message: String
|
||||
public let list: [Item]
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case status
|
||||
case message
|
||||
case list
|
||||
}
|
||||
}
|
||||
|
||||
public struct Item: Codable {
|
||||
/// 접수번호
|
||||
public let receiptNo: String
|
||||
/// 법인구분
|
||||
public let marketType: MarketType
|
||||
/// 고유번호
|
||||
public let corporationCode: String
|
||||
/// 회사명
|
||||
public let corporationName: String
|
||||
/// 사건의 명칭
|
||||
public let incidentName: String
|
||||
/// 원고ㆍ신청인
|
||||
public let accuserPetitioner: String
|
||||
/// 청구내용
|
||||
public let requestContent: String
|
||||
/// 관할법원
|
||||
public let competentCourt: String
|
||||
/// 향후대책
|
||||
public let countermeasures: String
|
||||
/// 제기일자
|
||||
public let lodgeDate: String
|
||||
/// 확인일자
|
||||
public let confirmDate: String
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case receiptNo = "rcept_no"
|
||||
case marketType = "corp_cls"
|
||||
case corporationCode = "corp_code"
|
||||
case corporationName = "corp_name"
|
||||
case incidentName = "icnm"
|
||||
case accuserPetitioner = "ac_ap"
|
||||
case requestContent = "rq_cn"
|
||||
case competentCourt = "cpct"
|
||||
case countermeasures = "ft_ctp"
|
||||
case lodgeDate = "lgd"
|
||||
case confirmDate = "cfd"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public struct OverseaListingDecisionResult: Codable {
|
||||
public let result: Result
|
||||
|
||||
public struct Result: Codable {
|
||||
public let status: String
|
||||
public let message: String
|
||||
public let list: [Item]
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case status
|
||||
case message
|
||||
case list
|
||||
}
|
||||
}
|
||||
|
||||
public struct Item: Codable {
|
||||
/// 접수번호
|
||||
public let receiptNo: String
|
||||
/// 법인구분
|
||||
public let marketType: MarketType
|
||||
/// 고유번호
|
||||
public let corporationCode: String
|
||||
/// 회사명
|
||||
public let corporationName: String
|
||||
/// 상장예정주식 종류ㆍ수(주)(보통주식)
|
||||
/// 상장예정주식 종류ㆍ수(주)(기타주식)
|
||||
/// 발행주식 총수(주)(보통주식)
|
||||
/// 발행주식 총수(주)(기타주식)
|
||||
/// 공모방법(신주발행 (주))
|
||||
/// 공모방법(구주매출 (주))
|
||||
/// 자금조달(신주발행) 목적
|
||||
/// 상장증권(원주상장 (주))
|
||||
/// 상장증권(DR상장 (주))
|
||||
/// 상장거래소(소재국가)
|
||||
|
||||
/// 해외상장목적
|
||||
public let listingPurpose: String
|
||||
/// 상장예정일자
|
||||
public let listingScheduleDate: String
|
||||
/// 이사회결의일(결정일)
|
||||
public let directorateDecisionDate: String
|
||||
/// 사외이사 참석여부(참석)
|
||||
public let outsideDirectorsAttended: String
|
||||
/// 사외이사 참석여부(불참)
|
||||
public let outsideDirectorsAbsent: String
|
||||
/// 감사(감사위원) 참석여부
|
||||
public let auditorAttended: String
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case receiptNo = "rcept_no"
|
||||
case marketType = "corp_cls"
|
||||
case corporationCode = "corp_code"
|
||||
case corporationName = "corp_name"
|
||||
|
||||
case = "lstprstk_ostk_cnt"
|
||||
case = "lstprstk_estk_cnt"
|
||||
case = "tisstk_ostk"
|
||||
case = "tisstk_estk"
|
||||
case = "psmth_nstk_sl"
|
||||
case = "psmth_ostk_sl"
|
||||
case = "fdpp"
|
||||
case = "lststk_orlst"
|
||||
case = "lststk_drlst"
|
||||
case = "lstex_nt"
|
||||
case listingPurpose = "lstpp"
|
||||
case listingScheduleDate = "lstprd"
|
||||
case directorateDecisionDate = "bddd"
|
||||
case outsideDirectorsAttended = "od_a_at_t"
|
||||
case outsideDirectorsAbsent = "od_a_at_b"
|
||||
case auditorAttended = "adt_a_atn"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
364
KissMe/Sources/Domestic/DART/DomesticDartSecuritiesReport.swift
Normal file
364
KissMe/Sources/Domestic/DART/DomesticDartSecuritiesReport.swift
Normal file
@@ -0,0 +1,364 @@
|
||||
//
|
||||
// DomesticDartSecuritiesReport.swift
|
||||
// KissMe
|
||||
//
|
||||
// Created by ened-book-m1 on 2023/07/13.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
||||
|
||||
extension DomesticDart {
|
||||
|
||||
/// 증권신고서 주요정보 - 1 주식의포괄적교환·이전
|
||||
///
|
||||
public struct A: DartRequest {
|
||||
|
||||
}
|
||||
|
||||
|
||||
/// 증권신고서 주요정보 - 2 합병
|
||||
///
|
||||
public struct A: DartRequest {
|
||||
|
||||
}
|
||||
|
||||
|
||||
/// 증권신고서 주요정보 - 3 증권예탁증권
|
||||
///
|
||||
public struct A: DartRequest {
|
||||
|
||||
}
|
||||
|
||||
|
||||
/// 증권신고서 주요정보 - 4 채무증권
|
||||
///
|
||||
public struct DebtSecurityRequest: DartRequest {
|
||||
public typealias KResult = DebtSecurityResult
|
||||
|
||||
public var url: String {
|
||||
"/api/bdRs.json"
|
||||
}
|
||||
public var method: Method { .get }
|
||||
public var header: [String : String?] {
|
||||
[:]
|
||||
}
|
||||
public var body: [String: Any] {
|
||||
return [
|
||||
"crtfc_key": openApiKey,
|
||||
"corp_code": corporationCode,
|
||||
"bgn_de": startDate.yyyyMMdd,
|
||||
"end_de": endDate.yyyyMMdd
|
||||
]
|
||||
}
|
||||
public var result: KResult? = nil
|
||||
|
||||
|
||||
public let openApiKey: String
|
||||
let corporationCode: String
|
||||
let startDate: Date
|
||||
let endDate: Date
|
||||
|
||||
public init(openApiKey: String, corporationCode: String, startDate: Date, endDate: Date) {
|
||||
self.openApiKey = openApiKey
|
||||
self.corporationCode = corporationCode
|
||||
self.startDate = startDate
|
||||
self.endDate = endDate
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// 증권신고서 주요정보 - 5 지분증권
|
||||
///
|
||||
public struct EquitySecurityRequest: DartRequest {
|
||||
public typealias KResult = EquitySecurityResult
|
||||
|
||||
public var url: String {
|
||||
"/api/estkRs.json"
|
||||
}
|
||||
public var method: Method { .get }
|
||||
public var header: [String : String?] {
|
||||
[:]
|
||||
}
|
||||
public var body: [String: Any] {
|
||||
return [
|
||||
"crtfc_key": openApiKey,
|
||||
"corp_code": corporationCode,
|
||||
"bgn_de": startDate.yyyyMMdd,
|
||||
"end_de": endDate.yyyyMMdd
|
||||
]
|
||||
}
|
||||
public var result: KResult? = nil
|
||||
|
||||
|
||||
public let openApiKey: String
|
||||
let corporationCode: String
|
||||
let startDate: Date
|
||||
let endDate: Date
|
||||
|
||||
public init(openApiKey: String, corporationCode: String, startDate: Date, endDate: Date) {
|
||||
self.openApiKey = openApiKey
|
||||
self.corporationCode = corporationCode
|
||||
self.startDate = startDate
|
||||
self.endDate = endDate
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// 증권신고서 주요정보 - 6 분할
|
||||
///
|
||||
public struct DivisionRequest: DartRequest {
|
||||
public typealias KResult = DivisionResult
|
||||
|
||||
public var url: String {
|
||||
"/api/dvRs.json"
|
||||
}
|
||||
public var method: Method { .get }
|
||||
public var header: [String : String?] {
|
||||
[:]
|
||||
}
|
||||
public var body: [String: Any] {
|
||||
return [
|
||||
"crtfc_key": openApiKey,
|
||||
"corp_code": corporationCode,
|
||||
"bgn_de": startDate.yyyyMMdd,
|
||||
"end_de": endDate.yyyyMMdd
|
||||
]
|
||||
}
|
||||
public var result: KResult? = nil
|
||||
|
||||
|
||||
public let openApiKey: String
|
||||
let corporationCode: String
|
||||
let startDate: Date
|
||||
let endDate: Date
|
||||
|
||||
public init(openApiKey: String, corporationCode: String, startDate: Date, endDate: Date) {
|
||||
self.openApiKey = openApiKey
|
||||
self.corporationCode = corporationCode
|
||||
self.startDate = startDate
|
||||
self.endDate = endDate
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
extension DomesticDart {
|
||||
|
||||
public struct DebtSecurityResult: Codable {
|
||||
public let result: Result
|
||||
|
||||
public struct Result: Codable {
|
||||
public let status: String
|
||||
public let message: String
|
||||
public let group: [Group]
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case status
|
||||
case message
|
||||
case group
|
||||
}
|
||||
}
|
||||
|
||||
public struct Group: Codable {
|
||||
public let title: String
|
||||
public let list: Item
|
||||
|
||||
public init(from decoder: Decoder) throws {
|
||||
let container: KeyedDecodingContainer<CodingKeys> = try decoder.container(keyedBy: CodingKeys.self)
|
||||
self.title = try container.decode(String.self, forKey: CodingKeys.title)
|
||||
switch title {
|
||||
case "일반사항": ()
|
||||
case "인수인정보": ()
|
||||
case "자금의사용목적": ()
|
||||
case "매출인에관한사항": ()
|
||||
default:
|
||||
assertionFailure("Unknown title \(title)")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public enum Item: Codable {
|
||||
/// 일반사항
|
||||
case general([GeneralItem])
|
||||
/// 인수인정보
|
||||
case surety([SuretyItem])
|
||||
/// 자금의사용목적
|
||||
case capitalUsePurpose([PurposeItem])
|
||||
/// 매출인에관한사항
|
||||
case salesperson([SalesPersonItem])
|
||||
}
|
||||
|
||||
public struct GeneralItem: Codable {
|
||||
/// 접수번호
|
||||
public let receiptNo: String
|
||||
/// 법인구분
|
||||
public let marketType: MarketType
|
||||
/// 고유번호
|
||||
public let corporationCode: String
|
||||
/// 회사명
|
||||
public let corporationName: String
|
||||
/// 청약기일
|
||||
/// 납입기일
|
||||
/// 청약공고일
|
||||
/// 배정공고일
|
||||
/// 배정기준일
|
||||
/// 신주인수권에 관한 사항(행사대상증권)
|
||||
/// 신주인수권에 관한 사항(행사가격)
|
||||
/// 신주인수권에 관한 사항(행사기간)
|
||||
/// 주요사항보고서(접수번호)
|
||||
}
|
||||
|
||||
public struct SuretyItem: Codable {
|
||||
|
||||
}
|
||||
|
||||
public struct PurposeItem: Codable {
|
||||
|
||||
}
|
||||
|
||||
public struct SalesPersonItem: Codable {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public struct EquitySecurityResult: Codable {
|
||||
public let result: Result
|
||||
|
||||
public struct Result: Codable {
|
||||
public let status: String
|
||||
public let message: String
|
||||
public let group: [Group]
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case status
|
||||
case message
|
||||
case group
|
||||
}
|
||||
}
|
||||
|
||||
public struct Group: Codable {
|
||||
public let title: String
|
||||
public let list: Item
|
||||
|
||||
public init(from decoder: Decoder) throws {
|
||||
let container: KeyedDecodingContainer<CodingKeys> = try decoder.container(keyedBy: CodingKeys.self)
|
||||
self.title = try container.decode(String.self, forKey: CodingKeys.title)
|
||||
switch title {
|
||||
case "일반사항":
|
||||
let items = try container.decode([GeneralItem].self, forKey: Group.CodingKeys.list)
|
||||
self.list = .general(items)
|
||||
case "증권의종류":
|
||||
let items = try container.decode([StockKindItem].self, forKey: Group.CodingKeys.list)
|
||||
self.list = .stockKind(items)
|
||||
case "인수인정보":
|
||||
let items = try container.decode([SuretyItem].self, forKey: Group.CodingKeys.list)
|
||||
self.list = .surety(items)
|
||||
case "자금의사용목적":
|
||||
let items = try container.decode([PurposeItem].self, forKey: Group.CodingKeys.list)
|
||||
self.list = .capitalUsePurpose(items)
|
||||
case "매출인에관한사항":
|
||||
let items = try container.decode([SalesPersonItem].self, forKey: Group.CodingKeys.list)
|
||||
self.list = .salesperson(items)
|
||||
case "일반청약자환매청구권":
|
||||
let items = try container.decode([ClaimItem].self, forKey: Group.CodingKeys.list)
|
||||
self.list = .redemptionClaim(items)
|
||||
default:
|
||||
assertionFailure("Unknown title \(title)")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public enum Item: Codable {
|
||||
/// 일반사항
|
||||
case general([GeneralItem])
|
||||
/// 증권의종류
|
||||
case stockKind([StockKindItem])
|
||||
/// 인수인정보
|
||||
case surety([SuretyItem])
|
||||
/// 자금의사용목적
|
||||
case capitalUsePurpose([PurposeItem])
|
||||
/// 매출인에관한사항
|
||||
case salesperson([SalesPersonItem])
|
||||
/// 일반청약자환매청구권
|
||||
case redemptionClaim([ClaimItem])
|
||||
}
|
||||
|
||||
public struct GeneralItem: Codable {
|
||||
/// 접수번호
|
||||
public let receiptNo: String
|
||||
/// 법인구분
|
||||
public let marketType: MarketType
|
||||
/// 고유번호
|
||||
public let corporationCode: String
|
||||
/// 회사명
|
||||
public let corporationName: String
|
||||
/// 청약기일
|
||||
/// 납입기일
|
||||
/// 청약공고일
|
||||
/// 배정공고일
|
||||
/// 배정기준일
|
||||
/// 신주인수권에 관한 사항(행사대상증권)
|
||||
/// 신주인수권에 관한 사항(행사가격)
|
||||
/// 신주인수권에 관한 사항(행사기간)
|
||||
/// 주요사항보고서(접수번호)
|
||||
}
|
||||
|
||||
public struct StockKindItem: Codable {
|
||||
|
||||
}
|
||||
|
||||
public struct SuretyItem: Codable {
|
||||
|
||||
}
|
||||
|
||||
public struct PurposeItem: Codable {
|
||||
|
||||
}
|
||||
|
||||
public struct SalesPersonItem: Codable {
|
||||
|
||||
}
|
||||
|
||||
public struct ClaimItem: Codable {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public struct DivisionResult: Codable {
|
||||
public let result: Result
|
||||
|
||||
public struct Result: Codable {
|
||||
public let status: String
|
||||
public let message: String
|
||||
public let list: [Item]
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case status
|
||||
case message
|
||||
case list
|
||||
}
|
||||
}
|
||||
|
||||
public struct Item: Codable {
|
||||
/// 접수번호
|
||||
public let receiptNo: String
|
||||
/// 법인구분
|
||||
public let marketType: MarketType
|
||||
/// 고유번호
|
||||
public let corporationCode: String
|
||||
/// 회사명
|
||||
public let corporationName: String
|
||||
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case receiptNo = "rcept_no"
|
||||
case marketType = "corp_cls"
|
||||
case corporationCode = "corp_code"
|
||||
case corporationName = "corp_name"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -46,6 +46,7 @@
|
||||
34C1BA552A5B033E00423D64 /* DomesticDartListedCompany.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34C1BA542A5B033E00423D64 /* DomesticDartListedCompany.swift */; };
|
||||
34C1BA882A5D9A4A00423D64 /* DomesticDartDisclosureInterests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34C1BA872A5D9A4A00423D64 /* DomesticDartDisclosureInterests.swift */; };
|
||||
34C1BA8A2A5DA00A00423D64 /* DomesticDartMajorReport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34C1BA892A5DA00A00423D64 /* DomesticDartMajorReport.swift */; };
|
||||
34C97D0B2A602A3D00ED8B33 /* DomesticDartSecuritiesReport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34C97D0A2A602A3D00ED8B33 /* DomesticDartSecuritiesReport.swift */; };
|
||||
34D3680F2A2AA0BE005E6756 /* PropertyIterable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34D3680E2A2AA0BE005E6756 /* PropertyIterable.swift */; };
|
||||
34E7B9112A49BD2800B3AB9F /* DomesticIndex.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34E7B9102A49BD2800B3AB9F /* DomesticIndex.swift */; };
|
||||
34F1900C2A41982A0068C697 /* KissIndexResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34F1900B2A41982A0068C697 /* KissIndexResult.swift */; };
|
||||
@@ -104,6 +105,7 @@
|
||||
34C1BA542A5B033E00423D64 /* DomesticDartListedCompany.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DomesticDartListedCompany.swift; sourceTree = "<group>"; };
|
||||
34C1BA872A5D9A4A00423D64 /* DomesticDartDisclosureInterests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DomesticDartDisclosureInterests.swift; sourceTree = "<group>"; };
|
||||
34C1BA892A5DA00A00423D64 /* DomesticDartMajorReport.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DomesticDartMajorReport.swift; sourceTree = "<group>"; };
|
||||
34C97D0A2A602A3D00ED8B33 /* DomesticDartSecuritiesReport.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DomesticDartSecuritiesReport.swift; sourceTree = "<group>"; };
|
||||
34D3680E2A2AA0BE005E6756 /* PropertyIterable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PropertyIterable.swift; sourceTree = "<group>"; };
|
||||
34E7B9102A49BD2800B3AB9F /* DomesticIndex.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DomesticIndex.swift; sourceTree = "<group>"; };
|
||||
34F1900B2A41982A0068C697 /* KissIndexResult.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KissIndexResult.swift; sourceTree = "<group>"; };
|
||||
@@ -246,6 +248,7 @@
|
||||
34C1BA542A5B033E00423D64 /* DomesticDartListedCompany.swift */,
|
||||
34C1BA872A5D9A4A00423D64 /* DomesticDartDisclosureInterests.swift */,
|
||||
34C1BA892A5DA00A00423D64 /* DomesticDartMajorReport.swift */,
|
||||
34C97D0A2A602A3D00ED8B33 /* DomesticDartSecuritiesReport.swift */,
|
||||
);
|
||||
path = DART;
|
||||
sourceTree = "<group>";
|
||||
@@ -424,6 +427,7 @@
|
||||
34D3680F2A2AA0BE005E6756 /* PropertyIterable.swift in Sources */,
|
||||
341F5F112A1685E700962D48 /* ShopRequest.swift in Sources */,
|
||||
341F5EF92A0F907300962D48 /* DomesticStockPriceResult.swift in Sources */,
|
||||
34C97D0B2A602A3D00ED8B33 /* DomesticDartSecuritiesReport.swift in Sources */,
|
||||
341F5EE12A0F373B00962D48 /* Login.swift in Sources */,
|
||||
341F5EF52A0F891200962D48 /* KissAccount.swift in Sources */,
|
||||
340A4DBD2A4C34BE005A1FBA /* IndexContext.swift in Sources */,
|
||||
|
||||
Reference in New Issue
Block a user