All Verbs | /admin/app | ||
---|---|---|---|
All Verbs | /admin/app/{Country} | ||
All Verbs | /admin/app/{Country}/{Lang} |
import java.math.*
import java.util.*
import net.servicestack.client.*
import com.google.gson.annotations.*
import com.google.gson.reflect.*
open class AdminAppReq
{
var country:String? = null
var lang:String? = null
}
open class AdminAppData
{
var siteStructure:HashMap<String,SiteSection> = HashMap<String,SiteSection>()
var sectionElements:HashMap<String,ArrayList<String>> = HashMap<String,ArrayList<String>>()
var listRelationships:HashMap<String,String> = HashMap<String,String>()
var listItems:ArrayList<ListItem> = ArrayList<ListItem>()
var countries:HashMap<String,Country> = HashMap<String,Country>()
var content:ArrayList<Content> = ArrayList<Content>()
var user:User? = null
var scriptTrackerRecords:ArrayList<ScriptTracker> = ArrayList<ScriptTracker>()
var configurations:ArrayList<Configuration> = ArrayList<Configuration>()
}
open class SiteSection
{
var route:String? = null
@SerializedName("public") var Public:Boolean? = null
var parent:String? = null
var roles:Int? = null
var hideFrom:ArrayList<String> = ArrayList<String>()
var order:Int? = null
}
open class ListItem : Entity()
{
var listId:String? = null
var country:String? = null
var relatedId:String? = null
var code:String? = null
var custom:String? = null
}
open class Entity : IEntity
{
var id:String? = null
}
open class Country
{
var name:String? = null
var languages:HashMap<String,String> = HashMap<String,String>()
}
open class Content : Entity()
{
var section:String? = null
var itemId:String? = null
var itemCode:String? = null
var country:String? = null
var lang:String? = null
var app:String? = null
var companyId:String? = null
var company:String? = null
var elements:HashMap<String,String> = HashMap<String,String>()
}
open class User
{
var roles:Roles? = null
}
@Flags()
enum class Roles(val value:Int)
{
@SerializedName("0") None(0),
@SerializedName("1") Employee(1),
@SerializedName("2") Member(2),
@SerializedName("4") Employer(4),
@SerializedName("8") Broker(8),
@SerializedName("16") Developer(16),
@SerializedName("32") SysAdmin(32),
}
open class ScriptTracker : Entity()
{
var sprint:String? = null
var country:String? = null
var language:String? = null
var section:String? = null
var itemCode:String? = null
var element:String? = null
var value:String? = null
var isFromMerge:Boolean? = null
}
open class Configuration : Entity()
{
var category:String? = null
var countries:HashMap<String,Country> = HashMap<String,Country>()
var listItems:ArrayList<ListItem> = ArrayList<ListItem>()
var listRelationships:HashMap<String,String> = HashMap<String,String>()
var sectionElements:HashMap<String,ArrayList<String>> = HashMap<String,ArrayList<String>>()
var siteStructure:HashMap<String,SiteSection> = HashMap<String,SiteSection>()
var version:Int? = null
var createdBy:String? = null
var dateCreated:Date? = null
var updatedBy:String? = null
var dateUpdated:Date? = null
}
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 /admin/app HTTP/1.1
Host: hcbtas-q-albamfs-api.azurewebsites.net
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
country: String,
lang: String
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { siteStructure: { String: { route: String, public: False, parent: String, roles: 0, hideFrom: [ String ], order: 0 } }, sectionElements: { String: [ String ] }, listRelationships: { String: String }, listItems: [ { listId: String, country: String, relatedId: String, code: String, custom: String, id: String } ], countries: { String: { name: String, languages: { String: String } } }, content: [ { section: String, itemId: String, itemCode: String, country: String, lang: String, app: String, companyId: String, company: String, elements: { String: String }, id: String } ], user: { roles: 0 }, scriptTrackerRecords: [ { sprint: String, country: String, language: String, section: String, itemCode: String, element: String, value: String, isFromMerge: False, id: String } ] }