40 lines
1.1 KiB
Dart
40 lines
1.1 KiB
Dart
import 'models.dart';
|
|
|
|
abstract interface class DestinationService {
|
|
bool get isSimulated;
|
|
Future<DestinationCapabilities> capabilities();
|
|
Future<List<SavedDestination>> list();
|
|
Future<SavedDestination> get(String id);
|
|
Future<DestinationValidation> validate(DestinationDetails details);
|
|
Future<PayoutEligibility> assess(
|
|
DestinationInput input,
|
|
PayoutContext context,
|
|
);
|
|
Future<CreationResult> create(
|
|
DestinationDetails details,
|
|
String nickname,
|
|
String idempotencyKey, {
|
|
String? replaces,
|
|
});
|
|
Future<CreationResult?> creation(String idempotencyKey);
|
|
Future<SavedDestination> rename(
|
|
String id,
|
|
String nickname,
|
|
int metadataRevision,
|
|
);
|
|
Future<void> remove(String id, int metadataRevision, int executionRevision);
|
|
Future<List<Bank>> banks(String query, {Future<void>? abortTrigger});
|
|
Future<DestinationLease> prepare(
|
|
DestinationInput input,
|
|
PayoutContext context,
|
|
);
|
|
|
|
Future<SavedDestination> restoreCard(
|
|
String id,
|
|
int executionRevision,
|
|
CardDestination capture,
|
|
String idempotencyKey,
|
|
);
|
|
void clearTransient();
|
|
}
|