Booster.Microservices

<back to all web services

SitesRequest

Requires Authentication
The following routes are available for this service:
GET/warranty/v1/sites
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 Address implements IConvertible
{
    String? line1;
    String? city;
    String? zipCode;
    String? countryCode;

    Address({this.line1,this.city,this.zipCode,this.countryCode});
    Address.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        line1 = json['line1'];
        city = json['city'];
        zipCode = json['zipCode'];
        countryCode = json['countryCode'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'line1': line1,
        'city': city,
        'zipCode': zipCode,
        'countryCode': countryCode
    };

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

class Brand implements IConvertible
{
    String? brand;
    String? lastStockTakingDate;
    int? isAutomaticInvoiceNumberEnabled;
    bool? saleRepRequired;
    bool? crmSaleRepRequired;
    bool? showPromoterType;
    int? stockOwner;

    Brand({this.brand,this.lastStockTakingDate,this.isAutomaticInvoiceNumberEnabled,this.saleRepRequired,this.crmSaleRepRequired,this.showPromoterType,this.stockOwner});
    Brand.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        brand = json['brand'];
        lastStockTakingDate = json['lastStockTakingDate'];
        isAutomaticInvoiceNumberEnabled = json['isAutomaticInvoiceNumberEnabled'];
        saleRepRequired = json['saleRepRequired'];
        crmSaleRepRequired = json['crmSaleRepRequired'];
        showPromoterType = json['showPromoterType'];
        stockOwner = json['stockOwner'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'brand': brand,
        'lastStockTakingDate': lastStockTakingDate,
        'isAutomaticInvoiceNumberEnabled': isAutomaticInvoiceNumberEnabled,
        'saleRepRequired': saleRepRequired,
        'crmSaleRepRequired': crmSaleRepRequired,
        'showPromoterType': showPromoterType,
        'stockOwner': stockOwner
    };

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

class User implements ILookupString, IConvertible
{
    String? object;
    String? id;
    String? brand;
    String? displayName;

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

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

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

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

class Site implements ILookupInt, IConvertible
{
    String? object;
    int? id;
    String? name;
    Address? address;
    List<Brand>? brands;
    List<User>? users;
    int? isNfcActive;
    int? isIOsEmbReaderEnable;
    bool? crmPrivacyPolicyMandatory;
    bool? crmAllowStoreDataAbroadVisible;
    bool? displayFirstLastNameNotLatin;
    String? languageTransliteration;
    bool? crmPrivacyPolicyTimeValleeMandatory;
    bool? crmAllowStoreDataAbroadTimeValleeVisible;
    bool? allowToCreateEndCustomerOutsideChina;
    bool? isTimeVallee;
    bool? doNotDisplayPOSDataInDisclaimers;
    bool? crmFirstNameMandatory;
    bool? manageOwnStock;
    bool? crmCityMandatory;

    Site({this.object,this.id,this.name,this.address,this.brands,this.users,this.isNfcActive,this.isIOsEmbReaderEnable,this.crmPrivacyPolicyMandatory,this.crmAllowStoreDataAbroadVisible,this.displayFirstLastNameNotLatin,this.languageTransliteration,this.crmPrivacyPolicyTimeValleeMandatory,this.crmAllowStoreDataAbroadTimeValleeVisible,this.allowToCreateEndCustomerOutsideChina,this.isTimeVallee,this.doNotDisplayPOSDataInDisclaimers,this.crmFirstNameMandatory,this.manageOwnStock,this.crmCityMandatory});
    Site.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        object = json['object'];
        id = json['id'];
        name = json['name'];
        address = JsonConverters.fromJson(json['address'],'Address',context!);
        brands = JsonConverters.fromJson(json['brands'],'List<Brand>',context!);
        users = JsonConverters.fromJson(json['users'],'List<User>',context!);
        isNfcActive = json['isNfcActive'];
        isIOsEmbReaderEnable = json['isIOsEmbReaderEnable'];
        crmPrivacyPolicyMandatory = json['crmPrivacyPolicyMandatory'];
        crmAllowStoreDataAbroadVisible = json['crmAllowStoreDataAbroadVisible'];
        displayFirstLastNameNotLatin = json['displayFirstLastNameNotLatin'];
        languageTransliteration = json['languageTransliteration'];
        crmPrivacyPolicyTimeValleeMandatory = json['crmPrivacyPolicyTimeValleeMandatory'];
        crmAllowStoreDataAbroadTimeValleeVisible = json['crmAllowStoreDataAbroadTimeValleeVisible'];
        allowToCreateEndCustomerOutsideChina = json['allowToCreateEndCustomerOutsideChina'];
        isTimeVallee = json['isTimeVallee'];
        doNotDisplayPOSDataInDisclaimers = json['doNotDisplayPOSDataInDisclaimers'];
        crmFirstNameMandatory = json['crmFirstNameMandatory'];
        manageOwnStock = json['manageOwnStock'];
        crmCityMandatory = json['crmCityMandatory'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'object': object,
        'id': id,
        'name': name,
        'address': JsonConverters.toJson(address,'Address',context!),
        'brands': JsonConverters.toJson(brands,'List<Brand>',context!),
        'users': JsonConverters.toJson(users,'List<User>',context!),
        'isNfcActive': isNfcActive,
        'isIOsEmbReaderEnable': isIOsEmbReaderEnable,
        'crmPrivacyPolicyMandatory': crmPrivacyPolicyMandatory,
        'crmAllowStoreDataAbroadVisible': crmAllowStoreDataAbroadVisible,
        'displayFirstLastNameNotLatin': displayFirstLastNameNotLatin,
        'languageTransliteration': languageTransliteration,
        'crmPrivacyPolicyTimeValleeMandatory': crmPrivacyPolicyTimeValleeMandatory,
        'crmAllowStoreDataAbroadTimeValleeVisible': crmAllowStoreDataAbroadTimeValleeVisible,
        'allowToCreateEndCustomerOutsideChina': allowToCreateEndCustomerOutsideChina,
        'isTimeVallee': isTimeVallee,
        'doNotDisplayPOSDataInDisclaimers': doNotDisplayPOSDataInDisclaimers,
        'crmFirstNameMandatory': crmFirstNameMandatory,
        'manageOwnStock': manageOwnStock,
        'crmCityMandatory': crmCityMandatory
    };

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

class SitesResponse extends BaseResponse implements IConvertible
{
    List<Site>? sites;

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

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

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

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

class SitesRequest extends BaseRequest<SitesResponse> implements IConvertible
{
    SitesRequest();
    SitesRequest.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() => "SitesRequest";
    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()),
    'Address': TypeInfo(TypeOf.Class, create:() => Address()),
    'Brand': TypeInfo(TypeOf.Class, create:() => Brand()),
    'User': TypeInfo(TypeOf.Class, create:() => User()),
    'Site': TypeInfo(TypeOf.Class, create:() => Site()),
    'List<Brand>': TypeInfo(TypeOf.Class, create:() => <Brand>[]),
    'List<User>': TypeInfo(TypeOf.Class, create:() => <User>[]),
    'SitesResponse': TypeInfo(TypeOf.Class, create:() => SitesResponse()),
    'List<Site>': TypeInfo(TypeOf.Class, create:() => <Site>[]),
    'SitesRequest': TypeInfo(TypeOf.Class, create:() => SitesRequest()),
});

Dart SitesRequest 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/sites HTTP/1.1 
Host: qp-microservices-booster.richemont.com 
Accept: text/jsonl
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"sites":[{"object":"String","id":0,"name":"String","address":{"line1":"String","city":"String","zipCode":"String","countryCode":"String"},"brands":[{"brand":"String","lastStockTakingDate":"String","isAutomaticInvoiceNumberEnabled":0,"saleRepRequired":false,"crmSaleRepRequired":false,"showPromoterType":false,"stockOwner":0}],"users":[{"object":"String","id":"String","brand":"String","displayName":"String"}],"isNfcActive":0,"isIOsEmbReaderEnable":0,"crmPrivacyPolicyMandatory":false,"crmAllowStoreDataAbroadVisible":false,"displayFirstLastNameNotLatin":false,"languageTransliteration":"String","crmPrivacyPolicyTimeValleeMandatory":false,"crmAllowStoreDataAbroadTimeValleeVisible":false,"allowToCreateEndCustomerOutsideChina":false,"isTimeVallee":false,"doNotDisplayPOSDataInDisclaimers":false,"crmFirstNameMandatory":false,"manageOwnStock":false,"crmCityMandatory":false}],"_xmlns":"String","_type":"String","_source":"String","_tstamp":"String","_user":"String","_env":"String","_uri":"String","_query":"String"}