2021-07-12 13:53:32 +08:00
|
|
|
import 'package:flowy_sdk/protobuf/errors.pb.dart';
|
2021-07-09 08:42:52 +08:00
|
|
|
import 'package:flowy_sdk/protobuf/ffi_response.pb.dart';
|
|
|
|
|
2021-07-09 08:44:52 +08:00
|
|
|
class FlowyError {
|
|
|
|
late FFIStatusCode _statusCode;
|
|
|
|
late String _error;
|
|
|
|
|
|
|
|
FFIStatusCode get statusCode {
|
|
|
|
return _statusCode;
|
|
|
|
}
|
|
|
|
|
|
|
|
String get error {
|
|
|
|
return _error;
|
|
|
|
}
|
|
|
|
|
|
|
|
bool get has_error {
|
|
|
|
return _statusCode != FFIStatusCode.Ok;
|
|
|
|
}
|
|
|
|
|
|
|
|
String toString() {
|
|
|
|
return "$_statusCode: $_error";
|
|
|
|
}
|
|
|
|
|
|
|
|
FlowyError({required FFIStatusCode statusCode, required String error}) {
|
|
|
|
_statusCode = statusCode;
|
|
|
|
_error = error;
|
|
|
|
}
|
|
|
|
|
|
|
|
factory FlowyError.from(FFIResponse resp) {
|
2021-07-12 13:53:32 +08:00
|
|
|
return FlowyError(statusCode: resp.code, error: "");
|
2021-07-09 08:44:52 +08:00
|
|
|
}
|
|
|
|
|
2021-07-12 13:53:32 +08:00
|
|
|
UserError userErrorFromFlowyError() {
|
|
|
|
return UserError.create()
|
|
|
|
..code = UserErrorCode.Unknown
|
|
|
|
..msg = this.toString();
|
2021-07-09 08:44:52 +08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-07-09 08:42:52 +08:00
|
|
|
class StackTraceError {
|
|
|
|
Object error;
|
|
|
|
StackTrace trace;
|
|
|
|
StackTraceError(
|
|
|
|
this.error,
|
|
|
|
this.trace,
|
|
|
|
);
|
|
|
|
|
2021-07-12 13:53:32 +08:00
|
|
|
FlowyError asFlowyError() {
|
|
|
|
return FlowyError(statusCode: FFIStatusCode.Err, error: this.toString());
|
2021-07-09 08:42:52 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
String toString() {
|
|
|
|
return '${error.runtimeType}. Stack trace: $trace';
|
|
|
|
}
|
|
|
|
}
|