import Foundation
import ServiceStack
public class DummyTypes : Codable
{
public var helloResponses:[HelloResponse]
public var listResult:[ListResult]
public var arrayResult:[ArrayResult]
public var cancelRequest:CancelRequest
public var cancelRequestResponse:CancelRequestResponse
public var updateEventSubscriber:UpdateEventSubscriber
public var updateEventSubscriberResponse:UpdateEventSubscriberResponse
public var getApiKeys:GetApiKeys
public var getApiKeysResponse:GetApiKeysResponse
public var regenerateApiKeys:RegenerateApiKeys
public var regenerateApiKeysResponse:RegenerateApiKeysResponse
public var userApiKey:UserApiKey
public var convertSessionToToken:ConvertSessionToToken
public var convertSessionToTokenResponse:ConvertSessionToTokenResponse
public var getAccessToken:GetAccessToken
public var getAccessTokenResponse:GetAccessTokenResponse
public var navItem:NavItem
public var getNavItems:GetNavItems
public var getNavItemsResponse:GetNavItemsResponse
public var emptyResponse:EmptyResponse
public var idResponse:IdResponse
public var stringResponse:StringResponse
public var stringsResponse:StringsResponse
public var auditBase:AuditBase
required public init(){}
}
public class HelloResponse : Codable
{
public var result:String
required public init(){}
}
public class ListResult : Codable
{
public var result:String
required public init(){}
}
public class ArrayResult : Codable
{
public var result:String
required public init(){}
}
// @DataContract
public class CancelRequest : IPost, IMeta, Codable
{
// @DataMember(Order=1)
public var tag:String
// @DataMember(Order=2)
public var meta:[String:String]
required public init(){}
}
// @DataContract
public class CancelRequestResponse : IMeta, Codable
{
// @DataMember(Order=1)
public var tag:String
// @DataMember(Order=2)
@TimeSpan public var elapsed:TimeInterval
// @DataMember(Order=3)
public var meta:[String:String]
// @DataMember(Order=4)
public var responseStatus:ResponseStatus
required public init(){}
}
// @DataContract
public class UpdateEventSubscriber : IPost, Codable
{
// @DataMember(Order=1)
public var id:String
// @DataMember(Order=2)
public var subscribeChannels:[String]
// @DataMember(Order=3)
public var unsubscribeChannels:[String]
required public init(){}
}
// @DataContract
public class UpdateEventSubscriberResponse : Codable
{
// @DataMember(Order=1)
public var responseStatus:ResponseStatus
required public init(){}
}
// @DataContract
public class GetApiKeys : IGet, IMeta, Codable
{
// @DataMember(Order=1)
public var environment:String
// @DataMember(Order=2)
public var meta:[String:String]
required public init(){}
}
// @DataContract
public class GetApiKeysResponse : IMeta, Codable
{
// @DataMember(Order=1)
public var results:[UserApiKey]
// @DataMember(Order=2)
public var meta:[String:String]
// @DataMember(Order=3)
public var responseStatus:ResponseStatus
required public init(){}
}
// @DataContract
public class UserApiKey : IMeta, Codable
{
// @DataMember(Order=1)
public var key:String
// @DataMember(Order=2)
public var keyType:String
// @DataMember(Order=3)
public var expiryDate:Date?
// @DataMember(Order=4)
public var meta:[String:String]
required public init(){}
}
// @DataContract
public class RegenerateApiKeys : IPost, IMeta, Codable
{
// @DataMember(Order=1)
public var environment:String
// @DataMember(Order=2)
public var meta:[String:String]
required public init(){}
}
// @DataContract
public class RegenerateApiKeysResponse : IMeta, Codable
{
// @DataMember(Order=1)
public var results:[UserApiKey]
// @DataMember(Order=2)
public var meta:[String:String]
// @DataMember(Order=3)
public var responseStatus:ResponseStatus
required public init(){}
}
// @DataContract
public class ConvertSessionToToken : IPost, IMeta, Codable
{
// @DataMember(Order=1)
public var preserveSession:Bool
// @DataMember(Order=2)
public var meta:[String:String]
required public init(){}
}
// @DataContract
public class ConvertSessionToTokenResponse : IMeta, Codable
{
// @DataMember(Order=1)
public var meta:[String:String]
// @DataMember(Order=2)
public var accessToken:String
// @DataMember(Order=3)
public var refreshToken:String
// @DataMember(Order=4)
public var responseStatus:ResponseStatus
required public init(){}
}
// @DataContract
public class GetAccessToken : IPost, IMeta, Codable
{
// @DataMember(Order=1)
public var refreshToken:String
// @DataMember(Order=2)
public var meta:[String:String]
required public init(){}
}
// @DataContract
public class GetAccessTokenResponse : IMeta, Codable
{
// @DataMember(Order=1)
public var accessToken:String
// @DataMember(Order=2)
public var meta:[String:String]
// @DataMember(Order=3)
public var responseStatus:ResponseStatus
required public init(){}
}
public class NavItem : IMeta, Codable
{
public var label:String
public var href:String
public var exact:Bool?
public var id:String
public var className:String
public var iconClass:String
public var iconSrc:String
public var show:String
public var hide:String
public var children:[NavItem]
public var meta:[String:String]
required public init(){}
}
// @DataContract
public class GetNavItems : Codable
{
// @DataMember(Order=1)
public var name:String
required public init(){}
}
// @DataContract
public class GetNavItemsResponse : IMeta, Codable
{
// @DataMember(Order=1)
public var baseUrl:String
// @DataMember(Order=2)
public var results:[NavItem]
// @DataMember(Order=3)
public var navItemsMap:[String:[NavItem]]
// @DataMember(Order=4)
public var meta:[String:String]
// @DataMember(Order=5)
public var responseStatus:ResponseStatus
required public init(){}
}
// @DataContract
public class IdResponse : Codable
{
// @DataMember(Order=1)
public var id:String
// @DataMember(Order=2)
public var responseStatus:ResponseStatus
required public init(){}
}
// @DataContract
public class StringResponse : IMeta, Codable
{
// @DataMember(Order=1)
public var result:String
// @DataMember(Order=2)
public var meta:[String:String]
// @DataMember(Order=3)
public var responseStatus:ResponseStatus
required public init(){}
}
// @DataContract
public class StringsResponse : IMeta, Codable
{
// @DataMember(Order=1)
public var results:[String]
// @DataMember(Order=2)
public var meta:[String:String]
// @DataMember(Order=3)
public var responseStatus:ResponseStatus
required public init(){}
}
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/oneway/DummyTypes HTTP/1.1
Host: test.servicestack.net
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
helloResponses:
[
{
result: String
}
],
listResult:
[
{
result: String
}
],
arrayResult:
[
{
result: String
}
],
cancelRequest:
{
tag: String,
meta:
{
String: String
}
},
cancelRequestResponse:
{
tag: String,
elapsed: PT0S,
meta:
{
String: String
},
responseStatus:
{
errorCode: String,
message: String,
stackTrace: String,
errors:
[
{
errorCode: String,
fieldName: String,
message: String,
meta:
{
String: String
}
}
],
meta:
{
String: String
}
}
},
updateEventSubscriber:
{
id: String,
subscribeChannels:
[
String
],
unsubscribeChannels:
[
String
]
},
updateEventSubscriberResponse:
{
responseStatus:
{
errorCode: String,
message: String,
stackTrace: String,
errors:
[
{
errorCode: String,
fieldName: String,
message: String,
meta:
{
String: String
}
}
],
meta:
{
String: String
}
}
},
getApiKeys:
{
environment: String,
meta:
{
String: String
}
},
getApiKeysResponse:
{
results:
[
{
key: String,
keyType: String,
expiryDate: 0001-01-01,
meta:
{
String: String
}
}
],
meta:
{
String: String
},
responseStatus:
{
errorCode: String,
message: String,
stackTrace: String,
errors:
[
{
errorCode: String,
fieldName: String,
message: String,
meta:
{
String: String
}
}
],
meta:
{
String: String
}
}
},
regenerateApiKeys:
{
environment: String,
meta:
{
String: String
}
},
regenerateApiKeysResponse:
{
results:
[
{
key: String,
keyType: String,
expiryDate: 0001-01-01,
meta:
{
String: String
}
}
],
meta:
{
String: String
},
responseStatus:
{
errorCode: String,
message: String,
stackTrace: String,
errors:
[
{
errorCode: String,
fieldName: String,
message: String,
meta:
{
String: String
}
}
],
meta:
{
String: String
}
}
},
userApiKey:
{
key: String,
keyType: String,
expiryDate: 0001-01-01,
meta:
{
String: String
}
},
convertSessionToToken:
{
preserveSession: False,
meta:
{
String: String
}
},
convertSessionToTokenResponse:
{
meta:
{
String: String
},
accessToken: String,
refreshToken: String,
responseStatus:
{
errorCode: String,
message: String,
stackTrace: String,
errors:
[
{
errorCode: String,
fieldName: String,
message: String,
meta:
{
String: String
}
}
],
meta:
{
String: String
}
}
},
getAccessToken:
{
refreshToken: String,
meta:
{
String: String
}
},
getAccessTokenResponse:
{
accessToken: String,
meta:
{
String: String
},
responseStatus:
{
errorCode: String,
message: String,
stackTrace: String,
errors:
[
{
errorCode: String,
fieldName: String,
message: String,
meta:
{
String: String
}
}
],
meta:
{
String: String
}
}
},
navItem:
{
label: String,
href: String,
exact: False,
id: String,
className: String,
iconClass: String,
iconSrc: String,
show: String,
hide: String,
children:
[
{
label: String,
href: String,
exact: False,
id: String,
className: String,
iconClass: String,
iconSrc: String,
show: String,
hide: String,
children:
[
{
label: String,
href: String,
exact: False,
id: String,
className: String,
iconClass: String,
iconSrc: String,
show: String,
hide: String,
children:
[
{
}
],
meta:
{
String: String
}
}
],
meta:
{
String: String
}
}
],
meta:
{
String: String
}
},
getNavItems:
{
name: String
},
getNavItemsResponse:
{
baseUrl: String,
results:
[
{
label: String,
href: String,
exact: False,
id: String,
className: String,
iconClass: String,
iconSrc: String,
show: String,
hide: String,
children:
[
{
label: String,
href: String,
exact: False,
id: String,
className: String,
iconClass: String,
iconSrc: String,
show: String,
hide: String,
children:
[
{
label: String,
href: String,
exact: False,
id: String,
className: String,
iconClass: String,
iconSrc: String,
show: String,
hide: String,
meta:
{
String: String
}
}
],
meta:
{
String: String
}
}
],
meta:
{
String: String
}
}
],
navItemsMap:
{
String:
[
{
label: String,
href: String,
exact: False,
id: String,
className: String,
iconClass: String,
iconSrc: String,
show: String,
hide: String,
children:
[
{
label: String,
href: String,
exact: False,
id: String,
className: String,
iconClass: String,
iconSrc: String,
show: String,
hide: String,
children:
[
{
label: String,
href: String,
exact: False,
id: String,
className: String,
iconClass: String,
iconSrc: String,
show: String,
hide: String,
meta:
{
String: String
}
}
],
meta:
{
String: String
}
}
],
meta:
{
String: String
}
}
]
},
meta:
{
String: String
},
responseStatus:
{
errorCode: String,
message: String,
stackTrace: String,
errors:
[
{
errorCode: String,
fieldName: String,
message: String,
meta:
{
String: String
}
}
],
meta:
{
String: String
}
}
},
emptyResponse:
{
responseStatus:
{
errorCode: String,
message: String,
stackTrace: String,
errors:
[
{
errorCode: String,
fieldName: String,
message: String,
meta:
{
String: String
}
}
],
meta:
{
String: String
}
}
},
idResponse:
{
id: String,
responseStatus:
{
errorCode: String,
message: String,
stackTrace: String,
errors:
[
{
errorCode: String,
fieldName: String,
message: String,
meta:
{
String: String
}
}
],
meta:
{
String: String
}
}
},
stringResponse:
{
result: String,
meta:
{
String: String
},
responseStatus:
{
errorCode: String,
message: String,
stackTrace: String,
errors:
[
{
errorCode: String,
fieldName: String,
message: String,
meta:
{
String: String
}
}
],
meta:
{
String: String
}
}
},
stringsResponse:
{
results:
[
String
],
meta:
{
String: String
},
responseStatus:
{
errorCode: String,
message: String,
stackTrace: String,
errors:
[
{
errorCode: String,
fieldName: String,
message: String,
meta:
{
String: String
}
}
],
meta:
{
String: String
}
}
}
}