Files
swift-sdk/Sources/Hanzo/Models/CaptableShareClass.swift
zeekay 1df3ddf6bd Regenerate against the document the deployment answers for
The projection these were generated from predated the compute migration, so
they described /v1/visor — which the API serves at zero paths now.

No /v1/visor path survives here.
2026-09-05 18:55:38 -07:00

99 lines
4.4 KiB
Swift

//
// CaptableShareClass.swift
//
// Generated by openapi-generator
// https://openapi-generator.tech
//
import Foundation
public struct CaptableShareClass: Sendable, Codable, ParameterConvertible, Hashable {
/** ClassType is COMMON or PREFERRED. */
public var classType: String?
/** CompanyName is the name of the company whose cap table this is. */
public var companyName: String?
/** ConversionRights describes what the class converts into, e.g. CONVERTS_TO_FUTURE_ROUND. */
public var conversionRights: String?
/** ID is the share class id. */
public var id: String?
/** Idx is the class's 1-based position within the company, in creation order. */
public var idx: Int64?
/** InitialSharesAuthorized is how many shares of this class are authorized. */
public var initialSharesAuthorized: Int64?
/** LiquidationPreferenceMultiple is the preference multiple on liquidation. */
public var liquidationPreferenceMultiple: Double?
/** Name is the class name, e.g. \"Common\" or \"Series A Preferred\". */
public var name: String?
/** ParValue is the par value per share. */
public var parValue: Double?
/** ParticipationCapMultiple caps participation on liquidation; 0 is uncapped. */
public var participationCapMultiple: Double?
/** Prefix is the certificate prefix, CS for common and PS for preferred. */
public var _prefix: String?
/** PricePerShare is the issue price per share. */
public var pricePerShare: Double?
/** Seniority orders classes in a liquidation waterfall; higher is more senior. */
public var seniority: Int64?
/** VotesPerShare is how many votes one share of this class carries. */
public var votesPerShare: Int64?
public init(classType: String? = nil, companyName: String? = nil, conversionRights: String? = nil, id: String? = nil, idx: Int64? = nil, initialSharesAuthorized: Int64? = nil, liquidationPreferenceMultiple: Double? = nil, name: String? = nil, parValue: Double? = nil, participationCapMultiple: Double? = nil, _prefix: String? = nil, pricePerShare: Double? = nil, seniority: Int64? = nil, votesPerShare: Int64? = nil) {
self.classType = classType
self.companyName = companyName
self.conversionRights = conversionRights
self.id = id
self.idx = idx
self.initialSharesAuthorized = initialSharesAuthorized
self.liquidationPreferenceMultiple = liquidationPreferenceMultiple
self.name = name
self.parValue = parValue
self.participationCapMultiple = participationCapMultiple
self._prefix = _prefix
self.pricePerShare = pricePerShare
self.seniority = seniority
self.votesPerShare = votesPerShare
}
public enum CodingKeys: String, CodingKey, CaseIterable {
case classType
case companyName
case conversionRights
case id
case idx
case initialSharesAuthorized
case liquidationPreferenceMultiple
case name
case parValue
case participationCapMultiple
case _prefix = "prefix"
case pricePerShare
case seniority
case votesPerShare
}
// Encodable protocol methods
public func encode(to encoder: Encoder) throws {
var container = encoder.container(keyedBy: CodingKeys.self)
try container.encodeIfPresent(classType, forKey: .classType)
try container.encodeIfPresent(companyName, forKey: .companyName)
try container.encodeIfPresent(conversionRights, forKey: .conversionRights)
try container.encodeIfPresent(id, forKey: .id)
try container.encodeIfPresent(idx, forKey: .idx)
try container.encodeIfPresent(initialSharesAuthorized, forKey: .initialSharesAuthorized)
try container.encodeIfPresent(liquidationPreferenceMultiple, forKey: .liquidationPreferenceMultiple)
try container.encodeIfPresent(name, forKey: .name)
try container.encodeIfPresent(parValue, forKey: .parValue)
try container.encodeIfPresent(participationCapMultiple, forKey: .participationCapMultiple)
try container.encodeIfPresent(_prefix, forKey: ._prefix)
try container.encodeIfPresent(pricePerShare, forKey: .pricePerShare)
try container.encodeIfPresent(seniority, forKey: .seniority)
try container.encodeIfPresent(votesPerShare, forKey: .votesPerShare)
}
}
@available(iOS 13, tvOS 13, watchOS 6, macOS 10.15, *)
extension CaptableShareClass: Identifiable {}