/* Options: Date: 2026-09-21 22:54:40 SwiftVersion: 6.0 Version: 8.52 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: http://clouddemo.pickeos.com:1337 //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True //MakePropertiesOptional: True IncludeTypes: ShowQuantityMultiple.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/ShowQuantityMultiple/{Keys}/{Color}/{Quantity}/{Persistant}") public class ShowQuantityMultiple : ShowCommon { /** * Keys array identifying the locations */ // @ApiMember(Description="Keys array identifying the locations", IsRequired=true) public var keys:[String] = [] /** * Quantity: number of LED to show */ // @ApiMember(Description="Quantity: number of LED to show", IsRequired=true) public var quantity:Int? /** * Optional: Force blinking */ // @ApiMember(Description="Optional: Force blinking") public var forceBlink:Bool? /** * Animated effect selection: 0 = Always ON (no effect), 1 = BLINK_NORMAL, 2 = BLINK_FAST, 3 = BLINK_SLOW, 4 = FADE_IN_OUT_NORMAL, 5 = FADE_IN_OUT_FAST, 6 = FADE_IN_OUT_SLOW, 7 = FADE_OUT_NORMAL, 8 = FADE_OUT_FAST, 9 = FADE_OUT_SLOW */ // @ApiMember(Description="Animated effect selection: 0 = Always ON (no effect), 1 = BLINK_NORMAL, 2 = BLINK_FAST, 3 = BLINK_SLOW, 4 = FADE_IN_OUT_NORMAL, 5 = FADE_IN_OUT_FAST, 6 = FADE_IN_OUT_SLOW, 7 = FADE_OUT_NORMAL, 8 = FADE_OUT_FAST, 9 = FADE_OUT_SLOW") public var effect:Int? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case keys case quantity case forceBlink case effect } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) keys = try container.decodeIfPresent([String].self, forKey: .keys) ?? [] quantity = try container.decodeIfPresent(Int.self, forKey: .quantity) forceBlink = try container.decodeIfPresent(Bool.self, forKey: .forceBlink) effect = try container.decodeIfPresent(Int.self, forKey: .effect) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if keys.count > 0 { try container.encode(keys, forKey: .keys) } if quantity != nil { try container.encode(quantity, forKey: .quantity) } if forceBlink != nil { try container.encode(forceBlink, forKey: .forceBlink) } if effect != nil { try container.encode(effect, forKey: .effect) } } } public class ShowCommon : Codable { /** * HTML Color code (e.g. FF00FF) */ // @ApiMember(Description="HTML Color code (e.g. FF00FF)", IsRequired=true) public var color:String? /** * When set to false, it turns off the same color in a previous position */ // @ApiMember(Description="When set to false, it turns off the same color in a previous position", IsRequired=true) public var persistant:Bool? /** * Optional: delay the execution of the command (in seconds) */ // @ApiMember(Description="Optional: delay the execution of the command (in seconds)") public var delay:Int? /** * Optional: duration of the show in seconds */ // @ApiMember(Description="Optional: duration of the show in seconds") public var duration:Int? /** * Optional: name of the stockroom where to show the position */ // @ApiMember(Description="Optional: name of the stockroom where to show the position") public var stockroomName:String? /** * Optional: name of the owner of the color/command to allow color sharing */ // @ApiMember(Description="Optional: name of the owner of the color/command to allow color sharing") public var owner:String? /** * Optional: indicates if message shall be delivered in an unreliable way (faster) */ // @ApiMember(Description="Optional: indicates if message shall be delivered in an unreliable way (faster)") public var unreliable:Bool? /** * Optional: indicates if the header shall be displayed */ // @ApiMember(Description="Optional: indicates if the header shall be displayed") public var displayHeader:Bool? required public init(){} }