dto / mapper / model separation of verification purpose

This commit is contained in:
Stephan D
2026-02-26 22:38:31 +01:00
parent 20ce4485e8
commit 947cd7f4c9
5 changed files with 74 additions and 22 deletions

View File

@@ -8,6 +8,7 @@ import 'package:pshared/api/responses/login.dart';
import 'package:pshared/api/responses/verification/response.dart';
import 'package:pshared/data/mapper/account/account.dart';
import 'package:pshared/data/mapper/session_identifier.dart';
import 'package:pshared/data/mapper/verification/purpose.dart';
import 'package:pshared/models/account/account.dart';
import 'package:pshared/models/auth/pending_login.dart';
import 'package:pshared/models/verification/purpose.dart';
@@ -16,12 +17,14 @@ import 'package:pshared/service/authorization/storage.dart';
import 'package:pshared/service/services.dart';
import 'package:pshared/utils/http/requests.dart';
class VerificationService {
static final _logger = Logger('service.verification');
static const String _objectType = Services.verification;
static Future<VerificationResponse> requestLoginCode(PendingLogin pending, {String? target}) async {
static Future<VerificationResponse> requestLoginCode(
PendingLogin pending, {
String? target,
}) async {
_logger.fine('Requesting login confirmation code');
final response = await getPOSTResponse(
_objectType,
@@ -35,7 +38,10 @@ class VerificationService {
return VerificationResponse.fromJson(response);
}
static Future<VerificationResponse> resendLoginCode(PendingLogin pending, {String? target}) async {
static Future<VerificationResponse> resendLoginCode(
PendingLogin pending, {
String? target,
}) async {
_logger.fine('Resending login confirmation code');
final response = await getPOSTResponse(
_objectType,
@@ -82,7 +88,7 @@ class VerificationService {
_objectType,
'',
LoginVerificationRequest(
purpose: VerificationPurpose.payout,
purpose: VerificationPurpose.payout.toDTO(),
target: target,
idempotencyKey: idempotencyKey ?? Uuid().v4(),
).toJson(),
@@ -99,7 +105,7 @@ class VerificationService {
_objectType,
'/resend',
LoginVerificationRequest(
purpose: VerificationPurpose.payout,
purpose: VerificationPurpose.payout.toDTO(),
target: target,
idempotencyKey: idempotencyKey,
).toJson(),
@@ -117,7 +123,7 @@ class VerificationService {
_objectType,
'/verify',
LoginCodeVerifyicationRequest(
purpose: VerificationPurpose.payout,
purpose: VerificationPurpose.payout.toDTO(),
target: target,
idempotencyKey: idempotencyKey,
code: code,