Files
fin-tracker/app/packages/api_client/lib/src/model/summary_out.dart
T
2026-09-18 14:20:50 +03:00

275 lines
4.2 KiB
Dart

//
// AUTO-GENERATED FILE, DO NOT MODIFY!
//
// ignore_for_file: unused_element
import 'package:fintracker_api/src/model/returns_out.dart';
import 'package:copy_with_extension/copy_with_extension.dart';
import 'package:json_annotation/json_annotation.dart';
part 'summary_out.g.dart';
@CopyWith()
@JsonSerializable(
checked: true,
createToJson: true,
disallowUnrecognizedKeys: false,
explicitToJson: true,
)
class SummaryOut {
/// Returns a new [SummaryOut] instance.
SummaryOut({
required this.asOf,
required this.cashRub,
required this.computedAt,
required this.holdingCount,
required this.incomeRub,
required this.investedNetRub,
required this.marketValueRub,
required this.pnlTotalRub,
required this.realizedPnlRub,
required this.returns,
required this.scope,
required this.staleCount,
required this.totalRub,
required this.unpricedCount,
});
@JsonKey(
name: r'as_of',
required: true,
includeIfNull: true,
)
final DateTime? asOf;
/// decimal as string
@JsonKey(
name: r'cash_rub',
required: true,
includeIfNull: false,
)
final String cashRub;
@JsonKey(
name: r'computed_at',
required: true,
includeIfNull: true,
)
final DateTime? computedAt;
@JsonKey(
name: r'holding_count',
required: true,
includeIfNull: false,
)
final int holdingCount;
/// decimal as string
@JsonKey(
name: r'income_rub',
required: true,
includeIfNull: false,
)
final String incomeRub;
/// decimal as string
@JsonKey(
name: r'invested_net_rub',
required: true,
includeIfNull: false,
)
final String investedNetRub;
/// decimal as string
@JsonKey(
name: r'market_value_rub',
required: true,
includeIfNull: false,
)
final String marketValueRub;
/// decimal as string
@JsonKey(
name: r'pnl_total_rub',
required: true,
includeIfNull: true,
)
final String? pnlTotalRub;
/// decimal as string
@JsonKey(
name: r'realized_pnl_rub',
required: true,
includeIfNull: false,
)
final String realizedPnlRub;
@JsonKey(
name: r'returns',
required: true,
includeIfNull: false,
)
final List<ReturnsOut> returns;
@JsonKey(
name: r'scope',
required: true,
includeIfNull: false,
)
final String scope;
@JsonKey(
name: r'stale_count',
required: true,
includeIfNull: false,
)
final int staleCount;
/// decimal as string
@JsonKey(
name: r'total_rub',
required: true,
includeIfNull: false,
)
final String totalRub;
@JsonKey(
name: r'unpriced_count',
required: true,
includeIfNull: false,
)
final int unpricedCount;
@override
bool operator ==(Object other) => identical(this, other) || other is SummaryOut &&
other.asOf == asOf &&
other.cashRub == cashRub &&
other.computedAt == computedAt &&
other.holdingCount == holdingCount &&
other.incomeRub == incomeRub &&
other.investedNetRub == investedNetRub &&
other.marketValueRub == marketValueRub &&
other.pnlTotalRub == pnlTotalRub &&
other.realizedPnlRub == realizedPnlRub &&
other.returns == returns &&
other.scope == scope &&
other.staleCount == staleCount &&
other.totalRub == totalRub &&
other.unpricedCount == unpricedCount;
@override
int get hashCode =>
(asOf == null ? 0 : asOf.hashCode) +
cashRub.hashCode +
(computedAt == null ? 0 : computedAt.hashCode) +
holdingCount.hashCode +
incomeRub.hashCode +
investedNetRub.hashCode +
marketValueRub.hashCode +
(pnlTotalRub == null ? 0 : pnlTotalRub.hashCode) +
realizedPnlRub.hashCode +
returns.hashCode +
scope.hashCode +
staleCount.hashCode +
totalRub.hashCode +
unpricedCount.hashCode;
factory SummaryOut.fromJson(Map<String, dynamic> json) => _$SummaryOutFromJson(json);
Map<String, dynamic> toJson() => _$SummaryOutToJson(this);
@override
String toString() {
return toJson().toString();
}
}