Booster.Microservices

<back to all web services

StockRequest

Requires Authentication
The following routes are available for this service:
GET/warranty/v1/articles
import 'package:servicestack/servicestack.dart';

class BaseRequest<TResponse> implements IRequest, IConvertible
{
    String? sid;
    String? app;
    String? _os;
    String? _appVersion;
    String? _searchMethod;

    BaseRequest({this.sid,this.app,this._os,this._appVersion,this._searchMethod});
    BaseRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        sid = json['sid'];
        app = json['app'];
        _os = json['_os'];
        _appVersion = json['_appVersion'];
        _searchMethod = json['_searchMethod'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'sid': sid,
        'app': app,
        '_os': _os,
        '_appVersion': _appVersion,
        '_searchMethod': _searchMethod
    };

    getTypeName() => "BaseRequest<$TResponse>";
    TypeContext? context = _ctx;
}

class BaseResponse implements IRespose, IConvertible
{
    String? _xmlns;
    String? _type;
    String? _source;
    String? _tstamp;
    String? _user;
    String? _env;
    String? _uri;
    String? _query;

    BaseResponse({this._xmlns,this._type,this._source,this._tstamp,this._user,this._env,this._uri,this._query});
    BaseResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        _xmlns = json['_xmlns'];
        _type = json['_type'];
        _source = json['_source'];
        _tstamp = json['_tstamp'];
        _user = json['_user'];
        _env = json['_env'];
        _uri = json['_uri'];
        _query = json['_query'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        '_xmlns': _xmlns,
        '_type': _type,
        '_source': _source,
        '_tstamp': _tstamp,
        '_user': _user,
        '_env': _env,
        '_uri': _uri,
        '_query': _query
    };

    getTypeName() => "BaseResponse";
    TypeContext? context = _ctx;
}

class LookupInt implements ILookupInt, IConvertible
{
    String? object;
    int? id;

    LookupInt({this.object,this.id});
    LookupInt.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

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

    getTypeName() => "LookupInt";
    TypeContext? context = _ctx;
}

class Article implements IConvertible
{
    String? ref;
    String? serial;
    String? name;
    LookupInt? site;
    String? brand;
    bool? isConsignment;

    Article({this.ref,this.serial,this.name,this.site,this.brand,this.isConsignment});
    Article.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ref = json['ref'];
        serial = json['serial'];
        name = json['name'];
        site = JsonConverters.fromJson(json['site'],'LookupInt',context!);
        brand = json['brand'];
        isConsignment = json['isConsignment'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ref': ref,
        'serial': serial,
        'name': name,
        'site': JsonConverters.toJson(site,'LookupInt',context!),
        'brand': brand,
        'isConsignment': isConsignment
    };

    getTypeName() => "Article";
    TypeContext? context = _ctx;
}

class StockResponse extends BaseResponse implements IConvertible
{
    List<Article>? articles;

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

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        articles = JsonConverters.fromJson(json['articles'],'List<Article>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'articles': JsonConverters.toJson(articles,'List<Article>',context!)
    });

    getTypeName() => "StockResponse";
    TypeContext? context = _ctx;
}

class StockRequest extends BaseRequest<StockResponse> implements IConvertible
{
    StockRequest();
    StockRequest.fromJson(Map<String, dynamic> json) : super.fromJson(json);
    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson();
    getTypeName() => "StockRequest";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'qp_microservices_booster.richemont.com', types: <String, TypeInfo> {
    'BaseRequest<TResponse>': TypeInfo(TypeOf.Class, create:() => BaseRequest<TResponse>()),
    'BaseResponse': TypeInfo(TypeOf.Class, create:() => BaseResponse()),
    'LookupInt': TypeInfo(TypeOf.Class, create:() => LookupInt()),
    'Article': TypeInfo(TypeOf.Class, create:() => Article()),
    'StockResponse': TypeInfo(TypeOf.Class, create:() => StockResponse()),
    'List<Article>': TypeInfo(TypeOf.Class, create:() => <Article>[]),
    'StockRequest': TypeInfo(TypeOf.Class, create:() => StockRequest()),
});

Dart StockRequest DTOs

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

HTTP + OTHER

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

GET /warranty/v1/articles HTTP/1.1 
Host: qp-microservices-booster.richemont.com 
Accept: text/jsonl
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"articles":[{"ref":"String","serial":"String","name":"String","site":{"object":"String","id":0},"brand":"String","isConsignment":false}],"_xmlns":"String","_type":"String","_source":"String","_tstamp":"String","_user":"String","_env":"String","_uri":"String","_query":"String"}