checkCode method

Future<Either<Failure, AuthenticationInfoEntity>> checkCode(
  1. CheckCodeRequest checkCodeRequest
)

Implementation

Future<Either<Failure, AuthenticationInfoEntity>> checkCode(
  CheckCodeRequest checkCodeRequest,
) =>
    request<AuthenticationInfoEntity>(
      () async {
        final CheckCodeResponse response =
            await loginRemoteDataSource.checkCode(
          checkCodeRequest,
        );
        final AuthenticationInfoEntity authInfoEntity =
            CheckCodeMapper.fromResponse(
          response: response,
        );

        if (authInfoEntity.isSalesRep) {
          await tokenLocalDataSource
              .writeSalesRepToken(authInfoEntity.token!);
          _controller.add(AuthenticationStatus.salesRepClientAuthenticated);
        } else {
          _controller.add(AuthenticationStatus.authenticated);
        }
        await tokenLocalDataSource.writeToken(authInfoEntity.token!);

        return authInfoEntity;
      },
    );