AlbaApi

<back to all web services

AdminAppReq

The following routes are available for this service:
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
}

Kotlin AdminAppReq 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 /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
		}
	]
}