GET | /config |
---|
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';
class Entity implements IEntity, IConvertible
{
String? id;
Entity({this.id});
Entity.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
id = json['id'];
return this;
}
Map<String, dynamic> toJson() => {
'id': id
};
getTypeName() => "Entity";
TypeContext? context = _ctx;
}
class Country implements IConvertible
{
String? name;
Map<String,String?>? languages;
Country({this.name,this.languages});
Country.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
name = json['name'];
languages = JsonConverters.toStringMap(json['languages']);
return this;
}
Map<String, dynamic> toJson() => {
'name': name,
'languages': languages
};
getTypeName() => "Country";
TypeContext? context = _ctx;
}
class ListItem extends Entity implements IConvertible
{
String? listId;
String? country;
String? relatedId;
String? code;
String? custom;
ListItem({this.listId,this.country,this.relatedId,this.code,this.custom});
ListItem.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
listId = json['listId'];
country = json['country'];
relatedId = json['relatedId'];
code = json['code'];
custom = json['custom'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'listId': listId,
'country': country,
'relatedId': relatedId,
'code': code,
'custom': custom
});
getTypeName() => "ListItem";
TypeContext? context = _ctx;
}
class SiteSection implements IConvertible
{
String? route;
bool? public;
String? parent;
int? roles;
List<String>? hideFrom;
int? order;
SiteSection({this.route,this.public,this.parent,this.roles,this.hideFrom,this.order});
SiteSection.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
route = json['route'];
public = json['public'];
parent = json['parent'];
roles = json['roles'];
hideFrom = JsonConverters.fromJson(json['hideFrom'],'List<String>',context!);
order = json['order'];
return this;
}
Map<String, dynamic> toJson() => {
'route': route,
'public': public,
'parent': parent,
'roles': roles,
'hideFrom': JsonConverters.toJson(hideFrom,'List<String>',context!),
'order': order
};
getTypeName() => "SiteSection";
TypeContext? context = _ctx;
}
class Configuration extends Entity implements IConvertible
{
String? category;
Map<String,Country?>? countries;
List<ListItem>? listItems;
Map<String,String?>? listRelationships;
Map<String,List<String>?>? sectionElements;
Map<String,SiteSection?>? siteStructure;
int? version;
String? createdBy;
DateTime? dateCreated;
String? updatedBy;
DateTime? dateUpdated;
Configuration({this.category,this.countries,this.listItems,this.listRelationships,this.sectionElements,this.siteStructure,this.version,this.createdBy,this.dateCreated,this.updatedBy,this.dateUpdated});
Configuration.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
category = json['category'];
countries = JsonConverters.fromJson(json['countries'],'Map<String,Country?>',context!);
listItems = JsonConverters.fromJson(json['listItems'],'List<ListItem>',context!);
listRelationships = JsonConverters.toStringMap(json['listRelationships']);
sectionElements = JsonConverters.fromJson(json['sectionElements'],'Map<String,List<String>?>',context!);
siteStructure = JsonConverters.fromJson(json['siteStructure'],'Map<String,SiteSection?>',context!);
version = json['version'];
createdBy = json['createdBy'];
dateCreated = JsonConverters.fromJson(json['dateCreated'],'DateTime',context!);
updatedBy = json['updatedBy'];
dateUpdated = JsonConverters.fromJson(json['dateUpdated'],'DateTime',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'category': category,
'countries': JsonConverters.toJson(countries,'Map<String,Country?>',context!),
'listItems': JsonConverters.toJson(listItems,'List<ListItem>',context!),
'listRelationships': listRelationships,
'sectionElements': JsonConverters.toJson(sectionElements,'Map<String,List<String>?>',context!),
'siteStructure': JsonConverters.toJson(siteStructure,'Map<String,SiteSection?>',context!),
'version': version,
'createdBy': createdBy,
'dateCreated': JsonConverters.toJson(dateCreated,'DateTime',context!),
'updatedBy': updatedBy,
'dateUpdated': JsonConverters.toJson(dateUpdated,'DateTime',context!)
});
getTypeName() => "Configuration";
TypeContext? context = _ctx;
}
class ConfigurationReq implements IConvertible
{
ConfigurationReq();
ConfigurationReq.fromJson(Map<String, dynamic> json) : super();
fromMap(Map<String, dynamic> json) {
return this;
}
Map<String, dynamic> toJson() => {};
getTypeName() => "ConfigurationReq";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'hcbtas_q_albamfs_api.azurewebsites.net', types: <String, TypeInfo> {
'Entity': TypeInfo(TypeOf.Class, create:() => Entity()),
'Country': TypeInfo(TypeOf.Class, create:() => Country()),
'ListItem': TypeInfo(TypeOf.Class, create:() => ListItem()),
'SiteSection': TypeInfo(TypeOf.Class, create:() => SiteSection()),
'Configuration': TypeInfo(TypeOf.Class, create:() => Configuration()),
'Map<String,Country?>': TypeInfo(TypeOf.Class, create:() => Map<String,Country?>()),
'List<ListItem>': TypeInfo(TypeOf.Class, create:() => <ListItem>[]),
'Map<String,List<String>?>': TypeInfo(TypeOf.Class, create:() => Map<String,List<String>?>()),
'Map<String,SiteSection?>': TypeInfo(TypeOf.Class, create:() => Map<String,SiteSection?>()),
'ConfigurationReq': TypeInfo(TypeOf.Class, create:() => ConfigurationReq()),
});
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.
GET /config HTTP/1.1 Host: hcbtas-q-albamfs-api.azurewebsites.net Accept: text/jsv
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { category: String, countries: { String: { name: String, languages: { String: String } } }, listItems: [ { listId: String, country: String, relatedId: String, code: String, custom: String, id: String } ], listRelationships: { String: String }, sectionElements: { String: [ String ] }, siteStructure: { String: { route: String, public: False, parent: String, roles: 0, hideFrom: [ String ], order: 0 } }, version: 0, createdBy: String, dateCreated: 0001-01-01, updatedBy: String, dateUpdated: 0001-01-01, id: String }