Files
sendico/frontend/pshared/lib/api/requests/verification/login.dart
2026-02-10 01:55:33 +01:00

42 lines
1.3 KiB
Dart

import 'package:json_annotation/json_annotation.dart';
import 'package:pshared/models/verification/purpose.dart';
import 'package:pshared/api/requests/tokens/session_identifier.dart';
part 'login.g.dart';
@JsonSerializable(explicitToJson: true)
class LoginVerificationRequest {
final VerificationPurpose purpose;
final String? target;
final String idempotencyKey;
const LoginVerificationRequest({
this.purpose = VerificationPurpose.login,
this.target,
required this.idempotencyKey,
});
factory LoginVerificationRequest.fromJson(Map<String, dynamic> json) => _$LoginVerificationRequestFromJson(json);
Map<String, dynamic> toJson() => _$LoginVerificationRequestToJson(this);
}
@JsonSerializable(explicitToJson: true)
class LoginCodeVerifyicationRequest extends LoginVerificationRequest {
final String code;
final SessionIdentifierDTO sessionIdentifier;
const LoginCodeVerifyicationRequest({
super.purpose = VerificationPurpose.login,
super.target,
required super.idempotencyKey,
required this.code,
required this.sessionIdentifier,
});
factory LoginCodeVerifyicationRequest.fromJson(Map<String, dynamic> json) => _$LoginCodeVerifyicationRequestFromJson(json);
@override
Map<String, dynamic> toJson() => _$LoginCodeVerifyicationRequestToJson(this);
}