mirror of
https://github.com/hanzoai/swift-sdk.git
synced 2026-10-30 18:20:19 +00:00
The lock sat at 574d1f1d while the product moved on. The team surface stopped at rooms — no messages path, no way to open one — so anything built on this client had to reach past it with its own HTTP calls, which is the duplication a generated client exists to prevent.
61 lines
2.6 KiB
Swift
61 lines
2.6 KiB
Swift
//
|
|
// TeamRoomNew.swift
|
|
//
|
|
// Generated by openapi-generator
|
|
// https://openapi-generator.tech
|
|
//
|
|
|
|
import Foundation
|
|
|
|
public struct TeamRoomNew: Sendable, Codable, ParameterConvertible, Hashable {
|
|
|
|
/** Bindings are what the room is about, each \"<kind>:<ref>\". */
|
|
public var bindings: [String]?
|
|
/** Life is the lifecycle intent, \"standing\" or \"bound\"; empty reads standing. */
|
|
public var life: String?
|
|
/** Members are the account uuids in the room. A public room may open empty — anyone in the org can find it — and a private one that names nobody is refused rather than created unreachable. */
|
|
public var members: [String]?
|
|
/** Name is what a person sees in a sidebar — \"bugfix-1010\", not \"#bugfix-1010\". The sigil is how a client DRAWS a room, and storing it would put it in the name twice the first time a client added its own. */
|
|
public var name: String?
|
|
/** Private restricts the room to its members. Public is the default because a room nobody can find is the more surprising of the two. */
|
|
public var _private: Bool?
|
|
/** Space is where the room is opened. Optional: an org with one space has no choice to make, so it does not have to state one. An org with several must, because picking for it would make the room's home depend on iteration order. */
|
|
public var space: String?
|
|
/** Topic is the room's one-line subject. */
|
|
public var topic: String?
|
|
|
|
public init(bindings: [String]? = nil, life: String? = nil, members: [String]? = nil, name: String? = nil, _private: Bool? = nil, space: String? = nil, topic: String? = nil) {
|
|
self.bindings = bindings
|
|
self.life = life
|
|
self.members = members
|
|
self.name = name
|
|
self._private = _private
|
|
self.space = space
|
|
self.topic = topic
|
|
}
|
|
|
|
public enum CodingKeys: String, CodingKey, CaseIterable {
|
|
case bindings
|
|
case life
|
|
case members
|
|
case name
|
|
case _private = "private"
|
|
case space
|
|
case topic
|
|
}
|
|
|
|
// Encodable protocol methods
|
|
|
|
public func encode(to encoder: Encoder) throws {
|
|
var container = encoder.container(keyedBy: CodingKeys.self)
|
|
try container.encodeIfPresent(bindings, forKey: .bindings)
|
|
try container.encodeIfPresent(life, forKey: .life)
|
|
try container.encodeIfPresent(members, forKey: .members)
|
|
try container.encodeIfPresent(name, forKey: .name)
|
|
try container.encodeIfPresent(_private, forKey: ._private)
|
|
try container.encodeIfPresent(space, forKey: .space)
|
|
try container.encodeIfPresent(topic, forKey: .topic)
|
|
}
|
|
}
|
|
|