mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2024-08-30 18:12:39 +00:00
[rust]: extract workspace_infra from flowy_workspace
This commit is contained in:
parent
65cdeec1dc
commit
52ca87662b
@ -1,7 +1,11 @@
|
||||
///
|
||||
// Generated code. Do not modify.
|
||||
// source: app_delete.proto
|
||||
// source: errors.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
// ignore_for_file: annotate_overrides,camel_case_types,unnecessary_const,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name,return_of_invalid_type,unnecessary_this,prefer_final_fields
|
||||
|
||||
import 'dart:core' as $core;
|
||||
|
||||
export 'errors.pbenum.dart';
|
||||
|
@ -0,0 +1,56 @@
|
||||
///
|
||||
// Generated code. Do not modify.
|
||||
// source: errors.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
// ignore_for_file: annotate_overrides,camel_case_types,unnecessary_const,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name,return_of_invalid_type,unnecessary_this,prefer_final_fields
|
||||
|
||||
// ignore_for_file: UNDEFINED_SHOWN_NAME
|
||||
import 'dart:core' as $core;
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
class ErrorCode extends $pb.ProtobufEnum {
|
||||
static const ErrorCode WorkspaceNameInvalid = ErrorCode._(0, const $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'WorkspaceNameInvalid');
|
||||
static const ErrorCode WorkspaceIdInvalid = ErrorCode._(1, const $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'WorkspaceIdInvalid');
|
||||
static const ErrorCode AppColorStyleInvalid = ErrorCode._(2, const $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'AppColorStyleInvalid');
|
||||
static const ErrorCode WorkspaceDescTooLong = ErrorCode._(3, const $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'WorkspaceDescTooLong');
|
||||
static const ErrorCode WorkspaceNameTooLong = ErrorCode._(4, const $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'WorkspaceNameTooLong');
|
||||
static const ErrorCode AppIdInvalid = ErrorCode._(10, const $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'AppIdInvalid');
|
||||
static const ErrorCode AppNameInvalid = ErrorCode._(11, const $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'AppNameInvalid');
|
||||
static const ErrorCode ViewNameInvalid = ErrorCode._(20, const $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'ViewNameInvalid');
|
||||
static const ErrorCode ViewThumbnailInvalid = ErrorCode._(21, const $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'ViewThumbnailInvalid');
|
||||
static const ErrorCode ViewIdInvalid = ErrorCode._(22, const $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'ViewIdInvalid');
|
||||
static const ErrorCode ViewDescTooLong = ErrorCode._(23, const $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'ViewDescTooLong');
|
||||
static const ErrorCode ViewDataInvalid = ErrorCode._(24, const $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'ViewDataInvalid');
|
||||
static const ErrorCode ViewNameTooLong = ErrorCode._(25, const $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'ViewNameTooLong');
|
||||
static const ErrorCode UserUnauthorized = ErrorCode._(100, const $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'UserUnauthorized');
|
||||
static const ErrorCode WsConnectError = ErrorCode._(200, const $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'WsConnectError');
|
||||
static const ErrorCode InternalError = ErrorCode._(1000, const $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'InternalError');
|
||||
static const ErrorCode RecordNotFound = ErrorCode._(1001, const $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'RecordNotFound');
|
||||
|
||||
static const $core.List<ErrorCode> values = <ErrorCode> [
|
||||
WorkspaceNameInvalid,
|
||||
WorkspaceIdInvalid,
|
||||
AppColorStyleInvalid,
|
||||
WorkspaceDescTooLong,
|
||||
WorkspaceNameTooLong,
|
||||
AppIdInvalid,
|
||||
AppNameInvalid,
|
||||
ViewNameInvalid,
|
||||
ViewThumbnailInvalid,
|
||||
ViewIdInvalid,
|
||||
ViewDescTooLong,
|
||||
ViewDataInvalid,
|
||||
ViewNameTooLong,
|
||||
UserUnauthorized,
|
||||
WsConnectError,
|
||||
InternalError,
|
||||
RecordNotFound,
|
||||
];
|
||||
|
||||
static final $core.Map<$core.int, ErrorCode> _byValue = $pb.ProtobufEnum.initByValue(values);
|
||||
static ErrorCode? valueOf($core.int value) => _byValue[value];
|
||||
|
||||
const ErrorCode._($core.int v, $core.String n) : super(v, n);
|
||||
}
|
||||
|
@ -0,0 +1,36 @@
|
||||
///
|
||||
// Generated code. Do not modify.
|
||||
// source: errors.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
// ignore_for_file: annotate_overrides,camel_case_types,unnecessary_const,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name,return_of_invalid_type,unnecessary_this,prefer_final_fields,deprecated_member_use_from_same_package
|
||||
|
||||
import 'dart:core' as $core;
|
||||
import 'dart:convert' as $convert;
|
||||
import 'dart:typed_data' as $typed_data;
|
||||
@$core.Deprecated('Use errorCodeDescriptor instead')
|
||||
const ErrorCode$json = const {
|
||||
'1': 'ErrorCode',
|
||||
'2': const [
|
||||
const {'1': 'WorkspaceNameInvalid', '2': 0},
|
||||
const {'1': 'WorkspaceIdInvalid', '2': 1},
|
||||
const {'1': 'AppColorStyleInvalid', '2': 2},
|
||||
const {'1': 'WorkspaceDescTooLong', '2': 3},
|
||||
const {'1': 'WorkspaceNameTooLong', '2': 4},
|
||||
const {'1': 'AppIdInvalid', '2': 10},
|
||||
const {'1': 'AppNameInvalid', '2': 11},
|
||||
const {'1': 'ViewNameInvalid', '2': 20},
|
||||
const {'1': 'ViewThumbnailInvalid', '2': 21},
|
||||
const {'1': 'ViewIdInvalid', '2': 22},
|
||||
const {'1': 'ViewDescTooLong', '2': 23},
|
||||
const {'1': 'ViewDataInvalid', '2': 24},
|
||||
const {'1': 'ViewNameTooLong', '2': 25},
|
||||
const {'1': 'UserUnauthorized', '2': 100},
|
||||
const {'1': 'WsConnectError', '2': 200},
|
||||
const {'1': 'InternalError', '2': 1000},
|
||||
const {'1': 'RecordNotFound', '2': 1001},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `ErrorCode`. Decode as a `google.protobuf.EnumDescriptorProto`.
|
||||
final $typed_data.Uint8List errorCodeDescriptor = $convert.base64Decode('CglFcnJvckNvZGUSGAoUV29ya3NwYWNlTmFtZUludmFsaWQQABIWChJXb3Jrc3BhY2VJZEludmFsaWQQARIYChRBcHBDb2xvclN0eWxlSW52YWxpZBACEhgKFFdvcmtzcGFjZURlc2NUb29Mb25nEAMSGAoUV29ya3NwYWNlTmFtZVRvb0xvbmcQBBIQCgxBcHBJZEludmFsaWQQChISCg5BcHBOYW1lSW52YWxpZBALEhMKD1ZpZXdOYW1lSW52YWxpZBAUEhgKFFZpZXdUaHVtYm5haWxJbnZhbGlkEBUSEQoNVmlld0lkSW52YWxpZBAWEhMKD1ZpZXdEZXNjVG9vTG9uZxAXEhMKD1ZpZXdEYXRhSW52YWxpZBAYEhMKD1ZpZXdOYW1lVG9vTG9uZxAZEhQKEFVzZXJVbmF1dGhvcml6ZWQQZBITCg5Xc0Nvbm5lY3RFcnJvchDIARISCg1JbnRlcm5hbEVycm9yEOgHEhMKDlJlY29yZE5vdEZvdW5kEOkH');
|
@ -1,9 +1,9 @@
|
||||
///
|
||||
// Generated code. Do not modify.
|
||||
// source: app_delete.proto
|
||||
// source: errors.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
// ignore_for_file: annotate_overrides,camel_case_types,unnecessary_const,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name,return_of_invalid_type,unnecessary_this,prefer_final_fields,deprecated_member_use_from_same_package
|
||||
|
||||
export 'app_delete.pb.dart';
|
||||
export 'errors.pb.dart';
|
||||
|
@ -0,0 +1,14 @@
|
||||
// Auto-generated, do not edit
|
||||
export './view_update.pb.dart';
|
||||
export './app_query.pb.dart';
|
||||
export './workspace_delete.pb.dart';
|
||||
export './errors.pb.dart';
|
||||
export './workspace_update.pb.dart';
|
||||
export './app_create.pb.dart';
|
||||
export './workspace_query.pb.dart';
|
||||
export './view_create.pb.dart';
|
||||
export './workspace_user_detail.pb.dart';
|
||||
export './workspace_create.pb.dart';
|
||||
export './app_update.pb.dart';
|
||||
export './view_query.pb.dart';
|
||||
export './trash_create.pb.dart';
|
@ -1,105 +0,0 @@
|
||||
///
|
||||
// Generated code. Do not modify.
|
||||
// source: app_delete.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
// ignore_for_file: annotate_overrides,camel_case_types,unnecessary_const,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name,return_of_invalid_type,unnecessary_this,prefer_final_fields
|
||||
|
||||
import 'dart:core' as $core;
|
||||
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
class DeleteAppRequest extends $pb.GeneratedMessage {
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'DeleteAppRequest', createEmptyInstance: create)
|
||||
..aOS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'appId')
|
||||
..hasRequiredFields = false
|
||||
;
|
||||
|
||||
DeleteAppRequest._() : super();
|
||||
factory DeleteAppRequest({
|
||||
$core.String? appId,
|
||||
}) {
|
||||
final _result = create();
|
||||
if (appId != null) {
|
||||
_result.appId = appId;
|
||||
}
|
||||
return _result;
|
||||
}
|
||||
factory DeleteAppRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
|
||||
factory DeleteAppRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
|
||||
'Will be removed in next major version')
|
||||
DeleteAppRequest clone() => DeleteAppRequest()..mergeFromMessage(this);
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
|
||||
'Will be removed in next major version')
|
||||
DeleteAppRequest copyWith(void Function(DeleteAppRequest) updates) => super.copyWith((message) => updates(message as DeleteAppRequest)) as DeleteAppRequest; // ignore: deprecated_member_use
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static DeleteAppRequest create() => DeleteAppRequest._();
|
||||
DeleteAppRequest createEmptyInstance() => create();
|
||||
static $pb.PbList<DeleteAppRequest> createRepeated() => $pb.PbList<DeleteAppRequest>();
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static DeleteAppRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<DeleteAppRequest>(create);
|
||||
static DeleteAppRequest? _defaultInstance;
|
||||
|
||||
@$pb.TagNumber(1)
|
||||
$core.String get appId => $_getSZ(0);
|
||||
@$pb.TagNumber(1)
|
||||
set appId($core.String v) { $_setString(0, v); }
|
||||
@$pb.TagNumber(1)
|
||||
$core.bool hasAppId() => $_has(0);
|
||||
@$pb.TagNumber(1)
|
||||
void clearAppId() => clearField(1);
|
||||
}
|
||||
|
||||
class DeleteAppParams extends $pb.GeneratedMessage {
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'DeleteAppParams', createEmptyInstance: create)
|
||||
..aOS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'appId')
|
||||
..hasRequiredFields = false
|
||||
;
|
||||
|
||||
DeleteAppParams._() : super();
|
||||
factory DeleteAppParams({
|
||||
$core.String? appId,
|
||||
}) {
|
||||
final _result = create();
|
||||
if (appId != null) {
|
||||
_result.appId = appId;
|
||||
}
|
||||
return _result;
|
||||
}
|
||||
factory DeleteAppParams.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
|
||||
factory DeleteAppParams.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
|
||||
'Will be removed in next major version')
|
||||
DeleteAppParams clone() => DeleteAppParams()..mergeFromMessage(this);
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
|
||||
'Will be removed in next major version')
|
||||
DeleteAppParams copyWith(void Function(DeleteAppParams) updates) => super.copyWith((message) => updates(message as DeleteAppParams)) as DeleteAppParams; // ignore: deprecated_member_use
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static DeleteAppParams create() => DeleteAppParams._();
|
||||
DeleteAppParams createEmptyInstance() => create();
|
||||
static $pb.PbList<DeleteAppParams> createRepeated() => $pb.PbList<DeleteAppParams>();
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static DeleteAppParams getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<DeleteAppParams>(create);
|
||||
static DeleteAppParams? _defaultInstance;
|
||||
|
||||
@$pb.TagNumber(1)
|
||||
$core.String get appId => $_getSZ(0);
|
||||
@$pb.TagNumber(1)
|
||||
set appId($core.String v) { $_setString(0, v); }
|
||||
@$pb.TagNumber(1)
|
||||
$core.bool hasAppId() => $_has(0);
|
||||
@$pb.TagNumber(1)
|
||||
void clearAppId() => clearField(1);
|
||||
}
|
||||
|
@ -1,30 +0,0 @@
|
||||
///
|
||||
// Generated code. Do not modify.
|
||||
// source: app_delete.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
// ignore_for_file: annotate_overrides,camel_case_types,unnecessary_const,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name,return_of_invalid_type,unnecessary_this,prefer_final_fields,deprecated_member_use_from_same_package
|
||||
|
||||
import 'dart:core' as $core;
|
||||
import 'dart:convert' as $convert;
|
||||
import 'dart:typed_data' as $typed_data;
|
||||
@$core.Deprecated('Use deleteAppRequestDescriptor instead')
|
||||
const DeleteAppRequest$json = const {
|
||||
'1': 'DeleteAppRequest',
|
||||
'2': const [
|
||||
const {'1': 'app_id', '3': 1, '4': 1, '5': 9, '10': 'appId'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `DeleteAppRequest`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List deleteAppRequestDescriptor = $convert.base64Decode('ChBEZWxldGVBcHBSZXF1ZXN0EhUKBmFwcF9pZBgBIAEoCVIFYXBwSWQ=');
|
||||
@$core.Deprecated('Use deleteAppParamsDescriptor instead')
|
||||
const DeleteAppParams$json = const {
|
||||
'1': 'DeleteAppParams',
|
||||
'2': const [
|
||||
const {'1': 'app_id', '3': 1, '4': 1, '5': 9, '10': 'appId'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `DeleteAppParams`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List deleteAppParamsDescriptor = $convert.base64Decode('Cg9EZWxldGVBcHBQYXJhbXMSFQoGYXBwX2lkGAEgASgJUgVhcHBJZA==');
|
@ -9,20 +9,16 @@ import 'dart:core' as $core;
|
||||
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
import 'errors.pbenum.dart';
|
||||
|
||||
export 'errors.pbenum.dart';
|
||||
|
||||
class WorkspaceError extends $pb.GeneratedMessage {
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'WorkspaceError', createEmptyInstance: create)
|
||||
..e<ErrorCode>(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'code', $pb.PbFieldType.OE, defaultOrMaker: ErrorCode.WorkspaceNameInvalid, valueOf: ErrorCode.valueOf, enumValues: ErrorCode.values)
|
||||
..a<$core.int>(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'code', $pb.PbFieldType.O3)
|
||||
..aOS(2, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'msg')
|
||||
..hasRequiredFields = false
|
||||
;
|
||||
|
||||
WorkspaceError._() : super();
|
||||
factory WorkspaceError({
|
||||
ErrorCode? code,
|
||||
$core.int? code,
|
||||
$core.String? msg,
|
||||
}) {
|
||||
final _result = create();
|
||||
@ -56,9 +52,9 @@ class WorkspaceError extends $pb.GeneratedMessage {
|
||||
static WorkspaceError? _defaultInstance;
|
||||
|
||||
@$pb.TagNumber(1)
|
||||
ErrorCode get code => $_getN(0);
|
||||
$core.int get code => $_getIZ(0);
|
||||
@$pb.TagNumber(1)
|
||||
set code(ErrorCode v) { setField(1, v); }
|
||||
set code($core.int v) { $_setSignedInt32(0, v); }
|
||||
@$pb.TagNumber(1)
|
||||
$core.bool hasCode() => $_has(0);
|
||||
@$pb.TagNumber(1)
|
||||
|
@ -5,48 +5,3 @@
|
||||
// @dart = 2.12
|
||||
// ignore_for_file: annotate_overrides,camel_case_types,unnecessary_const,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name,return_of_invalid_type,unnecessary_this,prefer_final_fields
|
||||
|
||||
// ignore_for_file: UNDEFINED_SHOWN_NAME
|
||||
import 'dart:core' as $core;
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
class ErrorCode extends $pb.ProtobufEnum {
|
||||
static const ErrorCode WorkspaceNameInvalid = ErrorCode._(0, const $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'WorkspaceNameInvalid');
|
||||
static const ErrorCode WorkspaceIdInvalid = ErrorCode._(1, const $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'WorkspaceIdInvalid');
|
||||
static const ErrorCode AppColorStyleInvalid = ErrorCode._(2, const $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'AppColorStyleInvalid');
|
||||
static const ErrorCode WorkspaceDescInvalid = ErrorCode._(3, const $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'WorkspaceDescInvalid');
|
||||
static const ErrorCode AppIdInvalid = ErrorCode._(10, const $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'AppIdInvalid');
|
||||
static const ErrorCode AppNameInvalid = ErrorCode._(11, const $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'AppNameInvalid');
|
||||
static const ErrorCode ViewNameInvalid = ErrorCode._(20, const $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'ViewNameInvalid');
|
||||
static const ErrorCode ViewThumbnailInvalid = ErrorCode._(21, const $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'ViewThumbnailInvalid');
|
||||
static const ErrorCode ViewIdInvalid = ErrorCode._(22, const $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'ViewIdInvalid');
|
||||
static const ErrorCode ViewDescInvalid = ErrorCode._(23, const $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'ViewDescInvalid');
|
||||
static const ErrorCode ViewDataInvalid = ErrorCode._(24, const $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'ViewDataInvalid');
|
||||
static const ErrorCode UserUnauthorized = ErrorCode._(100, const $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'UserUnauthorized');
|
||||
static const ErrorCode WsConnectError = ErrorCode._(200, const $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'WsConnectError');
|
||||
static const ErrorCode InternalError = ErrorCode._(1000, const $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'InternalError');
|
||||
static const ErrorCode RecordNotFound = ErrorCode._(1001, const $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'RecordNotFound');
|
||||
|
||||
static const $core.List<ErrorCode> values = <ErrorCode> [
|
||||
WorkspaceNameInvalid,
|
||||
WorkspaceIdInvalid,
|
||||
AppColorStyleInvalid,
|
||||
WorkspaceDescInvalid,
|
||||
AppIdInvalid,
|
||||
AppNameInvalid,
|
||||
ViewNameInvalid,
|
||||
ViewThumbnailInvalid,
|
||||
ViewIdInvalid,
|
||||
ViewDescInvalid,
|
||||
ViewDataInvalid,
|
||||
UserUnauthorized,
|
||||
WsConnectError,
|
||||
InternalError,
|
||||
RecordNotFound,
|
||||
];
|
||||
|
||||
static final $core.Map<$core.int, ErrorCode> _byValue = $pb.ProtobufEnum.initByValue(values);
|
||||
static ErrorCode? valueOf($core.int value) => _byValue[value];
|
||||
|
||||
const ErrorCode._($core.int v, $core.String n) : super(v, n);
|
||||
}
|
||||
|
||||
|
@ -8,38 +8,14 @@
|
||||
import 'dart:core' as $core;
|
||||
import 'dart:convert' as $convert;
|
||||
import 'dart:typed_data' as $typed_data;
|
||||
@$core.Deprecated('Use errorCodeDescriptor instead')
|
||||
const ErrorCode$json = const {
|
||||
'1': 'ErrorCode',
|
||||
'2': const [
|
||||
const {'1': 'WorkspaceNameInvalid', '2': 0},
|
||||
const {'1': 'WorkspaceIdInvalid', '2': 1},
|
||||
const {'1': 'AppColorStyleInvalid', '2': 2},
|
||||
const {'1': 'WorkspaceDescInvalid', '2': 3},
|
||||
const {'1': 'AppIdInvalid', '2': 10},
|
||||
const {'1': 'AppNameInvalid', '2': 11},
|
||||
const {'1': 'ViewNameInvalid', '2': 20},
|
||||
const {'1': 'ViewThumbnailInvalid', '2': 21},
|
||||
const {'1': 'ViewIdInvalid', '2': 22},
|
||||
const {'1': 'ViewDescInvalid', '2': 23},
|
||||
const {'1': 'ViewDataInvalid', '2': 24},
|
||||
const {'1': 'UserUnauthorized', '2': 100},
|
||||
const {'1': 'WsConnectError', '2': 200},
|
||||
const {'1': 'InternalError', '2': 1000},
|
||||
const {'1': 'RecordNotFound', '2': 1001},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `ErrorCode`. Decode as a `google.protobuf.EnumDescriptorProto`.
|
||||
final $typed_data.Uint8List errorCodeDescriptor = $convert.base64Decode('CglFcnJvckNvZGUSGAoUV29ya3NwYWNlTmFtZUludmFsaWQQABIWChJXb3Jrc3BhY2VJZEludmFsaWQQARIYChRBcHBDb2xvclN0eWxlSW52YWxpZBACEhgKFFdvcmtzcGFjZURlc2NJbnZhbGlkEAMSEAoMQXBwSWRJbnZhbGlkEAoSEgoOQXBwTmFtZUludmFsaWQQCxITCg9WaWV3TmFtZUludmFsaWQQFBIYChRWaWV3VGh1bWJuYWlsSW52YWxpZBAVEhEKDVZpZXdJZEludmFsaWQQFhITCg9WaWV3RGVzY0ludmFsaWQQFxITCg9WaWV3RGF0YUludmFsaWQQGBIUChBVc2VyVW5hdXRob3JpemVkEGQSEwoOV3NDb25uZWN0RXJyb3IQyAESEgoNSW50ZXJuYWxFcnJvchDoBxITCg5SZWNvcmROb3RGb3VuZBDpBw==');
|
||||
@$core.Deprecated('Use workspaceErrorDescriptor instead')
|
||||
const WorkspaceError$json = const {
|
||||
'1': 'WorkspaceError',
|
||||
'2': const [
|
||||
const {'1': 'code', '3': 1, '4': 1, '5': 14, '6': '.ErrorCode', '10': 'code'},
|
||||
const {'1': 'code', '3': 1, '4': 1, '5': 5, '10': 'code'},
|
||||
const {'1': 'msg', '3': 2, '4': 1, '5': 9, '10': 'msg'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `WorkspaceError`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List workspaceErrorDescriptor = $convert.base64Decode('Cg5Xb3Jrc3BhY2VFcnJvchIeCgRjb2RlGAEgASgOMgouRXJyb3JDb2RlUgRjb2RlEhAKA21zZxgCIAEoCVIDbXNn');
|
||||
final $typed_data.Uint8List workspaceErrorDescriptor = $convert.base64Decode('Cg5Xb3Jrc3BhY2VFcnJvchISCgRjb2RlGAEgASgFUgRjb2RlEhAKA21zZxgCIAEoCVIDbXNn');
|
||||
|
@ -1,17 +1,4 @@
|
||||
// Auto-generated, do not edit
|
||||
export './view_update.pb.dart';
|
||||
export './app_query.pb.dart';
|
||||
export './workspace_delete.pb.dart';
|
||||
export './observable.pb.dart';
|
||||
export './errors.pb.dart';
|
||||
export './workspace_update.pb.dart';
|
||||
export './app_create.pb.dart';
|
||||
export './workspace_query.pb.dart';
|
||||
export './event.pb.dart';
|
||||
export './view_create.pb.dart';
|
||||
export './workspace_user_detail.pb.dart';
|
||||
export './workspace_create.pb.dart';
|
||||
export './app_update.pb.dart';
|
||||
export './view_query.pb.dart';
|
||||
export './trash_create.pb.dart';
|
||||
export './app_delete.pb.dart';
|
||||
|
@ -61,7 +61,7 @@ byteorder = {version = "1.3.4"}
|
||||
async-stream = "0.3.2"
|
||||
|
||||
flowy-user-infra = { path = "../rust-lib/flowy-user-infra" }
|
||||
flowy-workspace = { path = "../rust-lib/flowy-workspace", default-features = false, features = ["backend_service"]}
|
||||
flowy-workspace-infra = { path = "../rust-lib/flowy-workspace-infra"}
|
||||
flowy-document = { path = "../rust-lib/flowy-document" }
|
||||
flowy-ws = { path = "../rust-lib/flowy-ws" }
|
||||
flowy-ot = { path = "../rust-lib/flowy-ot" }
|
||||
|
@ -104,7 +104,6 @@ fn user_scope() -> Scope {
|
||||
)
|
||||
.service(web::resource("/app")
|
||||
.route(web::post().to(app::create_handler))
|
||||
.route(web::delete().to(app::delete_handler))
|
||||
.route(web::get().to(app::read_handler))
|
||||
.route(web::patch().to(app::update_handler))
|
||||
)
|
||||
|
@ -1,5 +1,5 @@
|
||||
use chrono::Utc;
|
||||
use flowy_workspace::backend_service::{App, RepeatedView, Trash, TrashType, View, ViewType};
|
||||
use flowy_workspace_infra::protobuf::{App, RepeatedView, Trash, TrashType, View, ViewType};
|
||||
use protobuf::ProtobufEnum;
|
||||
|
||||
pub(crate) const WORKSPACE_TABLE: &'static str = "workspace_table";
|
||||
|
@ -7,10 +7,10 @@ use crate::{
|
||||
use crate::service::trash::read_trash_ids;
|
||||
use chrono::Utc;
|
||||
use flowy_net::errors::{invalid_params, ServerError};
|
||||
use flowy_workspace::{
|
||||
entities::{
|
||||
app::parser::{AppDesc, AppName},
|
||||
workspace::parser::WorkspaceId,
|
||||
use flowy_workspace_infra::{
|
||||
parser::{
|
||||
app::{AppDesc, AppName},
|
||||
workspace::WorkspaceId,
|
||||
},
|
||||
protobuf::{App, CreateAppParams, RepeatedView},
|
||||
};
|
||||
|
@ -3,13 +3,13 @@ use actix_web::{
|
||||
HttpResponse,
|
||||
};
|
||||
use flowy_net::errors::{invalid_params, ServerError};
|
||||
use flowy_workspace::backend_service::{AppIdentifier, CreateAppParams, DeleteAppParams, UpdateAppParams};
|
||||
use flowy_workspace_infra::protobuf::{AppIdentifier, CreateAppParams, UpdateAppParams};
|
||||
use protobuf::Message;
|
||||
use sqlx::PgPool;
|
||||
|
||||
use crate::service::{
|
||||
app::{
|
||||
app::{create_app, delete_app, read_app, update_app},
|
||||
app::{create_app, read_app, update_app},
|
||||
sql_builder::check_app_id,
|
||||
},
|
||||
user::LoggedUser,
|
||||
@ -17,7 +17,7 @@ use crate::service::{
|
||||
};
|
||||
use anyhow::Context;
|
||||
use flowy_net::response::FlowyResponse;
|
||||
use flowy_workspace::entities::app::parser::{AppDesc, AppName};
|
||||
use flowy_workspace_infra::parser::app::{AppDesc, AppName};
|
||||
|
||||
pub async fn create_handler(
|
||||
payload: Payload,
|
||||
@ -92,20 +92,20 @@ pub async fn update_handler(payload: Payload, pool: Data<PgPool>) -> Result<Http
|
||||
Ok(FlowyResponse::success().into())
|
||||
}
|
||||
|
||||
pub async fn delete_handler(payload: Payload, pool: Data<PgPool>) -> Result<HttpResponse, ServerError> {
|
||||
let params: DeleteAppParams = parse_from_payload(payload).await?;
|
||||
let app_id = check_app_id(params.app_id.to_owned())?;
|
||||
let mut transaction = pool
|
||||
.begin()
|
||||
.await
|
||||
.context("Failed to acquire a Postgres connection to delete app")?;
|
||||
|
||||
let _ = delete_app(&mut transaction, app_id).await?;
|
||||
|
||||
transaction
|
||||
.commit()
|
||||
.await
|
||||
.context("Failed to commit SQL transaction to delete app.")?;
|
||||
|
||||
Ok(FlowyResponse::success().into())
|
||||
}
|
||||
// pub async fn delete_handler(payload: Payload, pool: Data<PgPool>) ->
|
||||
// Result<HttpResponse, ServerError> { let params: DeleteAppParams =
|
||||
// parse_from_payload(payload).await?; let app_id =
|
||||
// check_app_id(params.app_id.to_owned())?; let mut transaction = pool
|
||||
// .begin()
|
||||
// .await
|
||||
// .context("Failed to acquire a Postgres connection to delete app")?;
|
||||
//
|
||||
// let _ = delete_app(&mut transaction, app_id).await?;
|
||||
//
|
||||
// transaction
|
||||
// .commit()
|
||||
// .await
|
||||
// .context("Failed to commit SQL transaction to delete app.")?;
|
||||
//
|
||||
// Ok(FlowyResponse::success().into())
|
||||
// }
|
||||
|
@ -4,8 +4,8 @@ use crate::{
|
||||
};
|
||||
use chrono::Utc;
|
||||
use flowy_net::errors::{invalid_params, ServerError};
|
||||
use flowy_workspace::{
|
||||
entities::app::parser::AppId,
|
||||
use flowy_workspace_infra::{
|
||||
parser::app::AppId,
|
||||
protobuf::{App, ColorStyle},
|
||||
};
|
||||
use protobuf::Message;
|
||||
@ -54,9 +54,7 @@ impl NewAppSqlBuilder {
|
||||
}
|
||||
|
||||
pub fn color_style(mut self, color_style: ColorStyle) -> Self {
|
||||
self.table.color_style = color_style
|
||||
.write_to_bytes()
|
||||
.unwrap_or(default_color_style());
|
||||
self.table.color_style = color_style.write_to_bytes().unwrap_or(default_color_style());
|
||||
self
|
||||
}
|
||||
|
||||
|
@ -13,7 +13,7 @@ use flowy_net::{
|
||||
errors::{invalid_params, ServerError},
|
||||
response::FlowyResponse,
|
||||
};
|
||||
use flowy_workspace::{entities::trash::parser::TrashId, protobuf::TrashIdentifiers};
|
||||
use flowy_workspace_infra::{parser::trash::TrashId, protobuf::TrashIdentifiers};
|
||||
use sqlx::PgPool;
|
||||
use uuid::Uuid;
|
||||
|
||||
|
@ -9,7 +9,7 @@ use crate::{
|
||||
};
|
||||
use ::protobuf::ProtobufEnum;
|
||||
use flowy_net::errors::ServerError;
|
||||
use flowy_workspace::backend_service::{RepeatedTrash, Trash, TrashType};
|
||||
use flowy_workspace_infra::protobuf::{RepeatedTrash, Trash, TrashType};
|
||||
use sqlx::{postgres::PgArguments, Postgres, Row};
|
||||
use uuid::Uuid;
|
||||
|
||||
|
@ -9,7 +9,7 @@ use crate::{
|
||||
|
||||
use flowy_document::services::doc::doc_initial_string;
|
||||
use flowy_net::errors::ServerError;
|
||||
use flowy_workspace::backend_service::{App, CreateViewParams, View, ViewType, Workspace};
|
||||
use flowy_workspace_infra::protobuf::{App, CreateViewParams, View, ViewType, Workspace};
|
||||
|
||||
pub async fn create_default_workspace(
|
||||
transaction: &mut DBTransaction<'_>,
|
||||
|
@ -13,8 +13,8 @@ use flowy_net::{
|
||||
errors::{invalid_params, ServerError},
|
||||
response::FlowyResponse,
|
||||
};
|
||||
use flowy_workspace::{
|
||||
entities::view::parser::{ViewDesc, ViewName, ViewThumbnail},
|
||||
use flowy_workspace_infra::{
|
||||
parser::view::{ViewDesc, ViewName, ViewThumbnail},
|
||||
protobuf::{CreateViewParams, QueryViewRequest, UpdateViewParams, ViewIdentifier},
|
||||
};
|
||||
use sqlx::PgPool;
|
||||
|
@ -4,8 +4,8 @@ use crate::{
|
||||
};
|
||||
use chrono::Utc;
|
||||
use flowy_net::errors::{invalid_params, ServerError};
|
||||
use flowy_workspace::{
|
||||
entities::view::parser::ViewId,
|
||||
use flowy_workspace_infra::{
|
||||
parser::view::ViewId,
|
||||
protobuf::{View, ViewType},
|
||||
};
|
||||
use protobuf::ProtobufEnum;
|
||||
|
@ -11,10 +11,10 @@ use crate::{
|
||||
use chrono::Utc;
|
||||
use flowy_document::protobuf::CreateDocParams;
|
||||
use flowy_net::errors::{invalid_params, ServerError};
|
||||
use flowy_workspace::{
|
||||
entities::{
|
||||
app::parser::AppId,
|
||||
view::parser::{ViewDesc, ViewName, ViewThumbnail},
|
||||
use flowy_workspace_infra::{
|
||||
parser::{
|
||||
app::AppId,
|
||||
view::{ViewDesc, ViewName, ViewThumbnail},
|
||||
},
|
||||
protobuf::{CreateViewParams, RepeatedView, View},
|
||||
};
|
||||
|
@ -18,8 +18,8 @@ use flowy_net::{
|
||||
errors::{invalid_params, ServerError},
|
||||
response::FlowyResponse,
|
||||
};
|
||||
use flowy_workspace::{
|
||||
entities::workspace::parser::{WorkspaceDesc, WorkspaceName},
|
||||
use flowy_workspace_infra::{
|
||||
parser::workspace::{WorkspaceDesc, WorkspaceName},
|
||||
protobuf::{CreateWorkspaceParams, DeleteWorkspaceParams, QueryWorkspaceParams, UpdateWorkspaceParams},
|
||||
};
|
||||
use sqlx::PgPool;
|
||||
|
@ -4,8 +4,8 @@ use crate::{
|
||||
};
|
||||
use chrono::Utc;
|
||||
use flowy_net::errors::{invalid_params, ServerError};
|
||||
use flowy_workspace::{
|
||||
entities::workspace::parser::WorkspaceId,
|
||||
use flowy_workspace_infra::{
|
||||
parser::workspace::WorkspaceId,
|
||||
protobuf::{RepeatedApp, Workspace},
|
||||
};
|
||||
use sqlx::postgres::PgArguments;
|
||||
@ -58,10 +58,7 @@ impl NewWorkspaceBuilder {
|
||||
}
|
||||
}
|
||||
|
||||
pub(crate) fn make_workspace_from_table(
|
||||
table: WorkspaceTable,
|
||||
apps: Option<RepeatedApp>,
|
||||
) -> Workspace {
|
||||
pub(crate) fn make_workspace_from_table(table: WorkspaceTable, apps: Option<RepeatedApp>) -> Workspace {
|
||||
let mut workspace = Workspace {
|
||||
id: table.id.to_string(),
|
||||
name: table.name,
|
||||
|
@ -6,8 +6,8 @@ use crate::{
|
||||
};
|
||||
use anyhow::Context;
|
||||
use flowy_net::errors::{invalid_params, ServerError};
|
||||
use flowy_workspace::{
|
||||
entities::workspace::parser::WorkspaceId,
|
||||
use flowy_workspace_infra::{
|
||||
parser::workspace::WorkspaceId,
|
||||
protobuf::{RepeatedApp, RepeatedWorkspace, Workspace},
|
||||
};
|
||||
use sqlx::{postgres::PgArguments, Postgres};
|
||||
|
@ -13,6 +13,7 @@ members = [
|
||||
"flowy-database",
|
||||
"flowy-infra",
|
||||
"flowy-workspace",
|
||||
"flowy-workspace-infra",
|
||||
"flowy-dart-notify",
|
||||
"flowy-document",
|
||||
"flowy-ot",
|
||||
|
@ -15,8 +15,7 @@ pub fn category_from_str(type_str: &str) -> TypeCategory {
|
||||
"HashMap" => TypeCategory::Map,
|
||||
"u8" => TypeCategory::Bytes,
|
||||
"String" => TypeCategory::Str,
|
||||
"KeyValue"
|
||||
| "QueryAppRequest"
|
||||
"QueryAppRequest"
|
||||
| "AppIdentifier"
|
||||
| "CreateAppRequest"
|
||||
| "ColorStyle"
|
||||
@ -49,6 +48,7 @@ pub fn category_from_str(type_str: &str) -> TypeCategory {
|
||||
| "CreateViewParams"
|
||||
| "View"
|
||||
| "RepeatedView"
|
||||
| "KeyValue"
|
||||
| "WorkspaceError"
|
||||
| "WsError"
|
||||
| "WsMessage"
|
||||
@ -80,8 +80,8 @@ pub fn category_from_str(type_str: &str) -> TypeCategory {
|
||||
=> TypeCategory::Protobuf,
|
||||
"TrashType"
|
||||
| "ViewType"
|
||||
| "WorkspaceEvent"
|
||||
| "ErrorCode"
|
||||
| "WorkspaceEvent"
|
||||
| "WorkspaceNotification"
|
||||
| "WsModule"
|
||||
| "RevType"
|
||||
|
17
rust-lib/flowy-workspace-infra/Cargo.toml
Normal file
17
rust-lib/flowy-workspace-infra/Cargo.toml
Normal file
@ -0,0 +1,17 @@
|
||||
[package]
|
||||
name = "flowy-workspace-infra"
|
||||
version = "0.1.0"
|
||||
edition = "2018"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
||||
flowy-derive = { path = "../flowy-derive" }
|
||||
protobuf = {version = "2.18.0"}
|
||||
bytes = "1.0"
|
||||
unicode-segmentation = "1.7.1"
|
||||
strum = "0.21"
|
||||
strum_macros = "0.21"
|
||||
derive_more = {version = "0.99", features = ["display"]}
|
||||
log = "0.4.14"
|
||||
flowy-document = { path = "../flowy-document" }
|
3
rust-lib/flowy-workspace-infra/Flowy.toml
Normal file
3
rust-lib/flowy-workspace-infra/Flowy.toml
Normal file
@ -0,0 +1,3 @@
|
||||
|
||||
proto_crates = ["src/entities", "src/errors.rs"]
|
||||
event_files = []
|
@ -1,13 +1,12 @@
|
||||
use crate::{
|
||||
entities::{
|
||||
app::parser::{AppColorStyle, AppName},
|
||||
view::RepeatedView,
|
||||
workspace::parser::WorkspaceId,
|
||||
},
|
||||
entities::view::RepeatedView,
|
||||
errors::*,
|
||||
impl_def_and_def_mut,
|
||||
parser::{
|
||||
app::{AppColorStyle, AppName},
|
||||
workspace::WorkspaceId,
|
||||
},
|
||||
};
|
||||
|
||||
use flowy_derive::ProtoBuf;
|
||||
use std::convert::TryInto;
|
||||
|
||||
@ -48,15 +47,12 @@ pub struct CreateAppParams {
|
||||
}
|
||||
|
||||
impl TryInto<CreateAppParams> for CreateAppRequest {
|
||||
type Error = WorkspaceError;
|
||||
type Error = ErrorCode;
|
||||
|
||||
fn try_into(self) -> Result<CreateAppParams, Self::Error> {
|
||||
let name = AppName::parse(self.name).map_err(|e| WorkspaceError::app_name().context(e))?;
|
||||
|
||||
let id = WorkspaceId::parse(self.workspace_id).map_err(|e| WorkspaceError::workspace_id().context(e))?;
|
||||
|
||||
let color_style = AppColorStyle::parse(self.color_style.theme_color.clone())
|
||||
.map_err(|e| WorkspaceError::color_style().context(e))?;
|
||||
let name = AppName::parse(self.name)?;
|
||||
let id = WorkspaceId::parse(self.workspace_id)?;
|
||||
let color_style = AppColorStyle::parse(self.color_style.theme_color.clone())?;
|
||||
|
||||
Ok(CreateAppParams {
|
||||
workspace_id: id.0,
|
@ -1,4 +1,4 @@
|
||||
use crate::{entities::app::parser::AppId, errors::*};
|
||||
use crate::{errors::ErrorCode, parser::app::AppId};
|
||||
use flowy_derive::ProtoBuf;
|
||||
use std::convert::TryInto;
|
||||
|
||||
@ -23,18 +23,17 @@ impl AppIdentifier {
|
||||
}
|
||||
|
||||
impl TryInto<AppIdentifier> for QueryAppRequest {
|
||||
type Error = WorkspaceError;
|
||||
type Error = ErrorCode;
|
||||
|
||||
fn try_into(self) -> Result<AppIdentifier, Self::Error> {
|
||||
debug_assert!(self.app_ids.len() == 1);
|
||||
if self.app_ids.len() != 1 {
|
||||
return Err(WorkspaceError::invalid_view_id().context("The len of app_ids should be equal to 1"));
|
||||
log::error!("The len of app_ids should be equal to 1");
|
||||
return Err(ErrorCode::AppIdInvalid);
|
||||
}
|
||||
|
||||
let app_id = self.app_ids.first().unwrap().clone();
|
||||
let app_id = AppId::parse(app_id)
|
||||
.map_err(|e| WorkspaceError::invalid_app_id().context(e))?
|
||||
.0;
|
||||
let app_id = AppId::parse(app_id)?.0;
|
||||
Ok(AppIdentifier { app_id })
|
||||
}
|
||||
}
|
@ -1,9 +1,7 @@
|
||||
use crate::{
|
||||
entities::app::{
|
||||
parser::{AppColorStyle, AppId, AppName},
|
||||
ColorStyle,
|
||||
},
|
||||
errors::WorkspaceError,
|
||||
entities::app::ColorStyle,
|
||||
errors::ErrorCode,
|
||||
parser::app::{AppColorStyle, AppId, AppName},
|
||||
};
|
||||
use flowy_derive::ProtoBuf;
|
||||
use std::convert::TryInto;
|
||||
@ -69,29 +67,19 @@ impl UpdateAppParams {
|
||||
}
|
||||
|
||||
impl TryInto<UpdateAppParams> for UpdateAppRequest {
|
||||
type Error = WorkspaceError;
|
||||
type Error = ErrorCode;
|
||||
|
||||
fn try_into(self) -> Result<UpdateAppParams, Self::Error> {
|
||||
let app_id = AppId::parse(self.app_id)
|
||||
.map_err(|e| WorkspaceError::invalid_app_id().context(e))?
|
||||
.0;
|
||||
let app_id = AppId::parse(self.app_id)?.0;
|
||||
|
||||
let name = match self.name {
|
||||
None => None,
|
||||
Some(name) => Some(
|
||||
AppName::parse(name)
|
||||
.map_err(|e| WorkspaceError::workspace_name().context(e))?
|
||||
.0,
|
||||
),
|
||||
Some(name) => Some(AppName::parse(name)?.0),
|
||||
};
|
||||
|
||||
let color_style = match self.color_style {
|
||||
None => None,
|
||||
Some(color_style) => Some(
|
||||
AppColorStyle::parse(color_style.theme_color.clone())
|
||||
.map_err(|e| WorkspaceError::color_style().context(e))?
|
||||
.into(),
|
||||
),
|
||||
Some(color_style) => Some(AppColorStyle::parse(color_style.theme_color.clone())?.into()),
|
||||
};
|
||||
|
||||
Ok(UpdateAppParams {
|
6
rust-lib/flowy-workspace-infra/src/entities/app/mod.rs
Normal file
6
rust-lib/flowy-workspace-infra/src/entities/app/mod.rs
Normal file
@ -0,0 +1,6 @@
|
||||
mod app_create;
|
||||
mod app_query;
|
||||
mod app_update;
|
||||
pub use app_create::*;
|
||||
pub use app_query::*;
|
||||
pub use app_update::*;
|
4
rust-lib/flowy-workspace-infra/src/entities/mod.rs
Normal file
4
rust-lib/flowy-workspace-infra/src/entities/mod.rs
Normal file
@ -0,0 +1,4 @@
|
||||
pub mod app;
|
||||
pub mod trash;
|
||||
pub mod view;
|
||||
pub mod workspace;
|
2
rust-lib/flowy-workspace-infra/src/entities/trash/mod.rs
Normal file
2
rust-lib/flowy-workspace-infra/src/entities/trash/mod.rs
Normal file
@ -0,0 +1,2 @@
|
||||
mod trash_create;
|
||||
pub use trash_create::*;
|
7
rust-lib/flowy-workspace-infra/src/entities/view/mod.rs
Normal file
7
rust-lib/flowy-workspace-infra/src/entities/view/mod.rs
Normal file
@ -0,0 +1,7 @@
|
||||
pub use view_create::*;
|
||||
pub use view_query::*;
|
||||
pub use view_update::*;
|
||||
|
||||
mod view_create;
|
||||
mod view_query;
|
||||
mod view_update;
|
@ -1,11 +1,11 @@
|
||||
use crate::{
|
||||
entities::{
|
||||
app::parser::AppId,
|
||||
trash::{Trash, TrashType},
|
||||
view::parser::*,
|
||||
},
|
||||
errors::WorkspaceError,
|
||||
entities::trash::{Trash, TrashType},
|
||||
errors::ErrorCode,
|
||||
impl_def_and_def_mut,
|
||||
parser::{
|
||||
app::AppId,
|
||||
view::{ViewName, ViewThumbnail},
|
||||
},
|
||||
};
|
||||
use flowy_derive::{ProtoBuf, ProtoBuf_Enum};
|
||||
use flowy_document::services::doc::doc_initial_string;
|
||||
@ -87,24 +87,15 @@ impl CreateViewParams {
|
||||
}
|
||||
|
||||
impl TryInto<CreateViewParams> for CreateViewRequest {
|
||||
type Error = WorkspaceError;
|
||||
type Error = ErrorCode;
|
||||
|
||||
fn try_into(self) -> Result<CreateViewParams, Self::Error> {
|
||||
let name = ViewName::parse(self.name)
|
||||
.map_err(|e| WorkspaceError::view_name().context(e))?
|
||||
.0;
|
||||
|
||||
let belong_to_id = AppId::parse(self.belong_to_id)
|
||||
.map_err(|e| WorkspaceError::invalid_app_id().context(e))?
|
||||
.0;
|
||||
let name = ViewName::parse(self.name)?.0;
|
||||
let belong_to_id = AppId::parse(self.belong_to_id)?.0;
|
||||
|
||||
let thumbnail = match self.thumbnail {
|
||||
None => "".to_string(),
|
||||
Some(thumbnail) => {
|
||||
ViewThumbnail::parse(thumbnail)
|
||||
.map_err(|e| WorkspaceError::view_thumbnail().context(e))?
|
||||
.0
|
||||
},
|
||||
Some(thumbnail) => ViewThumbnail::parse(thumbnail)?.0,
|
||||
};
|
||||
|
||||
Ok(CreateViewParams::new(
|
@ -1,4 +1,4 @@
|
||||
use crate::{entities::view::parser::ViewId, errors::WorkspaceError};
|
||||
use crate::{errors::ErrorCode, parser::view::ViewId};
|
||||
use flowy_derive::ProtoBuf;
|
||||
use flowy_document::entities::doc::DocIdentifier;
|
||||
use std::convert::TryInto;
|
||||
@ -24,17 +24,16 @@ impl std::convert::Into<DocIdentifier> for ViewIdentifier {
|
||||
}
|
||||
|
||||
impl TryInto<ViewIdentifier> for QueryViewRequest {
|
||||
type Error = WorkspaceError;
|
||||
type Error = ErrorCode;
|
||||
fn try_into(self) -> Result<ViewIdentifier, Self::Error> {
|
||||
debug_assert!(self.view_ids.len() == 1);
|
||||
if self.view_ids.len() != 1 {
|
||||
return Err(WorkspaceError::invalid_view_id().context("The len of view_ids should be equal to 1"));
|
||||
log::error!("The len of view_ids should be equal to 1");
|
||||
return Err(ErrorCode::ViewIdInvalid);
|
||||
}
|
||||
|
||||
let view_id = self.view_ids.first().unwrap().clone();
|
||||
let view_id = ViewId::parse(view_id)
|
||||
.map_err(|e| WorkspaceError::invalid_view_id().context(e))?
|
||||
.0;
|
||||
let view_id = ViewId::parse(view_id)?.0;
|
||||
|
||||
Ok(ViewIdentifier { view_id })
|
||||
}
|
||||
@ -47,14 +46,12 @@ pub struct ViewIdentifiers {
|
||||
}
|
||||
|
||||
impl TryInto<ViewIdentifiers> for QueryViewRequest {
|
||||
type Error = WorkspaceError;
|
||||
type Error = ErrorCode;
|
||||
|
||||
fn try_into(self) -> Result<ViewIdentifiers, Self::Error> {
|
||||
let mut view_ids = vec![];
|
||||
for view_id in self.view_ids {
|
||||
let view_id = ViewId::parse(view_id)
|
||||
.map_err(|e| WorkspaceError::invalid_view_id().context(e))?
|
||||
.0;
|
||||
let view_id = ViewId::parse(view_id)?.0;
|
||||
|
||||
view_ids.push(view_id);
|
||||
}
|
@ -1,9 +1,8 @@
|
||||
use crate::{
|
||||
entities::view::parser::{ViewId, *},
|
||||
errors::WorkspaceError,
|
||||
errors::ErrorCode,
|
||||
parser::view::{ViewDesc, ViewId, ViewName, ViewThumbnail},
|
||||
};
|
||||
use flowy_derive::ProtoBuf;
|
||||
|
||||
use std::convert::TryInto;
|
||||
|
||||
#[derive(Default, ProtoBuf)]
|
||||
@ -56,38 +55,24 @@ impl UpdateViewParams {
|
||||
}
|
||||
|
||||
impl TryInto<UpdateViewParams> for UpdateViewRequest {
|
||||
type Error = WorkspaceError;
|
||||
type Error = ErrorCode;
|
||||
|
||||
fn try_into(self) -> Result<UpdateViewParams, Self::Error> {
|
||||
let view_id = ViewId::parse(self.view_id)
|
||||
.map_err(|e| WorkspaceError::invalid_view_id().context(e))?
|
||||
.0;
|
||||
let view_id = ViewId::parse(self.view_id)?.0;
|
||||
|
||||
let name = match self.name {
|
||||
None => None,
|
||||
Some(name) => Some(
|
||||
ViewName::parse(name)
|
||||
.map_err(|e| WorkspaceError::view_name().context(e))?
|
||||
.0,
|
||||
),
|
||||
Some(name) => Some(ViewName::parse(name)?.0),
|
||||
};
|
||||
|
||||
let desc = match self.desc {
|
||||
None => None,
|
||||
Some(desc) => Some(
|
||||
ViewDesc::parse(desc)
|
||||
.map_err(|e| WorkspaceError::view_desc().context(e))?
|
||||
.0,
|
||||
),
|
||||
Some(desc) => Some(ViewDesc::parse(desc)?.0),
|
||||
};
|
||||
|
||||
let thumbnail = match self.thumbnail {
|
||||
None => None,
|
||||
Some(thumbnail) => Some(
|
||||
ViewThumbnail::parse(thumbnail)
|
||||
.map_err(|e| WorkspaceError::view_thumbnail().context(e))?
|
||||
.0,
|
||||
),
|
||||
Some(thumbnail) => Some(ViewThumbnail::parse(thumbnail)?.0),
|
||||
};
|
||||
|
||||
Ok(UpdateViewParams {
|
19
rust-lib/flowy-workspace-infra/src/entities/workspace/mod.rs
Normal file
19
rust-lib/flowy-workspace-infra/src/entities/workspace/mod.rs
Normal file
@ -0,0 +1,19 @@
|
||||
pub use workspace_create::*;
|
||||
|
||||
pub use workspace_delete::*;
|
||||
|
||||
pub use workspace_query::*;
|
||||
|
||||
pub use workspace_update::*;
|
||||
|
||||
pub use workspace_user_detail::*;
|
||||
|
||||
mod workspace_create;
|
||||
|
||||
mod workspace_delete;
|
||||
|
||||
mod workspace_query;
|
||||
|
||||
mod workspace_update;
|
||||
|
||||
mod workspace_user_detail;
|
@ -1,7 +1,8 @@
|
||||
use crate::{
|
||||
entities::{app::RepeatedApp, workspace::parser::*},
|
||||
entities::app::RepeatedApp,
|
||||
errors::*,
|
||||
impl_def_and_def_mut,
|
||||
parser::workspace::{WorkspaceDesc, WorkspaceName},
|
||||
};
|
||||
use flowy_derive::ProtoBuf;
|
||||
use std::convert::TryInto;
|
||||
@ -25,11 +26,11 @@ pub struct CreateWorkspaceParams {
|
||||
}
|
||||
|
||||
impl TryInto<CreateWorkspaceParams> for CreateWorkspaceRequest {
|
||||
type Error = WorkspaceError;
|
||||
type Error = ErrorCode;
|
||||
|
||||
fn try_into(self) -> Result<CreateWorkspaceParams, Self::Error> {
|
||||
let name = WorkspaceName::parse(self.name).map_err(|e| WorkspaceError::workspace_name().context(e))?;
|
||||
let desc = WorkspaceDesc::parse(self.desc).map_err(|e| WorkspaceError::workspace_desc().context(e))?;
|
||||
let name = WorkspaceName::parse(self.name)?;
|
||||
let desc = WorkspaceDesc::parse(self.desc)?;
|
||||
|
||||
Ok(CreateWorkspaceParams {
|
||||
name: name.0,
|
@ -1,4 +1,4 @@
|
||||
use crate::{entities::workspace::parser::WorkspaceId, errors::WorkspaceError};
|
||||
use crate::{errors::ErrorCode, parser::workspace::WorkspaceId};
|
||||
use flowy_derive::ProtoBuf;
|
||||
use std::convert::TryInto;
|
||||
|
||||
@ -15,12 +15,10 @@ pub struct DeleteWorkspaceParams {
|
||||
}
|
||||
|
||||
impl TryInto<DeleteWorkspaceParams> for DeleteWorkspaceRequest {
|
||||
type Error = WorkspaceError;
|
||||
type Error = ErrorCode;
|
||||
|
||||
fn try_into(self) -> Result<DeleteWorkspaceParams, Self::Error> {
|
||||
let workspace_id = WorkspaceId::parse(self.workspace_id)
|
||||
.map_err(|e| WorkspaceError::workspace_id().context(e))?
|
||||
.0;
|
||||
let workspace_id = WorkspaceId::parse(self.workspace_id)?.0;
|
||||
|
||||
Ok(DeleteWorkspaceParams { workspace_id })
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
use crate::{entities::workspace::parser::*, errors::*};
|
||||
use crate::{errors::*, parser::workspace::WorkspaceId};
|
||||
use flowy_derive::ProtoBuf;
|
||||
use std::convert::TryInto;
|
||||
|
||||
@ -40,16 +40,12 @@ impl QueryWorkspaceParams {
|
||||
}
|
||||
|
||||
impl TryInto<QueryWorkspaceParams> for QueryWorkspaceRequest {
|
||||
type Error = WorkspaceError;
|
||||
type Error = ErrorCode;
|
||||
|
||||
fn try_into(self) -> Result<QueryWorkspaceParams, Self::Error> {
|
||||
let workspace_id = match self.workspace_id {
|
||||
None => None,
|
||||
Some(workspace_id) => Some(
|
||||
WorkspaceId::parse(workspace_id)
|
||||
.map_err(|e| WorkspaceError::workspace_id().context(e))?
|
||||
.0,
|
||||
),
|
||||
Some(workspace_id) => Some(WorkspaceId::parse(workspace_id)?.0),
|
||||
};
|
||||
|
||||
Ok(QueryWorkspaceParams { workspace_id })
|
@ -1,8 +1,9 @@
|
||||
use std::convert::TryInto;
|
||||
|
||||
use crate::{
|
||||
errors::*,
|
||||
parser::workspace::{WorkspaceId, WorkspaceName},
|
||||
};
|
||||
use flowy_derive::ProtoBuf;
|
||||
|
||||
use crate::{entities::workspace::parser::*, errors::*};
|
||||
use std::convert::TryInto;
|
||||
|
||||
#[derive(ProtoBuf, Default)]
|
||||
pub struct UpdateWorkspaceRequest {
|
||||
@ -29,19 +30,14 @@ pub struct UpdateWorkspaceParams {
|
||||
}
|
||||
|
||||
impl TryInto<UpdateWorkspaceParams> for UpdateWorkspaceRequest {
|
||||
type Error = WorkspaceError;
|
||||
type Error = ErrorCode;
|
||||
|
||||
fn try_into(self) -> Result<UpdateWorkspaceParams, Self::Error> {
|
||||
let name = match self.name {
|
||||
None => None,
|
||||
Some(name) => Some(
|
||||
WorkspaceName::parse(name)
|
||||
.map_err(|e| WorkspaceError::workspace_name().context(e))?
|
||||
.0,
|
||||
),
|
||||
Some(name) => Some(WorkspaceName::parse(name)?.0),
|
||||
};
|
||||
|
||||
let id = WorkspaceId::parse(self.id).map_err(|e| WorkspaceError::workspace_id().context(e))?;
|
||||
let id = WorkspaceId::parse(self.id)?;
|
||||
|
||||
Ok(UpdateWorkspaceParams {
|
||||
id: id.0,
|
77
rust-lib/flowy-workspace-infra/src/errors.rs
Normal file
77
rust-lib/flowy-workspace-infra/src/errors.rs
Normal file
@ -0,0 +1,77 @@
|
||||
use crate::protobuf::ErrorCode as ProtoBufErrorCode;
|
||||
|
||||
use derive_more::Display;
|
||||
use flowy_derive::ProtoBuf_Enum;
|
||||
use protobuf::ProtobufEnum;
|
||||
use std::convert::{TryFrom, TryInto};
|
||||
|
||||
#[derive(Debug, Clone, ProtoBuf_Enum, Display, PartialEq, Eq)]
|
||||
pub enum ErrorCode {
|
||||
#[display(fmt = "Workspace name can not be empty or whitespace")]
|
||||
WorkspaceNameInvalid = 0,
|
||||
|
||||
#[display(fmt = "Workspace id can not be empty or whitespace")]
|
||||
WorkspaceIdInvalid = 1,
|
||||
|
||||
#[display(fmt = "Color style of the App is invalid")]
|
||||
AppColorStyleInvalid = 2,
|
||||
|
||||
#[display(fmt = "Workspace desc is invalid")]
|
||||
WorkspaceDescTooLong = 3,
|
||||
|
||||
#[display(fmt = "Workspace description too long")]
|
||||
WorkspaceNameTooLong = 4,
|
||||
|
||||
#[display(fmt = "App id can not be empty or whitespace")]
|
||||
AppIdInvalid = 10,
|
||||
|
||||
#[display(fmt = "App name can not be empty or whitespace")]
|
||||
AppNameInvalid = 11,
|
||||
|
||||
#[display(fmt = "View name can not be empty or whitespace")]
|
||||
ViewNameInvalid = 20,
|
||||
|
||||
#[display(fmt = "Thumbnail of the view is invalid")]
|
||||
ViewThumbnailInvalid = 21,
|
||||
|
||||
#[display(fmt = "View id can not be empty or whitespace")]
|
||||
ViewIdInvalid = 22,
|
||||
|
||||
#[display(fmt = "View desc too long")]
|
||||
ViewDescTooLong = 23,
|
||||
|
||||
#[display(fmt = "View data is invalid")]
|
||||
ViewDataInvalid = 24,
|
||||
|
||||
#[display(fmt = "View name too long")]
|
||||
ViewNameTooLong = 25,
|
||||
|
||||
#[display(fmt = "User unauthorized")]
|
||||
UserUnauthorized = 100,
|
||||
|
||||
#[display(fmt = "Workspace websocket error")]
|
||||
WsConnectError = 200,
|
||||
|
||||
#[display(fmt = "Server error")]
|
||||
InternalError = 1000,
|
||||
#[display(fmt = "Record not found")]
|
||||
RecordNotFound = 1001,
|
||||
}
|
||||
|
||||
impl std::default::Default for ErrorCode {
|
||||
fn default() -> Self { ErrorCode::InternalError }
|
||||
}
|
||||
|
||||
impl ErrorCode {
|
||||
pub fn value(&self) -> i32 {
|
||||
let code: ProtoBufErrorCode = self.clone().try_into().unwrap();
|
||||
code.value()
|
||||
}
|
||||
|
||||
pub fn from_i32(value: i32) -> Self {
|
||||
match ProtoBufErrorCode::from_i32(value) {
|
||||
None => ErrorCode::InternalError,
|
||||
Some(code) => ErrorCode::try_from(&code).unwrap(),
|
||||
}
|
||||
}
|
||||
}
|
6
rust-lib/flowy-workspace-infra/src/lib.rs
Normal file
6
rust-lib/flowy-workspace-infra/src/lib.rs
Normal file
@ -0,0 +1,6 @@
|
||||
pub mod entities;
|
||||
pub mod errors;
|
||||
pub mod parser;
|
||||
#[macro_use]
|
||||
mod macros;
|
||||
pub mod protobuf;
|
30
rust-lib/flowy-workspace-infra/src/macros.rs
Normal file
30
rust-lib/flowy-workspace-infra/src/macros.rs
Normal file
@ -0,0 +1,30 @@
|
||||
#[macro_export]
|
||||
macro_rules! impl_def_and_def_mut {
|
||||
($target:ident, $item: ident) => {
|
||||
impl std::ops::Deref for $target {
|
||||
type Target = Vec<$item>;
|
||||
|
||||
fn deref(&self) -> &Self::Target { &self.items }
|
||||
}
|
||||
impl std::ops::DerefMut for $target {
|
||||
fn deref_mut(&mut self) -> &mut Self::Target { &mut self.items }
|
||||
}
|
||||
|
||||
impl $target {
|
||||
#[allow(dead_code)]
|
||||
pub fn into_inner(&mut self) -> Vec<$item> { ::std::mem::replace(&mut self.items, vec![]) }
|
||||
|
||||
#[allow(dead_code)]
|
||||
pub fn push(&mut self, item: $item) {
|
||||
if self.items.contains(&item) {
|
||||
log::error!("add duplicate item: {:?}", item);
|
||||
return;
|
||||
}
|
||||
|
||||
self.items.push(item);
|
||||
}
|
||||
|
||||
pub fn first_or_crash(&self) -> &$item { self.items.first().unwrap() }
|
||||
}
|
||||
};
|
||||
}
|
@ -1,10 +1,12 @@
|
||||
use crate::errors::ErrorCode;
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct AppColorStyle {
|
||||
pub theme_color: String,
|
||||
}
|
||||
|
||||
impl AppColorStyle {
|
||||
pub fn parse(theme_color: String) -> Result<AppColorStyle, String> {
|
||||
pub fn parse(theme_color: String) -> Result<AppColorStyle, ErrorCode> {
|
||||
// TODO: verify the color style format
|
||||
Ok(AppColorStyle { theme_color })
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user