AlbaApi

<back to all web services

ConfigurationByCategoryReq

The following routes are available for this service:
GET/config/{Category}
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 ConfigurationByCategoryReq implements IConvertible
{
    String? category;

    ConfigurationByCategoryReq({this.category});
    ConfigurationByCategoryReq.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        category = json['category'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'category': category
    };

    getTypeName() => "ConfigurationByCategoryReq";
    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?>()),
    'ConfigurationByCategoryReq': TypeInfo(TypeOf.Class, create:() => ConfigurationByCategoryReq()),
});

Dart ConfigurationByCategoryReq DTOs

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

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /config/{Category} 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
}