/* Options: Date: 2026-06-20 21:18:34 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.simplified.id/v2 //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetAccountStatus.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart,dart:typed_data */ import 'package:servicestack/servicestack.dart'; import 'dart:typed_data'; // @DataContract class Authentication implements IConvertible { /** * The API User ID provided by us when you signed up to use our API. Can be provided in the request body, or as a header parameter (X-Api-User) */ // @DataMember // @ApiMember(Description="The API User ID provided by us when you signed up to use our API. Can be provided in the request body, or as a header parameter (X-Api-User)", IsRequired=true, ParameterType="header, body") String? apiUserId; /** * The API User Key provided by us when you signed up to use our API. Can be provided in the request body, or as a header parameter (X-Api-Key) */ // @DataMember // @ApiMember(Description="The API User Key provided by us when you signed up to use our API. Can be provided in the request body, or as a header parameter (X-Api-Key)", IsRequired=true, ParameterType="header, body") String? apiUserKey; /** * The User ID of the user making the request (e.g. a sub user). This is optional but can be used to associate API requests with a specific user, thereby allowing user permissions to be enforced. Can be provided in the body, or as a header parameter (X-User-Id). */ // @DataMember // @ApiMember(Description="The User ID of the user making the request (e.g. a sub user). This is optional but can be used to associate API requests with a specific user, thereby allowing user permissions to be enforced. Can be provided in the body, or as a header parameter (X-User-Id).", ParameterType="header, body") String? userId; Authentication({this.apiUserId,this.apiUserKey,this.userId}); Authentication.fromJson(Map json) { fromMap(json); } fromMap(Map json) { apiUserId = json['apiUserId']; apiUserKey = json['apiUserKey']; userId = json['userId']; return this; } Map toJson() => { 'apiUserId': apiUserId, 'apiUserKey': apiUserKey, 'userId': userId }; getTypeName() => "Authentication"; TypeContext? context = _ctx; } // @DataContract class BaseRequest implements IBaseRequest, IConvertible { /** * The authentication credentials */ // @DataMember // @ApiMember(Description="The authentication credentials", IsRequired=true, ParameterType="header, body") Authentication? authentication; BaseRequest({this.authentication}); BaseRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { authentication = JsonConverters.fromJson(json['authentication'],'Authentication',context!); return this; } Map toJson() => { 'authentication': JsonConverters.toJson(authentication,'Authentication',context!) }; getTypeName() => "BaseRequest"; TypeContext? context = _ctx; } abstract class IBaseRequest { Authentication? authentication; } class BaseResponse implements IBaseDataResponse, IHasResponseStatus, IConvertible { /** * The status of the response */ // @ApiMember(Description="The status of the response") ResponseStatus? responseStatus; BaseResponse({this.responseStatus}); BaseResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!); return this; } Map toJson() => { 'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!) }; getTypeName() => "BaseResponse"; TypeContext? context = _ctx; } class AccountStatus implements IConvertible { /** * The account status (e.g. Unpaid, Active, Expired) */ // @ApiMember(Description="The account status (e.g. Unpaid, Active, Expired)") String? status; /** * The account type (e.g. live, developer, demo) */ // @ApiMember(Description="The account type (e.g. live, developer, demo)") String? type; /** * The account Expiry Date */ // @ApiMember(Description="The account Expiry Date") DateTime? expiryDate; /** * The account Expiry Date as a string in ISO 8601 format */ // @ApiMember(Description="The account Expiry Date as a string in ISO 8601 format") String? expiryDateUniversal; /** * The account balance */ // @ApiMember(Description="The account balance") double? balance; /** * The account search credit balance */ // @ApiMember(Description="The account search credit balance") int? creditBalance; /** * The account DBS credit balance */ // @ApiMember(Description="The account DBS credit balance") int? dbsBasicCreditBalance; /** * The list of enabled products for this account */ // @ApiMember(Description="The list of enabled products for this account") List? products; /** * The list of enabled capabilities for this account */ // @ApiMember(Description="The list of enabled capabilities for this account") List? capabilities; AccountStatus({this.status,this.type,this.expiryDate,this.expiryDateUniversal,this.balance,this.creditBalance,this.dbsBasicCreditBalance,this.products,this.capabilities}); AccountStatus.fromJson(Map json) { fromMap(json); } fromMap(Map json) { status = json['status']; type = json['type']; expiryDate = JsonConverters.fromJson(json['expiryDate'],'DateTime',context!); expiryDateUniversal = json['expiryDateUniversal']; balance = JsonConverters.toDouble(json['balance']); creditBalance = json['creditBalance']; dbsBasicCreditBalance = json['dbsBasicCreditBalance']; products = JsonConverters.fromJson(json['products'],'List',context!); capabilities = JsonConverters.fromJson(json['capabilities'],'List',context!); return this; } Map toJson() => { 'status': status, 'type': type, 'expiryDate': JsonConverters.toJson(expiryDate,'DateTime',context!), 'expiryDateUniversal': expiryDateUniversal, 'balance': balance, 'creditBalance': creditBalance, 'dbsBasicCreditBalance': dbsBasicCreditBalance, 'products': JsonConverters.toJson(products,'List',context!), 'capabilities': JsonConverters.toJson(capabilities,'List',context!) }; getTypeName() => "AccountStatus"; TypeContext? context = _ctx; } class GetAccountStatusData extends BaseResponse implements IConvertible { /** * The account status information */ // @ApiMember(Description="The account status information") AccountStatus? accountStatus; GetAccountStatusData({this.accountStatus}); GetAccountStatusData.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); accountStatus = JsonConverters.fromJson(json['accountStatus'],'AccountStatus',context!); return this; } Map toJson() => super.toJson()..addAll({ 'accountStatus': JsonConverters.toJson(accountStatus,'AccountStatus',context!) }); getTypeName() => "GetAccountStatusData"; TypeContext? context = _ctx; } abstract class IBaseDataResponse { ResponseStatus? responseStatus; } abstract class IHasResponseStatus { ResponseStatus? responseStatus; } // @DataContract class GetAccountStatusResponse implements IConvertible { /** * The response data */ // @DataMember // @ApiMember(Description="The response data") GetAccountStatusData? data; GetAccountStatusResponse({this.data}); GetAccountStatusResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { data = JsonConverters.fromJson(json['data'],'GetAccountStatusData',context!); return this; } Map toJson() => { 'data': JsonConverters.toJson(data,'GetAccountStatusData',context!) }; getTypeName() => "GetAccountStatusResponse"; TypeContext? context = _ctx; } // @Route("/account/status", "GET") // @DataContract class GetAccountStatus extends BaseRequest implements IReturn, IConvertible, IGet { GetAccountStatus(); GetAccountStatus.fromJson(Map json) : super.fromJson(json); fromMap(Map json) { super.fromMap(json); return this; } Map toJson() => super.toJson(); createResponse() => GetAccountStatusResponse(); getResponseTypeName() => "GetAccountStatusResponse"; getTypeName() => "GetAccountStatus"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'api.simplified.id', types: { 'Authentication': TypeInfo(TypeOf.Class, create:() => Authentication()), 'BaseRequest': TypeInfo(TypeOf.Class, create:() => BaseRequest()), 'IBaseRequest': TypeInfo(TypeOf.Interface), 'BaseResponse': TypeInfo(TypeOf.Class, create:() => BaseResponse()), 'AccountStatus': TypeInfo(TypeOf.Class, create:() => AccountStatus()), 'GetAccountStatusData': TypeInfo(TypeOf.Class, create:() => GetAccountStatusData()), 'IBaseDataResponse': TypeInfo(TypeOf.Interface), 'IHasResponseStatus': TypeInfo(TypeOf.Interface), 'GetAccountStatusResponse': TypeInfo(TypeOf.Class, create:() => GetAccountStatusResponse()), 'GetAccountStatus': TypeInfo(TypeOf.Class, create:() => GetAccountStatus()), });