ente/lib/core/errors.dart
2023-08-22 17:52:29 +05:30

73 lines
1.8 KiB
Dart

enum InvalidReason {
assetDeleted,
sourceFileMissing,
livePhotoTypeChanged,
thumbnailMissing,
unknown,
}
class InvalidFileError extends ArgumentError {
final InvalidReason invalidReason;
InvalidFileError(String message, {this.invalidReason = InvalidReason.unknown})
: super(message);
@override
String toString() {
return 'InvalidFileError: $message (reason: $invalidReason)';
}
}
class InvalidFileUploadState extends AssertionError {
InvalidFileUploadState(String message) : super(message);
}
class SubscriptionAlreadyClaimedError extends Error {}
class WiFiUnavailableError extends Error {}
class SyncStopRequestedError extends Error {}
class NoActiveSubscriptionError extends Error {}
class StorageLimitExceededError extends Error {}
// error when file size + current usage >= storage plan limit + buffer
class FileTooLargeForPlanError extends Error {}
class SilentlyCancelUploadsError extends Error {}
class UserCancelledUploadError extends Error {}
bool isHandledSyncError(Object errObj) {
if (errObj is UnauthorizedError ||
errObj is NoActiveSubscriptionError ||
errObj is WiFiUnavailableError ||
errObj is StorageLimitExceededError ||
errObj is SyncStopRequestedError) {
return true;
}
return false;
}
class LockAlreadyAcquiredError extends Error {}
class UnauthorizedError extends Error {}
class RequestCancelledError extends Error {}
class InvalidSyncStatusError extends AssertionError {
InvalidSyncStatusError(String message) : super(message);
}
class UnauthorizedEditError extends AssertionError {}
class InvalidStateError extends AssertionError {
InvalidStateError(String message) : super(message);
}
class KeyDerivationError extends Error {}
class SrpSetupNotCompleteError extends Error {}
class SharingNotPermittedForFreeAccountsError extends Error {}