cqrs.dart 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import 'package:dartz/dartz.dart';
  2. import 'package:flowy_protobuf/remote.dart';
  3. import 'package:infra/uuid.dart';
  4. import 'dart:typed_data';
  5. import 'package:flowy_protobuf/all.dart';
  6. import 'util.dart';
  7. part 'auto_gen.dart';
  8. class FlowyError {
  9. late StatusCode _statusCode;
  10. late String _error;
  11. late bool _has_error;
  12. StatusCode get statusCode {
  13. return _statusCode;
  14. }
  15. String get error {
  16. return _error;
  17. }
  18. bool get has_error {
  19. return _has_error;
  20. }
  21. String toString() {
  22. return "$_statusCode: $_error";
  23. }
  24. @override
  25. bool operator ==(other) {
  26. if (other is FlowyError) {
  27. return (this.statusCode == other.statusCode &&
  28. this._error == other._error);
  29. } else {
  30. return false;
  31. }
  32. }
  33. FlowyError({required StatusCode statusCode, required String error}) {
  34. _statusCode = statusCode;
  35. _error = error;
  36. _has_error = true;
  37. }
  38. factory FlowyError.from(ResponsePacket resp) {
  39. return FlowyError(statusCode: resp.statusCode, error: resp.err)
  40. .._has_error = resp.hasErr();
  41. }
  42. factory FlowyError.fromError(String error, StatusCode statusCode) {
  43. return FlowyError(statusCode: statusCode, error: error);
  44. }
  45. }