Files
enaklo-flutter/lib/infrastructure/auth/dto/login_dto.dart
T
efrilmandClaude Opus 5.5 f5e3075205 EnakPoint & EnakCoin wallet, PIN, outlet, order, community, reward
- Wallet EnakPoint & EnakCoin: beranda, riwayat, saldo kedaluwarsa, kode
  bayar, tukar EnakCoin, transfer
- PIN (buat, ganti, lupa), outlet, riwayat order, game spin
- Halaman community, webview, coming soon, dan ikon menu beranda baru
- Redesign Reward Saya: kartu tiket, filter chip, detail kode + QR
- Hapus customer point loader, menu, dan checkout lama
- Base URL ke enaklo-pos-api.altru.id

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 01:43:22 +07:00

59 lines
1.5 KiB
Dart

part of '../auth_dtos.dart';
@freezed
abstract class LoginDto with _$LoginDto {
const factory LoginDto({
@JsonKey(name: 'status') String? status,
@JsonKey(name: 'message') String? message,
@JsonKey(name: 'data') LoginDataDto? data,
}) = _LoginDto;
factory LoginDto.fromJson(Map<String, dynamic> json) =>
_$LoginDtoFromJson(json);
const LoginDto._();
/// mapping ke domain
Login toDomain() => Login(
status: status ?? '',
message: message ?? '',
accessToken: data?.accessToken ?? '',
refreshToken: data?.refreshToken ?? '',
user: data?.user?.toDomain() ?? User.empty(),
);
}
@freezed
abstract class LoginDataDto with _$LoginDataDto {
const factory LoginDataDto({
@JsonKey(name: 'access_token') String? accessToken,
@JsonKey(name: 'refresh_token') String? refreshToken,
@JsonKey(name: 'user') UserDto? user,
}) = _LoginDataDto;
factory LoginDataDto.fromJson(Map<String, dynamic> json) =>
_$LoginDataDtoFromJson(json);
}
@freezed
abstract class UserDto with _$UserDto {
const factory UserDto({
@JsonKey(name: 'id') String? id,
@JsonKey(name: 'name') String? name,
@JsonKey(name: 'phone_number') String? phoneNumber,
@JsonKey(name: 'birth_date') String? birthDate,
}) = _UserDto;
factory UserDto.fromJson(Map<String, dynamic> json) =>
_$UserDtoFromJson(json);
const UserDto._();
User toDomain() => User(
id: id ?? '',
name: name ?? '',
phoneNumber: phoneNumber ?? '',
birthDate: birthDate ?? '',
);
}