Merge pull request #311 from AppFlowy-IO/opti_pb_gen

Opti protobuf code gen
This commit is contained in:
Nathan.fooo 2022-02-08 16:34:39 +08:00 committed by GitHub
commit 79d30eb84d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
87 changed files with 723 additions and 1652 deletions

View File

@ -21,6 +21,7 @@ PRODUCT_NAME = "AppFlowy"
CRATE_TYPE = "staticlib"
SDK_EXT = "a"
APP_ENVIRONMENT = "local"
FLUTTER_FLOWY_SDK_PATH="app_flowy/packages/flowy_sdk/lib/protobuf"
[env.development-mac]
RUST_LOG = "trace"
@ -149,4 +150,15 @@ script = [
assert ${result}
""",
]
script_runner = "@duckscript"
script_runner = "@duckscript"
[tasks.test-build]
condition = { env_set = [ "FLUTTER_FLOWY_SDK_PATH"] }
script = [
"""
cd ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/rust-lib/dart-ffi
cargo build -vv
""",
]
script_runner = "@shell"

View File

@ -39,7 +39,7 @@ class DocBloc extends Bloc<DocEvent, DocState> {
emit(state.copyWith(isDeleted: false));
},
deletePermanently: (DeletePermanently value) async {
final result = await trashRepo.deleteViews([Tuple2(view.id, TrashType.View)]);
final result = await trashRepo.deleteViews([Tuple2(view.id, TrashType.TrashView)]);
final newState = result.fold((l) => state.copyWith(forceClose: true), (r) => state);
emit(newState);
},

View File

@ -23,7 +23,6 @@ import 'package:flowy_sdk/protobuf/flowy-folder-data-model/protobuf.dart';
import 'package:flowy_sdk/protobuf/flowy-collaboration/protobuf.dart';
// ignore: unused_import
import 'package:flowy_sdk/protobuf/lib-infra/protobuf.dart';
import 'package:protobuf/protobuf.dart';
import 'dart:convert' show utf8;
import 'error.dart';

View File

@ -1 +0,0 @@
// Auto-generated, do not edit

View File

@ -11,13 +11,13 @@ import 'package:protobuf/protobuf.dart' as $pb;
class TrashType extends $pb.ProtobufEnum {
static const TrashType Unknown = TrashType._(0, const $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'Unknown');
static const TrashType View = TrashType._(1, const $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'View');
static const TrashType App = TrashType._(2, const $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'App');
static const TrashType TrashView = TrashType._(1, const $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'TrashView');
static const TrashType TrashApp = TrashType._(2, const $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'TrashApp');
static const $core.List<TrashType> values = <TrashType> [
Unknown,
View,
App,
TrashView,
TrashApp,
];
static final $core.Map<$core.int, TrashType> _byValue = $pb.ProtobufEnum.initByValue(values);

View File

@ -13,13 +13,13 @@ const TrashType$json = const {
'1': 'TrashType',
'2': const [
const {'1': 'Unknown', '2': 0},
const {'1': 'View', '2': 1},
const {'1': 'App', '2': 2},
const {'1': 'TrashView', '2': 1},
const {'1': 'TrashApp', '2': 2},
],
};
/// Descriptor for `TrashType`. Decode as a `google.protobuf.EnumDescriptorProto`.
final $typed_data.Uint8List trashTypeDescriptor = $convert.base64Decode('CglUcmFzaFR5cGUSCwoHVW5rbm93bhAAEggKBFZpZXcQARIHCgNBcHAQAg==');
final $typed_data.Uint8List trashTypeDescriptor = $convert.base64Decode('CglUcmFzaFR5cGUSCwoHVW5rbm93bhAAEg0KCVRyYXNoVmlldxABEgwKCFRyYXNoQXBwEAI=');
@$core.Deprecated('Use trashDescriptor instead')
const Trash$json = const {
'1': 'Trash',

View File

@ -1 +0,0 @@
// Auto-generated, do not edit

View File

@ -1,310 +0,0 @@
///
// Generated code. Do not modify.
// source: model.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:fixnum/fixnum.dart' as $fixnum;
import 'package:protobuf/protobuf.dart' as $pb;
import 'model.pbenum.dart';
export 'model.pbenum.dart';
class Revision extends $pb.GeneratedMessage {
static final $pb.BuilderInfo _i = $pb.BuilderInfo(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'Revision', createEmptyInstance: create)
..aInt64(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'baseRevId')
..aInt64(2, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'revId')
..a<$core.List<$core.int>>(3, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'deltaData', $pb.PbFieldType.OY)
..aOS(4, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'md5')
..aOS(5, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'docId')
..e<RevType>(6, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'ty', $pb.PbFieldType.OE, defaultOrMaker: RevType.Local, valueOf: RevType.valueOf, enumValues: RevType.values)
..aOS(7, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'userId')
..hasRequiredFields = false
;
Revision._() : super();
factory Revision({
$fixnum.Int64? baseRevId,
$fixnum.Int64? revId,
$core.List<$core.int>? deltaData,
$core.String? md5,
$core.String? docId,
RevType? ty,
$core.String? userId,
}) {
final _result = create();
if (baseRevId != null) {
_result.baseRevId = baseRevId;
}
if (revId != null) {
_result.revId = revId;
}
if (deltaData != null) {
_result.deltaData = deltaData;
}
if (md5 != null) {
_result.md5 = md5;
}
if (docId != null) {
_result.docId = docId;
}
if (ty != null) {
_result.ty = ty;
}
if (userId != null) {
_result.userId = userId;
}
return _result;
}
factory Revision.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
factory Revision.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')
Revision clone() => Revision()..mergeFromMessage(this);
@$core.Deprecated(
'Using this can add significant overhead to your binary. '
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
'Will be removed in next major version')
Revision copyWith(void Function(Revision) updates) => super.copyWith((message) => updates(message as Revision)) as Revision; // ignore: deprecated_member_use
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static Revision create() => Revision._();
Revision createEmptyInstance() => create();
static $pb.PbList<Revision> createRepeated() => $pb.PbList<Revision>();
@$core.pragma('dart2js:noInline')
static Revision getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Revision>(create);
static Revision? _defaultInstance;
@$pb.TagNumber(1)
$fixnum.Int64 get baseRevId => $_getI64(0);
@$pb.TagNumber(1)
set baseRevId($fixnum.Int64 v) { $_setInt64(0, v); }
@$pb.TagNumber(1)
$core.bool hasBaseRevId() => $_has(0);
@$pb.TagNumber(1)
void clearBaseRevId() => clearField(1);
@$pb.TagNumber(2)
$fixnum.Int64 get revId => $_getI64(1);
@$pb.TagNumber(2)
set revId($fixnum.Int64 v) { $_setInt64(1, v); }
@$pb.TagNumber(2)
$core.bool hasRevId() => $_has(1);
@$pb.TagNumber(2)
void clearRevId() => clearField(2);
@$pb.TagNumber(3)
$core.List<$core.int> get deltaData => $_getN(2);
@$pb.TagNumber(3)
set deltaData($core.List<$core.int> v) { $_setBytes(2, v); }
@$pb.TagNumber(3)
$core.bool hasDeltaData() => $_has(2);
@$pb.TagNumber(3)
void clearDeltaData() => clearField(3);
@$pb.TagNumber(4)
$core.String get md5 => $_getSZ(3);
@$pb.TagNumber(4)
set md5($core.String v) { $_setString(3, v); }
@$pb.TagNumber(4)
$core.bool hasMd5() => $_has(3);
@$pb.TagNumber(4)
void clearMd5() => clearField(4);
@$pb.TagNumber(5)
$core.String get docId => $_getSZ(4);
@$pb.TagNumber(5)
set docId($core.String v) { $_setString(4, v); }
@$pb.TagNumber(5)
$core.bool hasDocId() => $_has(4);
@$pb.TagNumber(5)
void clearDocId() => clearField(5);
@$pb.TagNumber(6)
RevType get ty => $_getN(5);
@$pb.TagNumber(6)
set ty(RevType v) { setField(6, v); }
@$pb.TagNumber(6)
$core.bool hasTy() => $_has(5);
@$pb.TagNumber(6)
void clearTy() => clearField(6);
@$pb.TagNumber(7)
$core.String get userId => $_getSZ(6);
@$pb.TagNumber(7)
set userId($core.String v) { $_setString(6, v); }
@$pb.TagNumber(7)
$core.bool hasUserId() => $_has(6);
@$pb.TagNumber(7)
void clearUserId() => clearField(7);
}
class RepeatedRevision extends $pb.GeneratedMessage {
static final $pb.BuilderInfo _i = $pb.BuilderInfo(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'RepeatedRevision', createEmptyInstance: create)
..pc<Revision>(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'items', $pb.PbFieldType.PM, subBuilder: Revision.create)
..hasRequiredFields = false
;
RepeatedRevision._() : super();
factory RepeatedRevision({
$core.Iterable<Revision>? items,
}) {
final _result = create();
if (items != null) {
_result.items.addAll(items);
}
return _result;
}
factory RepeatedRevision.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
factory RepeatedRevision.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')
RepeatedRevision clone() => RepeatedRevision()..mergeFromMessage(this);
@$core.Deprecated(
'Using this can add significant overhead to your binary. '
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
'Will be removed in next major version')
RepeatedRevision copyWith(void Function(RepeatedRevision) updates) => super.copyWith((message) => updates(message as RepeatedRevision)) as RepeatedRevision; // ignore: deprecated_member_use
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static RepeatedRevision create() => RepeatedRevision._();
RepeatedRevision createEmptyInstance() => create();
static $pb.PbList<RepeatedRevision> createRepeated() => $pb.PbList<RepeatedRevision>();
@$core.pragma('dart2js:noInline')
static RepeatedRevision getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<RepeatedRevision>(create);
static RepeatedRevision? _defaultInstance;
@$pb.TagNumber(1)
$core.List<Revision> get items => $_getList(0);
}
class RevId extends $pb.GeneratedMessage {
static final $pb.BuilderInfo _i = $pb.BuilderInfo(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'RevId', createEmptyInstance: create)
..aInt64(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'value')
..hasRequiredFields = false
;
RevId._() : super();
factory RevId({
$fixnum.Int64? value,
}) {
final _result = create();
if (value != null) {
_result.value = value;
}
return _result;
}
factory RevId.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
factory RevId.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')
RevId clone() => RevId()..mergeFromMessage(this);
@$core.Deprecated(
'Using this can add significant overhead to your binary. '
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
'Will be removed in next major version')
RevId copyWith(void Function(RevId) updates) => super.copyWith((message) => updates(message as RevId)) as RevId; // ignore: deprecated_member_use
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static RevId create() => RevId._();
RevId createEmptyInstance() => create();
static $pb.PbList<RevId> createRepeated() => $pb.PbList<RevId>();
@$core.pragma('dart2js:noInline')
static RevId getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<RevId>(create);
static RevId? _defaultInstance;
@$pb.TagNumber(1)
$fixnum.Int64 get value => $_getI64(0);
@$pb.TagNumber(1)
set value($fixnum.Int64 v) { $_setInt64(0, v); }
@$pb.TagNumber(1)
$core.bool hasValue() => $_has(0);
@$pb.TagNumber(1)
void clearValue() => clearField(1);
}
class RevisionRange extends $pb.GeneratedMessage {
static final $pb.BuilderInfo _i = $pb.BuilderInfo(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'RevisionRange', createEmptyInstance: create)
..aOS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'docId')
..aInt64(2, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'start')
..aInt64(3, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'end')
..hasRequiredFields = false
;
RevisionRange._() : super();
factory RevisionRange({
$core.String? docId,
$fixnum.Int64? start,
$fixnum.Int64? end,
}) {
final _result = create();
if (docId != null) {
_result.docId = docId;
}
if (start != null) {
_result.start = start;
}
if (end != null) {
_result.end = end;
}
return _result;
}
factory RevisionRange.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
factory RevisionRange.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')
RevisionRange clone() => RevisionRange()..mergeFromMessage(this);
@$core.Deprecated(
'Using this can add significant overhead to your binary. '
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
'Will be removed in next major version')
RevisionRange copyWith(void Function(RevisionRange) updates) => super.copyWith((message) => updates(message as RevisionRange)) as RevisionRange; // ignore: deprecated_member_use
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static RevisionRange create() => RevisionRange._();
RevisionRange createEmptyInstance() => create();
static $pb.PbList<RevisionRange> createRepeated() => $pb.PbList<RevisionRange>();
@$core.pragma('dart2js:noInline')
static RevisionRange getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<RevisionRange>(create);
static RevisionRange? _defaultInstance;
@$pb.TagNumber(1)
$core.String get docId => $_getSZ(0);
@$pb.TagNumber(1)
set docId($core.String v) { $_setString(0, v); }
@$pb.TagNumber(1)
$core.bool hasDocId() => $_has(0);
@$pb.TagNumber(1)
void clearDocId() => clearField(1);
@$pb.TagNumber(2)
$fixnum.Int64 get start => $_getI64(1);
@$pb.TagNumber(2)
set start($fixnum.Int64 v) { $_setInt64(1, v); }
@$pb.TagNumber(2)
$core.bool hasStart() => $_has(1);
@$pb.TagNumber(2)
void clearStart() => clearField(2);
@$pb.TagNumber(3)
$fixnum.Int64 get end => $_getI64(2);
@$pb.TagNumber(3)
set end($fixnum.Int64 v) { $_setInt64(2, v); }
@$pb.TagNumber(3)
$core.bool hasEnd() => $_has(2);
@$pb.TagNumber(3)
void clearEnd() => clearField(3);
}

View File

@ -1,41 +0,0 @@
///
// Generated code. Do not modify.
// source: model.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 RevType extends $pb.ProtobufEnum {
static const RevType Local = RevType._(0, const $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'Local');
static const RevType Remote = RevType._(1, const $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'Remote');
static const $core.List<RevType> values = <RevType> [
Local,
Remote,
];
static final $core.Map<$core.int, RevType> _byValue = $pb.ProtobufEnum.initByValue(values);
static RevType? valueOf($core.int value) => _byValue[value];
const RevType._($core.int v, $core.String n) : super(v, n);
}
class RevState extends $pb.ProtobufEnum {
static const RevState StateLocal = RevState._(0, const $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'StateLocal');
static const RevState Ack = RevState._(1, const $core.bool.fromEnvironment('protobuf.omit_enum_names') ? '' : 'Ack');
static const $core.List<RevState> values = <RevState> [
StateLocal,
Ack,
];
static final $core.Map<$core.int, RevState> _byValue = $pb.ProtobufEnum.initByValue(values);
static RevState? valueOf($core.int value) => _byValue[value];
const RevState._($core.int v, $core.String n) : super(v, n);
}

View File

@ -1,80 +0,0 @@
///
// Generated code. Do not modify.
// source: model.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 revTypeDescriptor instead')
const RevType$json = const {
'1': 'RevType',
'2': const [
const {'1': 'Local', '2': 0},
const {'1': 'Remote', '2': 1},
],
};
/// Descriptor for `RevType`. Decode as a `google.protobuf.EnumDescriptorProto`.
final $typed_data.Uint8List revTypeDescriptor = $convert.base64Decode('CgdSZXZUeXBlEgkKBUxvY2FsEAASCgoGUmVtb3RlEAE=');
@$core.Deprecated('Use revStateDescriptor instead')
const RevState$json = const {
'1': 'RevState',
'2': const [
const {'1': 'StateLocal', '2': 0},
const {'1': 'Ack', '2': 1},
],
};
/// Descriptor for `RevState`. Decode as a `google.protobuf.EnumDescriptorProto`.
final $typed_data.Uint8List revStateDescriptor = $convert.base64Decode('CghSZXZTdGF0ZRIOCgpTdGF0ZUxvY2FsEAASBwoDQWNrEAE=');
@$core.Deprecated('Use revisionDescriptor instead')
const Revision$json = const {
'1': 'Revision',
'2': const [
const {'1': 'base_rev_id', '3': 1, '4': 1, '5': 3, '10': 'baseRevId'},
const {'1': 'rev_id', '3': 2, '4': 1, '5': 3, '10': 'revId'},
const {'1': 'delta_data', '3': 3, '4': 1, '5': 12, '10': 'deltaData'},
const {'1': 'md5', '3': 4, '4': 1, '5': 9, '10': 'md5'},
const {'1': 'doc_id', '3': 5, '4': 1, '5': 9, '10': 'docId'},
const {'1': 'ty', '3': 6, '4': 1, '5': 14, '6': '.RevType', '10': 'ty'},
const {'1': 'user_id', '3': 7, '4': 1, '5': 9, '10': 'userId'},
],
};
/// Descriptor for `Revision`. Decode as a `google.protobuf.DescriptorProto`.
final $typed_data.Uint8List revisionDescriptor = $convert.base64Decode('CghSZXZpc2lvbhIeCgtiYXNlX3Jldl9pZBgBIAEoA1IJYmFzZVJldklkEhUKBnJldl9pZBgCIAEoA1IFcmV2SWQSHQoKZGVsdGFfZGF0YRgDIAEoDFIJZGVsdGFEYXRhEhAKA21kNRgEIAEoCVIDbWQ1EhUKBmRvY19pZBgFIAEoCVIFZG9jSWQSGAoCdHkYBiABKA4yCC5SZXZUeXBlUgJ0eRIXCgd1c2VyX2lkGAcgASgJUgZ1c2VySWQ=');
@$core.Deprecated('Use repeatedRevisionDescriptor instead')
const RepeatedRevision$json = const {
'1': 'RepeatedRevision',
'2': const [
const {'1': 'items', '3': 1, '4': 3, '5': 11, '6': '.Revision', '10': 'items'},
],
};
/// Descriptor for `RepeatedRevision`. Decode as a `google.protobuf.DescriptorProto`.
final $typed_data.Uint8List repeatedRevisionDescriptor = $convert.base64Decode('ChBSZXBlYXRlZFJldmlzaW9uEh8KBWl0ZW1zGAEgAygLMgkuUmV2aXNpb25SBWl0ZW1z');
@$core.Deprecated('Use revIdDescriptor instead')
const RevId$json = const {
'1': 'RevId',
'2': const [
const {'1': 'value', '3': 1, '4': 1, '5': 3, '10': 'value'},
],
};
/// Descriptor for `RevId`. Decode as a `google.protobuf.DescriptorProto`.
final $typed_data.Uint8List revIdDescriptor = $convert.base64Decode('CgVSZXZJZBIUCgV2YWx1ZRgBIAEoA1IFdmFsdWU=');
@$core.Deprecated('Use revisionRangeDescriptor instead')
const RevisionRange$json = const {
'1': 'RevisionRange',
'2': const [
const {'1': 'doc_id', '3': 1, '4': 1, '5': 9, '10': 'docId'},
const {'1': 'start', '3': 2, '4': 1, '5': 3, '10': 'start'},
const {'1': 'end', '3': 3, '4': 1, '5': 3, '10': 'end'},
],
};
/// Descriptor for `RevisionRange`. Decode as a `google.protobuf.DescriptorProto`.
final $typed_data.Uint8List revisionRangeDescriptor = $convert.base64Decode('Cg1SZXZpc2lvblJhbmdlEhUKBmRvY19pZBgBIAEoCVIFZG9jSWQSFAoFc3RhcnQYAiABKANSBXN0YXJ0EhAKA2VuZBgDIAEoA1IDZW5k');

View File

@ -1,9 +0,0 @@
///
// Generated code. Do not modify.
// source: model.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 'model.pb.dart';

View File

@ -1,2 +0,0 @@
// Auto-generated, do not edit
export './model.pb.dart';

View File

@ -277,6 +277,31 @@ dependencies = [
"unicode-width",
]
[[package]]
name = "cmd_lib"
version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0ba0f413777386d37f85afa5242f277a7b461905254c1af3c339d4af06800f62"
dependencies = [
"cmd_lib_macros",
"faccess",
"lazy_static",
"log",
"os_pipe",
]
[[package]]
name = "cmd_lib_macros"
version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9e66605092ff6c6e37e0246601ae6c3f62dc1880e0599359b5f303497c112dc0"
dependencies = [
"proc-macro-error",
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "color-eyre"
version = "0.5.11"
@ -506,6 +531,7 @@ dependencies = [
"flowy-derive",
"flowy-sdk",
"lib-dispatch",
"lib-infra",
"log",
"once_cell",
"protobuf",
@ -523,6 +549,7 @@ dependencies = [
"flowy-derive",
"lazy_static",
"lib-dispatch",
"lib-infra",
"log",
"protobuf",
]
@ -667,6 +694,7 @@ version = "0.1.0"
dependencies = [
"derive_more",
"flowy-derive",
"lib-infra",
"protobuf",
]
@ -680,6 +708,17 @@ dependencies = [
"once_cell",
]
[[package]]
name = "faccess"
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e039175679baf763ddddf4f76900b92d4dae9411ee88cf42d2f11b976b09e07c"
dependencies = [
"bitflags",
"libc",
"winapi",
]
[[package]]
name = "fake"
version = "2.3.0"
@ -832,6 +871,7 @@ dependencies = [
"flowy-derive",
"http-flowy",
"lib-dispatch",
"lib-infra",
"lib-ot",
"lib-sqlite",
"protobuf",
@ -890,6 +930,7 @@ dependencies = [
"derive_more",
"error-code",
"flowy-derive",
"lib-infra",
"log",
"protobuf",
"serde",
@ -1070,6 +1111,7 @@ dependencies = [
"fancy-regex",
"flowy-derive",
"lazy_static",
"lib-infra",
"log",
"protobuf",
"serde",
@ -1520,12 +1562,15 @@ version = "0.1.0"
dependencies = [
"bytes",
"chrono",
"cmd_lib",
"futures-core",
"log",
"pin-project",
"protoc-rust",
"rand 0.8.4",
"tokio",
"uuid",
"walkdir",
]
[[package]]
@ -1870,6 +1915,16 @@ dependencies = [
"vcpkg",
]
[[package]]
name = "os_pipe"
version = "0.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fb233f06c2307e1f5ce2ecad9f8121cffbbee2c95428f44ea85222e460d0d213"
dependencies = [
"libc",
"winapi",
]
[[package]]
name = "owo-colors"
version = "1.3.0"
@ -1985,6 +2040,30 @@ version = "0.2.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872"
[[package]]
name = "proc-macro-error"
version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
dependencies = [
"proc-macro-error-attr",
"proc-macro2",
"quote",
"syn",
"version_check",
]
[[package]]
name = "proc-macro-error-attr"
version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
dependencies = [
"proc-macro2",
"quote",
"version_check",
]
[[package]]
name = "proc-macro2"
version = "1.0.36"
@ -2000,6 +2079,37 @@ version = "2.25.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "47c327e191621a2158159df97cdbc2e7074bb4e940275e35abf38eb3d2595754"
[[package]]
name = "protobuf-codegen"
version = "2.25.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3df8c98c08bd4d6653c2dbae00bd68c1d1d82a360265a5b0bbc73d48c63cb853"
dependencies = [
"protobuf",
]
[[package]]
name = "protoc"
version = "2.25.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9ac70cfc8935f5db2a29c0929db697035d02284011a9b78a5ef5d48092ce9673"
dependencies = [
"log",
"which",
]
[[package]]
name = "protoc-rust"
version = "2.25.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6bad71c8404e3e09024fccbab55aae36e3662662167dc4530a242c8cc8ef8d20"
dependencies = [
"protobuf",
"protobuf-codegen",
"protoc",
"tempfile",
]
[[package]]
name = "quickcheck"
version = "0.9.2"
@ -2327,9 +2437,9 @@ checksum = "568a8e6258aa33c13358f81fd834adb854c6f7c9468520910a9b1e8fac068012"
[[package]]
name = "serde"
version = "1.0.133"
version = "1.0.136"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "97565067517b60e2d1ea8b268e59ce036de907ac523ad83a0475da04e818989a"
checksum = "ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789"
dependencies = [
"serde_derive",
]
@ -2357,9 +2467,9 @@ dependencies = [
[[package]]
name = "serde_derive"
version = "1.0.133"
version = "1.0.136"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ed201699328568d8d08208fdd080e3ff594e6c422e438b6705905da01005d537"
checksum = "08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9"
dependencies = [
"proc-macro2",
"quote",
@ -3069,6 +3179,17 @@ dependencies = [
"wasm-bindgen",
]
[[package]]
name = "which"
version = "4.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2a5a7e487e921cf220206864a94a89b6c6905bfc19f1057fa26a4cb360e5c1d2"
dependencies = [
"either",
"lazy_static",
"libc",
]
[[package]]
name = "winapi"
version = "0.3.9"

View File

@ -24,7 +24,7 @@ bytes = { version = "1.0" }
once_cell = "1"
lib-dispatch = {path = "../lib-dispatch" }
flowy-sdk = {path = "../flowy-sdk"}
flowy-sdk = {path = "../flowy-sdk", features = ["dart"]}
dart-notify = {path = "../dart-notify" }
flowy-derive = {path = "../../../shared-lib/flowy-derive" }
@ -32,4 +32,7 @@ flowy-derive = {path = "../../../shared-lib/flowy-derive" }
flutter = ["dart-notify/dart"]
http_server = ["flowy-sdk/http_server", "flowy-sdk/use_bunyan"]
#use_serde = ["bincode"]
#use_protobuf= ["protobuf"]
#use_protobuf= ["protobuf"]
[build-dependencies]
lib-infra = { path = "../../../shared-lib/lib-infra", features = ["pb_gen", "dart"] }

View File

@ -0,0 +1,5 @@
use lib_infra::pb_gen;
fn main() {
pb_gen::gen("dart-ffi", "./src/protobuf/proto");
}

View File

@ -1,4 +1,4 @@
// This file is generated by rust-protobuf 2.22.1. Do not edit
// This file is generated by rust-protobuf 2.25.2. Do not edit
// @generated
// https://github.com/rust-lang/rust-clippy/issues/702
@ -21,7 +21,7 @@
/// Generated files are compatible only with the same version
/// of protobuf runtime.
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_22_1;
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_25_2;
#[derive(PartialEq,Clone,Default)]
pub struct FFIRequest {
@ -226,15 +226,8 @@ impl ::protobuf::reflect::ProtobufValue for FFIRequest {
static file_descriptor_proto_data: &'static [u8] = b"\
\n\x11ffi_request.proto\"<\n\nFFIRequest\x12\x14\n\x05event\x18\x01\x20\
\x01(\tR\x05event\x12\x18\n\x07payload\x18\x02\x20\x01(\x0cR\x07payloadJ\
\x98\x01\n\x06\x12\x04\0\0\x05\x01\n\x08\n\x01\x0c\x12\x03\0\0\x12\n\n\n\
\x02\x04\0\x12\x04\x02\0\x05\x01\n\n\n\x03\x04\0\x01\x12\x03\x02\x08\x12\
\n\x0b\n\x04\x04\0\x02\0\x12\x03\x03\x04\x15\n\x0c\n\x05\x04\0\x02\0\x05\
\x12\x03\x03\x04\n\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03\x03\x0b\x10\n\x0c\
\n\x05\x04\0\x02\0\x03\x12\x03\x03\x13\x14\n\x0b\n\x04\x04\0\x02\x01\x12\
\x03\x04\x04\x16\n\x0c\n\x05\x04\0\x02\x01\x05\x12\x03\x04\x04\t\n\x0c\n\
\x05\x04\0\x02\x01\x01\x12\x03\x04\n\x11\n\x0c\n\x05\x04\0\x02\x01\x03\
\x12\x03\x04\x14\x15b\x06proto3\
\x01(\tR\x05event\x12\x18\n\x07payload\x18\x02\x20\x01(\x0cR\x07payloadb\
\x06proto3\
";
static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;

View File

@ -1,4 +1,4 @@
// This file is generated by rust-protobuf 2.22.1. Do not edit
// This file is generated by rust-protobuf 2.25.2. Do not edit
// @generated
// https://github.com/rust-lang/rust-clippy/issues/702
@ -21,7 +21,7 @@
/// Generated files are compatible only with the same version
/// of protobuf runtime.
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_22_1;
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_25_2;
#[derive(PartialEq,Clone,Default)]
pub struct FFIResponse {
@ -270,22 +270,7 @@ static file_descriptor_proto_data: &'static [u8] = b"\
\n\x12ffi_response.proto\"K\n\x0bFFIResponse\x12\x18\n\x07payload\x18\
\x01\x20\x01(\x0cR\x07payload\x12\"\n\x04code\x18\x02\x20\x01(\x0e2\x0e.\
FFIStatusCodeR\x04code*.\n\rFFIStatusCode\x12\x06\n\x02Ok\x10\0\x12\x07\
\n\x03Err\x10\x01\x12\x0c\n\x08Internal\x10\x02J\xab\x02\n\x06\x12\x04\0\
\0\n\x01\n\x08\n\x01\x0c\x12\x03\0\0\x12\n\n\n\x02\x04\0\x12\x04\x02\0\
\x05\x01\n\n\n\x03\x04\0\x01\x12\x03\x02\x08\x13\n\x0b\n\x04\x04\0\x02\0\
\x12\x03\x03\x04\x16\n\x0c\n\x05\x04\0\x02\0\x05\x12\x03\x03\x04\t\n\x0c\
\n\x05\x04\0\x02\0\x01\x12\x03\x03\n\x11\n\x0c\n\x05\x04\0\x02\0\x03\x12\
\x03\x03\x14\x15\n\x0b\n\x04\x04\0\x02\x01\x12\x03\x04\x04\x1b\n\x0c\n\
\x05\x04\0\x02\x01\x06\x12\x03\x04\x04\x11\n\x0c\n\x05\x04\0\x02\x01\x01\
\x12\x03\x04\x12\x16\n\x0c\n\x05\x04\0\x02\x01\x03\x12\x03\x04\x19\x1a\n\
\n\n\x02\x05\0\x12\x04\x06\0\n\x01\n\n\n\x03\x05\0\x01\x12\x03\x06\x05\
\x12\n\x0b\n\x04\x05\0\x02\0\x12\x03\x07\x04\x0b\n\x0c\n\x05\x05\0\x02\0\
\x01\x12\x03\x07\x04\x06\n\x0c\n\x05\x05\0\x02\0\x02\x12\x03\x07\t\n\n\
\x0b\n\x04\x05\0\x02\x01\x12\x03\x08\x04\x0c\n\x0c\n\x05\x05\0\x02\x01\
\x01\x12\x03\x08\x04\x07\n\x0c\n\x05\x05\0\x02\x01\x02\x12\x03\x08\n\x0b\
\n\x0b\n\x04\x05\0\x02\x02\x12\x03\t\x04\x11\n\x0c\n\x05\x05\0\x02\x02\
\x01\x12\x03\t\x04\x0c\n\x0c\n\x05\x05\0\x02\x02\x02\x12\x03\t\x0f\x10b\
\x06proto3\
\n\x03Err\x10\x01\x12\x0c\n\x08Internal\x10\x02b\x06proto3\
";
static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;

View File

@ -16,4 +16,7 @@ flowy-derive = {path = "../../../shared-lib/flowy-derive" }
lib-dispatch = {path = "../lib-dispatch" }
[features]
dart = []
dart = ["lib-infra/dart"]
[build-dependencies]
lib-infra = { path = "../../../shared-lib/lib-infra", features = ["pb_gen"] }

View File

@ -0,0 +1,5 @@
use lib_infra::pb_gen;
fn main() {
pb_gen::gen("dart-notify", "./src/protobuf/proto");
}

View File

@ -1,4 +1,4 @@
// This file is generated by rust-protobuf 2.22.1. Do not edit
// This file is generated by rust-protobuf 2.25.2. Do not edit
// @generated
// https://github.com/rust-lang/rust-clippy/issues/702
@ -21,7 +21,7 @@
/// Generated files are compatible only with the same version
/// of protobuf runtime.
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_22_1;
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_25_2;
#[derive(PartialEq,Clone,Default)]
pub struct SubscribeObject {
@ -427,25 +427,8 @@ static file_descriptor_proto_data: &'static [u8] = b"\
\x01\x20\x01(\tR\x06source\x12\x0e\n\x02ty\x18\x02\x20\x01(\x05R\x02ty\
\x12\x0e\n\x02id\x18\x03\x20\x01(\tR\x02id\x12\x1a\n\x07payload\x18\x04\
\x20\x01(\x0cH\0R\x07payload\x12\x16\n\x05error\x18\x05\x20\x01(\x0cH\
\x01R\x05errorB\x10\n\x0eone_of_payloadB\x0e\n\x0cone_of_errorJ\xf3\x02\
\n\x06\x12\x04\0\0\x08\x01\n\x08\n\x01\x0c\x12\x03\0\0\x12\n\n\n\x02\x04\
\0\x12\x04\x02\0\x08\x01\n\n\n\x03\x04\0\x01\x12\x03\x02\x08\x17\n\x0b\n\
\x04\x04\0\x02\0\x12\x03\x03\x04\x16\n\x0c\n\x05\x04\0\x02\0\x05\x12\x03\
\x03\x04\n\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03\x03\x0b\x11\n\x0c\n\x05\
\x04\0\x02\0\x03\x12\x03\x03\x14\x15\n\x0b\n\x04\x04\0\x02\x01\x12\x03\
\x04\x04\x11\n\x0c\n\x05\x04\0\x02\x01\x05\x12\x03\x04\x04\t\n\x0c\n\x05\
\x04\0\x02\x01\x01\x12\x03\x04\n\x0c\n\x0c\n\x05\x04\0\x02\x01\x03\x12\
\x03\x04\x0f\x10\n\x0b\n\x04\x04\0\x02\x02\x12\x03\x05\x04\x12\n\x0c\n\
\x05\x04\0\x02\x02\x05\x12\x03\x05\x04\n\n\x0c\n\x05\x04\0\x02\x02\x01\
\x12\x03\x05\x0b\r\n\x0c\n\x05\x04\0\x02\x02\x03\x12\x03\x05\x10\x11\n\
\x0b\n\x04\x04\0\x08\0\x12\x03\x06\x04/\n\x0c\n\x05\x04\0\x08\0\x01\x12\
\x03\x06\n\x18\n\x0b\n\x04\x04\0\x02\x03\x12\x03\x06\x1b-\n\x0c\n\x05\
\x04\0\x02\x03\x05\x12\x03\x06\x1b\x20\n\x0c\n\x05\x04\0\x02\x03\x01\x12\
\x03\x06!(\n\x0c\n\x05\x04\0\x02\x03\x03\x12\x03\x06+,\n\x0b\n\x04\x04\0\
\x08\x01\x12\x03\x07\x04+\n\x0c\n\x05\x04\0\x08\x01\x01\x12\x03\x07\n\
\x16\n\x0b\n\x04\x04\0\x02\x04\x12\x03\x07\x19)\n\x0c\n\x05\x04\0\x02\
\x04\x05\x12\x03\x07\x19\x1e\n\x0c\n\x05\x04\0\x02\x04\x01\x12\x03\x07\
\x1f$\n\x0c\n\x05\x04\0\x02\x04\x03\x12\x03\x07'(b\x06proto3\
\x01R\x05errorB\x10\n\x0eone_of_payloadB\x0e\n\x0cone_of_errorb\x06proto\
3\
";
static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;

View File

@ -7,7 +7,7 @@ edition = "2018"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
flowy-collaboration = { path = "../../../shared-lib/flowy-collaboration" }
flowy-collaboration = { path = "../../../shared-lib/flowy-collaboration"}
flowy-derive = { path = "../../../shared-lib/flowy-derive" }
lib-ot = { path = "../../../shared-lib/lib-ot" }
lib-ws = { path = "../../../shared-lib/lib-ws" }
@ -52,7 +52,6 @@ color-eyre = { version = "0.5", default-features = false }
criterion = "0.3"
rand = "0.7.3"
[features]
http_server = []
flowy_unit_test = ["lib-ot/flowy_unit_test", "flowy-sync/flowy_unit_test"]

View File

@ -1,2 +0,0 @@
proto_crates = []
event_files = []

View File

@ -1,7 +1,5 @@
pub mod controller;
pub mod core;
// mod notify;
pub mod protobuf;
pub use controller::*;
pub mod errors {
pub use flowy_error::{internal_error, ErrorCode, FlowyError};

View File

@ -1,4 +0,0 @@
#![cfg_attr(rustfmt, rustfmt::skip)]
// Auto-generated, do not edit
mod model;
pub use model::*;

View File

@ -1,2 +0,0 @@
#![cfg_attr(rustfmt, rustfmt::skip)]
// Auto-generated, do not edit

View File

@ -7,7 +7,7 @@ edition = "2018"
[dependencies]
flowy-derive = { path = "../../../shared-lib/flowy-derive" }
error-code = { path = "../../../shared-lib/error-code" }
error-code = { path = "../../../shared-lib/error-code"}
lib-dispatch = { path = "../lib-dispatch" }
protobuf = {version = "2.20.0"}
bytes = "1.0"
@ -27,3 +27,7 @@ ot = ["lib-ot"]
serde = ["serde_json"]
http_server = ["http-flowy"]
db = ["flowy-database", "lib-sqlite", "r2d2"]
dart = ["error-code/dart", "lib-infra/dart"]
[build-dependencies]
lib-infra = { path = "../../../shared-lib/lib-infra", features = ["pb_gen"] }

View File

@ -0,0 +1,5 @@
use lib_infra::pb_gen;
fn main() {
pb_gen::gen("flowy-error", "./src/protobuf/proto");
}

View File

@ -1,4 +1,4 @@
// This file is generated by rust-protobuf 2.22.1. Do not edit
// This file is generated by rust-protobuf 2.25.2. Do not edit
// @generated
// https://github.com/rust-lang/rust-clippy/issues/702
@ -21,7 +21,7 @@
/// Generated files are compatible only with the same version
/// of protobuf runtime.
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_22_1;
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_25_2;
#[derive(PartialEq,Clone,Default)]
pub struct FlowyError {
@ -219,15 +219,7 @@ impl ::protobuf::reflect::ProtobufValue for FlowyError {
static file_descriptor_proto_data: &'static [u8] = b"\
\n\x0cerrors.proto\"2\n\nFlowyError\x12\x12\n\x04code\x18\x01\x20\x01(\
\x05R\x04code\x12\x10\n\x03msg\x18\x02\x20\x01(\tR\x03msgJ\x98\x01\n\x06\
\x12\x04\0\0\x05\x01\n\x08\n\x01\x0c\x12\x03\0\0\x12\n\n\n\x02\x04\0\x12\
\x04\x02\0\x05\x01\n\n\n\x03\x04\0\x01\x12\x03\x02\x08\x12\n\x0b\n\x04\
\x04\0\x02\0\x12\x03\x03\x04\x13\n\x0c\n\x05\x04\0\x02\0\x05\x12\x03\x03\
\x04\t\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03\x03\n\x0e\n\x0c\n\x05\x04\0\
\x02\0\x03\x12\x03\x03\x11\x12\n\x0b\n\x04\x04\0\x02\x01\x12\x03\x04\x04\
\x13\n\x0c\n\x05\x04\0\x02\x01\x05\x12\x03\x04\x04\n\n\x0c\n\x05\x04\0\
\x02\x01\x01\x12\x03\x04\x0b\x0e\n\x0c\n\x05\x04\0\x02\x01\x03\x12\x03\
\x04\x11\x12b\x06proto3\
\x05R\x04code\x12\x10\n\x03msg\x18\x02\x20\x01(\tR\x03msgb\x06proto3\
";
static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;

View File

@ -52,4 +52,8 @@ flowy-test = { path = "../flowy-test" }
[features]
default = []
http_server = []
flowy_unit_test = ["lib-ot/flowy_unit_test", "flowy-sync/flowy_unit_test"]
flowy_unit_test = ["lib-ot/flowy_unit_test", "flowy-sync/flowy_unit_test"]
dart = ["lib-infra/dart", "flowy-folder/dart", "flowy-folder/dart",]
[build-dependencies]
lib-infra = { path = "../../../shared-lib/lib-infra", features = ["pb_gen"] }

View File

@ -0,0 +1,5 @@
use lib_infra::pb_gen;
fn main() {
pb_gen::gen("flowy-folder", "./src/protobuf/proto");
}

View File

@ -1,4 +1,4 @@
// This file is generated by rust-protobuf 2.22.1. Do not edit
// This file is generated by rust-protobuf 2.25.2. Do not edit
// @generated
// https://github.com/rust-lang/rust-clippy/issues/702
@ -21,7 +21,7 @@
/// Generated files are compatible only with the same version
/// of protobuf runtime.
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_22_1;
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_25_2;
#[derive(Clone,PartialEq,Eq,Debug,Hash)]
pub enum FolderNotification {
@ -114,35 +114,7 @@ static file_descriptor_proto_data: &'static [u8] = b"\
\x0e\x12\x0e\n\nAppUpdated\x10\x15\x12\x13\n\x0fAppViewsChanged\x10\x18\
\x12\x0f\n\x0bViewUpdated\x10\x1f\x12\x0f\n\x0bViewDeleted\x10\x20\x12\
\x10\n\x0cViewRestored\x10!\x12\x14\n\x10UserUnauthorized\x10d\x12\x11\n\
\x0cTrashUpdated\x10\xe8\x07J\xbf\x04\n\x06\x12\x04\0\0\x10\x01\n\x08\n\
\x01\x0c\x12\x03\0\0\x12\n\n\n\x02\x05\0\x12\x04\x02\0\x10\x01\n\n\n\x03\
\x05\0\x01\x12\x03\x02\x05\x17\n\x0b\n\x04\x05\0\x02\0\x12\x03\x03\x04\
\x10\n\x0c\n\x05\x05\0\x02\0\x01\x12\x03\x03\x04\x0b\n\x0c\n\x05\x05\0\
\x02\0\x02\x12\x03\x03\x0e\x0f\n\x0b\n\x04\x05\0\x02\x01\x12\x03\x04\x04\
\x1d\n\x0c\n\x05\x05\0\x02\x01\x01\x12\x03\x04\x04\x17\n\x0c\n\x05\x05\0\
\x02\x01\x02\x12\x03\x04\x1a\x1c\n\x0b\n\x04\x05\0\x02\x02\x12\x03\x05\
\x04\x1d\n\x0c\n\x05\x05\0\x02\x02\x01\x12\x03\x05\x04\x17\n\x0c\n\x05\
\x05\0\x02\x02\x02\x12\x03\x05\x1a\x1c\n\x0b\n\x04\x05\0\x02\x03\x12\x03\
\x06\x04\x1a\n\x0c\n\x05\x05\0\x02\x03\x01\x12\x03\x06\x04\x14\n\x0c\n\
\x05\x05\0\x02\x03\x02\x12\x03\x06\x17\x19\n\x0b\n\x04\x05\0\x02\x04\x12\
\x03\x07\x04\x1e\n\x0c\n\x05\x05\0\x02\x04\x01\x12\x03\x07\x04\x18\n\x0c\
\n\x05\x05\0\x02\x04\x02\x12\x03\x07\x1b\x1d\n\x0b\n\x04\x05\0\x02\x05\
\x12\x03\x08\x04\x1e\n\x0c\n\x05\x05\0\x02\x05\x01\x12\x03\x08\x04\x18\n\
\x0c\n\x05\x05\0\x02\x05\x02\x12\x03\x08\x1b\x1d\n\x0b\n\x04\x05\0\x02\
\x06\x12\x03\t\x04\x14\n\x0c\n\x05\x05\0\x02\x06\x01\x12\x03\t\x04\x0e\n\
\x0c\n\x05\x05\0\x02\x06\x02\x12\x03\t\x11\x13\n\x0b\n\x04\x05\0\x02\x07\
\x12\x03\n\x04\x19\n\x0c\n\x05\x05\0\x02\x07\x01\x12\x03\n\x04\x13\n\x0c\
\n\x05\x05\0\x02\x07\x02\x12\x03\n\x16\x18\n\x0b\n\x04\x05\0\x02\x08\x12\
\x03\x0b\x04\x15\n\x0c\n\x05\x05\0\x02\x08\x01\x12\x03\x0b\x04\x0f\n\x0c\
\n\x05\x05\0\x02\x08\x02\x12\x03\x0b\x12\x14\n\x0b\n\x04\x05\0\x02\t\x12\
\x03\x0c\x04\x15\n\x0c\n\x05\x05\0\x02\t\x01\x12\x03\x0c\x04\x0f\n\x0c\n\
\x05\x05\0\x02\t\x02\x12\x03\x0c\x12\x14\n\x0b\n\x04\x05\0\x02\n\x12\x03\
\r\x04\x16\n\x0c\n\x05\x05\0\x02\n\x01\x12\x03\r\x04\x10\n\x0c\n\x05\x05\
\0\x02\n\x02\x12\x03\r\x13\x15\n\x0b\n\x04\x05\0\x02\x0b\x12\x03\x0e\x04\
\x1b\n\x0c\n\x05\x05\0\x02\x0b\x01\x12\x03\x0e\x04\x14\n\x0c\n\x05\x05\0\
\x02\x0b\x02\x12\x03\x0e\x17\x1a\n\x0b\n\x04\x05\0\x02\x0c\x12\x03\x0f\
\x04\x18\n\x0c\n\x05\x05\0\x02\x0c\x01\x12\x03\x0f\x04\x10\n\x0c\n\x05\
\x05\0\x02\x0c\x02\x12\x03\x0f\x13\x17b\x06proto3\
\x0cTrashUpdated\x10\xe8\x07b\x06proto3\
";
static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;

View File

@ -1,4 +1,4 @@
// This file is generated by rust-protobuf 2.22.1. Do not edit
// This file is generated by rust-protobuf 2.25.2. Do not edit
// @generated
// https://github.com/rust-lang/rust-clippy/issues/702
@ -21,7 +21,7 @@
/// Generated files are compatible only with the same version
/// of protobuf runtime.
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_22_1;
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_25_2;
#[derive(Clone,PartialEq,Eq,Debug,Hash)]
pub enum FolderEvent {
@ -155,60 +155,7 @@ static file_descriptor_proto_data: &'static [u8] = b"\
\x0e\n\tReadTrash\x10\xac\x02\x12\x11\n\x0cPutbackTrash\x10\xad\x02\x12\
\x10\n\x0bDeleteTrash\x10\xae\x02\x12\x14\n\x0fRestoreAllTrash\x10\xaf\
\x02\x12\x13\n\x0eDeleteAllTrash\x10\xb0\x02\x12\x12\n\rApplyDocDelta\
\x10\x90\x03\x12\x13\n\x0eExportDocument\x10\xf4\x03J\xab\x08\n\x06\x12\
\x04\0\0\x1c\x01\n\x08\n\x01\x0c\x12\x03\0\0\x12\n\n\n\x02\x05\0\x12\x04\
\x02\0\x1c\x01\n\n\n\x03\x05\0\x01\x12\x03\x02\x05\x10\n\x0b\n\x04\x05\0\
\x02\0\x12\x03\x03\x04\x18\n\x0c\n\x05\x05\0\x02\0\x01\x12\x03\x03\x04\
\x13\n\x0c\n\x05\x05\0\x02\0\x02\x12\x03\x03\x16\x17\n\x0b\n\x04\x05\0\
\x02\x01\x12\x03\x04\x04\x19\n\x0c\n\x05\x05\0\x02\x01\x01\x12\x03\x04\
\x04\x14\n\x0c\n\x05\x05\0\x02\x01\x02\x12\x03\x04\x17\x18\n\x0b\n\x04\
\x05\0\x02\x02\x12\x03\x05\x04\x17\n\x0c\n\x05\x05\0\x02\x02\x01\x12\x03\
\x05\x04\x12\n\x0c\n\x05\x05\0\x02\x02\x02\x12\x03\x05\x15\x16\n\x0b\n\
\x04\x05\0\x02\x03\x12\x03\x06\x04\x18\n\x0c\n\x05\x05\0\x02\x03\x01\x12\
\x03\x06\x04\x13\n\x0c\n\x05\x05\0\x02\x03\x02\x12\x03\x06\x16\x17\n\x0b\
\n\x04\x05\0\x02\x04\x12\x03\x07\x04\x16\n\x0c\n\x05\x05\0\x02\x04\x01\
\x12\x03\x07\x04\x11\n\x0c\n\x05\x05\0\x02\x04\x02\x12\x03\x07\x14\x15\n\
\x0b\n\x04\x05\0\x02\x05\x12\x03\x08\x04\x1a\n\x0c\n\x05\x05\0\x02\x05\
\x01\x12\x03\x08\x04\x15\n\x0c\n\x05\x05\0\x02\x05\x02\x12\x03\x08\x18\
\x19\n\x0b\n\x04\x05\0\x02\x06\x12\x03\t\x04\x14\n\x0c\n\x05\x05\0\x02\
\x06\x01\x12\x03\t\x04\r\n\x0c\n\x05\x05\0\x02\x06\x02\x12\x03\t\x10\x13\
\n\x0b\n\x04\x05\0\x02\x07\x12\x03\n\x04\x14\n\x0c\n\x05\x05\0\x02\x07\
\x01\x12\x03\n\x04\r\n\x0c\n\x05\x05\0\x02\x07\x02\x12\x03\n\x10\x13\n\
\x0b\n\x04\x05\0\x02\x08\x12\x03\x0b\x04\x12\n\x0c\n\x05\x05\0\x02\x08\
\x01\x12\x03\x0b\x04\x0b\n\x0c\n\x05\x05\0\x02\x08\x02\x12\x03\x0b\x0e\
\x11\n\x0b\n\x04\x05\0\x02\t\x12\x03\x0c\x04\x14\n\x0c\n\x05\x05\0\x02\t\
\x01\x12\x03\x0c\x04\r\n\x0c\n\x05\x05\0\x02\t\x02\x12\x03\x0c\x10\x13\n\
\x0b\n\x04\x05\0\x02\n\x12\x03\r\x04\x15\n\x0c\n\x05\x05\0\x02\n\x01\x12\
\x03\r\x04\x0e\n\x0c\n\x05\x05\0\x02\n\x02\x12\x03\r\x11\x14\n\x0b\n\x04\
\x05\0\x02\x0b\x12\x03\x0e\x04\x13\n\x0c\n\x05\x05\0\x02\x0b\x01\x12\x03\
\x0e\x04\x0c\n\x0c\n\x05\x05\0\x02\x0b\x02\x12\x03\x0e\x0f\x12\n\x0b\n\
\x04\x05\0\x02\x0c\x12\x03\x0f\x04\x15\n\x0c\n\x05\x05\0\x02\x0c\x01\x12\
\x03\x0f\x04\x0e\n\x0c\n\x05\x05\0\x02\x0c\x02\x12\x03\x0f\x11\x14\n\x0b\
\n\x04\x05\0\x02\r\x12\x03\x10\x04\x15\n\x0c\n\x05\x05\0\x02\r\x01\x12\
\x03\x10\x04\x0e\n\x0c\n\x05\x05\0\x02\r\x02\x12\x03\x10\x11\x14\n\x0b\n\
\x04\x05\0\x02\x0e\x12\x03\x11\x04\x18\n\x0c\n\x05\x05\0\x02\x0e\x01\x12\
\x03\x11\x04\x11\n\x0c\n\x05\x05\0\x02\x0e\x02\x12\x03\x11\x14\x17\n\x0b\
\n\x04\x05\0\x02\x0f\x12\x03\x12\x04\x13\n\x0c\n\x05\x05\0\x02\x0f\x01\
\x12\x03\x12\x04\x0c\n\x0c\n\x05\x05\0\x02\x0f\x02\x12\x03\x12\x0f\x12\n\
\x0b\n\x04\x05\0\x02\x10\x12\x03\x13\x04\x17\n\x0c\n\x05\x05\0\x02\x10\
\x01\x12\x03\x13\x04\x10\n\x0c\n\x05\x05\0\x02\x10\x02\x12\x03\x13\x13\
\x16\n\x0b\n\x04\x05\0\x02\x11\x12\x03\x14\x04\x14\n\x0c\n\x05\x05\0\x02\
\x11\x01\x12\x03\x14\x04\r\n\x0c\n\x05\x05\0\x02\x11\x02\x12\x03\x14\x10\
\x13\n\x0b\n\x04\x05\0\x02\x12\x12\x03\x15\x04\x14\n\x0c\n\x05\x05\0\x02\
\x12\x01\x12\x03\x15\x04\r\n\x0c\n\x05\x05\0\x02\x12\x02\x12\x03\x15\x10\
\x13\n\x0b\n\x04\x05\0\x02\x13\x12\x03\x16\x04\x17\n\x0c\n\x05\x05\0\x02\
\x13\x01\x12\x03\x16\x04\x10\n\x0c\n\x05\x05\0\x02\x13\x02\x12\x03\x16\
\x13\x16\n\x0b\n\x04\x05\0\x02\x14\x12\x03\x17\x04\x16\n\x0c\n\x05\x05\0\
\x02\x14\x01\x12\x03\x17\x04\x0f\n\x0c\n\x05\x05\0\x02\x14\x02\x12\x03\
\x17\x12\x15\n\x0b\n\x04\x05\0\x02\x15\x12\x03\x18\x04\x1a\n\x0c\n\x05\
\x05\0\x02\x15\x01\x12\x03\x18\x04\x13\n\x0c\n\x05\x05\0\x02\x15\x02\x12\
\x03\x18\x16\x19\n\x0b\n\x04\x05\0\x02\x16\x12\x03\x19\x04\x19\n\x0c\n\
\x05\x05\0\x02\x16\x01\x12\x03\x19\x04\x12\n\x0c\n\x05\x05\0\x02\x16\x02\
\x12\x03\x19\x15\x18\n\x0b\n\x04\x05\0\x02\x17\x12\x03\x1a\x04\x18\n\x0c\
\n\x05\x05\0\x02\x17\x01\x12\x03\x1a\x04\x11\n\x0c\n\x05\x05\0\x02\x17\
\x02\x12\x03\x1a\x14\x17\n\x0b\n\x04\x05\0\x02\x18\x12\x03\x1b\x04\x19\n\
\x0c\n\x05\x05\0\x02\x18\x01\x12\x03\x1b\x04\x12\n\x0c\n\x05\x05\0\x02\
\x18\x02\x12\x03\x1b\x15\x18b\x06proto3\
\x10\x90\x03\x12\x13\n\x0eExportDocument\x10\xf4\x03b\x06proto3\
";
static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;

View File

@ -169,7 +169,7 @@ impl AppController {
loop {
let mut stream = Box::pin(rx.recv().into_stream().filter_map(|result| async move {
match result {
Ok(event) => event.select(TrashType::App),
Ok(event) => event.select(TrashType::TrashApp),
Err(_e) => None,
}
}));

View File

@ -118,7 +118,7 @@ impl std::convert::From<AppTable> for Trash {
name: table.name,
modified_time: table.modified_time,
create_time: table.create_time,
ty: TrashType::App,
ty: TrashType::TrashApp,
}
}
}

View File

@ -129,8 +129,8 @@ impl std::convert::From<SqlTrashType> for TrashType {
fn from(ty: SqlTrashType) -> Self {
match ty {
SqlTrashType::Unknown => TrashType::Unknown,
SqlTrashType::View => TrashType::View,
SqlTrashType::App => TrashType::App,
SqlTrashType::View => TrashType::TrashView,
SqlTrashType::App => TrashType::TrashApp,
}
}
}
@ -139,8 +139,8 @@ impl std::convert::From<TrashType> for SqlTrashType {
fn from(ty: TrashType) -> Self {
match ty {
TrashType::Unknown => SqlTrashType::Unknown,
TrashType::View => SqlTrashType::View,
TrashType::App => SqlTrashType::App,
TrashType::TrashView => SqlTrashType::View,
TrashType::TrashApp => SqlTrashType::App,
}
}
}

View File

@ -174,7 +174,7 @@ impl std::convert::From<ViewTable> for Trash {
name: table.name,
modified_time: table.modified_time,
create_time: table.create_time,
ty: TrashType::View,
ty: TrashType::TrashView,
}
}
}

View File

@ -315,7 +315,7 @@ impl ViewController {
loop {
let mut stream = Box::pin(rx.recv().into_stream().filter_map(|result| async move {
match result {
Ok(event) => event.select(TrashType::View),
Ok(event) => event.select(TrashType::TrashView),
Err(_e) => None,
}
}));

View File

@ -180,7 +180,7 @@ pub async fn read_trash(sdk: &FlowySDKTest) -> RepeatedTrash {
pub async fn restore_app_from_trash(sdk: &FlowySDKTest, app_id: &str) {
let id = TrashId {
id: app_id.to_owned(),
ty: TrashType::App,
ty: TrashType::TrashApp,
};
FolderEventBuilder::new(sdk.clone())
.event(PutbackTrash)
@ -192,7 +192,7 @@ pub async fn restore_app_from_trash(sdk: &FlowySDKTest, app_id: &str) {
pub async fn restore_view_from_trash(sdk: &FlowySDKTest, view_id: &str) {
let id = TrashId {
id: view_id.to_owned(),
ty: TrashType::View,
ty: TrashType::TrashView,
};
FolderEventBuilder::new(sdk.clone())
.event(PutbackTrash)

View File

@ -10,7 +10,7 @@ lib-dispatch = { path = "../lib-dispatch" }
flowy-error = { path = "../flowy-error", features = ["collaboration", "http_server"] }
flowy-derive = { path = "../../../shared-lib/flowy-derive" }
flowy-collaboration = { path = "../../../shared-lib/flowy-collaboration"}
flowy-folder-data-model = { path = "../../../shared-lib/flowy-folder-data-model" }
flowy-folder-data-model = { path = "../../../shared-lib/flowy-folder-data-model"}
flowy-user-data-model = { path = "../../../shared-lib/flowy-user-data-model"}
flowy-folder = { path = "../flowy-folder" }
flowy-user = { path = "../flowy-user" }
@ -39,4 +39,15 @@ serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
[features]
http_server = []
http_server = []
dart = [
"lib-infra/dart",
"flowy-user/dart",
"flowy-collaboration/dart",
"flowy-error/dart",
"flowy-user-data-model/dart",
"flowy-folder-data-model/dart"
]
[build-dependencies]
lib-infra = { path = "../../../shared-lib/lib-infra", features = ["pb_gen"] }

View File

@ -0,0 +1,5 @@
use lib_infra::pb_gen;
fn main() {
pb_gen::gen("flowy-net", "./src/protobuf/proto");
}

View File

@ -1,4 +1,4 @@
// This file is generated by rust-protobuf 2.22.1. Do not edit
// This file is generated by rust-protobuf 2.25.2. Do not edit
// @generated
// https://github.com/rust-lang/rust-clippy/issues/702
@ -21,7 +21,7 @@
/// Generated files are compatible only with the same version
/// of protobuf runtime.
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_22_1;
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_25_2;
#[derive(Clone,PartialEq,Eq,Debug,Hash)]
pub enum NetworkEvent {
@ -72,11 +72,7 @@ impl ::protobuf::reflect::ProtobufValue for NetworkEvent {
static file_descriptor_proto_data: &'static [u8] = b"\
\n\x0bevent.proto*%\n\x0cNetworkEvent\x12\x15\n\x11UpdateNetworkType\x10\
\0JS\n\x06\x12\x04\0\0\x04\x01\n\x08\n\x01\x0c\x12\x03\0\0\x12\n\n\n\x02\
\x05\0\x12\x04\x02\0\x04\x01\n\n\n\x03\x05\0\x01\x12\x03\x02\x05\x11\n\
\x0b\n\x04\x05\0\x02\0\x12\x03\x03\x04\x1a\n\x0c\n\x05\x05\0\x02\0\x01\
\x12\x03\x03\x04\x15\n\x0c\n\x05\x05\0\x02\0\x02\x12\x03\x03\x18\x19b\
\x06proto3\
\0b\x06proto3\
";
static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;

View File

@ -1,4 +1,4 @@
// This file is generated by rust-protobuf 2.22.1. Do not edit
// This file is generated by rust-protobuf 2.25.2. Do not edit
// @generated
// https://github.com/rust-lang/rust-clippy/issues/702
@ -21,7 +21,7 @@
/// Generated files are compatible only with the same version
/// of protobuf runtime.
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_22_1;
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_25_2;
#[derive(PartialEq,Clone,Default)]
pub struct NetworkState {
@ -231,21 +231,7 @@ static file_descriptor_proto_data: &'static [u8] = b"\
\n\x13network_state.proto\",\n\x0cNetworkState\x12\x1c\n\x02ty\x18\x01\
\x20\x01(\x0e2\x0c.NetworkTypeR\x02ty*G\n\x0bNetworkType\x12\x16\n\x12Un\
knownNetworkType\x10\0\x12\x08\n\x04Wifi\x10\x01\x12\x08\n\x04Cell\x10\
\x02\x12\x0c\n\x08Ethernet\x10\x03J\x9d\x02\n\x06\x12\x04\0\0\n\x01\n\
\x08\n\x01\x0c\x12\x03\0\0\x12\n\n\n\x02\x04\0\x12\x04\x02\0\x04\x01\n\n\
\n\x03\x04\0\x01\x12\x03\x02\x08\x14\n\x0b\n\x04\x04\0\x02\0\x12\x03\x03\
\x04\x17\n\x0c\n\x05\x04\0\x02\0\x06\x12\x03\x03\x04\x0f\n\x0c\n\x05\x04\
\0\x02\0\x01\x12\x03\x03\x10\x12\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03\x03\
\x15\x16\n\n\n\x02\x05\0\x12\x04\x05\0\n\x01\n\n\n\x03\x05\0\x01\x12\x03\
\x05\x05\x10\n\x0b\n\x04\x05\0\x02\0\x12\x03\x06\x04\x1b\n\x0c\n\x05\x05\
\0\x02\0\x01\x12\x03\x06\x04\x16\n\x0c\n\x05\x05\0\x02\0\x02\x12\x03\x06\
\x19\x1a\n\x0b\n\x04\x05\0\x02\x01\x12\x03\x07\x04\r\n\x0c\n\x05\x05\0\
\x02\x01\x01\x12\x03\x07\x04\x08\n\x0c\n\x05\x05\0\x02\x01\x02\x12\x03\
\x07\x0b\x0c\n\x0b\n\x04\x05\0\x02\x02\x12\x03\x08\x04\r\n\x0c\n\x05\x05\
\0\x02\x02\x01\x12\x03\x08\x04\x08\n\x0c\n\x05\x05\0\x02\x02\x02\x12\x03\
\x08\x0b\x0c\n\x0b\n\x04\x05\0\x02\x03\x12\x03\t\x04\x11\n\x0c\n\x05\x05\
\0\x02\x03\x01\x12\x03\t\x04\x0c\n\x0c\n\x05\x05\0\x02\x03\x02\x12\x03\t\
\x0f\x10b\x06proto3\
\x02\x12\x0c\n\x08Ethernet\x10\x03b\x06proto3\
";
static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;

View File

@ -38,4 +38,5 @@ futures-util = "0.3.15"
[features]
http_server = ["flowy-user/http_server", "flowy-folder/http_server", "flowy-document/http_server"]
use_bunyan = ["lib-log/use_bunyan"]
use_bunyan = ["lib-log/use_bunyan"]
dart = ["flowy-user/dart", "flowy-net/dart", "flowy-folder/dart", "flowy-collaboration/dart"]

View File

@ -33,4 +33,7 @@ quickcheck_macros = "0.9.1"
fake = "~2.3.0"
claim = "0.4.0"
futures = "0.3.15"
serial_test = "0.5.1"
serial_test = "0.5.1"
[features]
dart = ["flowy-sdk/dart"]

View File

@ -44,4 +44,8 @@ futures = "0.3.15"
serial_test = "0.5.1"
[features]
http_server = []
http_server = []
dart = ["lib-infra/dart"]
[build-dependencies]
lib-infra = { path = "../../../shared-lib/lib-infra", features = ["pb_gen"] }

View File

@ -0,0 +1,5 @@
use lib_infra::pb_gen;
fn main() {
pb_gen::gen("flowy-user", "./src/protobuf/proto");
}

View File

@ -1,4 +1,4 @@
// This file is generated by rust-protobuf 2.22.1. Do not edit
// This file is generated by rust-protobuf 2.25.2. Do not edit
// @generated
// https://github.com/rust-lang/rust-clippy/issues/702
@ -21,7 +21,7 @@
/// Generated files are compatible only with the same version
/// of protobuf runtime.
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_22_1;
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_25_2;
#[derive(Clone,PartialEq,Eq,Debug,Hash)]
pub enum UserNotification {
@ -86,19 +86,7 @@ static file_descriptor_proto_data: &'static [u8] = b"\
\n\x17dart_notification.proto*\x81\x01\n\x10UserNotification\x12\x0b\n\
\x07Unknown\x10\0\x12\x13\n\x0fUserAuthChanged\x10\x01\x12\x16\n\x12User\
ProfileUpdated\x10\x02\x12\x14\n\x10UserUnauthorized\x10\x03\x12\x1d\n\
\x19UserWsConnectStateChanged\x10\x04J\xf7\x01\n\x06\x12\x04\0\0\x08\x01\
\n\x08\n\x01\x0c\x12\x03\0\0\x12\n\n\n\x02\x05\0\x12\x04\x02\0\x08\x01\n\
\n\n\x03\x05\0\x01\x12\x03\x02\x05\x15\n\x0b\n\x04\x05\0\x02\0\x12\x03\
\x03\x04\x10\n\x0c\n\x05\x05\0\x02\0\x01\x12\x03\x03\x04\x0b\n\x0c\n\x05\
\x05\0\x02\0\x02\x12\x03\x03\x0e\x0f\n\x0b\n\x04\x05\0\x02\x01\x12\x03\
\x04\x04\x18\n\x0c\n\x05\x05\0\x02\x01\x01\x12\x03\x04\x04\x13\n\x0c\n\
\x05\x05\0\x02\x01\x02\x12\x03\x04\x16\x17\n\x0b\n\x04\x05\0\x02\x02\x12\
\x03\x05\x04\x1b\n\x0c\n\x05\x05\0\x02\x02\x01\x12\x03\x05\x04\x16\n\x0c\
\n\x05\x05\0\x02\x02\x02\x12\x03\x05\x19\x1a\n\x0b\n\x04\x05\0\x02\x03\
\x12\x03\x06\x04\x19\n\x0c\n\x05\x05\0\x02\x03\x01\x12\x03\x06\x04\x14\n\
\x0c\n\x05\x05\0\x02\x03\x02\x12\x03\x06\x17\x18\n\x0b\n\x04\x05\0\x02\
\x04\x12\x03\x07\x04\"\n\x0c\n\x05\x05\0\x02\x04\x01\x12\x03\x07\x04\x1d\
\n\x0c\n\x05\x05\0\x02\x04\x02\x12\x03\x07\x20!b\x06proto3\
\x19UserWsConnectStateChanged\x10\x04b\x06proto3\
";
static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;

View File

@ -1,4 +1,4 @@
// This file is generated by rust-protobuf 2.22.1. Do not edit
// This file is generated by rust-protobuf 2.25.2. Do not edit
// @generated
// https://github.com/rust-lang/rust-clippy/issues/702
@ -21,7 +21,7 @@
/// Generated files are compatible only with the same version
/// of protobuf runtime.
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_22_1;
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_25_2;
#[derive(Clone,PartialEq,Eq,Debug,Hash)]
pub enum UserEvent {
@ -99,27 +99,7 @@ static file_descriptor_proto_data: &'static [u8] = b"\
\x12\n\n\x06SignIn\x10\x01\x12\n\n\x06SignUp\x10\x02\x12\x0b\n\x07SignOu\
t\x10\x03\x12\x0e\n\nUpdateUser\x10\x04\x12\x12\n\x0eGetUserProfile\x10\
\x05\x12\r\n\tCheckUser\x10\x06\x12\x18\n\x14SetAppearanceSetting\x10\
\x07\x12\x18\n\x14GetAppearanceSetting\x10\x08J\x9b\x03\n\x06\x12\x04\0\
\0\x0c\x01\n\x08\n\x01\x0c\x12\x03\0\0\x12\n\n\n\x02\x05\0\x12\x04\x02\0\
\x0c\x01\n\n\n\x03\x05\0\x01\x12\x03\x02\x05\x0e\n\x0b\n\x04\x05\0\x02\0\
\x12\x03\x03\x04\x11\n\x0c\n\x05\x05\0\x02\0\x01\x12\x03\x03\x04\x0c\n\
\x0c\n\x05\x05\0\x02\0\x02\x12\x03\x03\x0f\x10\n\x0b\n\x04\x05\0\x02\x01\
\x12\x03\x04\x04\x0f\n\x0c\n\x05\x05\0\x02\x01\x01\x12\x03\x04\x04\n\n\
\x0c\n\x05\x05\0\x02\x01\x02\x12\x03\x04\r\x0e\n\x0b\n\x04\x05\0\x02\x02\
\x12\x03\x05\x04\x0f\n\x0c\n\x05\x05\0\x02\x02\x01\x12\x03\x05\x04\n\n\
\x0c\n\x05\x05\0\x02\x02\x02\x12\x03\x05\r\x0e\n\x0b\n\x04\x05\0\x02\x03\
\x12\x03\x06\x04\x10\n\x0c\n\x05\x05\0\x02\x03\x01\x12\x03\x06\x04\x0b\n\
\x0c\n\x05\x05\0\x02\x03\x02\x12\x03\x06\x0e\x0f\n\x0b\n\x04\x05\0\x02\
\x04\x12\x03\x07\x04\x13\n\x0c\n\x05\x05\0\x02\x04\x01\x12\x03\x07\x04\
\x0e\n\x0c\n\x05\x05\0\x02\x04\x02\x12\x03\x07\x11\x12\n\x0b\n\x04\x05\0\
\x02\x05\x12\x03\x08\x04\x17\n\x0c\n\x05\x05\0\x02\x05\x01\x12\x03\x08\
\x04\x12\n\x0c\n\x05\x05\0\x02\x05\x02\x12\x03\x08\x15\x16\n\x0b\n\x04\
\x05\0\x02\x06\x12\x03\t\x04\x12\n\x0c\n\x05\x05\0\x02\x06\x01\x12\x03\t\
\x04\r\n\x0c\n\x05\x05\0\x02\x06\x02\x12\x03\t\x10\x11\n\x0b\n\x04\x05\0\
\x02\x07\x12\x03\n\x04\x1d\n\x0c\n\x05\x05\0\x02\x07\x01\x12\x03\n\x04\
\x18\n\x0c\n\x05\x05\0\x02\x07\x02\x12\x03\n\x1b\x1c\n\x0b\n\x04\x05\0\
\x02\x08\x12\x03\x0b\x04\x1d\n\x0c\n\x05\x05\0\x02\x08\x01\x12\x03\x0b\
\x04\x18\n\x0c\n\x05\x05\0\x02\x08\x02\x12\x03\x0b\x1b\x1cb\x06proto3\
\x07\x12\x18\n\x14GetAppearanceSetting\x10\x08b\x06proto3\
";
static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;

View File

@ -1,3 +1,8 @@
#![allow(clippy::all)]
#![allow(unused_attributes)]
#![allow(dead_code)]
#![allow(unused_imports)]
#![allow(unused_results)]
use crate::proto::ast::*;
use crate::proto::proto_info::*;
use crate::{proto::template::*, util::*};
@ -15,15 +20,13 @@ impl ProtoGen {
let crate_proto_infos = parse_crate_protobuf(self.rust_source_dirs.clone());
write_proto_files(&crate_proto_infos);
// TODO: ignore unchanged file to reduce time cost
run_rust_protoc(&crate_proto_infos);
write_rust_crate_mod_file(&crate_proto_infos);
write_derive_meta(&crate_proto_infos, self.derive_meta_dir.as_ref());
// run_rust_protoc(&crate_proto_infos);
// write_rust_crate_mod_file(&crate_proto_infos);
// write_derive_meta(&crate_proto_infos, self.derive_meta_dir.as_ref());
// TODO: ignore unchanged file to reduce time cost
let flutter_package = FlutterProtobufInfo::new(self.flutter_package_lib.as_ref());
run_flutter_protoc(&crate_proto_infos, &flutter_package);
write_flutter_protobuf_package_mod_file(&crate_proto_infos, &flutter_package);
// let flutter_package = FlutterProtobufInfo::new(self.flutter_package_lib.as_ref());
// run_flutter_protoc(&crate_proto_infos, &flutter_package);
// write_flutter_protobuf_package_mod_file(&crate_proto_infos, &flutter_package);
}
}

View File

@ -1,3 +1,6 @@
#![allow(clippy::all)]
#![allow(dead_code)]
#![allow(unused_imports)]
use crate::util::*;
use std::fs::OpenOptions;
use std::io::Write;

View File

@ -1,3 +1,8 @@
#![allow(clippy::all)]
#![allow(unused_attributes)]
#![allow(dead_code)]
#![allow(unused_imports)]
#![allow(unused_results)]
use crate::proto::proto_info::{CrateProtoInfo, ProtoFile};
use crate::util::{get_tera, read_file};
use itertools::Itertools;

184
shared-lib/Cargo.lock generated
View File

@ -137,6 +137,31 @@ dependencies = [
"autocfg",
]
[[package]]
name = "cmd_lib"
version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0ba0f413777386d37f85afa5242f277a7b461905254c1af3c339d4af06800f62"
dependencies = [
"cmd_lib_macros",
"faccess",
"lazy_static",
"log",
"os_pipe",
]
[[package]]
name = "cmd_lib_macros"
version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9e66605092ff6c6e37e0246601ae6c3f62dc1880e0599359b5f303497c112dc0"
dependencies = [
"proc-macro-error",
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "convert_case"
version = "0.4.0"
@ -190,6 +215,12 @@ version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "31ad93652f40969dead8d4bf897a41e9462095152eb21c56e5830537e41179dd"
[[package]]
name = "either"
version = "1.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457"
[[package]]
name = "env_logger"
version = "0.7.1"
@ -219,9 +250,21 @@ version = "0.1.0"
dependencies = [
"derive_more",
"flowy-derive",
"lib-infra",
"protobuf",
]
[[package]]
name = "faccess"
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e039175679baf763ddddf4f76900b92d4dae9411ee88cf42d2f11b976b09e07c"
dependencies = [
"bitflags",
"libc",
"winapi",
]
[[package]]
name = "fake"
version = "2.3.0"
@ -241,6 +284,15 @@ dependencies = [
"regex",
]
[[package]]
name = "fastrand"
version = "1.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf"
dependencies = [
"instant",
]
[[package]]
name = "flowy-ast"
version = "0.1.0"
@ -299,6 +351,7 @@ dependencies = [
"derive_more",
"error-code",
"flowy-derive",
"lib-infra",
"log",
"protobuf",
"serde",
@ -322,6 +375,7 @@ dependencies = [
"flowy-derive",
"futures",
"lazy_static",
"lib-infra",
"log",
"protobuf",
"quickcheck",
@ -559,12 +613,15 @@ version = "0.1.0"
dependencies = [
"bytes",
"chrono",
"cmd_lib",
"futures-core",
"log",
"pin-project",
"protoc-rust",
"rand 0.8.4",
"tokio",
"uuid",
"walkdir",
]
[[package]]
@ -728,6 +785,16 @@ version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
[[package]]
name = "os_pipe"
version = "0.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fb233f06c2307e1f5ce2ecad9f8121cffbbee2c95428f44ea85222e460d0d213"
dependencies = [
"libc",
"winapi",
]
[[package]]
name = "parking_lot"
version = "0.11.2"
@ -812,6 +879,30 @@ version = "0.2.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ed0cfbc8191465bed66e1718596ee0b0b35d5ee1f41c5df2189d0fe8bde535ba"
[[package]]
name = "proc-macro-error"
version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
dependencies = [
"proc-macro-error-attr",
"proc-macro2",
"quote",
"syn",
"version_check",
]
[[package]]
name = "proc-macro-error-attr"
version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
dependencies = [
"proc-macro2",
"quote",
"version_check",
]
[[package]]
name = "proc-macro-hack"
version = "0.5.19"
@ -839,6 +930,37 @@ version = "2.25.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "47c327e191621a2158159df97cdbc2e7074bb4e940275e35abf38eb3d2595754"
[[package]]
name = "protobuf-codegen"
version = "2.25.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3df8c98c08bd4d6653c2dbae00bd68c1d1d82a360265a5b0bbc73d48c63cb853"
dependencies = [
"protobuf",
]
[[package]]
name = "protoc"
version = "2.25.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9ac70cfc8935f5db2a29c0929db697035d02284011a9b78a5ef5d48092ce9673"
dependencies = [
"log",
"which",
]
[[package]]
name = "protoc-rust"
version = "2.25.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6bad71c8404e3e09024fccbab55aae36e3662662167dc4530a242c8cc8ef8d20"
dependencies = [
"protobuf",
"protobuf-codegen",
"protoc",
"tempfile",
]
[[package]]
name = "quickcheck"
version = "0.9.2"
@ -978,6 +1100,15 @@ version = "0.6.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b"
[[package]]
name = "remove_dir_all"
version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
dependencies = [
"winapi",
]
[[package]]
name = "rustc_version"
version = "0.3.3"
@ -993,6 +1124,15 @@ version = "1.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e"
[[package]]
name = "same-file"
version = "1.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
dependencies = [
"winapi-util",
]
[[package]]
name = "scopeguard"
version = "1.1.0"
@ -1019,18 +1159,18 @@ dependencies = [
[[package]]
name = "serde"
version = "1.0.130"
version = "1.0.136"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f12d06de37cf59146fbdecab66aa99f9fe4f78722e3607577a5375d66bd0c913"
checksum = "ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
version = "1.0.130"
version = "1.0.136"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d7bc1a1ab1961464eae040d96713baa5a724a8152c1222492465b54322ec508b"
checksum = "08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9"
dependencies = [
"proc-macro2",
"quote",
@ -1133,6 +1273,20 @@ dependencies = [
"unicode-xid",
]
[[package]]
name = "tempfile"
version = "3.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4"
dependencies = [
"cfg-if",
"fastrand",
"libc",
"redox_syscall",
"remove_dir_all",
"winapi",
]
[[package]]
name = "termcolor"
version = "1.1.2"
@ -1402,6 +1556,17 @@ version = "0.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe"
[[package]]
name = "walkdir"
version = "2.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56"
dependencies = [
"same-file",
"winapi",
"winapi-util",
]
[[package]]
name = "wasi"
version = "0.9.0+wasi-snapshot-preview1"
@ -1414,6 +1579,17 @@ version = "0.10.0+wasi-snapshot-preview1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
[[package]]
name = "which"
version = "4.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2a5a7e487e921cf220206864a94a89b6c6905bfc19f1057fa26a4cb360e5c1d2"
dependencies = [
"either",
"lazy_static",
"libc",
]
[[package]]
name = "winapi"
version = "0.3.9"

View File

@ -8,4 +8,10 @@ edition = "2018"
[dependencies]
flowy-derive = { path = "../flowy-derive" }
protobuf = {version = "2.18.0"}
derive_more = {version = "0.99", features = ["display"]}
derive_more = {version = "0.99", features = ["display"]}
[build-dependencies]
lib-infra = { path = "../lib-infra", features = ["pb_gen"] }
[features]
dart = ["lib-infra/dart"]

View File

@ -0,0 +1,5 @@
use lib_infra::pb_gen;
fn main() {
pb_gen::gen("error-code", "./src/protobuf/proto");
}

View File

@ -1,4 +1,4 @@
// This file is generated by rust-protobuf 2.22.1. Do not edit
// This file is generated by rust-protobuf 2.25.2. Do not edit
// @generated
// https://github.com/rust-lang/rust-clippy/issues/702
@ -21,7 +21,7 @@
/// Generated files are compatible only with the same version
/// of protobuf runtime.
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_22_1;
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_25_2;
#[derive(Clone,PartialEq,Eq,Debug,Hash)]
pub enum ErrorCode {
@ -174,70 +174,8 @@ static file_descriptor_proto_data: &'static [u8] = b"\
dFormatInvalid\x10\xb2\x02\x12\x15\n\x10PasswordNotMatch\x10\xb3\x02\x12\
\x14\n\x0fUserNameTooLong\x10\xb4\x02\x12'\n\"UserNameContainForbiddenCh\
aracters\x10\xb5\x02\x12\x14\n\x0fUserNameIsEmpty\x10\xb6\x02\x12\x12\n\
\rUserIdInvalid\x10\xb7\x02\x12\x11\n\x0cUserNotExist\x10\xb8\x02J\xf8\t\
\n\x06\x12\x04\0\0!\x01\n\x08\n\x01\x0c\x12\x03\0\0\x12\n\n\n\x02\x05\0\
\x12\x04\x02\0!\x01\n\n\n\x03\x05\0\x01\x12\x03\x02\x05\x0e\n\x0b\n\x04\
\x05\0\x02\0\x12\x03\x03\x04\x11\n\x0c\n\x05\x05\0\x02\0\x01\x12\x03\x03\
\x04\x0c\n\x0c\n\x05\x05\0\x02\0\x02\x12\x03\x03\x0f\x10\n\x0b\n\x04\x05\
\0\x02\x01\x12\x03\x04\x04\x19\n\x0c\n\x05\x05\0\x02\x01\x01\x12\x03\x04\
\x04\x14\n\x0c\n\x05\x05\0\x02\x01\x02\x12\x03\x04\x17\x18\n\x0b\n\x04\
\x05\0\x02\x02\x12\x03\x05\x04\x17\n\x0c\n\x05\x05\0\x02\x02\x01\x12\x03\
\x05\x04\x12\n\x0c\n\x05\x05\0\x02\x02\x02\x12\x03\x05\x15\x16\n\x0b\n\
\x04\x05\0\x02\x03\x12\x03\x06\x04\x1f\n\x0c\n\x05\x05\0\x02\x03\x01\x12\
\x03\x06\x04\x18\n\x0c\n\x05\x05\0\x02\x03\x02\x12\x03\x06\x1b\x1e\n\x0b\
\n\x04\x05\0\x02\x04\x12\x03\x07\x04\x1d\n\x0c\n\x05\x05\0\x02\x04\x01\
\x12\x03\x07\x04\x16\n\x0c\n\x05\x05\0\x02\x04\x02\x12\x03\x07\x19\x1c\n\
\x0b\n\x04\x05\0\x02\x05\x12\x03\x08\x04\x1f\n\x0c\n\x05\x05\0\x02\x05\
\x01\x12\x03\x08\x04\x18\n\x0c\n\x05\x05\0\x02\x05\x02\x12\x03\x08\x1b\
\x1e\n\x0b\n\x04\x05\0\x02\x06\x12\x03\t\x04\x1f\n\x0c\n\x05\x05\0\x02\
\x06\x01\x12\x03\t\x04\x18\n\x0c\n\x05\x05\0\x02\x06\x02\x12\x03\t\x1b\
\x1e\n\x0b\n\x04\x05\0\x02\x07\x12\x03\n\x04\x1f\n\x0c\n\x05\x05\0\x02\
\x07\x01\x12\x03\n\x04\x18\n\x0c\n\x05\x05\0\x02\x07\x02\x12\x03\n\x1b\
\x1e\n\x0b\n\x04\x05\0\x02\x08\x12\x03\x0b\x04\x17\n\x0c\n\x05\x05\0\x02\
\x08\x01\x12\x03\x0b\x04\x10\n\x0c\n\x05\x05\0\x02\x08\x02\x12\x03\x0b\
\x13\x16\n\x0b\n\x04\x05\0\x02\t\x12\x03\x0c\x04\x19\n\x0c\n\x05\x05\0\
\x02\t\x01\x12\x03\x0c\x04\x12\n\x0c\n\x05\x05\0\x02\t\x02\x12\x03\x0c\
\x15\x18\n\x0b\n\x04\x05\0\x02\n\x12\x03\r\x04\x1a\n\x0c\n\x05\x05\0\x02\
\n\x01\x12\x03\r\x04\x13\n\x0c\n\x05\x05\0\x02\n\x02\x12\x03\r\x16\x19\n\
\x0b\n\x04\x05\0\x02\x0b\x12\x03\x0e\x04\x1f\n\x0c\n\x05\x05\0\x02\x0b\
\x01\x12\x03\x0e\x04\x18\n\x0c\n\x05\x05\0\x02\x0b\x02\x12\x03\x0e\x1b\
\x1e\n\x0b\n\x04\x05\0\x02\x0c\x12\x03\x0f\x04\x18\n\x0c\n\x05\x05\0\x02\
\x0c\x01\x12\x03\x0f\x04\x11\n\x0c\n\x05\x05\0\x02\x0c\x02\x12\x03\x0f\
\x14\x17\n\x0b\n\x04\x05\0\x02\r\x12\x03\x10\x04\x1a\n\x0c\n\x05\x05\0\
\x02\r\x01\x12\x03\x10\x04\x13\n\x0c\n\x05\x05\0\x02\r\x02\x12\x03\x10\
\x16\x19\n\x0b\n\x04\x05\0\x02\x0e\x12\x03\x11\x04\x1a\n\x0c\n\x05\x05\0\
\x02\x0e\x01\x12\x03\x11\x04\x13\n\x0c\n\x05\x05\0\x02\x0e\x02\x12\x03\
\x11\x16\x19\n\x0b\n\x04\x05\0\x02\x0f\x12\x03\x12\x04\x1a\n\x0c\n\x05\
\x05\0\x02\x0f\x01\x12\x03\x12\x04\x13\n\x0c\n\x05\x05\0\x02\x0f\x02\x12\
\x03\x12\x16\x19\n\x0b\n\x04\x05\0\x02\x10\x12\x03\x13\x04\x17\n\x0c\n\
\x05\x05\0\x02\x10\x01\x12\x03\x13\x04\x10\n\x0c\n\x05\x05\0\x02\x10\x02\
\x12\x03\x13\x13\x16\n\x0b\n\x04\x05\0\x02\x11\x12\x03\x14\x04\x17\n\x0c\
\n\x05\x05\0\x02\x11\x01\x12\x03\x14\x04\x10\n\x0c\n\x05\x05\0\x02\x11\
\x02\x12\x03\x14\x13\x16\n\x0b\n\x04\x05\0\x02\x12\x12\x03\x15\x04\x1d\n\
\x0c\n\x05\x05\0\x02\x12\x01\x12\x03\x15\x04\x16\n\x0c\n\x05\x05\0\x02\
\x12\x02\x12\x03\x15\x19\x1c\n\x0b\n\x04\x05\0\x02\x13\x12\x03\x16\x04\
\x1d\n\x0c\n\x05\x05\0\x02\x13\x01\x12\x03\x16\x04\x16\n\x0c\n\x05\x05\0\
\x02\x13\x02\x12\x03\x16\x19\x1c\n\x0b\n\x04\x05\0\x02\x14\x12\x03\x17\
\x04\x1a\n\x0c\n\x05\x05\0\x02\x14\x01\x12\x03\x17\x04\x13\n\x0c\n\x05\
\x05\0\x02\x14\x02\x12\x03\x17\x16\x19\n\x0b\n\x04\x05\0\x02\x15\x12\x03\
\x18\x04\x1a\n\x0c\n\x05\x05\0\x02\x15\x01\x12\x03\x18\x04\x13\n\x0c\n\
\x05\x05\0\x02\x15\x02\x12\x03\x18\x16\x19\n\x0b\n\x04\x05\0\x02\x16\x12\
\x03\x19\x04+\n\x0c\n\x05\x05\0\x02\x16\x01\x12\x03\x19\x04$\n\x0c\n\x05\
\x05\0\x02\x16\x02\x12\x03\x19'*\n\x0b\n\x04\x05\0\x02\x17\x12\x03\x1a\
\x04\x20\n\x0c\n\x05\x05\0\x02\x17\x01\x12\x03\x1a\x04\x19\n\x0c\n\x05\
\x05\0\x02\x17\x02\x12\x03\x1a\x1c\x1f\n\x0b\n\x04\x05\0\x02\x18\x12\x03\
\x1b\x04\x1b\n\x0c\n\x05\x05\0\x02\x18\x01\x12\x03\x1b\x04\x14\n\x0c\n\
\x05\x05\0\x02\x18\x02\x12\x03\x1b\x17\x1a\n\x0b\n\x04\x05\0\x02\x19\x12\
\x03\x1c\x04\x1a\n\x0c\n\x05\x05\0\x02\x19\x01\x12\x03\x1c\x04\x13\n\x0c\
\n\x05\x05\0\x02\x19\x02\x12\x03\x1c\x16\x19\n\x0b\n\x04\x05\0\x02\x1a\
\x12\x03\x1d\x04-\n\x0c\n\x05\x05\0\x02\x1a\x01\x12\x03\x1d\x04&\n\x0c\n\
\x05\x05\0\x02\x1a\x02\x12\x03\x1d),\n\x0b\n\x04\x05\0\x02\x1b\x12\x03\
\x1e\x04\x1a\n\x0c\n\x05\x05\0\x02\x1b\x01\x12\x03\x1e\x04\x13\n\x0c\n\
\x05\x05\0\x02\x1b\x02\x12\x03\x1e\x16\x19\n\x0b\n\x04\x05\0\x02\x1c\x12\
\x03\x1f\x04\x18\n\x0c\n\x05\x05\0\x02\x1c\x01\x12\x03\x1f\x04\x11\n\x0c\
\n\x05\x05\0\x02\x1c\x02\x12\x03\x1f\x14\x17\n\x0b\n\x04\x05\0\x02\x1d\
\x12\x03\x20\x04\x17\n\x0c\n\x05\x05\0\x02\x1d\x01\x12\x03\x20\x04\x10\n\
\x0c\n\x05\x05\0\x02\x1d\x02\x12\x03\x20\x13\x16b\x06proto3\
\rUserIdInvalid\x10\xb7\x02\x12\x11\n\x0cUserNotExist\x10\xb8\x02b\x06pr\
oto3\
";
static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;

View File

@ -27,3 +27,9 @@ parking_lot = "0.11"
dashmap = "4.0"
futures = "0.3.15"
async-stream = "0.3.2"
[build-dependencies]
lib-infra = { path = "../lib-infra", features = ["pb_gen"] }
[features]
dart = ["lib-infra/dart"]

View File

@ -0,0 +1,5 @@
use lib_infra::pb_gen;
fn main() {
pb_gen::gen("flowy-collaboration", "./src/protobuf/proto");
}

View File

@ -1,4 +1,4 @@
// This file is generated by rust-protobuf 2.22.1. Do not edit
// This file is generated by rust-protobuf 2.25.2. Do not edit
// @generated
// https://github.com/rust-lang/rust-clippy/issues/702
@ -21,7 +21,7 @@
/// Generated files are compatible only with the same version
/// of protobuf runtime.
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_22_1;
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_25_2;
#[derive(PartialEq,Clone,Default)]
pub struct CreateDocParams {
@ -1335,54 +1335,7 @@ static file_descriptor_proto_data: &'static [u8] = b"\
ta_json\x18\x02\x20\x01(\tR\tdeltaJson\"S\n\nNewDocUser\x12\x17\n\x07use\
r_id\x18\x01\x20\x01(\tR\x06userId\x12\x15\n\x06rev_id\x18\x02\x20\x01(\
\x03R\x05revId\x12\x15\n\x06doc_id\x18\x03\x20\x01(\tR\x05docId\"#\n\nDo\
cumentId\x12\x15\n\x06doc_id\x18\x01\x20\x01(\tR\x05docIdJ\xaf\x07\n\x06\
\x12\x04\0\0\x1c\x01\n\x08\n\x01\x0c\x12\x03\0\0\x12\n\t\n\x02\x03\0\x12\
\x03\x01\0\x18\n\n\n\x02\x04\0\x12\x04\x03\0\x06\x01\n\n\n\x03\x04\0\x01\
\x12\x03\x03\x08\x17\n\x0b\n\x04\x04\0\x02\0\x12\x03\x04\x04\x12\n\x0c\n\
\x05\x04\0\x02\0\x05\x12\x03\x04\x04\n\n\x0c\n\x05\x04\0\x02\0\x01\x12\
\x03\x04\x0b\r\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03\x04\x10\x11\n\x0b\n\
\x04\x04\0\x02\x01\x12\x03\x05\x04#\n\x0c\n\x05\x04\0\x02\x01\x06\x12\
\x03\x05\x04\x14\n\x0c\n\x05\x04\0\x02\x01\x01\x12\x03\x05\x15\x1e\n\x0c\
\n\x05\x04\0\x02\x01\x03\x12\x03\x05!\"\n\n\n\x02\x04\x01\x12\x04\x07\0\
\x0c\x01\n\n\n\x03\x04\x01\x01\x12\x03\x07\x08\x14\n\x0b\n\x04\x04\x01\
\x02\0\x12\x03\x08\x04\x16\n\x0c\n\x05\x04\x01\x02\0\x05\x12\x03\x08\x04\
\n\n\x0c\n\x05\x04\x01\x02\0\x01\x12\x03\x08\x0b\x11\n\x0c\n\x05\x04\x01\
\x02\0\x03\x12\x03\x08\x14\x15\n\x0b\n\x04\x04\x01\x02\x01\x12\x03\t\x04\
\x14\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x03\t\x04\n\n\x0c\n\x05\x04\x01\
\x02\x01\x01\x12\x03\t\x0b\x0f\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\t\
\x12\x13\n\x0b\n\x04\x04\x01\x02\x02\x12\x03\n\x04\x15\n\x0c\n\x05\x04\
\x01\x02\x02\x05\x12\x03\n\x04\t\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03\
\n\n\x10\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03\n\x13\x14\n\x0b\n\x04\
\x04\x01\x02\x03\x12\x03\x0b\x04\x1a\n\x0c\n\x05\x04\x01\x02\x03\x05\x12\
\x03\x0b\x04\t\n\x0c\n\x05\x04\x01\x02\x03\x01\x12\x03\x0b\n\x15\n\x0c\n\
\x05\x04\x01\x02\x03\x03\x12\x03\x0b\x18\x19\n\n\n\x02\x04\x02\x12\x04\r\
\0\x10\x01\n\n\n\x03\x04\x02\x01\x12\x03\r\x08\x1b\n\x0b\n\x04\x04\x02\
\x02\0\x12\x03\x0e\x04\x16\n\x0c\n\x05\x04\x02\x02\0\x05\x12\x03\x0e\x04\
\n\n\x0c\n\x05\x04\x02\x02\0\x01\x12\x03\x0e\x0b\x11\n\x0c\n\x05\x04\x02\
\x02\0\x03\x12\x03\x0e\x14\x15\n\x0b\n\x04\x04\x02\x02\x01\x12\x03\x0f\
\x04#\n\x0c\n\x05\x04\x02\x02\x01\x06\x12\x03\x0f\x04\x14\n\x0c\n\x05\
\x04\x02\x02\x01\x01\x12\x03\x0f\x15\x1e\n\x0c\n\x05\x04\x02\x02\x01\x03\
\x12\x03\x0f!\"\n\n\n\x02\x04\x03\x12\x04\x11\0\x14\x01\n\n\n\x03\x04\
\x03\x01\x12\x03\x11\x08\x15\n\x0b\n\x04\x04\x03\x02\0\x12\x03\x12\x04\
\x16\n\x0c\n\x05\x04\x03\x02\0\x05\x12\x03\x12\x04\n\n\x0c\n\x05\x04\x03\
\x02\0\x01\x12\x03\x12\x0b\x11\n\x0c\n\x05\x04\x03\x02\0\x03\x12\x03\x12\
\x14\x15\n\x0b\n\x04\x04\x03\x02\x01\x12\x03\x13\x04\x1a\n\x0c\n\x05\x04\
\x03\x02\x01\x05\x12\x03\x13\x04\n\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\
\x03\x13\x0b\x15\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03\x13\x18\x19\n\n\
\n\x02\x04\x04\x12\x04\x15\0\x19\x01\n\n\n\x03\x04\x04\x01\x12\x03\x15\
\x08\x12\n\x0b\n\x04\x04\x04\x02\0\x12\x03\x16\x04\x17\n\x0c\n\x05\x04\
\x04\x02\0\x05\x12\x03\x16\x04\n\n\x0c\n\x05\x04\x04\x02\0\x01\x12\x03\
\x16\x0b\x12\n\x0c\n\x05\x04\x04\x02\0\x03\x12\x03\x16\x15\x16\n\x0b\n\
\x04\x04\x04\x02\x01\x12\x03\x17\x04\x15\n\x0c\n\x05\x04\x04\x02\x01\x05\
\x12\x03\x17\x04\t\n\x0c\n\x05\x04\x04\x02\x01\x01\x12\x03\x17\n\x10\n\
\x0c\n\x05\x04\x04\x02\x01\x03\x12\x03\x17\x13\x14\n\x0b\n\x04\x04\x04\
\x02\x02\x12\x03\x18\x04\x16\n\x0c\n\x05\x04\x04\x02\x02\x05\x12\x03\x18\
\x04\n\n\x0c\n\x05\x04\x04\x02\x02\x01\x12\x03\x18\x0b\x11\n\x0c\n\x05\
\x04\x04\x02\x02\x03\x12\x03\x18\x14\x15\n\n\n\x02\x04\x05\x12\x04\x1a\0\
\x1c\x01\n\n\n\x03\x04\x05\x01\x12\x03\x1a\x08\x12\n\x0b\n\x04\x04\x05\
\x02\0\x12\x03\x1b\x04\x16\n\x0c\n\x05\x04\x05\x02\0\x05\x12\x03\x1b\x04\
\n\n\x0c\n\x05\x04\x05\x02\0\x01\x12\x03\x1b\x0b\x11\n\x0c\n\x05\x04\x05\
\x02\0\x03\x12\x03\x1b\x14\x15b\x06proto3\
cumentId\x12\x15\n\x06doc_id\x18\x01\x20\x01(\tR\x05docIdb\x06proto3\
";
static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;

View File

@ -1,4 +1,4 @@
// This file is generated by rust-protobuf 2.22.1. Do not edit
// This file is generated by rust-protobuf 2.25.2. Do not edit
// @generated
// https://github.com/rust-lang/rust-clippy/issues/702
@ -21,7 +21,7 @@
/// Generated files are compatible only with the same version
/// of protobuf runtime.
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_22_1;
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_25_2;
#[derive(PartialEq,Clone,Default)]
pub struct FolderInfo {
@ -298,20 +298,7 @@ static file_descriptor_proto_data: &'static [u8] = b"\
\n\x11folder_info.proto\"t\n\nFolderInfo\x12\x1b\n\tfolder_id\x18\x01\
\x20\x01(\tR\x08folderId\x12\x12\n\x04text\x18\x02\x20\x01(\tR\x04text\
\x12\x15\n\x06rev_id\x18\x03\x20\x01(\x03R\x05revId\x12\x1e\n\x0bbase_re\
v_id\x18\x04\x20\x01(\x03R\tbaseRevIdJ\x86\x02\n\x06\x12\x04\0\0\x07\x01\
\n\x08\n\x01\x0c\x12\x03\0\0\x12\n\n\n\x02\x04\0\x12\x04\x02\0\x07\x01\n\
\n\n\x03\x04\0\x01\x12\x03\x02\x08\x12\n\x0b\n\x04\x04\0\x02\0\x12\x03\
\x03\x04\x19\n\x0c\n\x05\x04\0\x02\0\x05\x12\x03\x03\x04\n\n\x0c\n\x05\
\x04\0\x02\0\x01\x12\x03\x03\x0b\x14\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03\
\x03\x17\x18\n\x0b\n\x04\x04\0\x02\x01\x12\x03\x04\x04\x14\n\x0c\n\x05\
\x04\0\x02\x01\x05\x12\x03\x04\x04\n\n\x0c\n\x05\x04\0\x02\x01\x01\x12\
\x03\x04\x0b\x0f\n\x0c\n\x05\x04\0\x02\x01\x03\x12\x03\x04\x12\x13\n\x0b\
\n\x04\x04\0\x02\x02\x12\x03\x05\x04\x15\n\x0c\n\x05\x04\0\x02\x02\x05\
\x12\x03\x05\x04\t\n\x0c\n\x05\x04\0\x02\x02\x01\x12\x03\x05\n\x10\n\x0c\
\n\x05\x04\0\x02\x02\x03\x12\x03\x05\x13\x14\n\x0b\n\x04\x04\0\x02\x03\
\x12\x03\x06\x04\x1a\n\x0c\n\x05\x04\0\x02\x03\x05\x12\x03\x06\x04\t\n\
\x0c\n\x05\x04\0\x02\x03\x01\x12\x03\x06\n\x15\n\x0c\n\x05\x04\0\x02\x03\
\x03\x12\x03\x06\x18\x19b\x06proto3\
v_id\x18\x04\x20\x01(\x03R\tbaseRevIdb\x06proto3\
";
static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;

View File

@ -1,4 +1,4 @@
// This file is generated by rust-protobuf 2.22.1. Do not edit
// This file is generated by rust-protobuf 2.25.2. Do not edit
// @generated
// https://github.com/rust-lang/rust-clippy/issues/702
@ -21,7 +21,7 @@
/// Generated files are compatible only with the same version
/// of protobuf runtime.
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_22_1;
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_25_2;
#[derive(PartialEq,Clone,Default)]
pub struct Revision {
@ -1026,54 +1026,8 @@ static file_descriptor_proto_data: &'static [u8] = b"\
value\"7\n\rRevisionRange\x12\x14\n\x05start\x18\x01\x20\x01(\x03R\x05st\
art\x12\x10\n\x03end\x18\x02\x20\x01(\x03R\x03end*\"\n\rRevisionState\
\x12\x08\n\x04Sync\x10\0\x12\x07\n\x03Ack\x10\x01*4\n\x07RevType\x12\x13\
\n\x0fDeprecatedLocal\x10\0\x12\x14\n\x10DeprecatedRemote\x10\x01J\xb1\
\x07\n\x06\x12\x04\0\0\x1c\x01\n\x08\n\x01\x0c\x12\x03\0\0\x12\n\n\n\x02\
\x04\0\x12\x04\x02\0\n\x01\n\n\n\x03\x04\0\x01\x12\x03\x02\x08\x10\n\x0b\
\n\x04\x04\0\x02\0\x12\x03\x03\x04\x1a\n\x0c\n\x05\x04\0\x02\0\x05\x12\
\x03\x03\x04\t\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03\x03\n\x15\n\x0c\n\x05\
\x04\0\x02\0\x03\x12\x03\x03\x18\x19\n\x0b\n\x04\x04\0\x02\x01\x12\x03\
\x04\x04\x15\n\x0c\n\x05\x04\0\x02\x01\x05\x12\x03\x04\x04\t\n\x0c\n\x05\
\x04\0\x02\x01\x01\x12\x03\x04\n\x10\n\x0c\n\x05\x04\0\x02\x01\x03\x12\
\x03\x04\x13\x14\n\x0b\n\x04\x04\0\x02\x02\x12\x03\x05\x04\x19\n\x0c\n\
\x05\x04\0\x02\x02\x05\x12\x03\x05\x04\t\n\x0c\n\x05\x04\0\x02\x02\x01\
\x12\x03\x05\n\x14\n\x0c\n\x05\x04\0\x02\x02\x03\x12\x03\x05\x17\x18\n\
\x0b\n\x04\x04\0\x02\x03\x12\x03\x06\x04\x13\n\x0c\n\x05\x04\0\x02\x03\
\x05\x12\x03\x06\x04\n\n\x0c\n\x05\x04\0\x02\x03\x01\x12\x03\x06\x0b\x0e\
\n\x0c\n\x05\x04\0\x02\x03\x03\x12\x03\x06\x11\x12\n\x0b\n\x04\x04\0\x02\
\x04\x12\x03\x07\x04\x19\n\x0c\n\x05\x04\0\x02\x04\x05\x12\x03\x07\x04\n\
\n\x0c\n\x05\x04\0\x02\x04\x01\x12\x03\x07\x0b\x14\n\x0c\n\x05\x04\0\x02\
\x04\x03\x12\x03\x07\x17\x18\n\x0b\n\x04\x04\0\x02\x05\x12\x03\x08\x04\
\x13\n\x0c\n\x05\x04\0\x02\x05\x06\x12\x03\x08\x04\x0b\n\x0c\n\x05\x04\0\
\x02\x05\x01\x12\x03\x08\x0c\x0e\n\x0c\n\x05\x04\0\x02\x05\x03\x12\x03\
\x08\x11\x12\n\x0b\n\x04\x04\0\x02\x06\x12\x03\t\x04\x17\n\x0c\n\x05\x04\
\0\x02\x06\x05\x12\x03\t\x04\n\n\x0c\n\x05\x04\0\x02\x06\x01\x12\x03\t\
\x0b\x12\n\x0c\n\x05\x04\0\x02\x06\x03\x12\x03\t\x15\x16\n\n\n\x02\x04\
\x01\x12\x04\x0b\0\r\x01\n\n\n\x03\x04\x01\x01\x12\x03\x0b\x08\x18\n\x0b\
\n\x04\x04\x01\x02\0\x12\x03\x0c\x04\x20\n\x0c\n\x05\x04\x01\x02\0\x04\
\x12\x03\x0c\x04\x0c\n\x0c\n\x05\x04\x01\x02\0\x06\x12\x03\x0c\r\x15\n\
\x0c\n\x05\x04\x01\x02\0\x01\x12\x03\x0c\x16\x1b\n\x0c\n\x05\x04\x01\x02\
\0\x03\x12\x03\x0c\x1e\x1f\n\n\n\x02\x04\x02\x12\x04\x0e\0\x10\x01\n\n\n\
\x03\x04\x02\x01\x12\x03\x0e\x08\r\n\x0b\n\x04\x04\x02\x02\0\x12\x03\x0f\
\x04\x14\n\x0c\n\x05\x04\x02\x02\0\x05\x12\x03\x0f\x04\t\n\x0c\n\x05\x04\
\x02\x02\0\x01\x12\x03\x0f\n\x0f\n\x0c\n\x05\x04\x02\x02\0\x03\x12\x03\
\x0f\x12\x13\n\n\n\x02\x04\x03\x12\x04\x11\0\x14\x01\n\n\n\x03\x04\x03\
\x01\x12\x03\x11\x08\x15\n\x0b\n\x04\x04\x03\x02\0\x12\x03\x12\x04\x14\n\
\x0c\n\x05\x04\x03\x02\0\x05\x12\x03\x12\x04\t\n\x0c\n\x05\x04\x03\x02\0\
\x01\x12\x03\x12\n\x0f\n\x0c\n\x05\x04\x03\x02\0\x03\x12\x03\x12\x12\x13\
\n\x0b\n\x04\x04\x03\x02\x01\x12\x03\x13\x04\x12\n\x0c\n\x05\x04\x03\x02\
\x01\x05\x12\x03\x13\x04\t\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x03\x13\n\
\r\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03\x13\x10\x11\n\n\n\x02\x05\0\
\x12\x04\x15\0\x18\x01\n\n\n\x03\x05\0\x01\x12\x03\x15\x05\x12\n\x0b\n\
\x04\x05\0\x02\0\x12\x03\x16\x04\r\n\x0c\n\x05\x05\0\x02\0\x01\x12\x03\
\x16\x04\x08\n\x0c\n\x05\x05\0\x02\0\x02\x12\x03\x16\x0b\x0c\n\x0b\n\x04\
\x05\0\x02\x01\x12\x03\x17\x04\x0c\n\x0c\n\x05\x05\0\x02\x01\x01\x12\x03\
\x17\x04\x07\n\x0c\n\x05\x05\0\x02\x01\x02\x12\x03\x17\n\x0b\n\n\n\x02\
\x05\x01\x12\x04\x19\0\x1c\x01\n\n\n\x03\x05\x01\x01\x12\x03\x19\x05\x0c\
\n\x0b\n\x04\x05\x01\x02\0\x12\x03\x1a\x04\x18\n\x0c\n\x05\x05\x01\x02\0\
\x01\x12\x03\x1a\x04\x13\n\x0c\n\x05\x05\x01\x02\0\x02\x12\x03\x1a\x16\
\x17\n\x0b\n\x04\x05\x01\x02\x01\x12\x03\x1b\x04\x19\n\x0c\n\x05\x05\x01\
\x02\x01\x01\x12\x03\x1b\x04\x14\n\x0c\n\x05\x05\x01\x02\x01\x02\x12\x03\
\x1b\x17\x18b\x06proto3\
\n\x0fDeprecatedLocal\x10\0\x12\x14\n\x10DeprecatedRemote\x10\x01b\x06pr\
oto3\
";
static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;

View File

@ -1,4 +1,4 @@
// This file is generated by rust-protobuf 2.22.1. Do not edit
// This file is generated by rust-protobuf 2.25.2. Do not edit
// @generated
// https://github.com/rust-lang/rust-clippy/issues/702
@ -21,7 +21,7 @@
/// Generated files are compatible only with the same version
/// of protobuf runtime.
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_22_1;
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_25_2;
#[derive(PartialEq,Clone,Default)]
pub struct ClientRevisionWSData {
@ -907,54 +907,7 @@ static file_descriptor_proto_data: &'static [u8] = b"\
\n\x18ClientRevisionWSDataType\x12\x11\n\rClientPushRev\x10\0\x12\x0e\n\
\nClientPing\x10\x01*`\n\x18ServerRevisionWSDataType\x12\r\n\tServerAck\
\x10\0\x12\x11\n\rServerPushRev\x10\x01\x12\x11\n\rServerPullRev\x10\x02\
\x12\x0f\n\x0bUserConnect\x10\x03J\xb1\x07\n\x06\x12\x04\0\0\x1c\x01\n\
\x08\n\x01\x0c\x12\x03\0\0\x12\n\t\n\x02\x03\0\x12\x03\x01\0\x18\n\n\n\
\x02\x04\0\x12\x04\x03\0\x08\x01\n\n\n\x03\x04\0\x01\x12\x03\x03\x08\x1c\
\n\x0b\n\x04\x04\0\x02\0\x12\x03\x04\x04\x19\n\x0c\n\x05\x04\0\x02\0\x05\
\x12\x03\x04\x04\n\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03\x04\x0b\x14\n\x0c\
\n\x05\x04\0\x02\0\x03\x12\x03\x04\x17\x18\n\x0b\n\x04\x04\0\x02\x01\x12\
\x03\x05\x04$\n\x0c\n\x05\x04\0\x02\x01\x06\x12\x03\x05\x04\x1c\n\x0c\n\
\x05\x04\0\x02\x01\x01\x12\x03\x05\x1d\x1f\n\x0c\n\x05\x04\0\x02\x01\x03\
\x12\x03\x05\"#\n\x0b\n\x04\x04\0\x02\x02\x12\x03\x06\x04#\n\x0c\n\x05\
\x04\0\x02\x02\x06\x12\x03\x06\x04\x14\n\x0c\n\x05\x04\0\x02\x02\x01\x12\
\x03\x06\x15\x1e\n\x0c\n\x05\x04\0\x02\x02\x03\x12\x03\x06!\"\n\x0b\n\
\x04\x04\0\x02\x03\x12\x03\x07\x04\x17\n\x0c\n\x05\x04\0\x02\x03\x05\x12\
\x03\x07\x04\n\n\x0c\n\x05\x04\0\x02\x03\x01\x12\x03\x07\x0b\x12\n\x0c\n\
\x05\x04\0\x02\x03\x03\x12\x03\x07\x15\x16\n\n\n\x02\x04\x01\x12\x04\t\0\
\r\x01\n\n\n\x03\x04\x01\x01\x12\x03\t\x08\x1c\n\x0b\n\x04\x04\x01\x02\0\
\x12\x03\n\x04\x19\n\x0c\n\x05\x04\x01\x02\0\x05\x12\x03\n\x04\n\n\x0c\n\
\x05\x04\x01\x02\0\x01\x12\x03\n\x0b\x14\n\x0c\n\x05\x04\x01\x02\0\x03\
\x12\x03\n\x17\x18\n\x0b\n\x04\x04\x01\x02\x01\x12\x03\x0b\x04$\n\x0c\n\
\x05\x04\x01\x02\x01\x06\x12\x03\x0b\x04\x1c\n\x0c\n\x05\x04\x01\x02\x01\
\x01\x12\x03\x0b\x1d\x1f\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\x0b\"#\
\n\x0b\n\x04\x04\x01\x02\x02\x12\x03\x0c\x04\x13\n\x0c\n\x05\x04\x01\x02\
\x02\x05\x12\x03\x0c\x04\t\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03\x0c\n\
\x0e\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03\x0c\x11\x12\n\n\n\x02\x04\
\x02\x12\x04\x0e\0\x12\x01\n\n\n\x03\x04\x02\x01\x12\x03\x0e\x08\x17\n\
\x0b\n\x04\x04\x02\x02\0\x12\x03\x0f\x04\x17\n\x0c\n\x05\x04\x02\x02\0\
\x05\x12\x03\x0f\x04\n\n\x0c\n\x05\x04\x02\x02\0\x01\x12\x03\x0f\x0b\x12\
\n\x0c\n\x05\x04\x02\x02\0\x03\x12\x03\x0f\x15\x16\n\x0b\n\x04\x04\x02\
\x02\x01\x12\x03\x10\x04\x16\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x03\x10\
\x04\n\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03\x10\x0b\x11\n\x0c\n\x05\
\x04\x02\x02\x01\x03\x12\x03\x10\x14\x15\n\x0b\n\x04\x04\x02\x02\x02\x12\
\x03\x11\x04\x1c\n\x0c\n\x05\x04\x02\x02\x02\x05\x12\x03\x11\x04\t\n\x0c\
\n\x05\x04\x02\x02\x02\x01\x12\x03\x11\n\x17\n\x0c\n\x05\x04\x02\x02\x02\
\x03\x12\x03\x11\x1a\x1b\n\n\n\x02\x05\0\x12\x04\x13\0\x16\x01\n\n\n\x03\
\x05\0\x01\x12\x03\x13\x05\x1d\n\x0b\n\x04\x05\0\x02\0\x12\x03\x14\x04\
\x16\n\x0c\n\x05\x05\0\x02\0\x01\x12\x03\x14\x04\x11\n\x0c\n\x05\x05\0\
\x02\0\x02\x12\x03\x14\x14\x15\n\x0b\n\x04\x05\0\x02\x01\x12\x03\x15\x04\
\x13\n\x0c\n\x05\x05\0\x02\x01\x01\x12\x03\x15\x04\x0e\n\x0c\n\x05\x05\0\
\x02\x01\x02\x12\x03\x15\x11\x12\n\n\n\x02\x05\x01\x12\x04\x17\0\x1c\x01\
\n\n\n\x03\x05\x01\x01\x12\x03\x17\x05\x1d\n\x0b\n\x04\x05\x01\x02\0\x12\
\x03\x18\x04\x12\n\x0c\n\x05\x05\x01\x02\0\x01\x12\x03\x18\x04\r\n\x0c\n\
\x05\x05\x01\x02\0\x02\x12\x03\x18\x10\x11\n\x0b\n\x04\x05\x01\x02\x01\
\x12\x03\x19\x04\x16\n\x0c\n\x05\x05\x01\x02\x01\x01\x12\x03\x19\x04\x11\
\n\x0c\n\x05\x05\x01\x02\x01\x02\x12\x03\x19\x14\x15\n\x0b\n\x04\x05\x01\
\x02\x02\x12\x03\x1a\x04\x16\n\x0c\n\x05\x05\x01\x02\x02\x01\x12\x03\x1a\
\x04\x11\n\x0c\n\x05\x05\x01\x02\x02\x02\x12\x03\x1a\x14\x15\n\x0b\n\x04\
\x05\x01\x02\x03\x12\x03\x1b\x04\x14\n\x0c\n\x05\x05\x01\x02\x03\x01\x12\
\x03\x1b\x04\x0f\n\x0c\n\x05\x05\x01\x02\x03\x02\x12\x03\x1b\x12\x13b\
\x06proto3\
\x12\x0f\n\x0bUserConnect\x10\x03b\x06proto3\
";
static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;

View File

@ -18,46 +18,38 @@ pub fn category_from_str(type_str: &str) -> TypeCategory {
"String" => TypeCategory::Str,
"FFIRequest"
| "FFIResponse"
| "SubscribeObject"
| "FlowyError"
| "SubscribeObject"
| "NetworkState"
| "UserToken"
| "UserProfile"
| "UpdateUserRequest"
| "UpdateUserParams"
| "SignInRequest"
| "SignInParams"
| "SignInResponse"
| "SignUpRequest"
| "SignUpParams"
| "SignUpResponse"
| "UserToken"
| "UserProfile"
| "UpdateUserRequest"
| "UpdateUserParams"
| "UserPreferences"
| "AppearanceSettings"
| "LocaleSettings"
| "App"
| "RepeatedApp"
| "CreateAppRequest"
| "ColorStyle"
| "CreateAppParams"
| "QueryAppRequest"
| "AppId"
| "UpdateAppRequest"
| "UpdateAppParams"
| "ExportRequest"
| "ExportData"
| "View"
| "RepeatedView"
| "CreateViewRequest"
| "CreateViewParams"
| "QueryViewRequest"
| "ViewId"
| "RepeatedViewId"
| "UpdateViewRequest"
| "UpdateViewParams"
| "Trash"
| "RepeatedTrash"
| "RepeatedTrashId"
| "TrashId"
| "ClientRevisionWSData"
| "ServerRevisionWSData"
| "NewDocumentUser"
| "FolderInfo"
| "Revision"
| "RepeatedRevision"
| "RevId"
| "RevisionRange"
| "CreateDocParams"
| "DocumentInfo"
| "ResetDocumentParams"
| "DocumentDelta"
| "NewDocUser"
| "DocumentId"
| "WSError"
| "WebSocketRawMessage"
| "Workspace"
| "RepeatedWorkspace"
| "CreateWorkspaceRequest"
@ -67,39 +59,47 @@ pub fn category_from_str(type_str: &str) -> TypeCategory {
| "CurrentWorkspaceSetting"
| "UpdateWorkspaceRequest"
| "UpdateWorkspaceParams"
| "ClientRevisionWSData"
| "ServerRevisionWSData"
| "NewDocumentUser"
| "CreateDocParams"
| "DocumentInfo"
| "ResetDocumentParams"
| "DocumentDelta"
| "NewDocUser"
| "DocumentId"
| "Revision"
| "RepeatedRevision"
| "RevId"
| "RevisionRange"
| "FolderInfo"
| "WSError"
| "WebSocketRawMessage"
| "ExportRequest"
| "ExportData"
| "App"
| "RepeatedApp"
| "CreateAppRequest"
| "ColorStyle"
| "CreateAppParams"
| "QueryAppRequest"
| "AppId"
| "UpdateAppRequest"
| "UpdateAppParams"
| "Trash"
| "RepeatedTrash"
| "RepeatedTrashId"
| "TrashId"
| "View"
| "RepeatedView"
| "CreateViewRequest"
| "CreateViewParams"
| "QueryViewRequest"
| "ViewId"
| "RepeatedViewId"
| "UpdateViewRequest"
| "UpdateViewParams"
=> TypeCategory::Protobuf,
"FFIStatusCode"
| "FolderEvent"
| "FolderNotification"
| "UserEvent"
| "UserNotification"
| "NetworkEvent"
| "NetworkType"
| "ExportType"
| "ViewType"
| "TrashType"
| "UserEvent"
| "UserNotification"
| "ClientRevisionWSDataType"
| "ServerRevisionWSDataType"
| "RevisionState"
| "RevType"
| "ErrorCode"
| "WSChannel"
| "ExportType"
| "TrashType"
| "ViewType"
=> TypeCategory::Enum,
"Option" => TypeCategory::Opt,

View File

@ -16,11 +16,15 @@ derive_more = {version = "0.99", features = ["display"]}
log = "0.4.14"
uuid = { version = "0.8", features = ["serde", "v4"] }
chrono = { version = "0.4" }
error-code = { path = "../error-code" }
error-code = { path = "../error-code"}
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
[build-dependencies]
lib-infra = { path = "../lib-infra", features = ["pb_gen"] }
[features]
default = []
backend = []
frontend = []
frontend = []
dart = ["lib-infra/dart", "error-code/dart"]

View File

@ -0,0 +1,5 @@
use lib_infra::pb_gen;
fn main() {
pb_gen::gen("flowy-folder-data-model", "./src/protobuf/proto");
}

View File

@ -36,7 +36,7 @@ impl std::convert::From<App> for Trash {
name: app.name,
modified_time: app.modified_time,
create_time: app.create_time,
ty: TrashType::App,
ty: TrashType::TrashApp,
}
}
}
@ -44,8 +44,8 @@ impl std::convert::From<App> for Trash {
#[derive(Eq, PartialEq, Debug, ProtoBuf_Enum, Clone, Serialize, Deserialize)]
pub enum TrashType {
Unknown = 0,
View = 1,
App = 2,
TrashView = 1,
TrashApp = 2,
}
impl std::convert::TryFrom<i32> for TrashType {
@ -54,8 +54,8 @@ impl std::convert::TryFrom<i32> for TrashType {
fn try_from(value: i32) -> Result<Self, Self::Error> {
match value {
0 => Ok(TrashType::Unknown),
1 => Ok(TrashType::View),
2 => Ok(TrashType::App),
1 => Ok(TrashType::TrashView),
2 => Ok(TrashType::TrashApp),
_ => Err(format!("Invalid trash type: {}", value)),
}
}

View File

@ -57,7 +57,7 @@ impl std::convert::From<View> for Trash {
name: view.name,
modified_time: view.modified_time,
create_time: view.create_time,
ty: TrashType::View,
ty: TrashType::TrashView,
}
}
}

View File

@ -1,4 +1,4 @@
// This file is generated by rust-protobuf 2.22.1. Do not edit
// This file is generated by rust-protobuf 2.25.2. Do not edit
// @generated
// https://github.com/rust-lang/rust-clippy/issues/702
@ -21,7 +21,7 @@
/// Generated files are compatible only with the same version
/// of protobuf runtime.
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_22_1;
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_25_2;
#[derive(PartialEq,Clone,Default)]
pub struct App {
@ -2678,110 +2678,7 @@ static file_descriptor_proto_data: &'static [u8] = b"\
\x20\x01(\tH\x01R\x04desc\x12.\n\x0bcolor_style\x18\x04\x20\x01(\x0b2\
\x0b.ColorStyleH\x02R\ncolorStyle\x12\x1b\n\x08is_trash\x18\x05\x20\x01(\
\x08H\x03R\x07isTrashB\r\n\x0bone_of_nameB\r\n\x0bone_of_descB\x14\n\x12\
one_of_color_styleB\x11\n\x0fone_of_is_trashJ\xdb\x10\n\x06\x12\x04\0\02\
\x01\n\x08\n\x01\x0c\x12\x03\0\0\x12\n\t\n\x02\x03\0\x12\x03\x01\0\x14\n\
\n\n\x02\x04\0\x12\x04\x03\0\x0c\x01\n\n\n\x03\x04\0\x01\x12\x03\x03\x08\
\x0b\n\x0b\n\x04\x04\0\x02\0\x12\x03\x04\x04\x12\n\x0c\n\x05\x04\0\x02\0\
\x05\x12\x03\x04\x04\n\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03\x04\x0b\r\n\
\x0c\n\x05\x04\0\x02\0\x03\x12\x03\x04\x10\x11\n\x0b\n\x04\x04\0\x02\x01\
\x12\x03\x05\x04\x1c\n\x0c\n\x05\x04\0\x02\x01\x05\x12\x03\x05\x04\n\n\
\x0c\n\x05\x04\0\x02\x01\x01\x12\x03\x05\x0b\x17\n\x0c\n\x05\x04\0\x02\
\x01\x03\x12\x03\x05\x1a\x1b\n\x0b\n\x04\x04\0\x02\x02\x12\x03\x06\x04\
\x14\n\x0c\n\x05\x04\0\x02\x02\x05\x12\x03\x06\x04\n\n\x0c\n\x05\x04\0\
\x02\x02\x01\x12\x03\x06\x0b\x0f\n\x0c\n\x05\x04\0\x02\x02\x03\x12\x03\
\x06\x12\x13\n\x0b\n\x04\x04\0\x02\x03\x12\x03\x07\x04\x14\n\x0c\n\x05\
\x04\0\x02\x03\x05\x12\x03\x07\x04\n\n\x0c\n\x05\x04\0\x02\x03\x01\x12\
\x03\x07\x0b\x0f\n\x0c\n\x05\x04\0\x02\x03\x03\x12\x03\x07\x12\x13\n\x0b\
\n\x04\x04\0\x02\x04\x12\x03\x08\x04\x20\n\x0c\n\x05\x04\0\x02\x04\x06\
\x12\x03\x08\x04\x10\n\x0c\n\x05\x04\0\x02\x04\x01\x12\x03\x08\x11\x1b\n\
\x0c\n\x05\x04\0\x02\x04\x03\x12\x03\x08\x1e\x1f\n\x0b\n\x04\x04\0\x02\
\x05\x12\x03\t\x04\x16\n\x0c\n\x05\x04\0\x02\x05\x05\x12\x03\t\x04\t\n\
\x0c\n\x05\x04\0\x02\x05\x01\x12\x03\t\n\x11\n\x0c\n\x05\x04\0\x02\x05\
\x03\x12\x03\t\x14\x15\n\x0b\n\x04\x04\0\x02\x06\x12\x03\n\x04\x1c\n\x0c\
\n\x05\x04\0\x02\x06\x05\x12\x03\n\x04\t\n\x0c\n\x05\x04\0\x02\x06\x01\
\x12\x03\n\n\x17\n\x0c\n\x05\x04\0\x02\x06\x03\x12\x03\n\x1a\x1b\n\x0b\n\
\x04\x04\0\x02\x07\x12\x03\x0b\x04\x1a\n\x0c\n\x05\x04\0\x02\x07\x05\x12\
\x03\x0b\x04\t\n\x0c\n\x05\x04\0\x02\x07\x01\x12\x03\x0b\n\x15\n\x0c\n\
\x05\x04\0\x02\x07\x03\x12\x03\x0b\x18\x19\n\n\n\x02\x04\x01\x12\x04\r\0\
\x0f\x01\n\n\n\x03\x04\x01\x01\x12\x03\r\x08\x13\n\x0b\n\x04\x04\x01\x02\
\0\x12\x03\x0e\x04\x1b\n\x0c\n\x05\x04\x01\x02\0\x04\x12\x03\x0e\x04\x0c\
\n\x0c\n\x05\x04\x01\x02\0\x06\x12\x03\x0e\r\x10\n\x0c\n\x05\x04\x01\x02\
\0\x01\x12\x03\x0e\x11\x16\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03\x0e\x19\
\x1a\n\n\n\x02\x04\x02\x12\x04\x10\0\x15\x01\n\n\n\x03\x04\x02\x01\x12\
\x03\x10\x08\x18\n\x0b\n\x04\x04\x02\x02\0\x12\x03\x11\x04\x1c\n\x0c\n\
\x05\x04\x02\x02\0\x05\x12\x03\x11\x04\n\n\x0c\n\x05\x04\x02\x02\0\x01\
\x12\x03\x11\x0b\x17\n\x0c\n\x05\x04\x02\x02\0\x03\x12\x03\x11\x1a\x1b\n\
\x0b\n\x04\x04\x02\x02\x01\x12\x03\x12\x04\x14\n\x0c\n\x05\x04\x02\x02\
\x01\x05\x12\x03\x12\x04\n\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03\x12\
\x0b\x0f\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03\x12\x12\x13\n\x0b\n\x04\
\x04\x02\x02\x02\x12\x03\x13\x04\x14\n\x0c\n\x05\x04\x02\x02\x02\x05\x12\
\x03\x13\x04\n\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x03\x13\x0b\x0f\n\x0c\
\n\x05\x04\x02\x02\x02\x03\x12\x03\x13\x12\x13\n\x0b\n\x04\x04\x02\x02\
\x03\x12\x03\x14\x04\x1f\n\x0c\n\x05\x04\x02\x02\x03\x06\x12\x03\x14\x04\
\x0e\n\x0c\n\x05\x04\x02\x02\x03\x01\x12\x03\x14\x0f\x1a\n\x0c\n\x05\x04\
\x02\x02\x03\x03\x12\x03\x14\x1d\x1e\n\n\n\x02\x04\x03\x12\x04\x16\0\x18\
\x01\n\n\n\x03\x04\x03\x01\x12\x03\x16\x08\x12\n\x0b\n\x04\x04\x03\x02\0\
\x12\x03\x17\x04\x1b\n\x0c\n\x05\x04\x03\x02\0\x05\x12\x03\x17\x04\n\n\
\x0c\n\x05\x04\x03\x02\0\x01\x12\x03\x17\x0b\x16\n\x0c\n\x05\x04\x03\x02\
\0\x03\x12\x03\x17\x19\x1a\n\n\n\x02\x04\x04\x12\x04\x19\0\x1e\x01\n\n\n\
\x03\x04\x04\x01\x12\x03\x19\x08\x17\n\x0b\n\x04\x04\x04\x02\0\x12\x03\
\x1a\x04\x1c\n\x0c\n\x05\x04\x04\x02\0\x05\x12\x03\x1a\x04\n\n\x0c\n\x05\
\x04\x04\x02\0\x01\x12\x03\x1a\x0b\x17\n\x0c\n\x05\x04\x04\x02\0\x03\x12\
\x03\x1a\x1a\x1b\n\x0b\n\x04\x04\x04\x02\x01\x12\x03\x1b\x04\x14\n\x0c\n\
\x05\x04\x04\x02\x01\x05\x12\x03\x1b\x04\n\n\x0c\n\x05\x04\x04\x02\x01\
\x01\x12\x03\x1b\x0b\x0f\n\x0c\n\x05\x04\x04\x02\x01\x03\x12\x03\x1b\x12\
\x13\n\x0b\n\x04\x04\x04\x02\x02\x12\x03\x1c\x04\x14\n\x0c\n\x05\x04\x04\
\x02\x02\x05\x12\x03\x1c\x04\n\n\x0c\n\x05\x04\x04\x02\x02\x01\x12\x03\
\x1c\x0b\x0f\n\x0c\n\x05\x04\x04\x02\x02\x03\x12\x03\x1c\x12\x13\n\x0b\n\
\x04\x04\x04\x02\x03\x12\x03\x1d\x04\x1f\n\x0c\n\x05\x04\x04\x02\x03\x06\
\x12\x03\x1d\x04\x0e\n\x0c\n\x05\x04\x04\x02\x03\x01\x12\x03\x1d\x0f\x1a\
\n\x0c\n\x05\x04\x04\x02\x03\x03\x12\x03\x1d\x1d\x1e\n\n\n\x02\x04\x05\
\x12\x04\x1f\0!\x01\n\n\n\x03\x04\x05\x01\x12\x03\x1f\x08\x17\n\x0b\n\
\x04\x04\x05\x02\0\x12\x03\x20\x04\x20\n\x0c\n\x05\x04\x05\x02\0\x04\x12\
\x03\x20\x04\x0c\n\x0c\n\x05\x04\x05\x02\0\x05\x12\x03\x20\r\x13\n\x0c\n\
\x05\x04\x05\x02\0\x01\x12\x03\x20\x14\x1b\n\x0c\n\x05\x04\x05\x02\0\x03\
\x12\x03\x20\x1e\x1f\n\n\n\x02\x04\x06\x12\x04\"\0$\x01\n\n\n\x03\x04\
\x06\x01\x12\x03\"\x08\r\n\x0b\n\x04\x04\x06\x02\0\x12\x03#\x04\x16\n\
\x0c\n\x05\x04\x06\x02\0\x05\x12\x03#\x04\n\n\x0c\n\x05\x04\x06\x02\0\
\x01\x12\x03#\x0b\x11\n\x0c\n\x05\x04\x06\x02\0\x03\x12\x03#\x14\x15\n\n\
\n\x02\x04\x07\x12\x04%\0+\x01\n\n\n\x03\x04\x07\x01\x12\x03%\x08\x18\n\
\x0b\n\x04\x04\x07\x02\0\x12\x03&\x04\x16\n\x0c\n\x05\x04\x07\x02\0\x05\
\x12\x03&\x04\n\n\x0c\n\x05\x04\x07\x02\0\x01\x12\x03&\x0b\x11\n\x0c\n\
\x05\x04\x07\x02\0\x03\x12\x03&\x14\x15\n\x0b\n\x04\x04\x07\x08\0\x12\
\x03'\x04*\n\x0c\n\x05\x04\x07\x08\0\x01\x12\x03'\n\x15\n\x0b\n\x04\x04\
\x07\x02\x01\x12\x03'\x18(\n\x0c\n\x05\x04\x07\x02\x01\x05\x12\x03'\x18\
\x1e\n\x0c\n\x05\x04\x07\x02\x01\x01\x12\x03'\x1f#\n\x0c\n\x05\x04\x07\
\x02\x01\x03\x12\x03'&'\n\x0b\n\x04\x04\x07\x08\x01\x12\x03(\x04*\n\x0c\
\n\x05\x04\x07\x08\x01\x01\x12\x03(\n\x15\n\x0b\n\x04\x04\x07\x02\x02\
\x12\x03(\x18(\n\x0c\n\x05\x04\x07\x02\x02\x05\x12\x03(\x18\x1e\n\x0c\n\
\x05\x04\x07\x02\x02\x01\x12\x03(\x1f#\n\x0c\n\x05\x04\x07\x02\x02\x03\
\x12\x03(&'\n\x0b\n\x04\x04\x07\x08\x02\x12\x03)\x04<\n\x0c\n\x05\x04\
\x07\x08\x02\x01\x12\x03)\n\x1c\n\x0b\n\x04\x04\x07\x02\x03\x12\x03)\x1f\
:\n\x0c\n\x05\x04\x07\x02\x03\x06\x12\x03)\x1f)\n\x0c\n\x05\x04\x07\x02\
\x03\x01\x12\x03)*5\n\x0c\n\x05\x04\x07\x02\x03\x03\x12\x03)89\n\x0b\n\
\x04\x04\x07\x08\x03\x12\x03*\x040\n\x0c\n\x05\x04\x07\x08\x03\x01\x12\
\x03*\n\x19\n\x0b\n\x04\x04\x07\x02\x04\x12\x03*\x1c.\n\x0c\n\x05\x04\
\x07\x02\x04\x05\x12\x03*\x1c\x20\n\x0c\n\x05\x04\x07\x02\x04\x01\x12\
\x03*!)\n\x0c\n\x05\x04\x07\x02\x04\x03\x12\x03*,-\n\n\n\x02\x04\x08\x12\
\x04,\02\x01\n\n\n\x03\x04\x08\x01\x12\x03,\x08\x17\n\x0b\n\x04\x04\x08\
\x02\0\x12\x03-\x04\x16\n\x0c\n\x05\x04\x08\x02\0\x05\x12\x03-\x04\n\n\
\x0c\n\x05\x04\x08\x02\0\x01\x12\x03-\x0b\x11\n\x0c\n\x05\x04\x08\x02\0\
\x03\x12\x03-\x14\x15\n\x0b\n\x04\x04\x08\x08\0\x12\x03.\x04*\n\x0c\n\
\x05\x04\x08\x08\0\x01\x12\x03.\n\x15\n\x0b\n\x04\x04\x08\x02\x01\x12\
\x03.\x18(\n\x0c\n\x05\x04\x08\x02\x01\x05\x12\x03.\x18\x1e\n\x0c\n\x05\
\x04\x08\x02\x01\x01\x12\x03.\x1f#\n\x0c\n\x05\x04\x08\x02\x01\x03\x12\
\x03.&'\n\x0b\n\x04\x04\x08\x08\x01\x12\x03/\x04*\n\x0c\n\x05\x04\x08\
\x08\x01\x01\x12\x03/\n\x15\n\x0b\n\x04\x04\x08\x02\x02\x12\x03/\x18(\n\
\x0c\n\x05\x04\x08\x02\x02\x05\x12\x03/\x18\x1e\n\x0c\n\x05\x04\x08\x02\
\x02\x01\x12\x03/\x1f#\n\x0c\n\x05\x04\x08\x02\x02\x03\x12\x03/&'\n\x0b\
\n\x04\x04\x08\x08\x02\x12\x030\x04<\n\x0c\n\x05\x04\x08\x08\x02\x01\x12\
\x030\n\x1c\n\x0b\n\x04\x04\x08\x02\x03\x12\x030\x1f:\n\x0c\n\x05\x04\
\x08\x02\x03\x06\x12\x030\x1f)\n\x0c\n\x05\x04\x08\x02\x03\x01\x12\x030*\
5\n\x0c\n\x05\x04\x08\x02\x03\x03\x12\x03089\n\x0b\n\x04\x04\x08\x08\x03\
\x12\x031\x040\n\x0c\n\x05\x04\x08\x08\x03\x01\x12\x031\n\x19\n\x0b\n\
\x04\x04\x08\x02\x04\x12\x031\x1c.\n\x0c\n\x05\x04\x08\x02\x04\x05\x12\
\x031\x1c\x20\n\x0c\n\x05\x04\x08\x02\x04\x01\x12\x031!)\n\x0c\n\x05\x04\
\x08\x02\x04\x03\x12\x031,-b\x06proto3\
one_of_color_styleB\x11\n\x0fone_of_is_trashb\x06proto3\
";
static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;

View File

@ -1,4 +1,4 @@
// This file is generated by rust-protobuf 2.22.1. Do not edit
// This file is generated by rust-protobuf 2.25.2. Do not edit
// @generated
// https://github.com/rust-lang/rust-clippy/issues/702
@ -21,7 +21,7 @@
/// Generated files are compatible only with the same version
/// of protobuf runtime.
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_22_1;
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_25_2;
#[derive(Clone,PartialEq,Eq,Debug,Hash)]
pub enum ErrorCode {
@ -128,44 +128,7 @@ static file_descriptor_proto_data: &'static [u8] = b"\
\x12\x13\n\x0fViewDescTooLong\x10\x17\x12\x13\n\x0fViewDataInvalid\x10\
\x18\x12\x13\n\x0fViewNameTooLong\x10\x19\x12\x14\n\x10UserUnauthorized\
\x10d\x12\x13\n\x0eWsConnectError\x10\xc8\x01\x12\x12\n\rInternalError\
\x10\xe8\x07\x12\x13\n\x0eRecordNotFound\x10\xe9\x07J\xe3\x05\n\x06\x12\
\x04\0\0\x14\x01\n\x08\n\x01\x0c\x12\x03\0\0\x12\n\n\n\x02\x05\0\x12\x04\
\x02\0\x14\x01\n\n\n\x03\x05\0\x01\x12\x03\x02\x05\x0e\n\x0b\n\x04\x05\0\
\x02\0\x12\x03\x03\x04\x1d\n\x0c\n\x05\x05\0\x02\0\x01\x12\x03\x03\x04\
\x18\n\x0c\n\x05\x05\0\x02\0\x02\x12\x03\x03\x1b\x1c\n\x0b\n\x04\x05\0\
\x02\x01\x12\x03\x04\x04\x1b\n\x0c\n\x05\x05\0\x02\x01\x01\x12\x03\x04\
\x04\x16\n\x0c\n\x05\x05\0\x02\x01\x02\x12\x03\x04\x19\x1a\n\x0b\n\x04\
\x05\0\x02\x02\x12\x03\x05\x04\x1d\n\x0c\n\x05\x05\0\x02\x02\x01\x12\x03\
\x05\x04\x18\n\x0c\n\x05\x05\0\x02\x02\x02\x12\x03\x05\x1b\x1c\n\x0b\n\
\x04\x05\0\x02\x03\x12\x03\x06\x04\x1d\n\x0c\n\x05\x05\0\x02\x03\x01\x12\
\x03\x06\x04\x18\n\x0c\n\x05\x05\0\x02\x03\x02\x12\x03\x06\x1b\x1c\n\x0b\
\n\x04\x05\0\x02\x04\x12\x03\x07\x04\x1d\n\x0c\n\x05\x05\0\x02\x04\x01\
\x12\x03\x07\x04\x18\n\x0c\n\x05\x05\0\x02\x04\x02\x12\x03\x07\x1b\x1c\n\
\x0b\n\x04\x05\0\x02\x05\x12\x03\x08\x04\x16\n\x0c\n\x05\x05\0\x02\x05\
\x01\x12\x03\x08\x04\x10\n\x0c\n\x05\x05\0\x02\x05\x02\x12\x03\x08\x13\
\x15\n\x0b\n\x04\x05\0\x02\x06\x12\x03\t\x04\x18\n\x0c\n\x05\x05\0\x02\
\x06\x01\x12\x03\t\x04\x12\n\x0c\n\x05\x05\0\x02\x06\x02\x12\x03\t\x15\
\x17\n\x0b\n\x04\x05\0\x02\x07\x12\x03\n\x04\x19\n\x0c\n\x05\x05\0\x02\
\x07\x01\x12\x03\n\x04\x13\n\x0c\n\x05\x05\0\x02\x07\x02\x12\x03\n\x16\
\x18\n\x0b\n\x04\x05\0\x02\x08\x12\x03\x0b\x04\x1e\n\x0c\n\x05\x05\0\x02\
\x08\x01\x12\x03\x0b\x04\x18\n\x0c\n\x05\x05\0\x02\x08\x02\x12\x03\x0b\
\x1b\x1d\n\x0b\n\x04\x05\0\x02\t\x12\x03\x0c\x04\x17\n\x0c\n\x05\x05\0\
\x02\t\x01\x12\x03\x0c\x04\x11\n\x0c\n\x05\x05\0\x02\t\x02\x12\x03\x0c\
\x14\x16\n\x0b\n\x04\x05\0\x02\n\x12\x03\r\x04\x19\n\x0c\n\x05\x05\0\x02\
\n\x01\x12\x03\r\x04\x13\n\x0c\n\x05\x05\0\x02\n\x02\x12\x03\r\x16\x18\n\
\x0b\n\x04\x05\0\x02\x0b\x12\x03\x0e\x04\x19\n\x0c\n\x05\x05\0\x02\x0b\
\x01\x12\x03\x0e\x04\x13\n\x0c\n\x05\x05\0\x02\x0b\x02\x12\x03\x0e\x16\
\x18\n\x0b\n\x04\x05\0\x02\x0c\x12\x03\x0f\x04\x19\n\x0c\n\x05\x05\0\x02\
\x0c\x01\x12\x03\x0f\x04\x13\n\x0c\n\x05\x05\0\x02\x0c\x02\x12\x03\x0f\
\x16\x18\n\x0b\n\x04\x05\0\x02\r\x12\x03\x10\x04\x1b\n\x0c\n\x05\x05\0\
\x02\r\x01\x12\x03\x10\x04\x14\n\x0c\n\x05\x05\0\x02\r\x02\x12\x03\x10\
\x17\x1a\n\x0b\n\x04\x05\0\x02\x0e\x12\x03\x11\x04\x19\n\x0c\n\x05\x05\0\
\x02\x0e\x01\x12\x03\x11\x04\x12\n\x0c\n\x05\x05\0\x02\x0e\x02\x12\x03\
\x11\x15\x18\n\x0b\n\x04\x05\0\x02\x0f\x12\x03\x12\x04\x19\n\x0c\n\x05\
\x05\0\x02\x0f\x01\x12\x03\x12\x04\x11\n\x0c\n\x05\x05\0\x02\x0f\x02\x12\
\x03\x12\x14\x18\n\x0b\n\x04\x05\0\x02\x10\x12\x03\x13\x04\x1a\n\x0c\n\
\x05\x05\0\x02\x10\x01\x12\x03\x13\x04\x12\n\x0c\n\x05\x05\0\x02\x10\x02\
\x12\x03\x13\x15\x19b\x06proto3\
\x10\xe8\x07\x12\x13\n\x0eRecordNotFound\x10\xe9\x07b\x06proto3\
";
static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;

View File

@ -1,4 +1,4 @@
// This file is generated by rust-protobuf 2.22.1. Do not edit
// This file is generated by rust-protobuf 2.25.2. Do not edit
// @generated
// https://github.com/rust-lang/rust-clippy/issues/702
@ -21,7 +21,7 @@
/// Generated files are compatible only with the same version
/// of protobuf runtime.
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_22_1;
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_25_2;
#[derive(PartialEq,Clone,Default)]
pub struct ExportRequest {
@ -462,28 +462,7 @@ static file_descriptor_proto_data: &'static [u8] = b"\
TypeR\nexportType\"N\n\nExportData\x12\x12\n\x04data\x18\x01\x20\x01(\tR\
\x04data\x12,\n\x0bexport_type\x18\x02\x20\x01(\x0e2\x0b.ExportTypeR\nex\
portType*.\n\nExportType\x12\x08\n\x04Text\x10\0\x12\x0c\n\x08Markdown\
\x10\x01\x12\x08\n\x04Link\x10\x02J\xb1\x03\n\x06\x12\x04\0\0\x0e\x01\n\
\x08\n\x01\x0c\x12\x03\0\0\x12\n\n\n\x02\x04\0\x12\x04\x02\0\x05\x01\n\n\
\n\x03\x04\0\x01\x12\x03\x02\x08\x15\n\x0b\n\x04\x04\0\x02\0\x12\x03\x03\
\x04\x16\n\x0c\n\x05\x04\0\x02\0\x05\x12\x03\x03\x04\n\n\x0c\n\x05\x04\0\
\x02\0\x01\x12\x03\x03\x0b\x11\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03\x03\
\x14\x15\n\x0b\n\x04\x04\0\x02\x01\x12\x03\x04\x04\x1f\n\x0c\n\x05\x04\0\
\x02\x01\x06\x12\x03\x04\x04\x0e\n\x0c\n\x05\x04\0\x02\x01\x01\x12\x03\
\x04\x0f\x1a\n\x0c\n\x05\x04\0\x02\x01\x03\x12\x03\x04\x1d\x1e\n\n\n\x02\
\x04\x01\x12\x04\x06\0\t\x01\n\n\n\x03\x04\x01\x01\x12\x03\x06\x08\x12\n\
\x0b\n\x04\x04\x01\x02\0\x12\x03\x07\x04\x14\n\x0c\n\x05\x04\x01\x02\0\
\x05\x12\x03\x07\x04\n\n\x0c\n\x05\x04\x01\x02\0\x01\x12\x03\x07\x0b\x0f\
\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03\x07\x12\x13\n\x0b\n\x04\x04\x01\
\x02\x01\x12\x03\x08\x04\x1f\n\x0c\n\x05\x04\x01\x02\x01\x06\x12\x03\x08\
\x04\x0e\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\x08\x0f\x1a\n\x0c\n\x05\
\x04\x01\x02\x01\x03\x12\x03\x08\x1d\x1e\n\n\n\x02\x05\0\x12\x04\n\0\x0e\
\x01\n\n\n\x03\x05\0\x01\x12\x03\n\x05\x0f\n\x0b\n\x04\x05\0\x02\0\x12\
\x03\x0b\x04\r\n\x0c\n\x05\x05\0\x02\0\x01\x12\x03\x0b\x04\x08\n\x0c\n\
\x05\x05\0\x02\0\x02\x12\x03\x0b\x0b\x0c\n\x0b\n\x04\x05\0\x02\x01\x12\
\x03\x0c\x04\x11\n\x0c\n\x05\x05\0\x02\x01\x01\x12\x03\x0c\x04\x0c\n\x0c\
\n\x05\x05\0\x02\x01\x02\x12\x03\x0c\x0f\x10\n\x0b\n\x04\x05\0\x02\x02\
\x12\x03\r\x04\r\n\x0c\n\x05\x05\0\x02\x02\x01\x12\x03\r\x04\x08\n\x0c\n\
\x05\x05\0\x02\x02\x02\x12\x03\r\x0b\x0cb\x06proto3\
\x10\x01\x12\x08\n\x04Link\x10\x02b\x06proto3\
";
static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;

View File

@ -1,4 +1,4 @@
// This file is generated by rust-protobuf 2.22.1. Do not edit
// This file is generated by rust-protobuf 2.25.2. Do not edit
// @generated
// https://github.com/rust-lang/rust-clippy/issues/702
@ -21,7 +21,7 @@
/// Generated files are compatible only with the same version
/// of protobuf runtime.
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_22_1;
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_25_2;
#[derive(PartialEq,Clone,Default)]
pub struct Trash {
@ -885,8 +885,8 @@ impl ::protobuf::reflect::ProtobufValue for TrashId {
#[derive(Clone,PartialEq,Eq,Debug,Hash)]
pub enum TrashType {
Unknown = 0,
View = 1,
App = 2,
TrashView = 1,
TrashApp = 2,
}
impl ::protobuf::ProtobufEnum for TrashType {
@ -897,8 +897,8 @@ impl ::protobuf::ProtobufEnum for TrashType {
fn from_i32(value: i32) -> ::std::option::Option<TrashType> {
match value {
0 => ::std::option::Option::Some(TrashType::Unknown),
1 => ::std::option::Option::Some(TrashType::View),
2 => ::std::option::Option::Some(TrashType::App),
1 => ::std::option::Option::Some(TrashType::TrashView),
2 => ::std::option::Option::Some(TrashType::TrashApp),
_ => ::std::option::Option::None
}
}
@ -906,8 +906,8 @@ impl ::protobuf::ProtobufEnum for TrashType {
fn values() -> &'static [Self] {
static values: &'static [TrashType] = &[
TrashType::Unknown,
TrashType::View,
TrashType::App,
TrashType::TrashView,
TrashType::TrashApp,
];
values
}
@ -945,49 +945,8 @@ static file_descriptor_proto_data: &'static [u8] = b"\
\x01\x20\x03(\x0b2\x08.TrashIdR\x05items\x12\x1d\n\ndelete_all\x18\x02\
\x20\x01(\x08R\tdeleteAll\"5\n\x07TrashId\x12\x0e\n\x02id\x18\x01\x20\
\x01(\tR\x02id\x12\x1a\n\x02ty\x18\x02\x20\x01(\x0e2\n.TrashTypeR\x02ty*\
+\n\tTrashType\x12\x0b\n\x07Unknown\x10\0\x12\x08\n\x04View\x10\x01\x12\
\x07\n\x03App\x10\x02J\xc7\x06\n\x06\x12\x04\0\0\x18\x01\n\x08\n\x01\x0c\
\x12\x03\0\0\x12\n\n\n\x02\x04\0\x12\x04\x02\0\x08\x01\n\n\n\x03\x04\0\
\x01\x12\x03\x02\x08\r\n\x0b\n\x04\x04\0\x02\0\x12\x03\x03\x04\x12\n\x0c\
\n\x05\x04\0\x02\0\x05\x12\x03\x03\x04\n\n\x0c\n\x05\x04\0\x02\0\x01\x12\
\x03\x03\x0b\r\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03\x03\x10\x11\n\x0b\n\
\x04\x04\0\x02\x01\x12\x03\x04\x04\x14\n\x0c\n\x05\x04\0\x02\x01\x05\x12\
\x03\x04\x04\n\n\x0c\n\x05\x04\0\x02\x01\x01\x12\x03\x04\x0b\x0f\n\x0c\n\
\x05\x04\0\x02\x01\x03\x12\x03\x04\x12\x13\n\x0b\n\x04\x04\0\x02\x02\x12\
\x03\x05\x04\x1c\n\x0c\n\x05\x04\0\x02\x02\x05\x12\x03\x05\x04\t\n\x0c\n\
\x05\x04\0\x02\x02\x01\x12\x03\x05\n\x17\n\x0c\n\x05\x04\0\x02\x02\x03\
\x12\x03\x05\x1a\x1b\n\x0b\n\x04\x04\0\x02\x03\x12\x03\x06\x04\x1a\n\x0c\
\n\x05\x04\0\x02\x03\x05\x12\x03\x06\x04\t\n\x0c\n\x05\x04\0\x02\x03\x01\
\x12\x03\x06\n\x15\n\x0c\n\x05\x04\0\x02\x03\x03\x12\x03\x06\x18\x19\n\
\x0b\n\x04\x04\0\x02\x04\x12\x03\x07\x04\x15\n\x0c\n\x05\x04\0\x02\x04\
\x06\x12\x03\x07\x04\r\n\x0c\n\x05\x04\0\x02\x04\x01\x12\x03\x07\x0e\x10\
\n\x0c\n\x05\x04\0\x02\x04\x03\x12\x03\x07\x13\x14\n\n\n\x02\x04\x01\x12\
\x04\t\0\x0b\x01\n\n\n\x03\x04\x01\x01\x12\x03\t\x08\x15\n\x0b\n\x04\x04\
\x01\x02\0\x12\x03\n\x04\x1d\n\x0c\n\x05\x04\x01\x02\0\x04\x12\x03\n\x04\
\x0c\n\x0c\n\x05\x04\x01\x02\0\x06\x12\x03\n\r\x12\n\x0c\n\x05\x04\x01\
\x02\0\x01\x12\x03\n\x13\x18\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03\n\x1b\
\x1c\n\n\n\x02\x04\x02\x12\x04\x0c\0\x0f\x01\n\n\n\x03\x04\x02\x01\x12\
\x03\x0c\x08\x17\n\x0b\n\x04\x04\x02\x02\0\x12\x03\r\x04\x1f\n\x0c\n\x05\
\x04\x02\x02\0\x04\x12\x03\r\x04\x0c\n\x0c\n\x05\x04\x02\x02\0\x06\x12\
\x03\r\r\x14\n\x0c\n\x05\x04\x02\x02\0\x01\x12\x03\r\x15\x1a\n\x0c\n\x05\
\x04\x02\x02\0\x03\x12\x03\r\x1d\x1e\n\x0b\n\x04\x04\x02\x02\x01\x12\x03\
\x0e\x04\x18\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x03\x0e\x04\x08\n\x0c\n\
\x05\x04\x02\x02\x01\x01\x12\x03\x0e\t\x13\n\x0c\n\x05\x04\x02\x02\x01\
\x03\x12\x03\x0e\x16\x17\n\n\n\x02\x04\x03\x12\x04\x10\0\x13\x01\n\n\n\
\x03\x04\x03\x01\x12\x03\x10\x08\x0f\n\x0b\n\x04\x04\x03\x02\0\x12\x03\
\x11\x04\x12\n\x0c\n\x05\x04\x03\x02\0\x05\x12\x03\x11\x04\n\n\x0c\n\x05\
\x04\x03\x02\0\x01\x12\x03\x11\x0b\r\n\x0c\n\x05\x04\x03\x02\0\x03\x12\
\x03\x11\x10\x11\n\x0b\n\x04\x04\x03\x02\x01\x12\x03\x12\x04\x15\n\x0c\n\
\x05\x04\x03\x02\x01\x06\x12\x03\x12\x04\r\n\x0c\n\x05\x04\x03\x02\x01\
\x01\x12\x03\x12\x0e\x10\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03\x12\x13\
\x14\n\n\n\x02\x05\0\x12\x04\x14\0\x18\x01\n\n\n\x03\x05\0\x01\x12\x03\
\x14\x05\x0e\n\x0b\n\x04\x05\0\x02\0\x12\x03\x15\x04\x10\n\x0c\n\x05\x05\
\0\x02\0\x01\x12\x03\x15\x04\x0b\n\x0c\n\x05\x05\0\x02\0\x02\x12\x03\x15\
\x0e\x0f\n\x0b\n\x04\x05\0\x02\x01\x12\x03\x16\x04\r\n\x0c\n\x05\x05\0\
\x02\x01\x01\x12\x03\x16\x04\x08\n\x0c\n\x05\x05\0\x02\x01\x02\x12\x03\
\x16\x0b\x0c\n\x0b\n\x04\x05\0\x02\x02\x12\x03\x17\x04\x0c\n\x0c\n\x05\
\x05\0\x02\x02\x01\x12\x03\x17\x04\x07\n\x0c\n\x05\x05\0\x02\x02\x02\x12\
\x03\x17\n\x0bb\x06proto3\
5\n\tTrashType\x12\x0b\n\x07Unknown\x10\0\x12\r\n\tTrashView\x10\x01\x12\
\x0c\n\x08TrashApp\x10\x02b\x06proto3\
";
static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;

View File

@ -1,4 +1,4 @@
// This file is generated by rust-protobuf 2.22.1. Do not edit
// This file is generated by rust-protobuf 2.25.2. Do not edit
// @generated
// https://github.com/rust-lang/rust-clippy/issues/702
@ -21,7 +21,7 @@
/// Generated files are compatible only with the same version
/// of protobuf runtime.
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_22_1;
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_25_2;
#[derive(PartialEq,Clone,Default)]
pub struct View {
@ -2786,122 +2786,7 @@ static file_descriptor_proto_data: &'static [u8] = b"\
\x14\n\x04desc\x18\x03\x20\x01(\tH\x01R\x04desc\x12\x1e\n\tthumbnail\x18\
\x04\x20\x01(\tH\x02R\tthumbnailB\r\n\x0bone_of_nameB\r\n\x0bone_of_desc\
B\x12\n\x10one_of_thumbnail*\x1e\n\x08ViewType\x12\t\n\x05Blank\x10\0\
\x12\x07\n\x03Doc\x10\x01J\xd2\x12\n\x06\x12\x04\0\08\x01\n\x08\n\x01\
\x0c\x12\x03\0\0\x12\n\n\n\x02\x04\0\x12\x04\x02\0\x0c\x01\n\n\n\x03\x04\
\0\x01\x12\x03\x02\x08\x0c\n\x0b\n\x04\x04\0\x02\0\x12\x03\x03\x04\x12\n\
\x0c\n\x05\x04\0\x02\0\x05\x12\x03\x03\x04\n\n\x0c\n\x05\x04\0\x02\0\x01\
\x12\x03\x03\x0b\r\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03\x03\x10\x11\n\x0b\
\n\x04\x04\0\x02\x01\x12\x03\x04\x04\x1c\n\x0c\n\x05\x04\0\x02\x01\x05\
\x12\x03\x04\x04\n\n\x0c\n\x05\x04\0\x02\x01\x01\x12\x03\x04\x0b\x17\n\
\x0c\n\x05\x04\0\x02\x01\x03\x12\x03\x04\x1a\x1b\n\x0b\n\x04\x04\0\x02\
\x02\x12\x03\x05\x04\x14\n\x0c\n\x05\x04\0\x02\x02\x05\x12\x03\x05\x04\n\
\n\x0c\n\x05\x04\0\x02\x02\x01\x12\x03\x05\x0b\x0f\n\x0c\n\x05\x04\0\x02\
\x02\x03\x12\x03\x05\x12\x13\n\x0b\n\x04\x04\0\x02\x03\x12\x03\x06\x04\
\x14\n\x0c\n\x05\x04\0\x02\x03\x05\x12\x03\x06\x04\n\n\x0c\n\x05\x04\0\
\x02\x03\x01\x12\x03\x06\x0b\x0f\n\x0c\n\x05\x04\0\x02\x03\x03\x12\x03\
\x06\x12\x13\n\x0b\n\x04\x04\0\x02\x04\x12\x03\x07\x04\x1b\n\x0c\n\x05\
\x04\0\x02\x04\x06\x12\x03\x07\x04\x0c\n\x0c\n\x05\x04\0\x02\x04\x01\x12\
\x03\x07\r\x16\n\x0c\n\x05\x04\0\x02\x04\x03\x12\x03\x07\x19\x1a\n\x0b\n\
\x04\x04\0\x02\x05\x12\x03\x08\x04\x16\n\x0c\n\x05\x04\0\x02\x05\x05\x12\
\x03\x08\x04\t\n\x0c\n\x05\x04\0\x02\x05\x01\x12\x03\x08\n\x11\n\x0c\n\
\x05\x04\0\x02\x05\x03\x12\x03\x08\x14\x15\n\x0b\n\x04\x04\0\x02\x06\x12\
\x03\t\x04\x20\n\x0c\n\x05\x04\0\x02\x06\x06\x12\x03\t\x04\x10\n\x0c\n\
\x05\x04\0\x02\x06\x01\x12\x03\t\x11\x1b\n\x0c\n\x05\x04\0\x02\x06\x03\
\x12\x03\t\x1e\x1f\n\x0b\n\x04\x04\0\x02\x07\x12\x03\n\x04\x1c\n\x0c\n\
\x05\x04\0\x02\x07\x05\x12\x03\n\x04\t\n\x0c\n\x05\x04\0\x02\x07\x01\x12\
\x03\n\n\x17\n\x0c\n\x05\x04\0\x02\x07\x03\x12\x03\n\x1a\x1b\n\x0b\n\x04\
\x04\0\x02\x08\x12\x03\x0b\x04\x1a\n\x0c\n\x05\x04\0\x02\x08\x05\x12\x03\
\x0b\x04\t\n\x0c\n\x05\x04\0\x02\x08\x01\x12\x03\x0b\n\x15\n\x0c\n\x05\
\x04\0\x02\x08\x03\x12\x03\x0b\x18\x19\n\n\n\x02\x04\x01\x12\x04\r\0\x0f\
\x01\n\n\n\x03\x04\x01\x01\x12\x03\r\x08\x14\n\x0b\n\x04\x04\x01\x02\0\
\x12\x03\x0e\x04\x1c\n\x0c\n\x05\x04\x01\x02\0\x04\x12\x03\x0e\x04\x0c\n\
\x0c\n\x05\x04\x01\x02\0\x06\x12\x03\x0e\r\x11\n\x0c\n\x05\x04\x01\x02\0\
\x01\x12\x03\x0e\x12\x17\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03\x0e\x1a\
\x1b\n\n\n\x02\x04\x02\x12\x04\x10\0\x16\x01\n\n\n\x03\x04\x02\x01\x12\
\x03\x10\x08\x19\n\x0b\n\x04\x04\x02\x02\0\x12\x03\x11\x04\x1c\n\x0c\n\
\x05\x04\x02\x02\0\x05\x12\x03\x11\x04\n\n\x0c\n\x05\x04\x02\x02\0\x01\
\x12\x03\x11\x0b\x17\n\x0c\n\x05\x04\x02\x02\0\x03\x12\x03\x11\x1a\x1b\n\
\x0b\n\x04\x04\x02\x02\x01\x12\x03\x12\x04\x14\n\x0c\n\x05\x04\x02\x02\
\x01\x05\x12\x03\x12\x04\n\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03\x12\
\x0b\x0f\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03\x12\x12\x13\n\x0b\n\x04\
\x04\x02\x02\x02\x12\x03\x13\x04\x14\n\x0c\n\x05\x04\x02\x02\x02\x05\x12\
\x03\x13\x04\n\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x03\x13\x0b\x0f\n\x0c\
\n\x05\x04\x02\x02\x02\x03\x12\x03\x13\x12\x13\n\x0b\n\x04\x04\x02\x08\0\
\x12\x03\x14\x044\n\x0c\n\x05\x04\x02\x08\0\x01\x12\x03\x14\n\x1a\n\x0b\
\n\x04\x04\x02\x02\x03\x12\x03\x14\x1d2\n\x0c\n\x05\x04\x02\x02\x03\x05\
\x12\x03\x14\x1d#\n\x0c\n\x05\x04\x02\x02\x03\x01\x12\x03\x14$-\n\x0c\n\
\x05\x04\x02\x02\x03\x03\x12\x03\x1401\n\x0b\n\x04\x04\x02\x02\x04\x12\
\x03\x15\x04\x1b\n\x0c\n\x05\x04\x02\x02\x04\x06\x12\x03\x15\x04\x0c\n\
\x0c\n\x05\x04\x02\x02\x04\x01\x12\x03\x15\r\x16\n\x0c\n\x05\x04\x02\x02\
\x04\x03\x12\x03\x15\x19\x1a\n\n\n\x02\x04\x03\x12\x04\x17\0\x1f\x01\n\n\
\n\x03\x04\x03\x01\x12\x03\x17\x08\x18\n\x0b\n\x04\x04\x03\x02\0\x12\x03\
\x18\x04\x1c\n\x0c\n\x05\x04\x03\x02\0\x05\x12\x03\x18\x04\n\n\x0c\n\x05\
\x04\x03\x02\0\x01\x12\x03\x18\x0b\x17\n\x0c\n\x05\x04\x03\x02\0\x03\x12\
\x03\x18\x1a\x1b\n\x0b\n\x04\x04\x03\x02\x01\x12\x03\x19\x04\x14\n\x0c\n\
\x05\x04\x03\x02\x01\x05\x12\x03\x19\x04\n\n\x0c\n\x05\x04\x03\x02\x01\
\x01\x12\x03\x19\x0b\x0f\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03\x19\x12\
\x13\n\x0b\n\x04\x04\x03\x02\x02\x12\x03\x1a\x04\x14\n\x0c\n\x05\x04\x03\
\x02\x02\x05\x12\x03\x1a\x04\n\n\x0c\n\x05\x04\x03\x02\x02\x01\x12\x03\
\x1a\x0b\x0f\n\x0c\n\x05\x04\x03\x02\x02\x03\x12\x03\x1a\x12\x13\n\x0b\n\
\x04\x04\x03\x02\x03\x12\x03\x1b\x04\x19\n\x0c\n\x05\x04\x03\x02\x03\x05\
\x12\x03\x1b\x04\n\n\x0c\n\x05\x04\x03\x02\x03\x01\x12\x03\x1b\x0b\x14\n\
\x0c\n\x05\x04\x03\x02\x03\x03\x12\x03\x1b\x17\x18\n\x0b\n\x04\x04\x03\
\x02\x04\x12\x03\x1c\x04\x1b\n\x0c\n\x05\x04\x03\x02\x04\x06\x12\x03\x1c\
\x04\x0c\n\x0c\n\x05\x04\x03\x02\x04\x01\x12\x03\x1c\r\x16\n\x0c\n\x05\
\x04\x03\x02\x04\x03\x12\x03\x1c\x19\x1a\n\x0b\n\x04\x04\x03\x02\x05\x12\
\x03\x1d\x04\x19\n\x0c\n\x05\x04\x03\x02\x05\x05\x12\x03\x1d\x04\n\n\x0c\
\n\x05\x04\x03\x02\x05\x01\x12\x03\x1d\x0b\x14\n\x0c\n\x05\x04\x03\x02\
\x05\x03\x12\x03\x1d\x17\x18\n\x0b\n\x04\x04\x03\x02\x06\x12\x03\x1e\x04\
\x17\n\x0c\n\x05\x04\x03\x02\x06\x05\x12\x03\x1e\x04\n\n\x0c\n\x05\x04\
\x03\x02\x06\x01\x12\x03\x1e\x0b\x12\n\x0c\n\x05\x04\x03\x02\x06\x03\x12\
\x03\x1e\x15\x16\n\n\n\x02\x04\x04\x12\x04\x20\0\"\x01\n\n\n\x03\x04\x04\
\x01\x12\x03\x20\x08\x18\n\x0b\n\x04\x04\x04\x02\0\x12\x03!\x04!\n\x0c\n\
\x05\x04\x04\x02\0\x04\x12\x03!\x04\x0c\n\x0c\n\x05\x04\x04\x02\0\x05\
\x12\x03!\r\x13\n\x0c\n\x05\x04\x04\x02\0\x01\x12\x03!\x14\x1c\n\x0c\n\
\x05\x04\x04\x02\0\x03\x12\x03!\x1f\x20\n\n\n\x02\x04\x05\x12\x04#\0%\
\x01\n\n\n\x03\x04\x05\x01\x12\x03#\x08\x0e\n\x0b\n\x04\x04\x05\x02\0\
\x12\x03$\x04\x17\n\x0c\n\x05\x04\x05\x02\0\x05\x12\x03$\x04\n\n\x0c\n\
\x05\x04\x05\x02\0\x01\x12\x03$\x0b\x12\n\x0c\n\x05\x04\x05\x02\0\x03\
\x12\x03$\x15\x16\n\n\n\x02\x04\x06\x12\x04&\0(\x01\n\n\n\x03\x04\x06\
\x01\x12\x03&\x08\x16\n\x0b\n\x04\x04\x06\x02\0\x12\x03'\x04\x1e\n\x0c\n\
\x05\x04\x06\x02\0\x04\x12\x03'\x04\x0c\n\x0c\n\x05\x04\x06\x02\0\x05\
\x12\x03'\r\x13\n\x0c\n\x05\x04\x06\x02\0\x01\x12\x03'\x14\x19\n\x0c\n\
\x05\x04\x06\x02\0\x03\x12\x03'\x1c\x1d\n\n\n\x02\x04\x07\x12\x04)\0.\
\x01\n\n\n\x03\x04\x07\x01\x12\x03)\x08\x19\n\x0b\n\x04\x04\x07\x02\0\
\x12\x03*\x04\x17\n\x0c\n\x05\x04\x07\x02\0\x05\x12\x03*\x04\n\n\x0c\n\
\x05\x04\x07\x02\0\x01\x12\x03*\x0b\x12\n\x0c\n\x05\x04\x07\x02\0\x03\
\x12\x03*\x15\x16\n\x0b\n\x04\x04\x07\x08\0\x12\x03+\x04*\n\x0c\n\x05\
\x04\x07\x08\0\x01\x12\x03+\n\x15\n\x0b\n\x04\x04\x07\x02\x01\x12\x03+\
\x18(\n\x0c\n\x05\x04\x07\x02\x01\x05\x12\x03+\x18\x1e\n\x0c\n\x05\x04\
\x07\x02\x01\x01\x12\x03+\x1f#\n\x0c\n\x05\x04\x07\x02\x01\x03\x12\x03+&\
'\n\x0b\n\x04\x04\x07\x08\x01\x12\x03,\x04*\n\x0c\n\x05\x04\x07\x08\x01\
\x01\x12\x03,\n\x15\n\x0b\n\x04\x04\x07\x02\x02\x12\x03,\x18(\n\x0c\n\
\x05\x04\x07\x02\x02\x05\x12\x03,\x18\x1e\n\x0c\n\x05\x04\x07\x02\x02\
\x01\x12\x03,\x1f#\n\x0c\n\x05\x04\x07\x02\x02\x03\x12\x03,&'\n\x0b\n\
\x04\x04\x07\x08\x02\x12\x03-\x044\n\x0c\n\x05\x04\x07\x08\x02\x01\x12\
\x03-\n\x1a\n\x0b\n\x04\x04\x07\x02\x03\x12\x03-\x1d2\n\x0c\n\x05\x04\
\x07\x02\x03\x05\x12\x03-\x1d#\n\x0c\n\x05\x04\x07\x02\x03\x01\x12\x03-$\
-\n\x0c\n\x05\x04\x07\x02\x03\x03\x12\x03-01\n\n\n\x02\x04\x08\x12\x04/\
\04\x01\n\n\n\x03\x04\x08\x01\x12\x03/\x08\x18\n\x0b\n\x04\x04\x08\x02\0\
\x12\x030\x04\x17\n\x0c\n\x05\x04\x08\x02\0\x05\x12\x030\x04\n\n\x0c\n\
\x05\x04\x08\x02\0\x01\x12\x030\x0b\x12\n\x0c\n\x05\x04\x08\x02\0\x03\
\x12\x030\x15\x16\n\x0b\n\x04\x04\x08\x08\0\x12\x031\x04*\n\x0c\n\x05\
\x04\x08\x08\0\x01\x12\x031\n\x15\n\x0b\n\x04\x04\x08\x02\x01\x12\x031\
\x18(\n\x0c\n\x05\x04\x08\x02\x01\x05\x12\x031\x18\x1e\n\x0c\n\x05\x04\
\x08\x02\x01\x01\x12\x031\x1f#\n\x0c\n\x05\x04\x08\x02\x01\x03\x12\x031&\
'\n\x0b\n\x04\x04\x08\x08\x01\x12\x032\x04*\n\x0c\n\x05\x04\x08\x08\x01\
\x01\x12\x032\n\x15\n\x0b\n\x04\x04\x08\x02\x02\x12\x032\x18(\n\x0c\n\
\x05\x04\x08\x02\x02\x05\x12\x032\x18\x1e\n\x0c\n\x05\x04\x08\x02\x02\
\x01\x12\x032\x1f#\n\x0c\n\x05\x04\x08\x02\x02\x03\x12\x032&'\n\x0b\n\
\x04\x04\x08\x08\x02\x12\x033\x044\n\x0c\n\x05\x04\x08\x08\x02\x01\x12\
\x033\n\x1a\n\x0b\n\x04\x04\x08\x02\x03\x12\x033\x1d2\n\x0c\n\x05\x04\
\x08\x02\x03\x05\x12\x033\x1d#\n\x0c\n\x05\x04\x08\x02\x03\x01\x12\x033$\
-\n\x0c\n\x05\x04\x08\x02\x03\x03\x12\x03301\n\n\n\x02\x05\0\x12\x045\08\
\x01\n\n\n\x03\x05\0\x01\x12\x035\x05\r\n\x0b\n\x04\x05\0\x02\0\x12\x036\
\x04\x0e\n\x0c\n\x05\x05\0\x02\0\x01\x12\x036\x04\t\n\x0c\n\x05\x05\0\
\x02\0\x02\x12\x036\x0c\r\n\x0b\n\x04\x05\0\x02\x01\x12\x037\x04\x0c\n\
\x0c\n\x05\x05\0\x02\x01\x01\x12\x037\x04\x07\n\x0c\n\x05\x05\0\x02\x01\
\x02\x12\x037\n\x0bb\x06proto3\
\x12\x07\n\x03Doc\x10\x01b\x06proto3\
";
static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;

View File

@ -1,4 +1,4 @@
// This file is generated by rust-protobuf 2.22.1. Do not edit
// This file is generated by rust-protobuf 2.25.2. Do not edit
// @generated
// https://github.com/rust-lang/rust-clippy/issues/702
@ -21,7 +21,7 @@
/// Generated files are compatible only with the same version
/// of protobuf runtime.
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_22_1;
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_25_2;
#[derive(PartialEq,Clone,Default)]
pub struct Workspace {
@ -2288,84 +2288,7 @@ static file_descriptor_proto_data: &'static [u8] = b"\
\x0bone_of_desc\"q\n\x15UpdateWorkspaceParams\x12\x0e\n\x02id\x18\x01\
\x20\x01(\tR\x02id\x12\x14\n\x04name\x18\x02\x20\x01(\tH\0R\x04name\x12\
\x14\n\x04desc\x18\x03\x20\x01(\tH\x01R\x04descB\r\n\x0bone_of_nameB\r\n\
\x0bone_of_descJ\xce\x0c\n\x06\x12\x04\0\0*\x01\n\x08\n\x01\x0c\x12\x03\
\0\0\x12\n\t\n\x02\x03\0\x12\x03\x01\0\x13\n\t\n\x02\x03\x01\x12\x03\x02\
\0\x14\n\n\n\x02\x04\0\x12\x04\x04\0\x0b\x01\n\n\n\x03\x04\0\x01\x12\x03\
\x04\x08\x11\n\x0b\n\x04\x04\0\x02\0\x12\x03\x05\x04\x12\n\x0c\n\x05\x04\
\0\x02\0\x05\x12\x03\x05\x04\n\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03\x05\
\x0b\r\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03\x05\x10\x11\n\x0b\n\x04\x04\0\
\x02\x01\x12\x03\x06\x04\x14\n\x0c\n\x05\x04\0\x02\x01\x05\x12\x03\x06\
\x04\n\n\x0c\n\x05\x04\0\x02\x01\x01\x12\x03\x06\x0b\x0f\n\x0c\n\x05\x04\
\0\x02\x01\x03\x12\x03\x06\x12\x13\n\x0b\n\x04\x04\0\x02\x02\x12\x03\x07\
\x04\x14\n\x0c\n\x05\x04\0\x02\x02\x05\x12\x03\x07\x04\n\n\x0c\n\x05\x04\
\0\x02\x02\x01\x12\x03\x07\x0b\x0f\n\x0c\n\x05\x04\0\x02\x02\x03\x12\x03\
\x07\x12\x13\n\x0b\n\x04\x04\0\x02\x03\x12\x03\x08\x04\x19\n\x0c\n\x05\
\x04\0\x02\x03\x06\x12\x03\x08\x04\x0f\n\x0c\n\x05\x04\0\x02\x03\x01\x12\
\x03\x08\x10\x14\n\x0c\n\x05\x04\0\x02\x03\x03\x12\x03\x08\x17\x18\n\x0b\
\n\x04\x04\0\x02\x04\x12\x03\t\x04\x1c\n\x0c\n\x05\x04\0\x02\x04\x05\x12\
\x03\t\x04\t\n\x0c\n\x05\x04\0\x02\x04\x01\x12\x03\t\n\x17\n\x0c\n\x05\
\x04\0\x02\x04\x03\x12\x03\t\x1a\x1b\n\x0b\n\x04\x04\0\x02\x05\x12\x03\n\
\x04\x1a\n\x0c\n\x05\x04\0\x02\x05\x05\x12\x03\n\x04\t\n\x0c\n\x05\x04\0\
\x02\x05\x01\x12\x03\n\n\x15\n\x0c\n\x05\x04\0\x02\x05\x03\x12\x03\n\x18\
\x19\n\n\n\x02\x04\x01\x12\x04\x0c\0\x0e\x01\n\n\n\x03\x04\x01\x01\x12\
\x03\x0c\x08\x19\n\x0b\n\x04\x04\x01\x02\0\x12\x03\r\x04!\n\x0c\n\x05\
\x04\x01\x02\0\x04\x12\x03\r\x04\x0c\n\x0c\n\x05\x04\x01\x02\0\x06\x12\
\x03\r\r\x16\n\x0c\n\x05\x04\x01\x02\0\x01\x12\x03\r\x17\x1c\n\x0c\n\x05\
\x04\x01\x02\0\x03\x12\x03\r\x1f\x20\n\n\n\x02\x04\x02\x12\x04\x0f\0\x12\
\x01\n\n\n\x03\x04\x02\x01\x12\x03\x0f\x08\x1e\n\x0b\n\x04\x04\x02\x02\0\
\x12\x03\x10\x04\x14\n\x0c\n\x05\x04\x02\x02\0\x05\x12\x03\x10\x04\n\n\
\x0c\n\x05\x04\x02\x02\0\x01\x12\x03\x10\x0b\x0f\n\x0c\n\x05\x04\x02\x02\
\0\x03\x12\x03\x10\x12\x13\n\x0b\n\x04\x04\x02\x02\x01\x12\x03\x11\x04\
\x14\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x03\x11\x04\n\n\x0c\n\x05\x04\
\x02\x02\x01\x01\x12\x03\x11\x0b\x0f\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\
\x03\x11\x12\x13\n\n\n\x02\x04\x03\x12\x04\x13\0\x16\x01\n\n\n\x03\x04\
\x03\x01\x12\x03\x13\x08\x1d\n\x0b\n\x04\x04\x03\x02\0\x12\x03\x14\x04\
\x14\n\x0c\n\x05\x04\x03\x02\0\x05\x12\x03\x14\x04\n\n\x0c\n\x05\x04\x03\
\x02\0\x01\x12\x03\x14\x0b\x0f\n\x0c\n\x05\x04\x03\x02\0\x03\x12\x03\x14\
\x12\x13\n\x0b\n\x04\x04\x03\x02\x01\x12\x03\x15\x04\x14\n\x0c\n\x05\x04\
\x03\x02\x01\x05\x12\x03\x15\x04\n\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\
\x03\x15\x0b\x0f\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03\x15\x12\x13\n\n\
\n\x02\x04\x04\x12\x04\x17\0\x19\x01\n\n\n\x03\x04\x04\x01\x12\x03\x17\
\x08\x1d\n\x0b\n\x04\x04\x04\x08\0\x12\x03\x18\x04:\n\x0c\n\x05\x04\x04\
\x08\0\x01\x12\x03\x18\n\x1d\n\x0b\n\x04\x04\x04\x02\0\x12\x03\x18\x208\
\n\x0c\n\x05\x04\x04\x02\0\x05\x12\x03\x18\x20&\n\x0c\n\x05\x04\x04\x02\
\0\x01\x12\x03\x18'3\n\x0c\n\x05\x04\x04\x02\0\x03\x12\x03\x1867\n\n\n\
\x02\x04\x05\x12\x04\x1a\0\x1c\x01\n\n\n\x03\x04\x05\x01\x12\x03\x1a\x08\
\x13\n\x0b\n\x04\x04\x05\x08\0\x12\x03\x1b\x04:\n\x0c\n\x05\x04\x05\x08\
\0\x01\x12\x03\x1b\n\x1d\n\x0b\n\x04\x04\x05\x02\0\x12\x03\x1b\x208\n\
\x0c\n\x05\x04\x05\x02\0\x05\x12\x03\x1b\x20&\n\x0c\n\x05\x04\x05\x02\0\
\x01\x12\x03\x1b'3\n\x0c\n\x05\x04\x05\x02\0\x03\x12\x03\x1b67\n\n\n\x02\
\x04\x06\x12\x04\x1d\0\x20\x01\n\n\n\x03\x04\x06\x01\x12\x03\x1d\x08\x1f\
\n\x0b\n\x04\x04\x06\x02\0\x12\x03\x1e\x04\x1c\n\x0c\n\x05\x04\x06\x02\0\
\x06\x12\x03\x1e\x04\r\n\x0c\n\x05\x04\x06\x02\0\x01\x12\x03\x1e\x0e\x17\
\n\x0c\n\x05\x04\x06\x02\0\x03\x12\x03\x1e\x1a\x1b\n\x0b\n\x04\x04\x06\
\x08\0\x12\x03\x1f\x046\n\x0c\n\x05\x04\x06\x08\0\x01\x12\x03\x1f\n\x1c\
\n\x0b\n\x04\x04\x06\x02\x01\x12\x03\x1f\x1f4\n\x0c\n\x05\x04\x06\x02\
\x01\x06\x12\x03\x1f\x1f#\n\x0c\n\x05\x04\x06\x02\x01\x01\x12\x03\x1f$/\
\n\x0c\n\x05\x04\x06\x02\x01\x03\x12\x03\x1f23\n\n\n\x02\x04\x07\x12\x04\
!\0%\x01\n\n\n\x03\x04\x07\x01\x12\x03!\x08\x1e\n\x0b\n\x04\x04\x07\x02\
\0\x12\x03\"\x04\x12\n\x0c\n\x05\x04\x07\x02\0\x05\x12\x03\"\x04\n\n\x0c\
\n\x05\x04\x07\x02\0\x01\x12\x03\"\x0b\r\n\x0c\n\x05\x04\x07\x02\0\x03\
\x12\x03\"\x10\x11\n\x0b\n\x04\x04\x07\x08\0\x12\x03#\x04*\n\x0c\n\x05\
\x04\x07\x08\0\x01\x12\x03#\n\x15\n\x0b\n\x04\x04\x07\x02\x01\x12\x03#\
\x18(\n\x0c\n\x05\x04\x07\x02\x01\x05\x12\x03#\x18\x1e\n\x0c\n\x05\x04\
\x07\x02\x01\x01\x12\x03#\x1f#\n\x0c\n\x05\x04\x07\x02\x01\x03\x12\x03#&\
'\n\x0b\n\x04\x04\x07\x08\x01\x12\x03$\x04*\n\x0c\n\x05\x04\x07\x08\x01\
\x01\x12\x03$\n\x15\n\x0b\n\x04\x04\x07\x02\x02\x12\x03$\x18(\n\x0c\n\
\x05\x04\x07\x02\x02\x05\x12\x03$\x18\x1e\n\x0c\n\x05\x04\x07\x02\x02\
\x01\x12\x03$\x1f#\n\x0c\n\x05\x04\x07\x02\x02\x03\x12\x03$&'\n\n\n\x02\
\x04\x08\x12\x04&\0*\x01\n\n\n\x03\x04\x08\x01\x12\x03&\x08\x1d\n\x0b\n\
\x04\x04\x08\x02\0\x12\x03'\x04\x12\n\x0c\n\x05\x04\x08\x02\0\x05\x12\
\x03'\x04\n\n\x0c\n\x05\x04\x08\x02\0\x01\x12\x03'\x0b\r\n\x0c\n\x05\x04\
\x08\x02\0\x03\x12\x03'\x10\x11\n\x0b\n\x04\x04\x08\x08\0\x12\x03(\x04*\
\n\x0c\n\x05\x04\x08\x08\0\x01\x12\x03(\n\x15\n\x0b\n\x04\x04\x08\x02\
\x01\x12\x03(\x18(\n\x0c\n\x05\x04\x08\x02\x01\x05\x12\x03(\x18\x1e\n\
\x0c\n\x05\x04\x08\x02\x01\x01\x12\x03(\x1f#\n\x0c\n\x05\x04\x08\x02\x01\
\x03\x12\x03(&'\n\x0b\n\x04\x04\x08\x08\x01\x12\x03)\x04*\n\x0c\n\x05\
\x04\x08\x08\x01\x01\x12\x03)\n\x15\n\x0b\n\x04\x04\x08\x02\x02\x12\x03)\
\x18(\n\x0c\n\x05\x04\x08\x02\x02\x05\x12\x03)\x18\x1e\n\x0c\n\x05\x04\
\x08\x02\x02\x01\x12\x03)\x1f#\n\x0c\n\x05\x04\x08\x02\x02\x03\x12\x03)&\
'b\x06proto3\
\x0bone_of_descb\x06proto3\
";
static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;

View File

@ -20,6 +20,6 @@ message TrashId {
}
enum TrashType {
Unknown = 0;
View = 1;
App = 2;
TrashView = 1;
TrashApp = 2;
}

View File

@ -18,6 +18,8 @@ log = "0.4.14"
fancy-regex = "0.5.0"
lazy_static = "1.4"
[build-dependencies]
lib-infra = { path = "../lib-infra", features = ["pb_gen"] }
[dev-dependencies]
quickcheck = "0.9.2"
@ -25,4 +27,7 @@ quickcheck_macros = "0.9.1"
fake = "~2.3.0"
claim = "0.4.0"
futures = "0.3.15"
serial_test = "0.5.1"
serial_test = "0.5.1"
[features]
dart = ["lib-infra/dart", "error-code/dart"]

View File

@ -0,0 +1,5 @@
use lib_infra::pb_gen;
fn main() {
pb_gen::gen("flowy-user-data-model", "./src/protobuf/proto");
}

View File

@ -1,4 +1,4 @@
// This file is generated by rust-protobuf 2.22.1. Do not edit
// This file is generated by rust-protobuf 2.25.2. Do not edit
// @generated
// https://github.com/rust-lang/rust-clippy/issues/702
@ -21,7 +21,7 @@
/// Generated files are compatible only with the same version
/// of protobuf runtime.
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_22_1;
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_25_2;
#[derive(PartialEq,Clone,Default)]
pub struct SignInRequest {
@ -1581,71 +1581,7 @@ static file_descriptor_proto_data: &'static [u8] = b"\
\x12\x1a\n\x08password\x18\x03\x20\x01(\tR\x08password\"i\n\x0eSignUpRes\
ponse\x12\x17\n\x07user_id\x18\x01\x20\x01(\tR\x06userId\x12\x12\n\x04na\
me\x18\x02\x20\x01(\tR\x04name\x12\x14\n\x05email\x18\x03\x20\x01(\tR\
\x05email\x12\x14\n\x05token\x18\x04\x20\x01(\tR\x05tokenJ\xee\t\n\x06\
\x12\x04\0\0!\x01\n\x08\n\x01\x0c\x12\x03\0\0\x12\n\n\n\x02\x04\0\x12\
\x04\x02\0\x06\x01\n\n\n\x03\x04\0\x01\x12\x03\x02\x08\x15\n\x0b\n\x04\
\x04\0\x02\0\x12\x03\x03\x04\x15\n\x0c\n\x05\x04\0\x02\0\x05\x12\x03\x03\
\x04\n\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03\x03\x0b\x10\n\x0c\n\x05\x04\0\
\x02\0\x03\x12\x03\x03\x13\x14\n\x0b\n\x04\x04\0\x02\x01\x12\x03\x04\x04\
\x18\n\x0c\n\x05\x04\0\x02\x01\x05\x12\x03\x04\x04\n\n\x0c\n\x05\x04\0\
\x02\x01\x01\x12\x03\x04\x0b\x13\n\x0c\n\x05\x04\0\x02\x01\x03\x12\x03\
\x04\x16\x17\n\x0b\n\x04\x04\0\x02\x02\x12\x03\x05\x04\x14\n\x0c\n\x05\
\x04\0\x02\x02\x05\x12\x03\x05\x04\n\n\x0c\n\x05\x04\0\x02\x02\x01\x12\
\x03\x05\x0b\x0f\n\x0c\n\x05\x04\0\x02\x02\x03\x12\x03\x05\x12\x13\n\n\n\
\x02\x04\x01\x12\x04\x07\0\x0b\x01\n\n\n\x03\x04\x01\x01\x12\x03\x07\x08\
\x14\n\x0b\n\x04\x04\x01\x02\0\x12\x03\x08\x04\x15\n\x0c\n\x05\x04\x01\
\x02\0\x05\x12\x03\x08\x04\n\n\x0c\n\x05\x04\x01\x02\0\x01\x12\x03\x08\
\x0b\x10\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03\x08\x13\x14\n\x0b\n\x04\
\x04\x01\x02\x01\x12\x03\t\x04\x18\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\
\x03\t\x04\n\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\t\x0b\x13\n\x0c\n\
\x05\x04\x01\x02\x01\x03\x12\x03\t\x16\x17\n\x0b\n\x04\x04\x01\x02\x02\
\x12\x03\n\x04\x14\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03\n\x04\n\n\x0c\
\n\x05\x04\x01\x02\x02\x01\x12\x03\n\x0b\x0f\n\x0c\n\x05\x04\x01\x02\x02\
\x03\x12\x03\n\x12\x13\n\n\n\x02\x04\x02\x12\x04\x0c\0\x11\x01\n\n\n\x03\
\x04\x02\x01\x12\x03\x0c\x08\x16\n\x0b\n\x04\x04\x02\x02\0\x12\x03\r\x04\
\x17\n\x0c\n\x05\x04\x02\x02\0\x05\x12\x03\r\x04\n\n\x0c\n\x05\x04\x02\
\x02\0\x01\x12\x03\r\x0b\x12\n\x0c\n\x05\x04\x02\x02\0\x03\x12\x03\r\x15\
\x16\n\x0b\n\x04\x04\x02\x02\x01\x12\x03\x0e\x04\x14\n\x0c\n\x05\x04\x02\
\x02\x01\x05\x12\x03\x0e\x04\n\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03\
\x0e\x0b\x0f\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03\x0e\x12\x13\n\x0b\n\
\x04\x04\x02\x02\x02\x12\x03\x0f\x04\x15\n\x0c\n\x05\x04\x02\x02\x02\x05\
\x12\x03\x0f\x04\n\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x03\x0f\x0b\x10\n\
\x0c\n\x05\x04\x02\x02\x02\x03\x12\x03\x0f\x13\x14\n\x0b\n\x04\x04\x02\
\x02\x03\x12\x03\x10\x04\x15\n\x0c\n\x05\x04\x02\x02\x03\x05\x12\x03\x10\
\x04\n\n\x0c\n\x05\x04\x02\x02\x03\x01\x12\x03\x10\x0b\x10\n\x0c\n\x05\
\x04\x02\x02\x03\x03\x12\x03\x10\x13\x14\n\n\n\x02\x04\x03\x12\x04\x12\0\
\x16\x01\n\n\n\x03\x04\x03\x01\x12\x03\x12\x08\x15\n\x0b\n\x04\x04\x03\
\x02\0\x12\x03\x13\x04\x15\n\x0c\n\x05\x04\x03\x02\0\x05\x12\x03\x13\x04\
\n\n\x0c\n\x05\x04\x03\x02\0\x01\x12\x03\x13\x0b\x10\n\x0c\n\x05\x04\x03\
\x02\0\x03\x12\x03\x13\x13\x14\n\x0b\n\x04\x04\x03\x02\x01\x12\x03\x14\
\x04\x14\n\x0c\n\x05\x04\x03\x02\x01\x05\x12\x03\x14\x04\n\n\x0c\n\x05\
\x04\x03\x02\x01\x01\x12\x03\x14\x0b\x0f\n\x0c\n\x05\x04\x03\x02\x01\x03\
\x12\x03\x14\x12\x13\n\x0b\n\x04\x04\x03\x02\x02\x12\x03\x15\x04\x18\n\
\x0c\n\x05\x04\x03\x02\x02\x05\x12\x03\x15\x04\n\n\x0c\n\x05\x04\x03\x02\
\x02\x01\x12\x03\x15\x0b\x13\n\x0c\n\x05\x04\x03\x02\x02\x03\x12\x03\x15\
\x16\x17\n\n\n\x02\x04\x04\x12\x04\x17\0\x1b\x01\n\n\n\x03\x04\x04\x01\
\x12\x03\x17\x08\x14\n\x0b\n\x04\x04\x04\x02\0\x12\x03\x18\x04\x15\n\x0c\
\n\x05\x04\x04\x02\0\x05\x12\x03\x18\x04\n\n\x0c\n\x05\x04\x04\x02\0\x01\
\x12\x03\x18\x0b\x10\n\x0c\n\x05\x04\x04\x02\0\x03\x12\x03\x18\x13\x14\n\
\x0b\n\x04\x04\x04\x02\x01\x12\x03\x19\x04\x14\n\x0c\n\x05\x04\x04\x02\
\x01\x05\x12\x03\x19\x04\n\n\x0c\n\x05\x04\x04\x02\x01\x01\x12\x03\x19\
\x0b\x0f\n\x0c\n\x05\x04\x04\x02\x01\x03\x12\x03\x19\x12\x13\n\x0b\n\x04\
\x04\x04\x02\x02\x12\x03\x1a\x04\x18\n\x0c\n\x05\x04\x04\x02\x02\x05\x12\
\x03\x1a\x04\n\n\x0c\n\x05\x04\x04\x02\x02\x01\x12\x03\x1a\x0b\x13\n\x0c\
\n\x05\x04\x04\x02\x02\x03\x12\x03\x1a\x16\x17\n\n\n\x02\x04\x05\x12\x04\
\x1c\0!\x01\n\n\n\x03\x04\x05\x01\x12\x03\x1c\x08\x16\n\x0b\n\x04\x04\
\x05\x02\0\x12\x03\x1d\x04\x17\n\x0c\n\x05\x04\x05\x02\0\x05\x12\x03\x1d\
\x04\n\n\x0c\n\x05\x04\x05\x02\0\x01\x12\x03\x1d\x0b\x12\n\x0c\n\x05\x04\
\x05\x02\0\x03\x12\x03\x1d\x15\x16\n\x0b\n\x04\x04\x05\x02\x01\x12\x03\
\x1e\x04\x14\n\x0c\n\x05\x04\x05\x02\x01\x05\x12\x03\x1e\x04\n\n\x0c\n\
\x05\x04\x05\x02\x01\x01\x12\x03\x1e\x0b\x0f\n\x0c\n\x05\x04\x05\x02\x01\
\x03\x12\x03\x1e\x12\x13\n\x0b\n\x04\x04\x05\x02\x02\x12\x03\x1f\x04\x15\
\n\x0c\n\x05\x04\x05\x02\x02\x05\x12\x03\x1f\x04\n\n\x0c\n\x05\x04\x05\
\x02\x02\x01\x12\x03\x1f\x0b\x10\n\x0c\n\x05\x04\x05\x02\x02\x03\x12\x03\
\x1f\x13\x14\n\x0b\n\x04\x04\x05\x02\x03\x12\x03\x20\x04\x15\n\x0c\n\x05\
\x04\x05\x02\x03\x05\x12\x03\x20\x04\n\n\x0c\n\x05\x04\x05\x02\x03\x01\
\x12\x03\x20\x0b\x10\n\x0c\n\x05\x04\x05\x02\x03\x03\x12\x03\x20\x13\x14\
b\x06proto3\
\x05email\x12\x14\n\x05token\x18\x04\x20\x01(\tR\x05tokenb\x06proto3\
";
static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;

View File

@ -1,11 +0,0 @@
#![cfg_attr(rustfmt, rustfmt::skip)]
// Auto-generated, do not edit
mod errors;
pub use errors::*;
mod user_profile;
pub use user_profile::*;
mod auth;
pub use auth::*;

View File

@ -1,4 +1,4 @@
// This file is generated by rust-protobuf 2.22.1. Do not edit
// This file is generated by rust-protobuf 2.25.2. Do not edit
// @generated
// https://github.com/rust-lang/rust-clippy/issues/702
@ -21,7 +21,7 @@
/// Generated files are compatible only with the same version
/// of protobuf runtime.
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_22_1;
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_25_2;
#[derive(Clone,PartialEq,Eq,Debug,Hash)]
pub enum ErrorCode {
@ -125,41 +125,7 @@ static file_descriptor_proto_data: &'static [u8] = b"\
aracters\x10\x15\x12\x13\n\x0fUserNameIsEmpty\x10\x16\x12\x11\n\rUserIdI\
nvalid\x10\x17\x12\x14\n\x10UserUnauthorized\x10\x18\x12\x10\n\x0cUserNo\
tExist\x10\x19\x12\x0f\n\x0bServerError\x10c\x12\x11\n\rInternalError\
\x10dJ\xba\x05\n\x06\x12\x04\0\0\x13\x01\n\x08\n\x01\x0c\x12\x03\0\0\x12\
\n\n\n\x02\x05\0\x12\x04\x02\0\x13\x01\n\n\n\x03\x05\0\x01\x12\x03\x02\
\x05\x0e\n\x0b\n\x04\x05\0\x02\0\x12\x03\x03\x04\x15\n\x0c\n\x05\x05\0\
\x02\0\x01\x12\x03\x03\x04\x10\n\x0c\n\x05\x05\0\x02\0\x02\x12\x03\x03\
\x13\x14\n\x0b\n\x04\x05\0\x02\x01\x12\x03\x04\x04\x1b\n\x0c\n\x05\x05\0\
\x02\x01\x01\x12\x03\x04\x04\x16\n\x0c\n\x05\x05\0\x02\x01\x02\x12\x03\
\x04\x19\x1a\n\x0b\n\x04\x05\0\x02\x02\x12\x03\x05\x04\x1b\n\x0c\n\x05\
\x05\0\x02\x02\x01\x12\x03\x05\x04\x16\n\x0c\n\x05\x05\0\x02\x02\x02\x12\
\x03\x05\x19\x1a\n\x0b\n\x04\x05\0\x02\x03\x12\x03\x06\x04\x19\n\x0c\n\
\x05\x05\0\x02\x03\x01\x12\x03\x06\x04\x13\n\x0c\n\x05\x05\0\x02\x03\x02\
\x12\x03\x06\x16\x18\n\x0b\n\x04\x05\0\x02\x04\x12\x03\x07\x04\x19\n\x0c\
\n\x05\x05\0\x02\x04\x01\x12\x03\x07\x04\x13\n\x0c\n\x05\x05\0\x02\x04\
\x02\x12\x03\x07\x16\x18\n\x0b\n\x04\x05\0\x02\x05\x12\x03\x08\x04*\n\
\x0c\n\x05\x05\0\x02\x05\x01\x12\x03\x08\x04$\n\x0c\n\x05\x05\0\x02\x05\
\x02\x12\x03\x08')\n\x0b\n\x04\x05\0\x02\x06\x12\x03\t\x04\x1f\n\x0c\n\
\x05\x05\0\x02\x06\x01\x12\x03\t\x04\x19\n\x0c\n\x05\x05\0\x02\x06\x02\
\x12\x03\t\x1c\x1e\n\x0b\n\x04\x05\0\x02\x07\x12\x03\n\x04\x1a\n\x0c\n\
\x05\x05\0\x02\x07\x01\x12\x03\n\x04\x14\n\x0c\n\x05\x05\0\x02\x07\x02\
\x12\x03\n\x17\x19\n\x0b\n\x04\x05\0\x02\x08\x12\x03\x0b\x04\x19\n\x0c\n\
\x05\x05\0\x02\x08\x01\x12\x03\x0b\x04\x13\n\x0c\n\x05\x05\0\x02\x08\x02\
\x12\x03\x0b\x16\x18\n\x0b\n\x04\x05\0\x02\t\x12\x03\x0c\x04,\n\x0c\n\
\x05\x05\0\x02\t\x01\x12\x03\x0c\x04&\n\x0c\n\x05\x05\0\x02\t\x02\x12\
\x03\x0c)+\n\x0b\n\x04\x05\0\x02\n\x12\x03\r\x04\x19\n\x0c\n\x05\x05\0\
\x02\n\x01\x12\x03\r\x04\x13\n\x0c\n\x05\x05\0\x02\n\x02\x12\x03\r\x16\
\x18\n\x0b\n\x04\x05\0\x02\x0b\x12\x03\x0e\x04\x17\n\x0c\n\x05\x05\0\x02\
\x0b\x01\x12\x03\x0e\x04\x11\n\x0c\n\x05\x05\0\x02\x0b\x02\x12\x03\x0e\
\x14\x16\n\x0b\n\x04\x05\0\x02\x0c\x12\x03\x0f\x04\x1a\n\x0c\n\x05\x05\0\
\x02\x0c\x01\x12\x03\x0f\x04\x14\n\x0c\n\x05\x05\0\x02\x0c\x02\x12\x03\
\x0f\x17\x19\n\x0b\n\x04\x05\0\x02\r\x12\x03\x10\x04\x16\n\x0c\n\x05\x05\
\0\x02\r\x01\x12\x03\x10\x04\x10\n\x0c\n\x05\x05\0\x02\r\x02\x12\x03\x10\
\x13\x15\n\x0b\n\x04\x05\0\x02\x0e\x12\x03\x11\x04\x15\n\x0c\n\x05\x05\0\
\x02\x0e\x01\x12\x03\x11\x04\x0f\n\x0c\n\x05\x05\0\x02\x0e\x02\x12\x03\
\x11\x12\x14\n\x0b\n\x04\x05\0\x02\x0f\x12\x03\x12\x04\x18\n\x0c\n\x05\
\x05\0\x02\x0f\x01\x12\x03\x12\x04\x11\n\x0c\n\x05\x05\0\x02\x0f\x02\x12\
\x03\x12\x14\x17b\x06proto3\
\x10db\x06proto3\
";
static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;

View File

@ -1,4 +1,4 @@
// This file is generated by rust-protobuf 2.22.1. Do not edit
// This file is generated by rust-protobuf 2.25.2. Do not edit
// @generated
// https://github.com/rust-lang/rust-clippy/issues/702
@ -21,7 +21,7 @@
/// Generated files are compatible only with the same version
/// of protobuf runtime.
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_22_1;
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_25_2;
#[derive(PartialEq,Clone,Default)]
pub struct UserToken {
@ -1286,56 +1286,7 @@ static file_descriptor_proto_data: &'static [u8] = b"\
id\x18\x01\x20\x01(\tR\x02id\x12\x14\n\x04name\x18\x02\x20\x01(\tH\0R\
\x04name\x12\x16\n\x05email\x18\x03\x20\x01(\tH\x01R\x05email\x12\x1c\n\
\x08password\x18\x04\x20\x01(\tH\x02R\x08passwordB\r\n\x0bone_of_nameB\
\x0e\n\x0cone_of_emailB\x11\n\x0fone_of_passwordJ\xdf\x07\n\x06\x12\x04\
\0\0\x16\x01\n\x08\n\x01\x0c\x12\x03\0\0\x12\n\n\n\x02\x04\0\x12\x04\x02\
\0\x04\x01\n\n\n\x03\x04\0\x01\x12\x03\x02\x08\x11\n\x0b\n\x04\x04\0\x02\
\0\x12\x03\x03\x04\x15\n\x0c\n\x05\x04\0\x02\0\x05\x12\x03\x03\x04\n\n\
\x0c\n\x05\x04\0\x02\0\x01\x12\x03\x03\x0b\x10\n\x0c\n\x05\x04\0\x02\0\
\x03\x12\x03\x03\x13\x14\n\n\n\x02\x04\x01\x12\x04\x05\0\n\x01\n\n\n\x03\
\x04\x01\x01\x12\x03\x05\x08\x13\n\x0b\n\x04\x04\x01\x02\0\x12\x03\x06\
\x04\x12\n\x0c\n\x05\x04\x01\x02\0\x05\x12\x03\x06\x04\n\n\x0c\n\x05\x04\
\x01\x02\0\x01\x12\x03\x06\x0b\r\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03\
\x06\x10\x11\n\x0b\n\x04\x04\x01\x02\x01\x12\x03\x07\x04\x15\n\x0c\n\x05\
\x04\x01\x02\x01\x05\x12\x03\x07\x04\n\n\x0c\n\x05\x04\x01\x02\x01\x01\
\x12\x03\x07\x0b\x10\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\x07\x13\x14\
\n\x0b\n\x04\x04\x01\x02\x02\x12\x03\x08\x04\x14\n\x0c\n\x05\x04\x01\x02\
\x02\x05\x12\x03\x08\x04\n\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03\x08\
\x0b\x0f\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03\x08\x12\x13\n\x0b\n\x04\
\x04\x01\x02\x03\x12\x03\t\x04\x15\n\x0c\n\x05\x04\x01\x02\x03\x05\x12\
\x03\t\x04\n\n\x0c\n\x05\x04\x01\x02\x03\x01\x12\x03\t\x0b\x10\n\x0c\n\
\x05\x04\x01\x02\x03\x03\x12\x03\t\x13\x14\n\n\n\x02\x04\x02\x12\x04\x0b\
\0\x10\x01\n\n\n\x03\x04\x02\x01\x12\x03\x0b\x08\x19\n\x0b\n\x04\x04\x02\
\x02\0\x12\x03\x0c\x04\x12\n\x0c\n\x05\x04\x02\x02\0\x05\x12\x03\x0c\x04\
\n\n\x0c\n\x05\x04\x02\x02\0\x01\x12\x03\x0c\x0b\r\n\x0c\n\x05\x04\x02\
\x02\0\x03\x12\x03\x0c\x10\x11\n\x0b\n\x04\x04\x02\x08\0\x12\x03\r\x04*\
\n\x0c\n\x05\x04\x02\x08\0\x01\x12\x03\r\n\x15\n\x0b\n\x04\x04\x02\x02\
\x01\x12\x03\r\x18(\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x03\r\x18\x1e\n\
\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03\r\x1f#\n\x0c\n\x05\x04\x02\x02\
\x01\x03\x12\x03\r&'\n\x0b\n\x04\x04\x02\x08\x01\x12\x03\x0e\x04,\n\x0c\
\n\x05\x04\x02\x08\x01\x01\x12\x03\x0e\n\x16\n\x0b\n\x04\x04\x02\x02\x02\
\x12\x03\x0e\x19*\n\x0c\n\x05\x04\x02\x02\x02\x05\x12\x03\x0e\x19\x1f\n\
\x0c\n\x05\x04\x02\x02\x02\x01\x12\x03\x0e\x20%\n\x0c\n\x05\x04\x02\x02\
\x02\x03\x12\x03\x0e()\n\x0b\n\x04\x04\x02\x08\x02\x12\x03\x0f\x042\n\
\x0c\n\x05\x04\x02\x08\x02\x01\x12\x03\x0f\n\x19\n\x0b\n\x04\x04\x02\x02\
\x03\x12\x03\x0f\x1c0\n\x0c\n\x05\x04\x02\x02\x03\x05\x12\x03\x0f\x1c\"\
\n\x0c\n\x05\x04\x02\x02\x03\x01\x12\x03\x0f#+\n\x0c\n\x05\x04\x02\x02\
\x03\x03\x12\x03\x0f./\n\n\n\x02\x04\x03\x12\x04\x11\0\x16\x01\n\n\n\x03\
\x04\x03\x01\x12\x03\x11\x08\x18\n\x0b\n\x04\x04\x03\x02\0\x12\x03\x12\
\x04\x12\n\x0c\n\x05\x04\x03\x02\0\x05\x12\x03\x12\x04\n\n\x0c\n\x05\x04\
\x03\x02\0\x01\x12\x03\x12\x0b\r\n\x0c\n\x05\x04\x03\x02\0\x03\x12\x03\
\x12\x10\x11\n\x0b\n\x04\x04\x03\x08\0\x12\x03\x13\x04*\n\x0c\n\x05\x04\
\x03\x08\0\x01\x12\x03\x13\n\x15\n\x0b\n\x04\x04\x03\x02\x01\x12\x03\x13\
\x18(\n\x0c\n\x05\x04\x03\x02\x01\x05\x12\x03\x13\x18\x1e\n\x0c\n\x05\
\x04\x03\x02\x01\x01\x12\x03\x13\x1f#\n\x0c\n\x05\x04\x03\x02\x01\x03\
\x12\x03\x13&'\n\x0b\n\x04\x04\x03\x08\x01\x12\x03\x14\x04,\n\x0c\n\x05\
\x04\x03\x08\x01\x01\x12\x03\x14\n\x16\n\x0b\n\x04\x04\x03\x02\x02\x12\
\x03\x14\x19*\n\x0c\n\x05\x04\x03\x02\x02\x05\x12\x03\x14\x19\x1f\n\x0c\
\n\x05\x04\x03\x02\x02\x01\x12\x03\x14\x20%\n\x0c\n\x05\x04\x03\x02\x02\
\x03\x12\x03\x14()\n\x0b\n\x04\x04\x03\x08\x02\x12\x03\x15\x042\n\x0c\n\
\x05\x04\x03\x08\x02\x01\x12\x03\x15\n\x19\n\x0b\n\x04\x04\x03\x02\x03\
\x12\x03\x15\x1c0\n\x0c\n\x05\x04\x03\x02\x03\x05\x12\x03\x15\x1c\"\n\
\x0c\n\x05\x04\x03\x02\x03\x01\x12\x03\x15#+\n\x0c\n\x05\x04\x03\x02\x03\
\x03\x12\x03\x15./b\x06proto3\
\x0e\n\x0cone_of_emailB\x11\n\x0fone_of_passwordb\x06proto3\
";
static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;

View File

@ -1,4 +1,4 @@
// This file is generated by rust-protobuf 2.22.1. Do not edit
// This file is generated by rust-protobuf 2.25.2. Do not edit
// @generated
// https://github.com/rust-lang/rust-clippy/issues/702
@ -21,7 +21,7 @@
/// Generated files are compatible only with the same version
/// of protobuf runtime.
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_22_1;
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_25_2;
#[derive(PartialEq,Clone,Default)]
pub struct UserPreferences {
@ -699,30 +699,7 @@ static file_descriptor_proto_data: &'static [u8] = b"\
ale\x18\x02\x20\x01(\x0b2\x0f.LocaleSettingsR\x06locale\x12(\n\x10reset_\
as_default\x18\x03\x20\x01(\x08R\x0eresetAsDefault\"X\n\x0eLocaleSetting\
s\x12#\n\rlanguage_code\x18\x01\x20\x01(\tR\x0clanguageCode\x12!\n\x0cco\
untry_code\x18\x02\x20\x01(\tR\x0bcountryCodeJ\xdb\x03\n\x06\x12\x04\0\0\
\x0e\x01\n\x08\n\x01\x0c\x12\x03\0\0\x12\n\n\n\x02\x04\0\x12\x04\x02\0\
\x05\x01\n\n\n\x03\x04\0\x01\x12\x03\x02\x08\x17\n\x0b\n\x04\x04\0\x02\0\
\x12\x03\x03\x04\x17\n\x0c\n\x05\x04\0\x02\0\x05\x12\x03\x03\x04\n\n\x0c\
\n\x05\x04\0\x02\0\x01\x12\x03\x03\x0b\x12\n\x0c\n\x05\x04\0\x02\0\x03\
\x12\x03\x03\x15\x16\n\x0b\n\x04\x04\0\x02\x01\x12\x03\x04\x04.\n\x0c\n\
\x05\x04\0\x02\x01\x06\x12\x03\x04\x04\x16\n\x0c\n\x05\x04\0\x02\x01\x01\
\x12\x03\x04\x17)\n\x0c\n\x05\x04\0\x02\x01\x03\x12\x03\x04,-\n\n\n\x02\
\x04\x01\x12\x04\x06\0\n\x01\n\n\n\x03\x04\x01\x01\x12\x03\x06\x08\x1a\n\
\x0b\n\x04\x04\x01\x02\0\x12\x03\x07\x04\x15\n\x0c\n\x05\x04\x01\x02\0\
\x05\x12\x03\x07\x04\n\n\x0c\n\x05\x04\x01\x02\0\x01\x12\x03\x07\x0b\x10\
\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03\x07\x13\x14\n\x0b\n\x04\x04\x01\
\x02\x01\x12\x03\x08\x04\x1e\n\x0c\n\x05\x04\x01\x02\x01\x06\x12\x03\x08\
\x04\x12\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\x08\x13\x19\n\x0c\n\x05\
\x04\x01\x02\x01\x03\x12\x03\x08\x1c\x1d\n\x0b\n\x04\x04\x01\x02\x02\x12\
\x03\t\x04\x1e\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03\t\x04\x08\n\x0c\n\
\x05\x04\x01\x02\x02\x01\x12\x03\t\t\x19\n\x0c\n\x05\x04\x01\x02\x02\x03\
\x12\x03\t\x1c\x1d\n\n\n\x02\x04\x02\x12\x04\x0b\0\x0e\x01\n\n\n\x03\x04\
\x02\x01\x12\x03\x0b\x08\x16\n\x0b\n\x04\x04\x02\x02\0\x12\x03\x0c\x04\
\x1d\n\x0c\n\x05\x04\x02\x02\0\x05\x12\x03\x0c\x04\n\n\x0c\n\x05\x04\x02\
\x02\0\x01\x12\x03\x0c\x0b\x18\n\x0c\n\x05\x04\x02\x02\0\x03\x12\x03\x0c\
\x1b\x1c\n\x0b\n\x04\x04\x02\x02\x01\x12\x03\r\x04\x1c\n\x0c\n\x05\x04\
\x02\x02\x01\x05\x12\x03\r\x04\n\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03\
\r\x0b\x17\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03\r\x1a\x1bb\x06proto3\
untry_code\x18\x02\x20\x01(\tR\x0bcountryCodeb\x06proto3\
";
static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;

View File

@ -15,3 +15,10 @@ futures-core = { version = "0.3", default-features = false }
tokio = { version = "1.0", features = ["time", "rt"] }
rand = "0.8.3"
cmd_lib = { version = "1", optional = true }
protoc-rust = { version = "2", optional = true }
walkdir = { version = "2", optional = true }
[features]
pb_gen = ["cmd_lib", "protoc-rust", "walkdir"]
dart = []

View File

@ -1,6 +1,9 @@
pub mod future;
pub mod retry;
#[cfg(feature = "pb_gen")]
pub mod pb_gen;
#[allow(dead_code)]
pub fn uuid_string() -> String {
uuid::Uuid::new_v4().to_string()

View File

@ -0,0 +1,77 @@
#![allow(unused_imports)]
use std::fs::File;
use std::io::Write;
use walkdir::WalkDir;
pub fn gen(name: &str, root: &str) {
let mut paths = vec![];
let mut file_names = vec![];
for (path, file_name) in WalkDir::new(root).into_iter().filter_map(|e| e.ok()).map(|e| {
let path = e.path().to_str().unwrap().to_string();
let file_name = e.path().file_stem().unwrap().to_str().unwrap().to_string();
(path, file_name)
}) {
if path.ends_with(".proto") {
// https://stackoverflow.com/questions/49077147/how-can-i-force-build-rs-to-run-again-without-cleaning-my-whole-project
println!("cargo:rerun-if-changed={}", path);
paths.push(path);
file_names.push(file_name);
}
}
#[cfg(feature = "dart")]
gen_pb_for_dart(name, root, &paths, &file_names);
protoc_rust::Codegen::new()
.out_dir("./src/protobuf/model")
.inputs(&paths)
.include(root)
.run()
.expect("Running protoc failed.");
}
#[cfg(feature = "dart")]
fn gen_pb_for_dart(name: &str, root: &str, paths: &Vec<String>, file_names: &Vec<String>) {
let output = format!(
"{}/{}/{}",
env!("CARGO_MAKE_WORKING_DIRECTORY"),
env!("FLUTTER_FLOWY_SDK_PATH"),
name
);
if !std::path::Path::new(&output).exists() {
std::fs::create_dir_all(&output).unwrap();
}
paths.iter().for_each(|path| {
if cmd_lib::run_cmd! {
protoc --dart_out=${output} --proto_path=${root} ${path}
}
.is_err()
{
panic!("Run flutter protoc fail")
};
});
let protobuf_dart = format!("{}/protobuf.dart", output);
match std::fs::OpenOptions::new()
.create(true)
.write(true)
.append(false)
.truncate(true)
.open(&protobuf_dart)
{
Ok(ref mut file) => {
let mut export = String::new();
export.push_str("// Auto-generated, do not edit \n");
for file_name in file_names {
let c = format!("export './{}.pb.dart';\n", file_name);
export.push_str(c.as_ref());
}
file.write_all(export.as_bytes()).unwrap();
File::flush(file).unwrap();
}
Err(err) => {
panic!("Failed to open file: {}", err);
}
}
}

View File

@ -27,6 +27,12 @@ strum_macros = "0.21"
parking_lot = "0.11"
dashmap = "4.0"
[build-dependencies]
lib-infra = { path = "../lib-infra", features = ["pb_gen"] }
[dev-dependencies]
tokio = {version = "1", features = ["full"]}
env_logger = "0.8.2"
env_logger = "0.8.2"
[features]
dart = ["lib-infra/dart"]

View File

@ -0,0 +1,5 @@
use lib_infra::pb_gen;
fn main() {
pb_gen::gen("lib-ws", "./src/protobuf/proto");
}

View File

@ -1,4 +1,4 @@
// This file is generated by rust-protobuf 2.22.1. Do not edit
// This file is generated by rust-protobuf 2.25.2. Do not edit
// @generated
// https://github.com/rust-lang/rust-clippy/issues/702
@ -21,7 +21,7 @@
/// Generated files are compatible only with the same version
/// of protobuf runtime.
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_22_1;
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_25_2;
#[derive(PartialEq,Clone,Default)]
pub struct WSError {
@ -270,22 +270,7 @@ static file_descriptor_proto_data: &'static [u8] = b"\
\n\x0cerrors.proto\";\n\x07WSError\x12\x1e\n\x04code\x18\x01\x20\x01(\
\x0e2\n.ErrorCodeR\x04code\x12\x10\n\x03msg\x18\x02\x20\x01(\tR\x03msg*H\
\n\tErrorCode\x12\x11\n\rInternalError\x10\0\x12\x16\n\x12UnsupportedMes\
sage\x10\x01\x12\x10\n\x0cUnauthorized\x10\x02J\xab\x02\n\x06\x12\x04\0\
\0\n\x01\n\x08\n\x01\x0c\x12\x03\0\0\x12\n\n\n\x02\x04\0\x12\x04\x02\0\
\x05\x01\n\n\n\x03\x04\0\x01\x12\x03\x02\x08\x0f\n\x0b\n\x04\x04\0\x02\0\
\x12\x03\x03\x04\x17\n\x0c\n\x05\x04\0\x02\0\x06\x12\x03\x03\x04\r\n\x0c\
\n\x05\x04\0\x02\0\x01\x12\x03\x03\x0e\x12\n\x0c\n\x05\x04\0\x02\0\x03\
\x12\x03\x03\x15\x16\n\x0b\n\x04\x04\0\x02\x01\x12\x03\x04\x04\x13\n\x0c\
\n\x05\x04\0\x02\x01\x05\x12\x03\x04\x04\n\n\x0c\n\x05\x04\0\x02\x01\x01\
\x12\x03\x04\x0b\x0e\n\x0c\n\x05\x04\0\x02\x01\x03\x12\x03\x04\x11\x12\n\
\n\n\x02\x05\0\x12\x04\x06\0\n\x01\n\n\n\x03\x05\0\x01\x12\x03\x06\x05\
\x0e\n\x0b\n\x04\x05\0\x02\0\x12\x03\x07\x04\x16\n\x0c\n\x05\x05\0\x02\0\
\x01\x12\x03\x07\x04\x11\n\x0c\n\x05\x05\0\x02\0\x02\x12\x03\x07\x14\x15\
\n\x0b\n\x04\x05\0\x02\x01\x12\x03\x08\x04\x1b\n\x0c\n\x05\x05\0\x02\x01\
\x01\x12\x03\x08\x04\x16\n\x0c\n\x05\x05\0\x02\x01\x02\x12\x03\x08\x19\
\x1a\n\x0b\n\x04\x05\0\x02\x02\x12\x03\t\x04\x15\n\x0c\n\x05\x05\0\x02\
\x02\x01\x12\x03\t\x04\x10\n\x0c\n\x05\x05\0\x02\x02\x02\x12\x03\t\x13\
\x14b\x06proto3\
sage\x10\x01\x12\x10\n\x0cUnauthorized\x10\x02b\x06proto3\
";
static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;

View File

@ -1,4 +1,4 @@
// This file is generated by rust-protobuf 2.22.1. Do not edit
// This file is generated by rust-protobuf 2.25.2. Do not edit
// @generated
// https://github.com/rust-lang/rust-clippy/issues/702
@ -21,7 +21,7 @@
/// Generated files are compatible only with the same version
/// of protobuf runtime.
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_22_1;
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_25_2;
#[derive(PartialEq,Clone,Default)]
pub struct WebSocketRawMessage {
@ -267,19 +267,7 @@ static file_descriptor_proto_data: &'static [u8] = b"\
\n\tmsg.proto\"O\n\x13WebSocketRawMessage\x12$\n\x07channel\x18\x01\x20\
\x01(\x0e2\n.WSChannelR\x07channel\x12\x12\n\x04data\x18\x02\x20\x01(\
\x0cR\x04data*%\n\tWSChannel\x12\x0c\n\x08Document\x10\0\x12\n\n\x06Fold\
er\x10\x01J\x82\x02\n\x06\x12\x04\0\0\t\x01\n\x08\n\x01\x0c\x12\x03\0\0\
\x12\n\n\n\x02\x04\0\x12\x04\x02\0\x05\x01\n\n\n\x03\x04\0\x01\x12\x03\
\x02\x08\x1b\n\x0b\n\x04\x04\0\x02\0\x12\x03\x03\x04\x1a\n\x0c\n\x05\x04\
\0\x02\0\x06\x12\x03\x03\x04\r\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03\x03\
\x0e\x15\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03\x03\x18\x19\n\x0b\n\x04\x04\
\0\x02\x01\x12\x03\x04\x04\x13\n\x0c\n\x05\x04\0\x02\x01\x05\x12\x03\x04\
\x04\t\n\x0c\n\x05\x04\0\x02\x01\x01\x12\x03\x04\n\x0e\n\x0c\n\x05\x04\0\
\x02\x01\x03\x12\x03\x04\x11\x12\n\n\n\x02\x05\0\x12\x04\x06\0\t\x01\n\n\
\n\x03\x05\0\x01\x12\x03\x06\x05\x0e\n\x0b\n\x04\x05\0\x02\0\x12\x03\x07\
\x04\x11\n\x0c\n\x05\x05\0\x02\0\x01\x12\x03\x07\x04\x0c\n\x0c\n\x05\x05\
\0\x02\0\x02\x12\x03\x07\x0f\x10\n\x0b\n\x04\x05\0\x02\x01\x12\x03\x08\
\x04\x0f\n\x0c\n\x05\x05\0\x02\x01\x01\x12\x03\x08\x04\n\n\x0c\n\x05\x05\
\0\x02\x01\x02\x12\x03\x08\r\x0eb\x06proto3\
er\x10\x01b\x06proto3\
";
static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;