diff options
author | Ludwig Schwiedrzik <ludwig.schwiedrzik@d-fine.com> | 2024-08-13 17:23:45 +0200 |
---|---|---|
committer | Scott Murray <scott.murray@konsulko.com> | 2024-09-10 19:52:10 +0000 |
commit | a2dcd701777968a65d3176eaf28aa7023d97c16b (patch) | |
tree | 65a5861430a1fde81160cd116fd70fba40cd1fb3 /protos | |
parent | d3ea8d7fa4518c258fca3c825ee895487fcaa8ec (diff) |
Implementation of Persistent Storage API to the flutter homescreen
Added protobuf definition of Persistent Storage API.
Generated grpc-compliant code from protobuf API definition.
Set up storage_client based on similar radio_client.
Updated app_confi_provider and app_provider to include new API features
and prepare for implementation of persistent storage of users, user
preferences.
Added unit tests for all API rpcs.
Bug-AGL: [SPEC-5227]
Change-Id: I759501bcb9de3a70a14718f8b3a87bedcf811baa
Signed-off-by: Tom Kronsbein <tom.kronsbein@d-fine.com>
Signed-off-by: Ludwig Schwiedrzik <ludwig.schwiedrzik@d-fine.com>
Diffstat (limited to 'protos')
-rw-r--r-- | protos/lib/src/generated/storage_api.pb.dart | 534 | ||||
-rw-r--r-- | protos/lib/src/generated/storage_api.pbenum.dart | 11 | ||||
-rw-r--r-- | protos/lib/src/generated/storage_api.pbgrpc.dart | 179 | ||||
-rw-r--r-- | protos/lib/src/generated/storage_api.pbjson.dart | 126 | ||||
-rw-r--r-- | protos/lib/storage-api.dart | 8 | ||||
-rw-r--r-- | protos/protos/storage_api.proto | 66 |
6 files changed, 924 insertions, 0 deletions
diff --git a/protos/lib/src/generated/storage_api.pb.dart b/protos/lib/src/generated/storage_api.pb.dart new file mode 100644 index 0000000..fb027be --- /dev/null +++ b/protos/lib/src/generated/storage_api.pb.dart @@ -0,0 +1,534 @@ +// +// Generated code. Do not modify. +// source: protos/protos/storage_api.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +class Key extends $pb.GeneratedMessage { + factory Key({ + $core.String? key, + $core.String? namespace, + }) { + final $result = create(); + if (key != null) { + $result.key = key; + } + if (namespace != null) { + $result.namespace = namespace; + } + return $result; + } + Key._() : super(); + factory Key.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory Key.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Key', package: const $pb.PackageName(_omitMessageNames ? '' : 'storage_api'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'key') + ..aOS(2, _omitFieldNames ? '' : 'namespace') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Key clone() => Key()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Key copyWith(void Function(Key) updates) => super.copyWith((message) => updates(message as Key)) as Key; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Key create() => Key._(); + Key createEmptyInstance() => create(); + static $pb.PbList<Key> createRepeated() => $pb.PbList<Key>(); + @$core.pragma('dart2js:noInline') + static Key getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Key>(create); + static Key? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get key => $_getSZ(0); + @$pb.TagNumber(1) + set key($core.String v) { $_setString(0, v); } + @$pb.TagNumber(1) + $core.bool hasKey() => $_has(0); + @$pb.TagNumber(1) + void clearKey() => clearField(1); + + @$pb.TagNumber(2) + $core.String get namespace => $_getSZ(1); + @$pb.TagNumber(2) + set namespace($core.String v) { $_setString(1, v); } + @$pb.TagNumber(2) + $core.bool hasNamespace() => $_has(1); + @$pb.TagNumber(2) + void clearNamespace() => clearField(2); +} + +class Value extends $pb.GeneratedMessage { + factory Value({ + $core.String? value, + }) { + final $result = create(); + if (value != null) { + $result.value = value; + } + return $result; + } + Value._() : super(); + factory Value.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory Value.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Value', package: const $pb.PackageName(_omitMessageNames ? '' : 'storage_api'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'value') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Value clone() => Value()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Value copyWith(void Function(Value) updates) => super.copyWith((message) => updates(message as Value)) as Value; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Value create() => Value._(); + Value createEmptyInstance() => create(); + static $pb.PbList<Value> createRepeated() => $pb.PbList<Value>(); + @$core.pragma('dart2js:noInline') + static Value getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Value>(create); + static Value? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get value => $_getSZ(0); + @$pb.TagNumber(1) + set value($core.String v) { $_setString(0, v); } + @$pb.TagNumber(1) + $core.bool hasValue() => $_has(0); + @$pb.TagNumber(1) + void clearValue() => clearField(1); +} + +class KeyValue extends $pb.GeneratedMessage { + factory KeyValue({ + $core.String? key, + $core.String? value, + $core.String? namespace, + }) { + final $result = create(); + if (key != null) { + $result.key = key; + } + if (value != null) { + $result.value = value; + } + if (namespace != null) { + $result.namespace = namespace; + } + return $result; + } + KeyValue._() : super(); + factory KeyValue.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory KeyValue.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'KeyValue', package: const $pb.PackageName(_omitMessageNames ? '' : 'storage_api'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'key') + ..aOS(2, _omitFieldNames ? '' : 'value') + ..aOS(3, _omitFieldNames ? '' : 'namespace') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + KeyValue clone() => KeyValue()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + KeyValue copyWith(void Function(KeyValue) updates) => super.copyWith((message) => updates(message as KeyValue)) as KeyValue; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static KeyValue create() => KeyValue._(); + KeyValue createEmptyInstance() => create(); + static $pb.PbList<KeyValue> createRepeated() => $pb.PbList<KeyValue>(); + @$core.pragma('dart2js:noInline') + static KeyValue getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<KeyValue>(create); + static KeyValue? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get key => $_getSZ(0); + @$pb.TagNumber(1) + set key($core.String v) { $_setString(0, v); } + @$pb.TagNumber(1) + $core.bool hasKey() => $_has(0); + @$pb.TagNumber(1) + void clearKey() => clearField(1); + + @$pb.TagNumber(2) + $core.String get value => $_getSZ(1); + @$pb.TagNumber(2) + set value($core.String v) { $_setString(1, v); } + @$pb.TagNumber(2) + $core.bool hasValue() => $_has(1); + @$pb.TagNumber(2) + void clearValue() => clearField(2); + + @$pb.TagNumber(3) + $core.String get namespace => $_getSZ(2); + @$pb.TagNumber(3) + set namespace($core.String v) { $_setString(2, v); } + @$pb.TagNumber(3) + $core.bool hasNamespace() => $_has(2); + @$pb.TagNumber(3) + void clearNamespace() => clearField(3); +} + +class SubtreeInfo extends $pb.GeneratedMessage { + factory SubtreeInfo({ + $core.String? node, + $core.int? layers, + $core.String? namespace, + }) { + final $result = create(); + if (node != null) { + $result.node = node; + } + if (layers != null) { + $result.layers = layers; + } + if (namespace != null) { + $result.namespace = namespace; + } + return $result; + } + SubtreeInfo._() : super(); + factory SubtreeInfo.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory SubtreeInfo.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'SubtreeInfo', package: const $pb.PackageName(_omitMessageNames ? '' : 'storage_api'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'node') + ..a<$core.int>(2, _omitFieldNames ? '' : 'layers', $pb.PbFieldType.O3) + ..aOS(3, _omitFieldNames ? '' : 'namespace') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SubtreeInfo clone() => SubtreeInfo()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SubtreeInfo copyWith(void Function(SubtreeInfo) updates) => super.copyWith((message) => updates(message as SubtreeInfo)) as SubtreeInfo; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SubtreeInfo create() => SubtreeInfo._(); + SubtreeInfo createEmptyInstance() => create(); + static $pb.PbList<SubtreeInfo> createRepeated() => $pb.PbList<SubtreeInfo>(); + @$core.pragma('dart2js:noInline') + static SubtreeInfo getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<SubtreeInfo>(create); + static SubtreeInfo? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get node => $_getSZ(0); + @$pb.TagNumber(1) + set node($core.String v) { $_setString(0, v); } + @$pb.TagNumber(1) + $core.bool hasNode() => $_has(0); + @$pb.TagNumber(1) + void clearNode() => clearField(1); + + @$pb.TagNumber(2) + $core.int get layers => $_getIZ(1); + @$pb.TagNumber(2) + set layers($core.int v) { $_setSignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasLayers() => $_has(1); + @$pb.TagNumber(2) + void clearLayers() => clearField(2); + + @$pb.TagNumber(3) + $core.String get namespace => $_getSZ(2); + @$pb.TagNumber(3) + set namespace($core.String v) { $_setString(2, v); } + @$pb.TagNumber(3) + $core.bool hasNamespace() => $_has(2); + @$pb.TagNumber(3) + void clearNamespace() => clearField(3); +} + +class DestroyArguments extends $pb.GeneratedMessage { + factory DestroyArguments() => create(); + DestroyArguments._() : super(); + factory DestroyArguments.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory DestroyArguments.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'DestroyArguments', package: const $pb.PackageName(_omitMessageNames ? '' : 'storage_api'), createEmptyInstance: create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DestroyArguments clone() => DestroyArguments()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DestroyArguments copyWith(void Function(DestroyArguments) updates) => super.copyWith((message) => updates(message as DestroyArguments)) as DestroyArguments; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DestroyArguments create() => DestroyArguments._(); + DestroyArguments createEmptyInstance() => create(); + static $pb.PbList<DestroyArguments> createRepeated() => $pb.PbList<DestroyArguments>(); + @$core.pragma('dart2js:noInline') + static DestroyArguments getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<DestroyArguments>(create); + static DestroyArguments? _defaultInstance; +} + +class StandardResponse extends $pb.GeneratedMessage { + factory StandardResponse({ + $core.bool? success, + $core.String? message, + }) { + final $result = create(); + if (success != null) { + $result.success = success; + } + if (message != null) { + $result.message = message; + } + return $result; + } + StandardResponse._() : super(); + factory StandardResponse.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory StandardResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'StandardResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'storage_api'), createEmptyInstance: create) + ..aOB(1, _omitFieldNames ? '' : 'success') + ..aOS(2, _omitFieldNames ? '' : 'message') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + StandardResponse clone() => StandardResponse()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + StandardResponse copyWith(void Function(StandardResponse) updates) => super.copyWith((message) => updates(message as StandardResponse)) as StandardResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static StandardResponse create() => StandardResponse._(); + StandardResponse createEmptyInstance() => create(); + static $pb.PbList<StandardResponse> createRepeated() => $pb.PbList<StandardResponse>(); + @$core.pragma('dart2js:noInline') + static StandardResponse getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<StandardResponse>(create); + static StandardResponse? _defaultInstance; + + @$pb.TagNumber(1) + $core.bool get success => $_getBF(0); + @$pb.TagNumber(1) + set success($core.bool v) { $_setBool(0, v); } + @$pb.TagNumber(1) + $core.bool hasSuccess() => $_has(0); + @$pb.TagNumber(1) + void clearSuccess() => clearField(1); + + @$pb.TagNumber(2) + $core.String get message => $_getSZ(1); + @$pb.TagNumber(2) + set message($core.String v) { $_setString(1, v); } + @$pb.TagNumber(2) + $core.bool hasMessage() => $_has(1); + @$pb.TagNumber(2) + void clearMessage() => clearField(2); +} + +class ReadResponse extends $pb.GeneratedMessage { + factory ReadResponse({ + $core.bool? success, + $core.String? message, + $core.String? result, + }) { + final $result = create(); + if (success != null) { + $result.success = success; + } + if (message != null) { + $result.message = message; + } + if (result != null) { + $result.result = result; + } + return $result; + } + ReadResponse._() : super(); + factory ReadResponse.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ReadResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ReadResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'storage_api'), createEmptyInstance: create) + ..aOB(1, _omitFieldNames ? '' : 'success') + ..aOS(2, _omitFieldNames ? '' : 'message') + ..aOS(3, _omitFieldNames ? '' : 'result') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ReadResponse clone() => ReadResponse()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ReadResponse copyWith(void Function(ReadResponse) updates) => super.copyWith((message) => updates(message as ReadResponse)) as ReadResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ReadResponse create() => ReadResponse._(); + ReadResponse createEmptyInstance() => create(); + static $pb.PbList<ReadResponse> createRepeated() => $pb.PbList<ReadResponse>(); + @$core.pragma('dart2js:noInline') + static ReadResponse getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ReadResponse>(create); + static ReadResponse? _defaultInstance; + + @$pb.TagNumber(1) + $core.bool get success => $_getBF(0); + @$pb.TagNumber(1) + set success($core.bool v) { $_setBool(0, v); } + @$pb.TagNumber(1) + $core.bool hasSuccess() => $_has(0); + @$pb.TagNumber(1) + void clearSuccess() => clearField(1); + + @$pb.TagNumber(2) + $core.String get message => $_getSZ(1); + @$pb.TagNumber(2) + set message($core.String v) { $_setString(1, v); } + @$pb.TagNumber(2) + $core.bool hasMessage() => $_has(1); + @$pb.TagNumber(2) + void clearMessage() => clearField(2); + + @$pb.TagNumber(3) + $core.String get result => $_getSZ(2); + @$pb.TagNumber(3) + set result($core.String v) { $_setString(2, v); } + @$pb.TagNumber(3) + $core.bool hasResult() => $_has(2); + @$pb.TagNumber(3) + void clearResult() => clearField(3); +} + +class ListResponse extends $pb.GeneratedMessage { + factory ListResponse({ + $core.bool? success, + $core.String? message, + $core.Iterable<$core.String>? result, + }) { + final $result = create(); + if (success != null) { + $result.success = success; + } + if (message != null) { + $result.message = message; + } + if (result != null) { + $result.result.addAll(result); + } + return $result; + } + ListResponse._() : super(); + factory ListResponse.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ListResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ListResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'storage_api'), createEmptyInstance: create) + ..aOB(1, _omitFieldNames ? '' : 'success') + ..aOS(2, _omitFieldNames ? '' : 'message') + ..pPS(3, _omitFieldNames ? '' : 'result') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListResponse clone() => ListResponse()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListResponse copyWith(void Function(ListResponse) updates) => super.copyWith((message) => updates(message as ListResponse)) as ListResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListResponse create() => ListResponse._(); + ListResponse createEmptyInstance() => create(); + static $pb.PbList<ListResponse> createRepeated() => $pb.PbList<ListResponse>(); + @$core.pragma('dart2js:noInline') + static ListResponse getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ListResponse>(create); + static ListResponse? _defaultInstance; + + @$pb.TagNumber(1) + $core.bool get success => $_getBF(0); + @$pb.TagNumber(1) + set success($core.bool v) { $_setBool(0, v); } + @$pb.TagNumber(1) + $core.bool hasSuccess() => $_has(0); + @$pb.TagNumber(1) + void clearSuccess() => clearField(1); + + @$pb.TagNumber(2) + $core.String get message => $_getSZ(1); + @$pb.TagNumber(2) + set message($core.String v) { $_setString(1, v); } + @$pb.TagNumber(2) + $core.bool hasMessage() => $_has(1); + @$pb.TagNumber(2) + void clearMessage() => clearField(2); + + @$pb.TagNumber(3) + $core.List<$core.String> get result => $_getList(2); +} + + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/protos/lib/src/generated/storage_api.pbenum.dart b/protos/lib/src/generated/storage_api.pbenum.dart new file mode 100644 index 0000000..8c2646e --- /dev/null +++ b/protos/lib/src/generated/storage_api.pbenum.dart @@ -0,0 +1,11 @@ +// +// Generated code. Do not modify. +// source: protos/protos/storage_api.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + diff --git a/protos/lib/src/generated/storage_api.pbgrpc.dart b/protos/lib/src/generated/storage_api.pbgrpc.dart new file mode 100644 index 0000000..8bdd848 --- /dev/null +++ b/protos/lib/src/generated/storage_api.pbgrpc.dart @@ -0,0 +1,179 @@ +// +// Generated code. Do not modify. +// source: protos/protos/storage_api.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:async' as $async; +import 'dart:core' as $core; + +import 'package:grpc/service_api.dart' as $grpc; +import 'package:protobuf/protobuf.dart' as $pb; + +import 'storage_api.pb.dart' as $0; + +export 'storage_api.pb.dart'; + +@$pb.GrpcServiceName('storage_api.Database') +class DatabaseClient extends $grpc.Client { + static final _$destroyDB = $grpc.ClientMethod<$0.DestroyArguments, $0.StandardResponse>( + '/storage_api.Database/DestroyDB', + ($0.DestroyArguments value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.StandardResponse.fromBuffer(value)); + static final _$write = $grpc.ClientMethod<$0.KeyValue, $0.StandardResponse>( + '/storage_api.Database/Write', + ($0.KeyValue value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.StandardResponse.fromBuffer(value)); + static final _$read = $grpc.ClientMethod<$0.Key, $0.ReadResponse>( + '/storage_api.Database/Read', + ($0.Key value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.ReadResponse.fromBuffer(value)); + static final _$delete = $grpc.ClientMethod<$0.Key, $0.StandardResponse>( + '/storage_api.Database/Delete', + ($0.Key value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.StandardResponse.fromBuffer(value)); + static final _$search = $grpc.ClientMethod<$0.Key, $0.ListResponse>( + '/storage_api.Database/Search', + ($0.Key value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.ListResponse.fromBuffer(value)); + static final _$deleteNodes = $grpc.ClientMethod<$0.Key, $0.StandardResponse>( + '/storage_api.Database/DeleteNodes', + ($0.Key value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.StandardResponse.fromBuffer(value)); + static final _$listNodes = $grpc.ClientMethod<$0.SubtreeInfo, $0.ListResponse>( + '/storage_api.Database/ListNodes', + ($0.SubtreeInfo value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.ListResponse.fromBuffer(value)); + + DatabaseClient($grpc.ClientChannel channel, + {$grpc.CallOptions? options, + $core.Iterable<$grpc.ClientInterceptor>? interceptors}) + : super(channel, options: options, + interceptors: interceptors); + + $grpc.ResponseFuture<$0.StandardResponse> destroyDB($0.DestroyArguments request, {$grpc.CallOptions? options}) { + return $createUnaryCall(_$destroyDB, request, options: options); + } + + $grpc.ResponseFuture<$0.StandardResponse> write($0.KeyValue request, {$grpc.CallOptions? options}) { + return $createUnaryCall(_$write, request, options: options); + } + + $grpc.ResponseFuture<$0.ReadResponse> read($0.Key request, {$grpc.CallOptions? options}) { + return $createUnaryCall(_$read, request, options: options); + } + + $grpc.ResponseFuture<$0.StandardResponse> delete($0.Key request, {$grpc.CallOptions? options}) { + return $createUnaryCall(_$delete, request, options: options); + } + + $grpc.ResponseFuture<$0.ListResponse> search($0.Key request, {$grpc.CallOptions? options}) { + return $createUnaryCall(_$search, request, options: options); + } + + $grpc.ResponseFuture<$0.StandardResponse> deleteNodes($0.Key request, {$grpc.CallOptions? options}) { + return $createUnaryCall(_$deleteNodes, request, options: options); + } + + $grpc.ResponseFuture<$0.ListResponse> listNodes($0.SubtreeInfo request, {$grpc.CallOptions? options}) { + return $createUnaryCall(_$listNodes, request, options: options); + } +} + +@$pb.GrpcServiceName('storage_api.Database') +abstract class DatabaseServiceBase extends $grpc.Service { + $core.String get $name => 'storage_api.Database'; + + DatabaseServiceBase() { + $addMethod($grpc.ServiceMethod<$0.DestroyArguments, $0.StandardResponse>( + 'DestroyDB', + destroyDB_Pre, + false, + false, + ($core.List<$core.int> value) => $0.DestroyArguments.fromBuffer(value), + ($0.StandardResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$0.KeyValue, $0.StandardResponse>( + 'Write', + write_Pre, + false, + false, + ($core.List<$core.int> value) => $0.KeyValue.fromBuffer(value), + ($0.StandardResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$0.Key, $0.ReadResponse>( + 'Read', + read_Pre, + false, + false, + ($core.List<$core.int> value) => $0.Key.fromBuffer(value), + ($0.ReadResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$0.Key, $0.StandardResponse>( + 'Delete', + delete_Pre, + false, + false, + ($core.List<$core.int> value) => $0.Key.fromBuffer(value), + ($0.StandardResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$0.Key, $0.ListResponse>( + 'Search', + search_Pre, + false, + false, + ($core.List<$core.int> value) => $0.Key.fromBuffer(value), + ($0.ListResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$0.Key, $0.StandardResponse>( + 'DeleteNodes', + deleteNodes_Pre, + false, + false, + ($core.List<$core.int> value) => $0.Key.fromBuffer(value), + ($0.StandardResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$0.SubtreeInfo, $0.ListResponse>( + 'ListNodes', + listNodes_Pre, + false, + false, + ($core.List<$core.int> value) => $0.SubtreeInfo.fromBuffer(value), + ($0.ListResponse value) => value.writeToBuffer())); + } + + $async.Future<$0.StandardResponse> destroyDB_Pre($grpc.ServiceCall call, $async.Future<$0.DestroyArguments> request) async { + return destroyDB(call, await request); + } + + $async.Future<$0.StandardResponse> write_Pre($grpc.ServiceCall call, $async.Future<$0.KeyValue> request) async { + return write(call, await request); + } + + $async.Future<$0.ReadResponse> read_Pre($grpc.ServiceCall call, $async.Future<$0.Key> request) async { + return read(call, await request); + } + + $async.Future<$0.StandardResponse> delete_Pre($grpc.ServiceCall call, $async.Future<$0.Key> request) async { + return delete(call, await request); + } + + $async.Future<$0.ListResponse> search_Pre($grpc.ServiceCall call, $async.Future<$0.Key> request) async { + return search(call, await request); + } + + $async.Future<$0.StandardResponse> deleteNodes_Pre($grpc.ServiceCall call, $async.Future<$0.Key> request) async { + return deleteNodes(call, await request); + } + + $async.Future<$0.ListResponse> listNodes_Pre($grpc.ServiceCall call, $async.Future<$0.SubtreeInfo> request) async { + return listNodes(call, await request); + } + + $async.Future<$0.StandardResponse> destroyDB($grpc.ServiceCall call, $0.DestroyArguments request); + $async.Future<$0.StandardResponse> write($grpc.ServiceCall call, $0.KeyValue request); + $async.Future<$0.ReadResponse> read($grpc.ServiceCall call, $0.Key request); + $async.Future<$0.StandardResponse> delete($grpc.ServiceCall call, $0.Key request); + $async.Future<$0.ListResponse> search($grpc.ServiceCall call, $0.Key request); + $async.Future<$0.StandardResponse> deleteNodes($grpc.ServiceCall call, $0.Key request); + $async.Future<$0.ListResponse> listNodes($grpc.ServiceCall call, $0.SubtreeInfo request); +} diff --git a/protos/lib/src/generated/storage_api.pbjson.dart b/protos/lib/src/generated/storage_api.pbjson.dart new file mode 100644 index 0000000..f697b4b --- /dev/null +++ b/protos/lib/src/generated/storage_api.pbjson.dart @@ -0,0 +1,126 @@ +// +// Generated code. Do not modify. +// source: protos/protos/storage_api.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use keyDescriptor instead') +const Key$json = { + '1': 'Key', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'namespace', '3': 2, '4': 1, '5': 9, '10': 'namespace'}, + ], +}; + +/// Descriptor for `Key`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List keyDescriptor = $convert.base64Decode( + 'CgNLZXkSEAoDa2V5GAEgASgJUgNrZXkSHAoJbmFtZXNwYWNlGAIgASgJUgluYW1lc3BhY2U='); + +@$core.Deprecated('Use valueDescriptor instead') +const Value$json = { + '1': 'Value', + '2': [ + {'1': 'value', '3': 1, '4': 1, '5': 9, '10': 'value'}, + ], +}; + +/// Descriptor for `Value`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List valueDescriptor = $convert.base64Decode( + 'CgVWYWx1ZRIUCgV2YWx1ZRgBIAEoCVIFdmFsdWU='); + +@$core.Deprecated('Use keyValueDescriptor instead') +const KeyValue$json = { + '1': 'KeyValue', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + {'1': 'namespace', '3': 3, '4': 1, '5': 9, '10': 'namespace'}, + ], +}; + +/// Descriptor for `KeyValue`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List keyValueDescriptor = $convert.base64Decode( + 'CghLZXlWYWx1ZRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWUSHAoJbm' + 'FtZXNwYWNlGAMgASgJUgluYW1lc3BhY2U='); + +@$core.Deprecated('Use subtreeInfoDescriptor instead') +const SubtreeInfo$json = { + '1': 'SubtreeInfo', + '2': [ + {'1': 'node', '3': 1, '4': 1, '5': 9, '10': 'node'}, + {'1': 'layers', '3': 2, '4': 1, '5': 5, '9': 0, '10': 'layers', '17': true}, + {'1': 'namespace', '3': 3, '4': 1, '5': 9, '10': 'namespace'}, + ], + '8': [ + {'1': '_layers'}, + ], +}; + +/// Descriptor for `SubtreeInfo`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List subtreeInfoDescriptor = $convert.base64Decode( + 'CgtTdWJ0cmVlSW5mbxISCgRub2RlGAEgASgJUgRub2RlEhsKBmxheWVycxgCIAEoBUgAUgZsYX' + 'llcnOIAQESHAoJbmFtZXNwYWNlGAMgASgJUgluYW1lc3BhY2VCCQoHX2xheWVycw=='); + +@$core.Deprecated('Use destroyArgumentsDescriptor instead') +const DestroyArguments$json = { + '1': 'DestroyArguments', +}; + +/// Descriptor for `DestroyArguments`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List destroyArgumentsDescriptor = $convert.base64Decode( + 'ChBEZXN0cm95QXJndW1lbnRz'); + +@$core.Deprecated('Use standardResponseDescriptor instead') +const StandardResponse$json = { + '1': 'StandardResponse', + '2': [ + {'1': 'success', '3': 1, '4': 1, '5': 8, '10': 'success'}, + {'1': 'message', '3': 2, '4': 1, '5': 9, '10': 'message'}, + ], +}; + +/// Descriptor for `StandardResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List standardResponseDescriptor = $convert.base64Decode( + 'ChBTdGFuZGFyZFJlc3BvbnNlEhgKB3N1Y2Nlc3MYASABKAhSB3N1Y2Nlc3MSGAoHbWVzc2FnZR' + 'gCIAEoCVIHbWVzc2FnZQ=='); + +@$core.Deprecated('Use readResponseDescriptor instead') +const ReadResponse$json = { + '1': 'ReadResponse', + '2': [ + {'1': 'success', '3': 1, '4': 1, '5': 8, '10': 'success'}, + {'1': 'message', '3': 2, '4': 1, '5': 9, '10': 'message'}, + {'1': 'result', '3': 3, '4': 1, '5': 9, '10': 'result'}, + ], +}; + +/// Descriptor for `ReadResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List readResponseDescriptor = $convert.base64Decode( + 'CgxSZWFkUmVzcG9uc2USGAoHc3VjY2VzcxgBIAEoCFIHc3VjY2VzcxIYCgdtZXNzYWdlGAIgAS' + 'gJUgdtZXNzYWdlEhYKBnJlc3VsdBgDIAEoCVIGcmVzdWx0'); + +@$core.Deprecated('Use listResponseDescriptor instead') +const ListResponse$json = { + '1': 'ListResponse', + '2': [ + {'1': 'success', '3': 1, '4': 1, '5': 8, '10': 'success'}, + {'1': 'message', '3': 2, '4': 1, '5': 9, '10': 'message'}, + {'1': 'result', '3': 3, '4': 3, '5': 9, '10': 'result'}, + ], +}; + +/// Descriptor for `ListResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listResponseDescriptor = $convert.base64Decode( + 'CgxMaXN0UmVzcG9uc2USGAoHc3VjY2VzcxgBIAEoCFIHc3VjY2VzcxIYCgdtZXNzYWdlGAIgAS' + 'gJUgdtZXNzYWdlEhYKBnJlc3VsdBgDIAMoCVIGcmVzdWx0'); + diff --git a/protos/lib/storage-api.dart b/protos/lib/storage-api.dart new file mode 100644 index 0000000..eccfb04 --- /dev/null +++ b/protos/lib/storage-api.dart @@ -0,0 +1,8 @@ +library storage_api; + +export 'src/generated/storage_api.pb.dart'; +export 'src/generated/storage_api.pbenum.dart'; +export 'src/generated/storage_api.pbgrpc.dart'; +export 'src/generated/storage_api.pbjson.dart'; + +export 'package:grpc/grpc.dart';
\ No newline at end of file diff --git a/protos/protos/storage_api.proto b/protos/protos/storage_api.proto new file mode 100644 index 0000000..90272e8 --- /dev/null +++ b/protos/protos/storage_api.proto @@ -0,0 +1,66 @@ +syntax = "proto3"; + +package storage_api; + +service Database { + // Deletes the entire data base. + rpc DestroyDB(DestroyArguments) returns (StandardResponse); + + // Writes a key-value pair to the data base + rpc Write(KeyValue) returns (StandardResponse); + + // Reads the value for the given key from the data base. + rpc Read(Key) returns (ReadResponse); + + // Deletes the entry for the given key from the data base. + rpc Delete(Key) returns (StandardResponse); + + // Lists any keys that contain the given string. + rpc Search(Key) returns (ListResponse); + + // Deletes all keys in subtree of given root. Assumes that keys follow VSS-like tress structure. + rpc DeleteNodes(Key) returns (StandardResponse); + + // Lists all nodes in subtree of given root and depth. Assumes that keys follow VSS-like tress structure. + rpc ListNodes(SubtreeInfo) returns (ListResponse); +} + +message Key { + string key = 1; + string namespace = 2; +} + +message Value { + string value = 1; +} + +message KeyValue { + string key = 1; + string value = 2; + string namespace = 3; +} + +message SubtreeInfo { + string node = 1; + optional int32 layers = 2; + string namespace = 3; +} + +message DestroyArguments {} + +message StandardResponse { + bool success = 1; + string message = 2; +} + +message ReadResponse { + bool success = 1; + string message = 2; + string result = 3; +} + +message ListResponse { + bool success = 1; + string message = 2; + repeated string result = 3; +} |