Add optional KYC flow and service-backed account limits
This commit is contained in:
1 parent
61ccfc1844
commit
3397f04ab7
38 files changed
+3443
-36
No files matched your search
@@ -0,0 +1,64 @@
|
||||
import '../models/identity.dart';
|
||||
import '../models/limits.dart';
|
||||
|
||||
// Transport contracts for the stub. Replace with generated backend DTOs later.
|
||||
class IdentityDTO {
|
||||
const IdentityDTO(this.status, {this.reason, this.id, this.simulated = true});
|
||||
final String status;
|
||||
final String? reason;
|
||||
final String? id;
|
||||
final bool simulated;
|
||||
}
|
||||
|
||||
class IdentityMapper {
|
||||
static Identity fromDTO(IdentityDTO dto) => Identity(
|
||||
status: IdentityStatus.values.byName(dto.status),
|
||||
reason: dto.reason == null ? null : ReviewReason.values.byName(dto.reason!),
|
||||
submissionId: dto.id,
|
||||
simulated: dto.simulated,
|
||||
);
|
||||
}
|
||||
|
||||
class LimitsDTO {
|
||||
const LimitsDTO({
|
||||
required this.tier,
|
||||
required this.rows,
|
||||
required this.simulated,
|
||||
});
|
||||
final String tier;
|
||||
final List<LimitDTO> rows;
|
||||
final bool simulated;
|
||||
}
|
||||
|
||||
class LimitDTO {
|
||||
const LimitDTO(
|
||||
this.period,
|
||||
this.currency,
|
||||
this.basic,
|
||||
this.verified,
|
||||
this.current,
|
||||
this.remaining,
|
||||
);
|
||||
final String period;
|
||||
final String currency;
|
||||
final int basic, verified, current, remaining;
|
||||
}
|
||||
|
||||
class LimitsMapper {
|
||||
static Limits fromDTO(LimitsDTO dto) => Limits(
|
||||
tier: AccountTier.values.byName(dto.tier),
|
||||
simulated: dto.simulated,
|
||||
rows: dto.rows
|
||||
.map(
|
||||
(r) => VisibleLimit(
|
||||
period: LimitPeriod.values.byName(r.period),
|
||||
currency: r.currency,
|
||||
basicMinor: r.basic,
|
||||
verifiedMinor: r.verified,
|
||||
currentMinor: r.current,
|
||||
remainingMinor: r.remaining,
|
||||
),
|
||||
)
|
||||
.toList(),
|
||||
);
|
||||
}
|
||||
Reference in new issue
Block a user