LCOV - code coverage report
Current view: top level - lib/network/authentication - authentication_storage.dart (source / functions) Hit Total Coverage
Test: lcov.info Lines: 5 5 100.0 %
Date: 2021-10-20 14:50:35 Functions: 0 0 -

          Line data    Source code
       1             : import 'dart:async';
       2             : 
       3             : import 'package:flutter/foundation.dart';
       4             : import 'package:flutter_secure_storage/flutter_secure_storage.dart';
       5             : import 'package:flutter_secure_storage_platform_interface/flutter_secure_storage_platform_interface.dart';
       6             : 
       7             : /// Providing an interface to store User Credentials across sessions
       8             : abstract class AuthenticationStorage {
       9             :   /// Saves [credential]
      10             :   /// You should not change [credential]
      11             :   /// If [credential] is `null` it means the credential is invalid and should be deleted
      12             :   FutureOr<void> saveCredential(String? credential);
      13             : 
      14             :   /// Called to return the credential
      15             :   /// This should return an unmodified version of the credential received via `saveCredential`
      16             :   FutureOr<String?> get credential;
      17             : }
      18             : 
      19             : /// Implementation of [AuthenticationStorage] based on [flutter_secure_storage](https://pub.dev/packages/flutter_secure_storage)
      20             : class FlutterSecureStorageCredentialStorage implements AuthenticationStorage {
      21             :   /// Creates a new AuthenticationStorage
      22          17 :   const FlutterSecureStorageCredentialStorage();
      23             : 
      24             :   static const _credentialKey = 'ApptiveGridCredential';
      25             : 
      26             :   final _flutterSecureStorage = const FlutterSecureStorage(
      27             :     aOptions: AndroidOptions(
      28             :       encryptedSharedPreferences: true,
      29             :     ),
      30             :   );
      31             : 
      32           1 :   @override
      33           2 :   FutureOr<String?> get credential => _flutterSecureStorage.read(key: _credentialKey);
      34             : 
      35           1 :   @override
      36             :   FutureOr<void> saveCredential(String? credential) {
      37           2 :     _flutterSecureStorage.write(key: _credentialKey, value: credential);
      38             :   }
      39             : }

Generated by: LCOV version 1.15