All Verbs | /admin/app | ||
---|---|---|---|
All Verbs | /admin/app/{Country} | ||
All Verbs | /admin/app/{Country}/{Lang} |
export class SiteSection
{
public route?: string;
public public?: boolean;
public parent?: string;
public roles?: number;
public hideFrom?: string[];
public order?: number;
public constructor(init?: Partial<SiteSection>) { (Object as any).assign(this, init); }
}
export class Entity implements IEntity
{
public id?: string;
public constructor(init?: Partial<Entity>) { (Object as any).assign(this, init); }
}
export class ListItem extends Entity
{
public listId?: string;
public country?: string;
public relatedId?: string;
public code?: string;
public custom?: string;
public constructor(init?: Partial<ListItem>) { super(init); (Object as any).assign(this, init); }
}
export class Country
{
public name?: string;
public languages?: { [index: string]: string; };
public constructor(init?: Partial<Country>) { (Object as any).assign(this, init); }
}
export class Content extends Entity
{
public section?: string;
public itemId?: string;
public itemCode?: string;
public country?: string;
public lang?: string;
public app?: string;
public companyId?: string;
public company?: string;
public elements?: { [index: string]: string; };
public constructor(init?: Partial<Content>) { super(init); (Object as any).assign(this, init); }
}
// @Flags()
export enum Roles
{
None = 0,
Employee = 1,
Member = 2,
Employer = 4,
Broker = 8,
Developer = 16,
SysAdmin = 32,
}
export class User
{
public roles?: Roles;
public constructor(init?: Partial<User>) { (Object as any).assign(this, init); }
}
export class ScriptTracker extends Entity
{
public sprint?: string;
public country?: string;
public language?: string;
public section?: string;
public itemCode?: string;
public element?: string;
public value?: string;
public isFromMerge?: boolean;
public constructor(init?: Partial<ScriptTracker>) { super(init); (Object as any).assign(this, init); }
}
export class Configuration extends Entity
{
public category?: string;
public countries?: { [index: string]: Country; };
public listItems?: ListItem[];
public listRelationships?: { [index: string]: string; };
public sectionElements?: { [index: string]: string[]; };
public siteStructure?: { [index: string]: SiteSection; };
public version?: number;
public createdBy?: string;
public dateCreated?: string;
public updatedBy?: string;
public dateUpdated?: string;
public constructor(init?: Partial<Configuration>) { super(init); (Object as any).assign(this, init); }
}
export class AdminAppData
{
public siteStructure?: { [index: string]: SiteSection; };
public sectionElements?: { [index: string]: string[]; };
public listRelationships?: { [index: string]: string; };
public listItems?: ListItem[];
public countries?: { [index: string]: Country; };
public content?: Content[];
public user?: User;
public scriptTrackerRecords?: ScriptTracker[];
public configurations?: Configuration[];
public constructor(init?: Partial<AdminAppData>) { (Object as any).assign(this, init); }
}
export class AdminAppReq
{
public country?: string;
public lang?: string;
public constructor(init?: Partial<AdminAppReq>) { (Object as any).assign(this, init); }
}
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 } ] }