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 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

Python AdminAppReq DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + 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>