POST | /config/update |
---|
namespace AlbaApi.ServiceModel
open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<AllowNullLiteral>]
type Entity() =
member val Id:String = null with get,set
[<AllowNullLiteral>]
type Country() =
member val Name:String = null with get,set
member val Languages:Dictionary<String, String> = new Dictionary<String, String>() with get,set
[<AllowNullLiteral>]
type ListItem() =
inherit Entity()
member val ListId:String = null with get,set
member val Country:String = null with get,set
member val RelatedId:String = null with get,set
member val Code:String = null with get,set
member val Custom:String = null with get,set
[<AllowNullLiteral>]
type SiteSection() =
member val Route:String = null with get,set
member val Public:Boolean = new Boolean() with get,set
member val Parent:String = null with get,set
member val Roles:Int32 = new Int32() with get,set
member val HideFrom:ResizeArray<String> = new ResizeArray<String>() with get,set
member val Order:Int32 = new Int32() with get,set
[<AllowNullLiteral>]
type Configuration() =
inherit Entity()
member val Category:String = null with get,set
member val Countries:Dictionary<String, Country> = new Dictionary<String, Country>() with get,set
member val ListItems:ResizeArray<ListItem> = new ResizeArray<ListItem>() with get,set
member val ListRelationships:Dictionary<String, String> = new Dictionary<String, String>() with get,set
member val SectionElements:Dictionary<String, List<String>> = new Dictionary<String, List<String>>() with get,set
member val SiteStructure:Dictionary<String, SiteSection> = new Dictionary<String, SiteSection>() with get,set
member val Version:Int32 = new Int32() with get,set
member val CreatedBy:String = null with get,set
member val DateCreated:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val UpdatedBy:String = null with get,set
member val DateUpdated:Nullable<DateTime> = new Nullable<DateTime>() with get,set
[<AllowNullLiteral>]
type UpdateConfigReq() =
member val Category:String = null with get,set
member val Countries:Dictionary<String, Country> = new Dictionary<String, Country>() with get,set
member val ListItems:ResizeArray<ListItem> = new ResizeArray<ListItem>() with get,set
member val ListRelationships:Dictionary<String, String> = new Dictionary<String, String>() with get,set
member val SectionElements:Dictionary<String, List<String>> = new Dictionary<String, List<String>>() with get,set
member val SiteStructure:Dictionary<String, SiteSection> = new Dictionary<String, SiteSection>() 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 /config/update HTTP/1.1
Host: hcbtas-q-albamfs-api.azurewebsites.net
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
category: String,
countries:
{
String:
{
name: String,
languages:
{
String: String
}
}
},
listItems:
[
{
listId: String,
country: String,
relatedId: String,
code: String,
custom: String,
id: String
}
],
listRelationships:
{
String: String
},
sectionElements:
{
String:
[
String
]
},
siteStructure:
{
String:
{
route: String,
public: False,
parent: String,
roles: 0,
hideFrom:
[
String
],
order: 0
}
}
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { category: String, countries: { String: { name: String, languages: { String: String } } }, listItems: [ { listId: String, country: String, relatedId: String, code: String, custom: String, id: String } ], listRelationships: { String: String }, sectionElements: { String: [ String ] }, siteStructure: { String: { route: String, public: False, parent: String, roles: 0, hideFrom: [ String ], order: 0 } }, version: 0, createdBy: String, dateCreated: 0001-01-01, updatedBy: String, dateUpdated: 0001-01-01, id: String }