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 .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
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/json
Content-Type: application/json
Content-Length: length
{"country":"String","lang":"String"}
HTTP/1.1 200 OK Content-Type: application/json 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"}]}