namespace EndianUpdaterLicenser
open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
type UpdateAction =
| doCheckVersion = 0
| doNothing = 1
| doUpdate = 2
| doDowngrade = 3
| sendVersionlist = 4
| delete = 5
| install = 6
| execute = 7
| copy = 8
| move = 9
| Error = 10
[<AllowNullLiteral>]
type ModulVersionsInfo() =
member val Modul:String = null with get,set
member val PruefAssembly:String = null with get,set
member val istTestVersion:Boolean = new Boolean() with get,set
member val istDisabled:Boolean = new Boolean() with get,set
member val URL:String = null with get,set
member val willTestVersion:Boolean = new Boolean() with get,set
member val Major:Int32 = new Int32() with get,set
member val Minor:Int32 = new Int32() with get,set
member val Build:Int32 = new Int32() with get,set
member val Revision:Int32 = new Int32() with get,set
[<AllowNullLiteral>]
type UpdateActionResponse() =
member val Answer:UpdateAction = new UpdateAction() with get,set
member val AnswerInfo1:String = null with get,set
member val AnswerInfo2:String = null with get,set
member val ModulVersionen:Dictionary<String, ModulVersionsInfo> = new Dictionary<String, ModulVersionsInfo>() with get,set
[<AllowNullLiteral>]
type UpdateActionRequest() =
member val CryptedLicenseNr:String = null with get,set
member val CryptedStamp:String = null with get,set
member val Action:UpdateAction = new UpdateAction() with get,set
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /jsv/reply/UpdateActionRequest HTTP/1.1
Host: 52.142.207.43
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
CryptedLicenseNr: String,
CryptedStamp: String,
Action: doCheckVersion
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
Answer: doCheckVersion,
AnswerInfo1: String,
AnswerInfo2: String,
ModulVersionen:
{
String:
{
Modul: String,
PruefAssembly: String,
istTestVersion: False,
istDisabled: False,
URL: String,
willTestVersion: False,
Major: 0,
Minor: 0,
Build: 0,
Revision: 0
}
}
}