GET | /clientcountryconfig/{Country}/{Client} | ||
---|---|---|---|
GET | /clientcountryconfig | ||
POST | /clientcountryconfig |
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;
}
abstract class DatedEntity extends Entity implements IDatedEntity
{
DateTime? asAt;
DatedEntity({this.asAt});
DatedEntity.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
asAt = JsonConverters.fromJson(json['asAt'],'DateTime',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'asAt': JsonConverters.toJson(asAt,'DateTime',context!)
});
getTypeName() => "DatedEntity";
TypeContext? context = _ctx;
}
enum DataSource
{
Db,
Cache,
Parameter,
NA,
}
class DataSourceResult implements IConvertible
{
DataSource? d;
int? t;
DataSourceResult({this.d,this.t});
DataSourceResult.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
d = JsonConverters.fromJson(json['d'],'DataSource',context!);
t = json['t'];
return this;
}
Map<String, dynamic> toJson() => {
'd': JsonConverters.toJson(d,'DataSource',context!),
't': t
};
getTypeName() => "DataSourceResult";
TypeContext? context = _ctx;
}
enum Gender
{
Female,
Male,
Other,
}
class LifeTableName implements IConvertible
{
String? name;
Gender? gender;
LifeTableName({this.name,this.gender});
LifeTableName.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
name = json['name'];
gender = JsonConverters.fromJson(json['gender'],'Gender',context!);
return this;
}
Map<String, dynamic> toJson() => {
'name': name,
'gender': JsonConverters.toJson(gender,'Gender',context!)
};
getTypeName() => "LifeTableName";
TypeContext? context = _ctx;
}
enum AnnuityPriceType
{
Calc,
Table,
}
class AnnuityConfig implements IConvertible
{
List<LifeTableName>? tableNames;
List<LifeTableName>? imprFactorTableNames;
double? reversion;
double? guarantee;
double? timing;
bool? allowDiscountPreRet;
double? scaleQx;
double? scaleImpr;
int? ageRating;
int? spouseAgeRating;
double? expense;
double? percBalanceSpent;
double? amountSpent;
double? incomePurchased;
int? deferralPeriod;
String? indexationName;
String? drStochastic;
String? impliedInflationStochasticSeries;
double? targetTpx;
AnnuityPriceType? priceType;
double? price;
AnnuityConfig({this.tableNames,this.imprFactorTableNames,this.reversion,this.guarantee,this.timing,this.allowDiscountPreRet,this.scaleQx,this.scaleImpr,this.ageRating,this.spouseAgeRating,this.expense,this.percBalanceSpent,this.amountSpent,this.incomePurchased,this.deferralPeriod,this.indexationName,this.drStochastic,this.impliedInflationStochasticSeries,this.targetTpx,this.priceType,this.price});
AnnuityConfig.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
tableNames = JsonConverters.fromJson(json['tableNames'],'List<LifeTableName>',context!);
imprFactorTableNames = JsonConverters.fromJson(json['imprFactorTableNames'],'List<LifeTableName>',context!);
reversion = JsonConverters.toDouble(json['reversion']);
guarantee = JsonConverters.toDouble(json['guarantee']);
timing = JsonConverters.toDouble(json['timing']);
allowDiscountPreRet = json['allowDiscountPreRet'];
scaleQx = JsonConverters.toDouble(json['scaleQx']);
scaleImpr = JsonConverters.toDouble(json['scaleImpr']);
ageRating = json['ageRating'];
spouseAgeRating = json['spouseAgeRating'];
expense = JsonConverters.toDouble(json['expense']);
percBalanceSpent = JsonConverters.toDouble(json['percBalanceSpent']);
amountSpent = JsonConverters.toDouble(json['amountSpent']);
incomePurchased = JsonConverters.toDouble(json['incomePurchased']);
deferralPeriod = json['deferralPeriod'];
indexationName = json['indexationName'];
drStochastic = json['drStochastic'];
impliedInflationStochasticSeries = json['impliedInflationStochasticSeries'];
targetTpx = JsonConverters.toDouble(json['targetTpx']);
priceType = JsonConverters.fromJson(json['priceType'],'AnnuityPriceType',context!);
price = JsonConverters.toDouble(json['price']);
return this;
}
Map<String, dynamic> toJson() => {
'tableNames': JsonConverters.toJson(tableNames,'List<LifeTableName>',context!),
'imprFactorTableNames': JsonConverters.toJson(imprFactorTableNames,'List<LifeTableName>',context!),
'reversion': reversion,
'guarantee': guarantee,
'timing': timing,
'allowDiscountPreRet': allowDiscountPreRet,
'scaleQx': scaleQx,
'scaleImpr': scaleImpr,
'ageRating': ageRating,
'spouseAgeRating': spouseAgeRating,
'expense': expense,
'percBalanceSpent': percBalanceSpent,
'amountSpent': amountSpent,
'incomePurchased': incomePurchased,
'deferralPeriod': deferralPeriod,
'indexationName': indexationName,
'drStochastic': drStochastic,
'impliedInflationStochasticSeries': impliedInflationStochasticSeries,
'targetTpx': targetTpx,
'priceType': JsonConverters.toJson(priceType,'AnnuityPriceType',context!),
'price': price
};
getTypeName() => "AnnuityConfig";
TypeContext? context = _ctx;
}
enum ContributionType
{
Fixed,
Time,
Lookup,
Match,
}
class ContributionConstraint implements IConvertible
{
int? fromAge;
int? toAge;
double? min;
double? max;
double? step;
ContributionConstraint({this.fromAge,this.toAge,this.min,this.max,this.step});
ContributionConstraint.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
fromAge = json['fromAge'];
toAge = json['toAge'];
min = JsonConverters.toDouble(json['min']);
max = JsonConverters.toDouble(json['max']);
step = JsonConverters.toDouble(json['step']);
return this;
}
Map<String, dynamic> toJson() => {
'fromAge': fromAge,
'toAge': toAge,
'min': min,
'max': max,
'step': step
};
getTypeName() => "ContributionConstraint";
TypeContext? context = _ctx;
}
enum AmountType
{
Any,
Amount,
Rate,
}
class ContributionSpec implements IConvertible
{
String? code;
String? name;
ContributionType? type;
bool? isEmployeeCont;
String? table;
String? ccy;
int? fromAge;
int? toAge;
String? indexationType;
String? salaryType;
bool? isTaxable;
String? relatedRate;
int? order;
bool? editable;
List<ContributionConstraint>? constraints;
AmountType? amountType;
bool? isOneOff;
ContributionSpec({this.code,this.name,this.type,this.isEmployeeCont,this.table,this.ccy,this.fromAge,this.toAge,this.indexationType,this.salaryType,this.isTaxable,this.relatedRate,this.order,this.editable,this.constraints,this.amountType,this.isOneOff});
ContributionSpec.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
code = json['code'];
name = json['name'];
type = JsonConverters.fromJson(json['type'],'ContributionType',context!);
isEmployeeCont = json['isEmployeeCont'];
table = json['table'];
ccy = json['ccy'];
fromAge = json['fromAge'];
toAge = json['toAge'];
indexationType = json['indexationType'];
salaryType = json['salaryType'];
isTaxable = json['isTaxable'];
relatedRate = json['relatedRate'];
order = json['order'];
editable = json['editable'];
constraints = JsonConverters.fromJson(json['constraints'],'List<ContributionConstraint>',context!);
amountType = JsonConverters.fromJson(json['amountType'],'AmountType',context!);
isOneOff = json['isOneOff'];
return this;
}
Map<String, dynamic> toJson() => {
'code': code,
'name': name,
'type': JsonConverters.toJson(type,'ContributionType',context!),
'isEmployeeCont': isEmployeeCont,
'table': table,
'ccy': ccy,
'fromAge': fromAge,
'toAge': toAge,
'indexationType': indexationType,
'salaryType': salaryType,
'isTaxable': isTaxable,
'relatedRate': relatedRate,
'order': order,
'editable': editable,
'constraints': JsonConverters.toJson(constraints,'List<ContributionConstraint>',context!),
'amountType': JsonConverters.toJson(amountType,'AmountType',context!),
'isOneOff': isOneOff
};
getTypeName() => "ContributionSpec";
TypeContext? context = _ctx;
}
class AssetConfig implements IConvertible
{
String? code;
String? name;
bool? rebalance;
bool? canEditInvestmentChoice;
bool? willSpend;
List<String>? investments;
List<ContributionSpec>? contributions;
bool? isOneOff;
AssetConfig({this.code,this.name,this.rebalance,this.canEditInvestmentChoice,this.willSpend,this.investments,this.contributions,this.isOneOff});
AssetConfig.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
code = json['code'];
name = json['name'];
rebalance = json['rebalance'];
canEditInvestmentChoice = json['canEditInvestmentChoice'];
willSpend = json['willSpend'];
investments = JsonConverters.fromJson(json['investments'],'List<String>',context!);
contributions = JsonConverters.fromJson(json['contributions'],'List<ContributionSpec>',context!);
isOneOff = json['isOneOff'];
return this;
}
Map<String, dynamic> toJson() => {
'code': code,
'name': name,
'rebalance': rebalance,
'canEditInvestmentChoice': canEditInvestmentChoice,
'willSpend': willSpend,
'investments': JsonConverters.toJson(investments,'List<String>',context!),
'contributions': JsonConverters.toJson(contributions,'List<ContributionSpec>',context!),
'isOneOff': isOneOff
};
getTypeName() => "AssetConfig";
TypeContext? context = _ctx;
}
class ContributionRateSpec implements IConvertible
{
int? fromAge;
int? toAge;
int? fromService;
int? toService;
double? sourceRate;
DateTime? dateFrom;
DateTime? dateTo;
double? upperLimit;
double? rate;
double? coreRate;
String? lookupKey;
ContributionRateSpec({this.fromAge,this.toAge,this.fromService,this.toService,this.sourceRate,this.dateFrom,this.dateTo,this.upperLimit,this.rate,this.coreRate,this.lookupKey});
ContributionRateSpec.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
fromAge = json['fromAge'];
toAge = json['toAge'];
fromService = json['fromService'];
toService = json['toService'];
sourceRate = JsonConverters.toDouble(json['sourceRate']);
dateFrom = JsonConverters.fromJson(json['dateFrom'],'DateTime',context!);
dateTo = JsonConverters.fromJson(json['dateTo'],'DateTime',context!);
upperLimit = JsonConverters.toDouble(json['upperLimit']);
rate = JsonConverters.toDouble(json['rate']);
coreRate = JsonConverters.toDouble(json['coreRate']);
lookupKey = json['lookupKey'];
return this;
}
Map<String, dynamic> toJson() => {
'fromAge': fromAge,
'toAge': toAge,
'fromService': fromService,
'toService': toService,
'sourceRate': sourceRate,
'dateFrom': JsonConverters.toJson(dateFrom,'DateTime',context!),
'dateTo': JsonConverters.toJson(dateTo,'DateTime',context!),
'upperLimit': upperLimit,
'rate': rate,
'coreRate': coreRate,
'lookupKey': lookupKey
};
getTypeName() => "ContributionRateSpec";
TypeContext? context = _ctx;
}
class ContributionTableSpec implements IConvertible
{
String? code;
ContributionType? type;
Map<String,double?>? rates;
List<ContributionRateSpec>? rateSpecs;
String? keyTemplate;
ContributionTableSpec({this.code,this.type,this.rates,this.rateSpecs,this.keyTemplate});
ContributionTableSpec.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
code = json['code'];
type = JsonConverters.fromJson(json['type'],'ContributionType',context!);
rates = JsonConverters.fromJson(json['rates'],'Map<String,double?>',context!);
rateSpecs = JsonConverters.fromJson(json['rateSpecs'],'List<ContributionRateSpec>',context!);
keyTemplate = json['keyTemplate'];
return this;
}
Map<String, dynamic> toJson() => {
'code': code,
'type': JsonConverters.toJson(type,'ContributionType',context!),
'rates': JsonConverters.toJson(rates,'Map<String,double?>',context!),
'rateSpecs': JsonConverters.toJson(rateSpecs,'List<ContributionRateSpec>',context!),
'keyTemplate': keyTemplate
};
getTypeName() => "ContributionTableSpec";
TypeContext? context = _ctx;
}
class InvestmentProductAllocationsSpec implements IConvertible
{
int? fromAge;
int? term;
Map<String,double?>? allocs;
double? totalAlloc;
InvestmentProductAllocationsSpec({this.fromAge,this.term,this.allocs,this.totalAlloc});
InvestmentProductAllocationsSpec.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
fromAge = json['fromAge'];
term = json['term'];
allocs = JsonConverters.fromJson(json['allocs'],'Map<String,double?>',context!);
totalAlloc = JsonConverters.toDouble(json['totalAlloc']);
return this;
}
Map<String, dynamic> toJson() => {
'fromAge': fromAge,
'term': term,
'allocs': JsonConverters.toJson(allocs,'Map<String,double?>',context!),
'totalAlloc': totalAlloc
};
getTypeName() => "InvestmentProductAllocationsSpec";
TypeContext? context = _ctx;
}
class InvestmentProduct implements IConvertible
{
String? code;
String? name;
String? group;
bool? isAssetClassFund;
List<InvestmentProductAllocationsSpec>? allocs;
int? order;
Map<int,Map<String,double>?>? allocationsDictionary;
InvestmentProduct({this.code,this.name,this.group,this.isAssetClassFund,this.allocs,this.order,this.allocationsDictionary});
InvestmentProduct.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
code = json['code'];
name = json['name'];
group = json['group'];
isAssetClassFund = json['isAssetClassFund'];
allocs = JsonConverters.fromJson(json['allocs'],'List<InvestmentProductAllocationsSpec>',context!);
order = json['order'];
allocationsDictionary = JsonConverters.fromJson(json['allocationsDictionary'],'Map<int,Map<String,double>?>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'code': code,
'name': name,
'group': group,
'isAssetClassFund': isAssetClassFund,
'allocs': JsonConverters.toJson(allocs,'List<InvestmentProductAllocationsSpec>',context!),
'order': order,
'allocationsDictionary': JsonConverters.toJson(allocationsDictionary,'Map<int,Map<String,double>?>',context!)
};
getTypeName() => "InvestmentProduct";
TypeContext? context = _ctx;
}
class ReturnRates implements IConvertible
{
List<double>? earningRates;
List<double>? taxRates;
ReturnRates({this.earningRates,this.taxRates});
ReturnRates.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
earningRates = JsonConverters.fromJson(json['earningRates'],'List<double>',context!);
taxRates = JsonConverters.fromJson(json['taxRates'],'List<double>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'earningRates': JsonConverters.toJson(earningRates,'List<double>',context!),
'taxRates': JsonConverters.toJson(taxRates,'List<double>',context!)
};
getTypeName() => "ReturnRates";
TypeContext? context = _ctx;
}
class ClientCountryConfig extends DatedEntity implements IConvertible
{
String? clientCode;
String? clientName;
String? countryCode;
DataSourceResult? source;
int? ageRMin;
int? ageRMax;
String? primarySalary;
AnnuityConfig? annuityConfig;
List<AssetConfig>? assets;
List<ContributionTableSpec>? contTables;
List<InvestmentProduct>? investments;
Map<String,List<Content>?>? content;
Map<String,String?>? environments;
Map<String,Constraint<double>?>? customNumericConstraints;
Map<String,ReturnRates?>? assetReturnRates;
double? investmentPropertyRates;
Map<String,bool?>? getAssetClassFundDictionary;
Map<String,bool?>? getTermBasedFundDictionary;
Map<String,Map<int,Map<String,double>>?>? getAllocationsDictionary;
Map<String,String?>? assetNameMap;
Map<String,Map<String,String>?>? assetContNameMap;
String? cacheKey;
ClientCountryConfig({this.clientCode,this.clientName,this.countryCode,this.source,this.ageRMin,this.ageRMax,this.primarySalary,this.annuityConfig,this.assets,this.contTables,this.investments,this.content,this.environments,this.customNumericConstraints,this.assetReturnRates,this.investmentPropertyRates,this.getAssetClassFundDictionary,this.getTermBasedFundDictionary,this.getAllocationsDictionary,this.assetNameMap,this.assetContNameMap,this.cacheKey});
ClientCountryConfig.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
clientCode = json['clientCode'];
clientName = json['clientName'];
countryCode = json['countryCode'];
source = JsonConverters.fromJson(json['source'],'DataSourceResult',context!);
ageRMin = json['ageRMin'];
ageRMax = json['ageRMax'];
primarySalary = json['primarySalary'];
annuityConfig = JsonConverters.fromJson(json['annuityConfig'],'AnnuityConfig',context!);
assets = JsonConverters.fromJson(json['assets'],'List<AssetConfig>',context!);
contTables = JsonConverters.fromJson(json['contTables'],'List<ContributionTableSpec>',context!);
investments = JsonConverters.fromJson(json['investments'],'List<InvestmentProduct>',context!);
content = JsonConverters.fromJson(json['content'],'Map<String,List<Content>?>',context!);
environments = JsonConverters.toStringMap(json['environments']);
customNumericConstraints = JsonConverters.fromJson(json['customNumericConstraints'],'Map<String,Constraint<double>?>',context!);
assetReturnRates = JsonConverters.fromJson(json['assetReturnRates'],'Map<String,ReturnRates?>',context!);
investmentPropertyRates = JsonConverters.toDouble(json['investmentPropertyRates']);
getAssetClassFundDictionary = JsonConverters.fromJson(json['getAssetClassFundDictionary'],'Map<String,bool?>',context!);
getTermBasedFundDictionary = JsonConverters.fromJson(json['getTermBasedFundDictionary'],'Map<String,bool?>',context!);
getAllocationsDictionary = JsonConverters.fromJson(json['getAllocationsDictionary'],'Map<String,Map<int,Map<String,double>>?>',context!);
assetNameMap = JsonConverters.toStringMap(json['assetNameMap']);
assetContNameMap = JsonConverters.fromJson(json['assetContNameMap'],'Map<String,Map<String,String>?>',context!);
cacheKey = json['cacheKey'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'clientCode': clientCode,
'clientName': clientName,
'countryCode': countryCode,
'source': JsonConverters.toJson(source,'DataSourceResult',context!),
'ageRMin': ageRMin,
'ageRMax': ageRMax,
'primarySalary': primarySalary,
'annuityConfig': JsonConverters.toJson(annuityConfig,'AnnuityConfig',context!),
'assets': JsonConverters.toJson(assets,'List<AssetConfig>',context!),
'contTables': JsonConverters.toJson(contTables,'List<ContributionTableSpec>',context!),
'investments': JsonConverters.toJson(investments,'List<InvestmentProduct>',context!),
'content': JsonConverters.toJson(content,'Map<String,List<Content>?>',context!),
'environments': environments,
'customNumericConstraints': JsonConverters.toJson(customNumericConstraints,'Map<String,Constraint<double>?>',context!),
'assetReturnRates': JsonConverters.toJson(assetReturnRates,'Map<String,ReturnRates?>',context!),
'investmentPropertyRates': investmentPropertyRates,
'getAssetClassFundDictionary': JsonConverters.toJson(getAssetClassFundDictionary,'Map<String,bool?>',context!),
'getTermBasedFundDictionary': JsonConverters.toJson(getTermBasedFundDictionary,'Map<String,bool?>',context!),
'getAllocationsDictionary': JsonConverters.toJson(getAllocationsDictionary,'Map<String,Map<int,Map<String,double>>?>',context!),
'assetNameMap': assetNameMap,
'assetContNameMap': JsonConverters.toJson(assetContNameMap,'Map<String,Map<String,String>?>',context!),
'cacheKey': cacheKey
});
getTypeName() => "ClientCountryConfig";
TypeContext? context = _ctx;
}
class AlbaClientCountryConfigReq implements IConvertible
{
String? countryCode;
String? clientCode;
AlbaClientCountryConfigReq({this.countryCode,this.clientCode});
AlbaClientCountryConfigReq.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
countryCode = json['countryCode'];
clientCode = json['clientCode'];
return this;
}
Map<String, dynamic> toJson() => {
'countryCode': countryCode,
'clientCode': clientCode
};
getTypeName() => "AlbaClientCountryConfigReq";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'hcbtas_q_albamfs_api.azurewebsites.net', types: <String, TypeInfo> {
'Entity': TypeInfo(TypeOf.Class, create:() => Entity()),
'DatedEntity': TypeInfo(TypeOf.AbstractClass),
'DataSource': TypeInfo(TypeOf.Enum, enumValues:DataSource.values),
'DataSourceResult': TypeInfo(TypeOf.Class, create:() => DataSourceResult()),
'Gender': TypeInfo(TypeOf.Enum, enumValues:Gender.values),
'LifeTableName': TypeInfo(TypeOf.Class, create:() => LifeTableName()),
'AnnuityPriceType': TypeInfo(TypeOf.Enum, enumValues:AnnuityPriceType.values),
'AnnuityConfig': TypeInfo(TypeOf.Class, create:() => AnnuityConfig()),
'List<LifeTableName>': TypeInfo(TypeOf.Class, create:() => <LifeTableName>[]),
'ContributionType': TypeInfo(TypeOf.Enum, enumValues:ContributionType.values),
'ContributionConstraint': TypeInfo(TypeOf.Class, create:() => ContributionConstraint()),
'AmountType': TypeInfo(TypeOf.Enum, enumValues:AmountType.values),
'ContributionSpec': TypeInfo(TypeOf.Class, create:() => ContributionSpec()),
'List<ContributionConstraint>': TypeInfo(TypeOf.Class, create:() => <ContributionConstraint>[]),
'AssetConfig': TypeInfo(TypeOf.Class, create:() => AssetConfig()),
'List<ContributionSpec>': TypeInfo(TypeOf.Class, create:() => <ContributionSpec>[]),
'ContributionRateSpec': TypeInfo(TypeOf.Class, create:() => ContributionRateSpec()),
'ContributionTableSpec': TypeInfo(TypeOf.Class, create:() => ContributionTableSpec()),
'Map<String,double?>': TypeInfo(TypeOf.Class, create:() => Map<String,double?>()),
'List<ContributionRateSpec>': TypeInfo(TypeOf.Class, create:() => <ContributionRateSpec>[]),
'InvestmentProductAllocationsSpec': TypeInfo(TypeOf.Class, create:() => InvestmentProductAllocationsSpec()),
'InvestmentProduct': TypeInfo(TypeOf.Class, create:() => InvestmentProduct()),
'List<InvestmentProductAllocationsSpec>': TypeInfo(TypeOf.Class, create:() => <InvestmentProductAllocationsSpec>[]),
'Map<int,Map<String,double>?>': TypeInfo(TypeOf.Class, create:() => Map<int,Map<String,double>?>()),
'Map<String,double>': TypeInfo(TypeOf.Class, create:() => Map<String,double>()),
'ReturnRates': TypeInfo(TypeOf.Class, create:() => ReturnRates()),
'ClientCountryConfig': TypeInfo(TypeOf.Class, create:() => ClientCountryConfig()),
'List<AssetConfig>': TypeInfo(TypeOf.Class, create:() => <AssetConfig>[]),
'List<ContributionTableSpec>': TypeInfo(TypeOf.Class, create:() => <ContributionTableSpec>[]),
'List<InvestmentProduct>': TypeInfo(TypeOf.Class, create:() => <InvestmentProduct>[]),
'Map<String,List<Content>?>': TypeInfo(TypeOf.Class, create:() => Map<String,List<Content>?>()),
'List<Content>': TypeInfo(TypeOf.Class, create:() => <Content>[]),
'Content': TypeInfo(TypeOf.Class, create:() => Content()),
'Map<String,Constraint<double>?>': TypeInfo(TypeOf.Class, create:() => Map<String,Constraint<double>?>()),
'Constraint<double>': TypeInfo(TypeOf.Class, create:() => Constraint<double>()),
'Map<String,ReturnRates?>': TypeInfo(TypeOf.Class, create:() => Map<String,ReturnRates?>()),
'Map<String,bool?>': TypeInfo(TypeOf.Class, create:() => Map<String,bool?>()),
'Map<String,Map<int,Map<String,double>>?>': TypeInfo(TypeOf.Class, create:() => Map<String,Map<int,Map<String,double>>?>()),
'Map<int,Map<String,double>>': TypeInfo(TypeOf.Class, create:() => Map<int,Map<String,double>>()),
'Map<String,Map<String,String>?>': TypeInfo(TypeOf.Class, create:() => Map<String,Map<String,String>?>()),
'AlbaClientCountryConfigReq': TypeInfo(TypeOf.Class, create:() => AlbaClientCountryConfigReq()),
});
Dart AlbaClientCountryConfigReq DTOs
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 /clientcountryconfig HTTP/1.1
Host: hcbtas-q-albamfs-api.azurewebsites.net
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
countryCode: String,
clientCode: String
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { clientCode: String, clientName: String, countryCode: String, source: { d: Db, t: 0 }, ageRMin: 0, ageRMax: 0, primarySalary: String, annuityConfig: { tableNames: [ { name: String, gender: Female } ], imprFactorTableNames: [ { name: String, gender: Female } ], reversion: 0, guarantee: 0, timing: 0, allowDiscountPreRet: False, scaleQx: 0, scaleImpr: 0, ageRating: 0, spouseAgeRating: 0, expense: 0, percBalanceSpent: 0, amountSpent: 0, incomePurchased: 0, deferralPeriod: 0, indexationName: String, drStochastic: String, impliedInflationStochasticSeries: String, targetTpx: 0, priceType: Calc, price: 0 }, assets: [ { code: String, name: String, rebalance: False, canEditInvestmentChoice: False, willSpend: False, investments: [ String ], contributions: [ { code: String, name: String, type: Fixed, isEmployeeCont: False, table: String, ccy: String, fromAge: 0, toAge: 0, indexationType: String, salaryType: String, isTaxable: False, relatedRate: String, order: 0, editable: False, constraints: [ { fromAge: 0, toAge: 0, min: 0, max: 0, step: 0 } ], amountType: Any, isOneOff: False } ], isOneOff: False } ], contTables: [ { code: String, type: Fixed, rates: { String: 0 }, rateSpecs: [ { fromAge: 0, toAge: 0, fromService: 0, toService: 0, sourceRate: 0, dateFrom: 0001-01-01, dateTo: 0001-01-01, upperLimit: 0, rate: 0, coreRate: 0, lookupKey: String } ], keyTemplate: age-service-rate } ], investments: [ { code: String, name: String, group: String, isAssetClassFund: False, allocs: [ { fromAge: 0, term: 0, allocs: { String: 0 }, totalAlloc: 0 } ], order: 0, allocationsDictionary: { 0: {} } } ], content: { String: [ { section: String, itemId: String, itemCode: String, country: String, lang: String, app: String, companyId: String, company: String, elements: { String: String }, id: String } ] }, environments: { String: String }, customNumericConstraints: { String: { min: 0, max: 0, step: 0 } }, assetReturnRates: { String: { earningRates: [ 0 ], taxRates: [ 0 ] } }, investmentPropertyRates: 0, getAssetClassFundDictionary: { String: False }, getTermBasedFundDictionary: { String: True }, getAllocationsDictionary: { String: { 0: {} } }, assetNameMap: { String: String }, assetContNameMap: { String: { String: String } }, cacheKey: ClientCountryConfig-String-String, asAt: 0001-01-01, id: String }