Working on DART api

This commit is contained in:
2023-07-14 00:23:09 +09:00
parent 70d01d0b89
commit 7b8bed18ce
3 changed files with 712 additions and 29 deletions

View File

@@ -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"
}
}
}
}

View 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"
}
}
}
}

View File

@@ -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 */,