Go-to-Light Service 4.0.0.2397 - 121 - API License to Cloud Demo

<back to all web services

Show

Requires Authentication
The following routes are available for this service:
All Verbs/Show/{Key}/{Color}/{Blink}/{Persistant}
import Foundation
import ServiceStack

public class Show : ShowCommon
{
    /**
    * Key identifying a location
    */
    // @ApiMember(Description="Key identifying a location", IsRequired=true)
    public var key:String

    /**
    * Blinking or not
    */
    // @ApiMember(Description="Blinking or not", IsRequired=true)
    public var blink:Bool

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case key
        case blink
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        key = try container.decodeIfPresent(String.self, forKey: .key)
        blink = try container.decodeIfPresent(Bool.self, forKey: .blink)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if key != nil { try container.encode(key, forKey: .key) }
        if blink != nil { try container.encode(blink, forKey: .blink) }
    }
}

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(){}
}


Swift Show DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /Show/{Key}/{Color}/{Blink}/{Persistant} HTTP/1.1 
Host: clouddemo.pickeos.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	Key: String,
	Blink: False,
	Color: String,
	Persistant: False,
	Delay: 0,
	Duration: 0,
	StockroomName: String,
	Owner: String,
	Unreliable: False,
	DisplayHeader: False
}