2019-07-04 21:45:05 +00:00
|
|
|
import 'dart:async';
|
|
|
|
|
|
|
|
import 'credential.dart';
|
|
|
|
import 'connection_config.dart';
|
|
|
|
|
|
|
|
abstract class CredentialsRepo {
|
|
|
|
Stream<Metadata> getAllMetadata(String sourceHost);
|
|
|
|
Future<Credential> get(String id);
|
|
|
|
Future<Credential> create(CredentialInput input);
|
|
|
|
Future<Credential> update(String id, CredentialInput input);
|
|
|
|
Future<void> delete(String id);
|
|
|
|
}
|
|
|
|
|
|
|
|
abstract class ConfigRepo {
|
|
|
|
Future<void> setPrivateKey(String key);
|
|
|
|
Future<String> get privateKey;
|
|
|
|
|
2019-07-09 02:03:44 +00:00
|
|
|
String get password;
|
2019-07-04 21:45:05 +00:00
|
|
|
Future<void> setPassword(String password);
|
2019-07-11 06:32:17 +00:00
|
|
|
Future<bool> get passwordIsSet;
|
2019-07-04 21:45:05 +00:00
|
|
|
Future<bool> matchesPasswordHash(String password);
|
|
|
|
|
|
|
|
Future<void> setConnectionConfig(ConnectionConfig config);
|
|
|
|
Future<ConnectionConfig> get connectionConfig;
|
2019-07-05 09:15:57 +00:00
|
|
|
|
|
|
|
Future<void> deleteAll();
|
2019-07-04 21:45:05 +00:00
|
|
|
}
|