/* Options: Date: 2026-01-13 19:45:54 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://tartarus.nephila.com //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: RetrieveCitiBankStatementRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; enum BankEntryType { Balance, Transaction, } class CitiBankAccountEntry implements IConvertible { BankEntryType? entryType; String? description; double? amount; String? currencyCode; String? creditDebitIndicator; DateTime? entryDate; CitiBankAccountEntry({this.entryType,this.description,this.amount,this.currencyCode,this.creditDebitIndicator,this.entryDate}); CitiBankAccountEntry.fromJson(Map json) { fromMap(json); } fromMap(Map json) { entryType = JsonConverters.fromJson(json['entryType'],'BankEntryType',context!); description = json['description']; amount = JsonConverters.toDouble(json['amount']); currencyCode = json['currencyCode']; creditDebitIndicator = json['creditDebitIndicator']; entryDate = JsonConverters.fromJson(json['entryDate'],'DateTime',context!); return this; } Map toJson() => { 'entryType': JsonConverters.toJson(entryType,'BankEntryType',context!), 'description': description, 'amount': amount, 'currencyCode': currencyCode, 'creditDebitIndicator': creditDebitIndicator, 'entryDate': JsonConverters.toJson(entryDate,'DateTime',context!) }; getTypeName() => "CitiBankAccountEntry"; TypeContext? context = _ctx; } class CitiBankEntriesResponse implements IConvertible { ResponseStatus? responseStatus; bool? statementIsStillGenerating; List? entries = []; CitiBankEntriesResponse({this.responseStatus,this.statementIsStillGenerating,this.entries}); CitiBankEntriesResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!); statementIsStillGenerating = json['statementIsStillGenerating']; entries = JsonConverters.fromJson(json['entries'],'List',context!); return this; } Map toJson() => { 'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!), 'statementIsStillGenerating': statementIsStillGenerating, 'entries': JsonConverters.toJson(entries,'List',context!) }; getTypeName() => "CitiBankEntriesResponse"; TypeContext? context = _ctx; } // @Route("/api/citi-bank-statement", "GET,POST") class RetrieveCitiBankStatementRequest implements IReturn, IGet, IPost, IConvertible { String? statementId; RetrieveCitiBankStatementRequest({this.statementId}); RetrieveCitiBankStatementRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { statementId = json['statementId']; return this; } Map toJson() => { 'statementId': statementId }; createResponse() => CitiBankEntriesResponse(); getResponseTypeName() => "CitiBankEntriesResponse"; getTypeName() => "RetrieveCitiBankStatementRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'tartarus.nephila.com', types: { 'BankEntryType': TypeInfo(TypeOf.Enum, enumValues:BankEntryType.values), 'CitiBankAccountEntry': TypeInfo(TypeOf.Class, create:() => CitiBankAccountEntry()), 'CitiBankEntriesResponse': TypeInfo(TypeOf.Class, create:() => CitiBankEntriesResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'RetrieveCitiBankStatementRequest': TypeInfo(TypeOf.Class, create:() => RetrieveCitiBankStatementRequest()), });