/* Options: Date: 2025-10-27 16:19:00 SwiftVersion: 6.0 Version: 8.60 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://collections-api-zane.dev.platform.georiot.com //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True //MakePropertiesOptional: True IncludeTypes: PostCollectionSettingsRequest.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/v4/collections/settings", "POST") // @DataContract public class PostCollectionSettingsRequest : CollectionSettingsBaseRequest, IReturn, IPostCollectionSettingsRequest { public typealias Return = PostCollectionSettingsResponse required public init(){ super.init() } required public init(from decoder: Decoder) throws { try super.init(from: decoder) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) } } // @DataContract public class PostCollectionSettingsResponse : V4BaseResponse, IPostCollectionSettingsResponse { required public init(){ super.init() } required public init(from decoder: Decoder) throws { try super.init(from: decoder) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) } } // @DataContract public class V4BaseRequest : Codable { required public init(){} } public enum SignatureAppearance : String, Codable { case None case Text case Upload } // @DataContract public class CollectionSettingsBaseRequest : V4BaseRequest, ICollectionSettingsBaseRequest { // @DataMember(Name="profileImageId") public var profileImageId:String? // @DataMember(Name="signatureImageId") public var signatureImageId:String? // @DataMember(Name="signatureText") public var signatureText:String? // @DataMember(Name="signatureFont") public var signatureFont:String? // @DataMember(Name="signatureAppearance") public var signatureAppearance:SignatureAppearance? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case profileImageId case signatureImageId case signatureText case signatureFont case signatureAppearance } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) profileImageId = try container.decodeIfPresent(String.self, forKey: .profileImageId) signatureImageId = try container.decodeIfPresent(String.self, forKey: .signatureImageId) signatureText = try container.decodeIfPresent(String.self, forKey: .signatureText) signatureFont = try container.decodeIfPresent(String.self, forKey: .signatureFont) signatureAppearance = try container.decodeIfPresent(SignatureAppearance.self, forKey: .signatureAppearance) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if profileImageId != nil { try container.encode(profileImageId, forKey: .profileImageId) } if signatureImageId != nil { try container.encode(signatureImageId, forKey: .signatureImageId) } if signatureText != nil { try container.encode(signatureText, forKey: .signatureText) } if signatureFont != nil { try container.encode(signatureFont, forKey: .signatureFont) } if signatureAppearance != nil { try container.encode(signatureAppearance, forKey: .signatureAppearance) } } } public protocol ICollectionSettingsBaseRequest { var profileImageId:String? { get set } var signatureImageId:String? { get set } var signatureText:String? { get set } var signatureFont:String? { get set } var signatureAppearance:SignatureAppearance? { get set } } public protocol IPostCollectionSettingsRequest : ICollectionSettingsBaseRequest { } // @DataContract public class V4BaseResponse : Codable { // @DataMember(Name="status") public var status:ResponseStatus? required public init(){} } public protocol IPostCollectionSettingsResponse { //data:IPostCollectionSettingsResponseData ignored. Swift doesn't support interface properties } public protocol IPostCollectionSettingsResponseData { var id:String? { get set } }