mirror of
https://github.com/hanzoai/swift-sdk.git
synced 2026-10-30 18:20:19 +00:00
The forge tree held the package scaffolding and none of the generated sources — 2,435 files of APIs, Models and Infrastructure, including BaseAPI, were simply absent, so anything depending on this copy had a package that compiled to nothing usable. Generated from the current API document rather than reconciled with the other copy: a client is a function of the spec, so regenerating answers "which history wins" without anyone having to choose. .spec-lock records which document, so the next reader can tell.
69 lines
3.1 KiB
Swift
69 lines
3.1 KiB
Swift
//
|
|
// InboxItem.swift
|
|
//
|
|
// Generated by openapi-generator
|
|
// https://openapi-generator.tech
|
|
//
|
|
|
|
import Foundation
|
|
|
|
public struct InboxItem: Sendable, Codable, ParameterConvertible, Hashable {
|
|
|
|
/** Category is the expense account the scanner proposed, as a chart number — a PROPOSAL, not a posting: nothing is booked until it is accepted. */
|
|
public var category: String?
|
|
/** Confidence is how sure the scanner is of that reading, and is the signal for whether a person needs to check it before it is booked. */
|
|
public var confidence: String?
|
|
/** CreatedAt is when the document was uploaded. */
|
|
public var createdAt: String?
|
|
/** Extracted is what the scanner read off the document. Absent until it has been scanned, so its absence is \"not read yet\", never \"nothing on it\". */
|
|
public var extracted: Extracted?
|
|
/** Filename is the name the document was uploaded under, for a person to recognise it by. It is not part of the item's identity. */
|
|
public var filename: String?
|
|
/** ID is the CONTENT HASH of the uploaded bytes, which is what makes the queue idempotent: re-uploading the same document returns this item rather than adding a second one. It is also the id the scan of this document carries. */
|
|
public var id: String?
|
|
/** Status is where the document is in the queue — unsorted until the scanner has read it, and thereafter whether it is waiting on a person or has been booked. */
|
|
public var status: String?
|
|
/** Vendor is the supplier the scanner identified, surfaced beside the item so a queue renders without opening each document. */
|
|
public var vendor: String?
|
|
|
|
public init(category: String? = nil, confidence: String? = nil, createdAt: String? = nil, extracted: Extracted? = nil, filename: String? = nil, id: String? = nil, status: String? = nil, vendor: String? = nil) {
|
|
self.category = category
|
|
self.confidence = confidence
|
|
self.createdAt = createdAt
|
|
self.extracted = extracted
|
|
self.filename = filename
|
|
self.id = id
|
|
self.status = status
|
|
self.vendor = vendor
|
|
}
|
|
|
|
public enum CodingKeys: String, CodingKey, CaseIterable {
|
|
case category
|
|
case confidence
|
|
case createdAt
|
|
case extracted
|
|
case filename
|
|
case id
|
|
case status
|
|
case vendor
|
|
}
|
|
|
|
// Encodable protocol methods
|
|
|
|
public func encode(to encoder: Encoder) throws {
|
|
var container = encoder.container(keyedBy: CodingKeys.self)
|
|
try container.encodeIfPresent(category, forKey: .category)
|
|
try container.encodeIfPresent(confidence, forKey: .confidence)
|
|
try container.encodeIfPresent(createdAt, forKey: .createdAt)
|
|
try container.encodeIfPresent(extracted, forKey: .extracted)
|
|
try container.encodeIfPresent(filename, forKey: .filename)
|
|
try container.encodeIfPresent(id, forKey: .id)
|
|
try container.encodeIfPresent(status, forKey: .status)
|
|
try container.encodeIfPresent(vendor, forKey: .vendor)
|
|
}
|
|
}
|
|
|
|
|
|
@available(iOS 13, tvOS 13, watchOS 6, macOS 10.15, *)
|
|
extension InboxItem: Identifiable {}
|