All Verbs | /admin/app | ||
---|---|---|---|
All Verbs | /admin/app/{Country} | ||
All Verbs | /admin/app/{Country}/{Lang} |
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SiteSection:
route: Optional[str] = None
public: Optional[bool] = None
parent: Optional[str] = None
roles: Optional[int] = None
hide_from: Optional[List[str]] = None
order: Optional[int] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Entity(IEntity):
id: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ListItem(Entity):
list_id: Optional[str] = None
country: Optional[str] = None
related_id: Optional[str] = None
code: Optional[str] = None
custom: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Country:
name: Optional[str] = None
languages: Optional[Dict[str, str]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Content(Entity):
section: Optional[str] = None
item_id: Optional[str] = None
item_code: Optional[str] = None
country: Optional[str] = None
lang: Optional[str] = None
app: Optional[str] = None
company_id: Optional[str] = None
company: Optional[str] = None
elements: Optional[Dict[str, str]] = None
# @Flags()
class Roles(IntEnum):
NONE = 0
EMPLOYEE = 1
MEMBER = 2
EMPLOYER = 4
BROKER = 8
DEVELOPER = 16
SYS_ADMIN = 32
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class User:
roles: Optional[Roles] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ScriptTracker(Entity):
sprint: Optional[str] = None
country: Optional[str] = None
language: Optional[str] = None
section: Optional[str] = None
item_code: Optional[str] = None
element: Optional[str] = None
value: Optional[str] = None
is_from_merge: Optional[bool] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Configuration(Entity):
category: Optional[str] = None
countries: Optional[Dict[str, Country]] = None
list_items: Optional[List[ListItem]] = None
list_relationships: Optional[Dict[str, str]] = None
section_elements: Optional[Dict[str, List[str]]] = None
site_structure: Optional[Dict[str, SiteSection]] = None
version: Optional[int] = None
created_by: Optional[str] = None
date_created: Optional[datetime.datetime] = None
updated_by: Optional[str] = None
date_updated: Optional[datetime.datetime] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AdminAppData:
site_structure: Optional[Dict[str, SiteSection]] = None
section_elements: Optional[Dict[str, List[str]]] = None
list_relationships: Optional[Dict[str, str]] = None
list_items: Optional[List[ListItem]] = None
countries: Optional[Dict[str, Country]] = None
content: Optional[List[Content]] = None
user: Optional[User] = None
script_tracker_records: Optional[List[ScriptTracker]] = None
configurations: Optional[List[Configuration]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AdminAppReq:
country: Optional[str] = None
lang: Optional[str] = None
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
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: application/xml
Content-Type: application/xml
Content-Length: length
<AdminAppReq xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/AlbaApi.ServiceModel">
<Country>String</Country>
<Lang>String</Lang>
</AdminAppReq>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <AdminAppData xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/AlbaApi.Application.DTOs"> <Configurations xmlns:d2p1="http://schemas.datacontract.org/2004/07/AlbaApi.Model" i:nil="true" /> <Content xmlns:d2p1="http://schemas.datacontract.org/2004/07/TasSyd.Model"> <d2p1:Content> <Id xmlns="http://schemas.datacontract.org/2004/07/TasSyd.Model.Base">String</Id> <d2p1:App>String</d2p1:App> <d2p1:Company>String</d2p1:Company> <d2p1:CompanyId>String</d2p1:CompanyId> <d2p1:Country>String</d2p1:Country> <d2p1:Elements xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d4p1:KeyValueOfstringstring> <d4p1:Key>String</d4p1:Key> <d4p1:Value>String</d4p1:Value> </d4p1:KeyValueOfstringstring> </d2p1:Elements> <d2p1:ItemCode>String</d2p1:ItemCode> <d2p1:ItemId>String</d2p1:ItemId> <d2p1:Lang>String</d2p1:Lang> <d2p1:Section>String</d2p1:Section> </d2p1:Content> </Content> <Countries xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d2p1:KeyValueOfstringCountryFNLs6TVB> <d2p1:Key>String</d2p1:Key> <d2p1:Value xmlns:d4p1="http://schemas.datacontract.org/2004/07/AlbaApi.Model"> <d4p1:Languages> <d2p1:KeyValueOfstringstring> <d2p1:Key>String</d2p1:Key> <d2p1:Value>String</d2p1:Value> </d2p1:KeyValueOfstringstring> </d4p1:Languages> <d4p1:Name>String</d4p1:Name> </d2p1:Value> </d2p1:KeyValueOfstringCountryFNLs6TVB> </Countries> <ListItems xmlns:d2p1="http://schemas.datacontract.org/2004/07/AlbaApi.Model"> <d2p1:ListItem> <Id xmlns="http://schemas.datacontract.org/2004/07/TasSyd.Model.Base">String</Id> <d2p1:Code>String</d2p1:Code> <d2p1:Country>String</d2p1:Country> <d2p1:Custom>String</d2p1:Custom> <d2p1:ListId>String</d2p1:ListId> <d2p1:RelatedId>String</d2p1:RelatedId> </d2p1:ListItem> </ListItems> <ListRelationships xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d2p1:KeyValueOfstringstring> <d2p1:Key>String</d2p1:Key> <d2p1:Value>String</d2p1:Value> </d2p1:KeyValueOfstringstring> </ListRelationships> <ScriptTrackerRecords xmlns:d2p1="http://schemas.datacontract.org/2004/07/AlbaApi.Model"> <d2p1:ScriptTracker> <Id xmlns="http://schemas.datacontract.org/2004/07/TasSyd.Model.Base">String</Id> <d2p1:Country>String</d2p1:Country> <d2p1:Element>String</d2p1:Element> <d2p1:IsFromMerge>false</d2p1:IsFromMerge> <d2p1:ItemCode>String</d2p1:ItemCode> <d2p1:Language>String</d2p1:Language> <d2p1:Section>String</d2p1:Section> <d2p1:Sprint>String</d2p1:Sprint> <d2p1:Value>String</d2p1:Value> </d2p1:ScriptTracker> </ScriptTrackerRecords> <SectionElements xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d2p1:KeyValueOfstringArrayOfstringty7Ep6D1> <d2p1:Key>String</d2p1:Key> <d2p1:Value> <d2p1:string>String</d2p1:string> </d2p1:Value> </d2p1:KeyValueOfstringArrayOfstringty7Ep6D1> </SectionElements> <SiteStructure xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d2p1:KeyValueOfstringSiteSectionFNLs6TVB> <d2p1:Key>String</d2p1:Key> <d2p1:Value xmlns:d4p1="http://schemas.datacontract.org/2004/07/AlbaApi.Model"> <d4p1:HideFrom> <d2p1:string>String</d2p1:string> </d4p1:HideFrom> <d4p1:Order>0</d4p1:Order> <d4p1:Parent>String</d4p1:Parent> <d4p1:Public>false</d4p1:Public> <d4p1:Roles>0</d4p1:Roles> <d4p1:Route>String</d4p1:Route> </d2p1:Value> </d2p1:KeyValueOfstringSiteSectionFNLs6TVB> </SiteStructure> <User xmlns:d2p1="http://schemas.datacontract.org/2004/07/AlbaApi.Model"> <d2p1:Roles>None</d2p1:Roles> </User> </AdminAppData>