VerificationResult.fromMap constructor

VerificationResult.fromMap(
  1. Map<String, dynamic> map
)

Implementation

factory VerificationResult.fromMap(Map<String, dynamic> map) {
  final type = map['type'] as String?;
  final sessionId = map['sessionId'] as String?;
  final status = map['status'] as String?;

  final session = sessionId != null
      ? SessionData(
          sessionId: sessionId,
          status: VerificationStatus.fromString(status),
        )
      : null;

  switch (type) {
    case 'completed':
      if (session == null) {
        return VerificationFailed(
          error: const VerificationError(
            type: VerificationErrorType.unknown,
            message:
                'Verification completed but no session data was returned.',
          ),
        );
      }
      return VerificationCompleted(session: session);

    case 'cancelled':
      return VerificationCancelled(session: session);

    case 'failed':
      return VerificationFailed(
        error: VerificationError(
          type: VerificationErrorType.fromString(
              map['errorType'] as String?),
          message: (map['errorMessage'] as String?) ??
              'An unknown error occurred during verification.',
        ),
        session: session,
      );

    default:
      return VerificationFailed(
        error: VerificationError(
          type: VerificationErrorType.unknown,
          message: 'Unexpected result type: $type',
        ),
        session: session,
      );
  }
}