Minor refactoring of proto source files; add dart and go libraries

This commit is contained in:
mitchell 2019-07-09 04:03:31 -04:00
parent 1b379b5c89
commit 0d44cc4ab9
15 changed files with 1838 additions and 16 deletions

3
README.md Normal file
View File

@ -0,0 +1,3 @@
# selfpass_protobuf
This repository contains the proto source files and generated language specific libraries for Selfpass' Protobuf over gRPC API.

View File

@ -1,25 +1,24 @@
syntax = "proto3";
package selfpass.credentials;
option go_package = "protobuf";
package selfpass;
import "google/protobuf/timestamp.proto";
service CredentialService {
rpc GetAllMetadata (GetAllMetadataRequest) returns (stream Metadata);
option go_package = "protobuf";
service Credentials {
rpc GetAllMetadata (SourceHostRequest) returns (stream Metadata);
rpc Get (IdRequest) returns (Credential);
rpc Create (CredentialRequest) returns (Credential);
rpc Update (UpdateRequest) returns (Credential);
rpc Delete (IdRequest) returns (DeleteResponse);
// rpc Dump (EmptyRequest) returns (DumpResponse);
rpc Delete (IdRequest) returns (SuccessResponse);
}
message DeleteResponse {
message SuccessResponse {
bool success = 1;
}
message GetAllMetadataRequest {
message SourceHostRequest {
string source_host = 1;
}
@ -32,13 +31,6 @@ message UpdateRequest {
CredentialRequest credential = 2;
}
message DumpResponse {
bytes contents = 1;
}
message EmptyRequest {
}
message Metadata {
string id = 1;
google.protobuf.Timestamp created_at = 2;

21
dart/.packages Normal file
View File

@ -0,0 +1,21 @@
# Generated by pub on 2019-07-09 03:34:14.169864.
async:file:///Users/m/.pub-cache/hosted/pub.dartlang.org/async-2.2.0/lib/
charcode:file:///Users/m/.pub-cache/hosted/pub.dartlang.org/charcode-1.1.2/lib/
collection:file:///Users/m/.pub-cache/hosted/pub.dartlang.org/collection-1.14.11/lib/
convert:file:///Users/m/.pub-cache/hosted/pub.dartlang.org/convert-2.1.1/lib/
crypto:file:///Users/m/.pub-cache/hosted/pub.dartlang.org/crypto-2.0.6/lib/
fixnum:file:///Users/m/.pub-cache/hosted/pub.dartlang.org/fixnum-0.10.9/lib/
googleapis_auth:file:///Users/m/.pub-cache/hosted/pub.dartlang.org/googleapis_auth-0.2.8/lib/
grpc:file:///Users/m/.pub-cache/hosted/pub.dartlang.org/grpc-1.0.3/lib/
http:file:///Users/m/.pub-cache/hosted/pub.dartlang.org/http-0.12.0+2/lib/
http2:file:///Users/m/.pub-cache/hosted/pub.dartlang.org/http2-1.0.0/lib/
http_parser:file:///Users/m/.pub-cache/hosted/pub.dartlang.org/http_parser-3.1.3/lib/
meta:file:///Users/m/.pub-cache/hosted/pub.dartlang.org/meta-1.1.7/lib/
path:file:///Users/m/.pub-cache/hosted/pub.dartlang.org/path-1.6.2/lib/
pedantic:file:///Users/m/.pub-cache/hosted/pub.dartlang.org/pedantic-1.8.0+1/lib/
protobuf:file:///Users/m/.pub-cache/hosted/pub.dartlang.org/protobuf-0.13.12/lib/
source_span:file:///Users/m/.pub-cache/hosted/pub.dartlang.org/source_span-1.5.5/lib/
string_scanner:file:///Users/m/.pub-cache/hosted/pub.dartlang.org/string_scanner-1.0.4/lib/
term_glyph:file:///Users/m/.pub-cache/hosted/pub.dartlang.org/term_glyph-1.1.0/lib/
typed_data:file:///Users/m/.pub-cache/hosted/pub.dartlang.org/typed_data-1.1.6/lib/
selfpass_protobuf:lib/

View File

@ -0,0 +1,478 @@
///
// Generated code. Do not modify.
// source: credentials.proto
///
// ignore_for_file: camel_case_types,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name
import 'dart:core' as $core
show bool, Deprecated, double, int, List, Map, override, pragma, String;
import 'package:protobuf/protobuf.dart' as $pb;
import 'google/protobuf/timestamp.pb.dart' as $1;
class SuccessResponse extends $pb.GeneratedMessage {
static final $pb.BuilderInfo _i = $pb.BuilderInfo('SuccessResponse',
package: const $pb.PackageName('selfpass'))
..aOB(1, 'success')
..hasRequiredFields = false;
SuccessResponse._() : super();
factory SuccessResponse() => create();
factory SuccessResponse.fromBuffer($core.List<$core.int> i,
[$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
create()..mergeFromBuffer(i, r);
factory SuccessResponse.fromJson($core.String i,
[$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
create()..mergeFromJson(i, r);
SuccessResponse clone() => SuccessResponse()..mergeFromMessage(this);
SuccessResponse copyWith(void Function(SuccessResponse) updates) =>
super.copyWith((message) => updates(message as SuccessResponse));
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static SuccessResponse create() => SuccessResponse._();
SuccessResponse createEmptyInstance() => create();
static $pb.PbList<SuccessResponse> createRepeated() =>
$pb.PbList<SuccessResponse>();
static SuccessResponse getDefault() =>
_defaultInstance ??= create()..freeze();
static SuccessResponse _defaultInstance;
$core.bool get success => $_get(0, false);
set success($core.bool v) {
$_setBool(0, v);
}
$core.bool hasSuccess() => $_has(0);
void clearSuccess() => clearField(1);
}
class SourceHostRequest extends $pb.GeneratedMessage {
static final $pb.BuilderInfo _i = $pb.BuilderInfo('SourceHostRequest',
package: const $pb.PackageName('selfpass'))
..aOS(1, 'sourceHost')
..hasRequiredFields = false;
SourceHostRequest._() : super();
factory SourceHostRequest() => create();
factory SourceHostRequest.fromBuffer($core.List<$core.int> i,
[$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
create()..mergeFromBuffer(i, r);
factory SourceHostRequest.fromJson($core.String i,
[$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
create()..mergeFromJson(i, r);
SourceHostRequest clone() => SourceHostRequest()..mergeFromMessage(this);
SourceHostRequest copyWith(void Function(SourceHostRequest) updates) =>
super.copyWith((message) => updates(message as SourceHostRequest));
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static SourceHostRequest create() => SourceHostRequest._();
SourceHostRequest createEmptyInstance() => create();
static $pb.PbList<SourceHostRequest> createRepeated() =>
$pb.PbList<SourceHostRequest>();
static SourceHostRequest getDefault() =>
_defaultInstance ??= create()..freeze();
static SourceHostRequest _defaultInstance;
$core.String get sourceHost => $_getS(0, '');
set sourceHost($core.String v) {
$_setString(0, v);
}
$core.bool hasSourceHost() => $_has(0);
void clearSourceHost() => clearField(1);
}
class IdRequest extends $pb.GeneratedMessage {
static final $pb.BuilderInfo _i =
$pb.BuilderInfo('IdRequest', package: const $pb.PackageName('selfpass'))
..aOS(1, 'id')
..hasRequiredFields = false;
IdRequest._() : super();
factory IdRequest() => create();
factory IdRequest.fromBuffer($core.List<$core.int> i,
[$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
create()..mergeFromBuffer(i, r);
factory IdRequest.fromJson($core.String i,
[$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
create()..mergeFromJson(i, r);
IdRequest clone() => IdRequest()..mergeFromMessage(this);
IdRequest copyWith(void Function(IdRequest) updates) =>
super.copyWith((message) => updates(message as IdRequest));
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static IdRequest create() => IdRequest._();
IdRequest createEmptyInstance() => create();
static $pb.PbList<IdRequest> createRepeated() => $pb.PbList<IdRequest>();
static IdRequest getDefault() => _defaultInstance ??= create()..freeze();
static IdRequest _defaultInstance;
$core.String get id => $_getS(0, '');
set id($core.String v) {
$_setString(0, v);
}
$core.bool hasId() => $_has(0);
void clearId() => clearField(1);
}
class UpdateRequest extends $pb.GeneratedMessage {
static final $pb.BuilderInfo _i = $pb.BuilderInfo('UpdateRequest',
package: const $pb.PackageName('selfpass'))
..aOS(1, 'id')
..a<CredentialRequest>(2, 'credential', $pb.PbFieldType.OM,
CredentialRequest.getDefault, CredentialRequest.create)
..hasRequiredFields = false;
UpdateRequest._() : super();
factory UpdateRequest() => create();
factory UpdateRequest.fromBuffer($core.List<$core.int> i,
[$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
create()..mergeFromBuffer(i, r);
factory UpdateRequest.fromJson($core.String i,
[$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
create()..mergeFromJson(i, r);
UpdateRequest clone() => UpdateRequest()..mergeFromMessage(this);
UpdateRequest copyWith(void Function(UpdateRequest) updates) =>
super.copyWith((message) => updates(message as UpdateRequest));
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static UpdateRequest create() => UpdateRequest._();
UpdateRequest createEmptyInstance() => create();
static $pb.PbList<UpdateRequest> createRepeated() =>
$pb.PbList<UpdateRequest>();
static UpdateRequest getDefault() => _defaultInstance ??= create()..freeze();
static UpdateRequest _defaultInstance;
$core.String get id => $_getS(0, '');
set id($core.String v) {
$_setString(0, v);
}
$core.bool hasId() => $_has(0);
void clearId() => clearField(1);
CredentialRequest get credential => $_getN(1);
set credential(CredentialRequest v) {
setField(2, v);
}
$core.bool hasCredential() => $_has(1);
void clearCredential() => clearField(2);
}
class Metadata extends $pb.GeneratedMessage {
static final $pb.BuilderInfo _i =
$pb.BuilderInfo('Metadata', package: const $pb.PackageName('selfpass'))
..aOS(1, 'id')
..a<$1.Timestamp>(2, 'createdAt', $pb.PbFieldType.OM,
$1.Timestamp.getDefault, $1.Timestamp.create)
..a<$1.Timestamp>(3, 'updatedAt', $pb.PbFieldType.OM,
$1.Timestamp.getDefault, $1.Timestamp.create)
..aOS(4, 'primary')
..aOS(5, 'sourceHost')
..aOS(6, 'loginUrl')
..aOS(7, 'tag')
..hasRequiredFields = false;
Metadata._() : super();
factory Metadata() => create();
factory Metadata.fromBuffer($core.List<$core.int> i,
[$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
create()..mergeFromBuffer(i, r);
factory Metadata.fromJson($core.String i,
[$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
create()..mergeFromJson(i, r);
Metadata clone() => Metadata()..mergeFromMessage(this);
Metadata copyWith(void Function(Metadata) updates) =>
super.copyWith((message) => updates(message as Metadata));
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static Metadata create() => Metadata._();
Metadata createEmptyInstance() => create();
static $pb.PbList<Metadata> createRepeated() => $pb.PbList<Metadata>();
static Metadata getDefault() => _defaultInstance ??= create()..freeze();
static Metadata _defaultInstance;
$core.String get id => $_getS(0, '');
set id($core.String v) {
$_setString(0, v);
}
$core.bool hasId() => $_has(0);
void clearId() => clearField(1);
$1.Timestamp get createdAt => $_getN(1);
set createdAt($1.Timestamp v) {
setField(2, v);
}
$core.bool hasCreatedAt() => $_has(1);
void clearCreatedAt() => clearField(2);
$1.Timestamp get updatedAt => $_getN(2);
set updatedAt($1.Timestamp v) {
setField(3, v);
}
$core.bool hasUpdatedAt() => $_has(2);
void clearUpdatedAt() => clearField(3);
$core.String get primary => $_getS(3, '');
set primary($core.String v) {
$_setString(3, v);
}
$core.bool hasPrimary() => $_has(3);
void clearPrimary() => clearField(4);
$core.String get sourceHost => $_getS(4, '');
set sourceHost($core.String v) {
$_setString(4, v);
}
$core.bool hasSourceHost() => $_has(4);
void clearSourceHost() => clearField(5);
$core.String get loginUrl => $_getS(5, '');
set loginUrl($core.String v) {
$_setString(5, v);
}
$core.bool hasLoginUrl() => $_has(5);
void clearLoginUrl() => clearField(6);
$core.String get tag => $_getS(6, '');
set tag($core.String v) {
$_setString(6, v);
}
$core.bool hasTag() => $_has(6);
void clearTag() => clearField(7);
}
class Credential extends $pb.GeneratedMessage {
static final $pb.BuilderInfo _i =
$pb.BuilderInfo('Credential', package: const $pb.PackageName('selfpass'))
..aOS(1, 'id')
..a<$1.Timestamp>(2, 'createdAt', $pb.PbFieldType.OM,
$1.Timestamp.getDefault, $1.Timestamp.create)
..a<$1.Timestamp>(3, 'updatedAt', $pb.PbFieldType.OM,
$1.Timestamp.getDefault, $1.Timestamp.create)
..aOS(4, 'primary')
..aOS(5, 'username')
..aOS(6, 'email')
..aOS(7, 'password')
..aOS(8, 'sourceHost')
..aOS(9, 'loginUrl')
..aOS(10, 'tag')
..aOS(11, 'otpSecret')
..hasRequiredFields = false;
Credential._() : super();
factory Credential() => create();
factory Credential.fromBuffer($core.List<$core.int> i,
[$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
create()..mergeFromBuffer(i, r);
factory Credential.fromJson($core.String i,
[$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
create()..mergeFromJson(i, r);
Credential clone() => Credential()..mergeFromMessage(this);
Credential copyWith(void Function(Credential) updates) =>
super.copyWith((message) => updates(message as Credential));
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static Credential create() => Credential._();
Credential createEmptyInstance() => create();
static $pb.PbList<Credential> createRepeated() => $pb.PbList<Credential>();
static Credential getDefault() => _defaultInstance ??= create()..freeze();
static Credential _defaultInstance;
$core.String get id => $_getS(0, '');
set id($core.String v) {
$_setString(0, v);
}
$core.bool hasId() => $_has(0);
void clearId() => clearField(1);
$1.Timestamp get createdAt => $_getN(1);
set createdAt($1.Timestamp v) {
setField(2, v);
}
$core.bool hasCreatedAt() => $_has(1);
void clearCreatedAt() => clearField(2);
$1.Timestamp get updatedAt => $_getN(2);
set updatedAt($1.Timestamp v) {
setField(3, v);
}
$core.bool hasUpdatedAt() => $_has(2);
void clearUpdatedAt() => clearField(3);
$core.String get primary => $_getS(3, '');
set primary($core.String v) {
$_setString(3, v);
}
$core.bool hasPrimary() => $_has(3);
void clearPrimary() => clearField(4);
$core.String get username => $_getS(4, '');
set username($core.String v) {
$_setString(4, v);
}
$core.bool hasUsername() => $_has(4);
void clearUsername() => clearField(5);
$core.String get email => $_getS(5, '');
set email($core.String v) {
$_setString(5, v);
}
$core.bool hasEmail() => $_has(5);
void clearEmail() => clearField(6);
$core.String get password => $_getS(6, '');
set password($core.String v) {
$_setString(6, v);
}
$core.bool hasPassword() => $_has(6);
void clearPassword() => clearField(7);
$core.String get sourceHost => $_getS(7, '');
set sourceHost($core.String v) {
$_setString(7, v);
}
$core.bool hasSourceHost() => $_has(7);
void clearSourceHost() => clearField(8);
$core.String get loginUrl => $_getS(8, '');
set loginUrl($core.String v) {
$_setString(8, v);
}
$core.bool hasLoginUrl() => $_has(8);
void clearLoginUrl() => clearField(9);
$core.String get tag => $_getS(9, '');
set tag($core.String v) {
$_setString(9, v);
}
$core.bool hasTag() => $_has(9);
void clearTag() => clearField(10);
$core.String get otpSecret => $_getS(10, '');
set otpSecret($core.String v) {
$_setString(10, v);
}
$core.bool hasOtpSecret() => $_has(10);
void clearOtpSecret() => clearField(11);
}
class CredentialRequest extends $pb.GeneratedMessage {
static final $pb.BuilderInfo _i = $pb.BuilderInfo('CredentialRequest',
package: const $pb.PackageName('selfpass'))
..aOS(1, 'primary')
..aOS(2, 'username')
..aOS(3, 'email')
..aOS(4, 'password')
..aOS(5, 'sourceHost')
..aOS(6, 'loginUrl')
..aOS(7, 'tag')
..aOS(8, 'otpSecret')
..hasRequiredFields = false;
CredentialRequest._() : super();
factory CredentialRequest() => create();
factory CredentialRequest.fromBuffer($core.List<$core.int> i,
[$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
create()..mergeFromBuffer(i, r);
factory CredentialRequest.fromJson($core.String i,
[$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
create()..mergeFromJson(i, r);
CredentialRequest clone() => CredentialRequest()..mergeFromMessage(this);
CredentialRequest copyWith(void Function(CredentialRequest) updates) =>
super.copyWith((message) => updates(message as CredentialRequest));
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static CredentialRequest create() => CredentialRequest._();
CredentialRequest createEmptyInstance() => create();
static $pb.PbList<CredentialRequest> createRepeated() =>
$pb.PbList<CredentialRequest>();
static CredentialRequest getDefault() =>
_defaultInstance ??= create()..freeze();
static CredentialRequest _defaultInstance;
$core.String get primary => $_getS(0, '');
set primary($core.String v) {
$_setString(0, v);
}
$core.bool hasPrimary() => $_has(0);
void clearPrimary() => clearField(1);
$core.String get username => $_getS(1, '');
set username($core.String v) {
$_setString(1, v);
}
$core.bool hasUsername() => $_has(1);
void clearUsername() => clearField(2);
$core.String get email => $_getS(2, '');
set email($core.String v) {
$_setString(2, v);
}
$core.bool hasEmail() => $_has(2);
void clearEmail() => clearField(3);
$core.String get password => $_getS(3, '');
set password($core.String v) {
$_setString(3, v);
}
$core.bool hasPassword() => $_has(3);
void clearPassword() => clearField(4);
$core.String get sourceHost => $_getS(4, '');
set sourceHost($core.String v) {
$_setString(4, v);
}
$core.bool hasSourceHost() => $_has(4);
void clearSourceHost() => clearField(5);
$core.String get loginUrl => $_getS(5, '');
set loginUrl($core.String v) {
$_setString(5, v);
}
$core.bool hasLoginUrl() => $_has(5);
void clearLoginUrl() => clearField(6);
$core.String get tag => $_getS(6, '');
set tag($core.String v) {
$_setString(6, v);
}
$core.bool hasTag() => $_has(6);
void clearTag() => clearField(7);
$core.String get otpSecret => $_getS(7, '');
set otpSecret($core.String v) {
$_setString(7, v);
}
$core.bool hasOtpSecret() => $_has(7);
void clearOtpSecret() => clearField(8);
}

View File

@ -0,0 +1,5 @@
///
// Generated code. Do not modify.
// source: credentials.proto
///
// ignore_for_file: camel_case_types,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name

View File

@ -0,0 +1,155 @@
///
// Generated code. Do not modify.
// source: credentials.proto
///
// ignore_for_file: camel_case_types,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name
import 'dart:async' as $async;
import 'dart:core' as $core show int, String, List;
import 'package:grpc/service_api.dart' as $grpc;
import 'credentials.pb.dart' as $0;
export 'credentials.pb.dart';
class CredentialsClient extends $grpc.Client {
static final _$getAllMetadata =
$grpc.ClientMethod<$0.SourceHostRequest, $0.Metadata>(
'/selfpass.Credentials/GetAllMetadata',
($0.SourceHostRequest value) => value.writeToBuffer(),
($core.List<$core.int> value) => $0.Metadata.fromBuffer(value));
static final _$get = $grpc.ClientMethod<$0.IdRequest, $0.Credential>(
'/selfpass.Credentials/Get',
($0.IdRequest value) => value.writeToBuffer(),
($core.List<$core.int> value) => $0.Credential.fromBuffer(value));
static final _$create =
$grpc.ClientMethod<$0.CredentialRequest, $0.Credential>(
'/selfpass.Credentials/Create',
($0.CredentialRequest value) => value.writeToBuffer(),
($core.List<$core.int> value) => $0.Credential.fromBuffer(value));
static final _$update = $grpc.ClientMethod<$0.UpdateRequest, $0.Credential>(
'/selfpass.Credentials/Update',
($0.UpdateRequest value) => value.writeToBuffer(),
($core.List<$core.int> value) => $0.Credential.fromBuffer(value));
static final _$delete = $grpc.ClientMethod<$0.IdRequest, $0.SuccessResponse>(
'/selfpass.Credentials/Delete',
($0.IdRequest value) => value.writeToBuffer(),
($core.List<$core.int> value) => $0.SuccessResponse.fromBuffer(value));
CredentialsClient($grpc.ClientChannel channel, {$grpc.CallOptions options})
: super(channel, options: options);
$grpc.ResponseStream<$0.Metadata> getAllMetadata($0.SourceHostRequest request,
{$grpc.CallOptions options}) {
final call = $createCall(
_$getAllMetadata, $async.Stream.fromIterable([request]),
options: options);
return $grpc.ResponseStream(call);
}
$grpc.ResponseFuture<$0.Credential> get($0.IdRequest request,
{$grpc.CallOptions options}) {
final call = $createCall(_$get, $async.Stream.fromIterable([request]),
options: options);
return $grpc.ResponseFuture(call);
}
$grpc.ResponseFuture<$0.Credential> create($0.CredentialRequest request,
{$grpc.CallOptions options}) {
final call = $createCall(_$create, $async.Stream.fromIterable([request]),
options: options);
return $grpc.ResponseFuture(call);
}
$grpc.ResponseFuture<$0.Credential> update($0.UpdateRequest request,
{$grpc.CallOptions options}) {
final call = $createCall(_$update, $async.Stream.fromIterable([request]),
options: options);
return $grpc.ResponseFuture(call);
}
$grpc.ResponseFuture<$0.SuccessResponse> delete($0.IdRequest request,
{$grpc.CallOptions options}) {
final call = $createCall(_$delete, $async.Stream.fromIterable([request]),
options: options);
return $grpc.ResponseFuture(call);
}
}
abstract class CredentialsServiceBase extends $grpc.Service {
$core.String get $name => 'selfpass.Credentials';
CredentialsServiceBase() {
$addMethod($grpc.ServiceMethod<$0.SourceHostRequest, $0.Metadata>(
'GetAllMetadata',
getAllMetadata_Pre,
false,
true,
($core.List<$core.int> value) => $0.SourceHostRequest.fromBuffer(value),
($0.Metadata value) => value.writeToBuffer()));
$addMethod($grpc.ServiceMethod<$0.IdRequest, $0.Credential>(
'Get',
get_Pre,
false,
false,
($core.List<$core.int> value) => $0.IdRequest.fromBuffer(value),
($0.Credential value) => value.writeToBuffer()));
$addMethod($grpc.ServiceMethod<$0.CredentialRequest, $0.Credential>(
'Create',
create_Pre,
false,
false,
($core.List<$core.int> value) => $0.CredentialRequest.fromBuffer(value),
($0.Credential value) => value.writeToBuffer()));
$addMethod($grpc.ServiceMethod<$0.UpdateRequest, $0.Credential>(
'Update',
update_Pre,
false,
false,
($core.List<$core.int> value) => $0.UpdateRequest.fromBuffer(value),
($0.Credential value) => value.writeToBuffer()));
$addMethod($grpc.ServiceMethod<$0.IdRequest, $0.SuccessResponse>(
'Delete',
delete_Pre,
false,
false,
($core.List<$core.int> value) => $0.IdRequest.fromBuffer(value),
($0.SuccessResponse value) => value.writeToBuffer()));
}
$async.Stream<$0.Metadata> getAllMetadata_Pre(
$grpc.ServiceCall call, $async.Future request) async* {
yield* getAllMetadata(call, (await request) as $0.SourceHostRequest);
}
$async.Future<$0.Credential> get_Pre(
$grpc.ServiceCall call, $async.Future request) async {
return get(call, await request);
}
$async.Future<$0.Credential> create_Pre(
$grpc.ServiceCall call, $async.Future request) async {
return create(call, await request);
}
$async.Future<$0.Credential> update_Pre(
$grpc.ServiceCall call, $async.Future request) async {
return update(call, await request);
}
$async.Future<$0.SuccessResponse> delete_Pre(
$grpc.ServiceCall call, $async.Future request) async {
return delete(call, await request);
}
$async.Stream<$0.Metadata> getAllMetadata(
$grpc.ServiceCall call, $0.SourceHostRequest request);
$async.Future<$0.Credential> get(
$grpc.ServiceCall call, $0.IdRequest request);
$async.Future<$0.Credential> create(
$grpc.ServiceCall call, $0.CredentialRequest request);
$async.Future<$0.Credential> update(
$grpc.ServiceCall call, $0.UpdateRequest request);
$async.Future<$0.SuccessResponse> delete(
$grpc.ServiceCall call, $0.IdRequest request);
}

View File

@ -0,0 +1,113 @@
///
// Generated code. Do not modify.
// source: credentials.proto
///
// ignore_for_file: camel_case_types,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name
const SuccessResponse$json = const {
'1': 'SuccessResponse',
'2': const [
const {'1': 'success', '3': 1, '4': 1, '5': 8, '10': 'success'},
],
};
const SourceHostRequest$json = const {
'1': 'SourceHostRequest',
'2': const [
const {'1': 'source_host', '3': 1, '4': 1, '5': 9, '10': 'sourceHost'},
],
};
const IdRequest$json = const {
'1': 'IdRequest',
'2': const [
const {'1': 'id', '3': 1, '4': 1, '5': 9, '10': 'id'},
],
};
const UpdateRequest$json = const {
'1': 'UpdateRequest',
'2': const [
const {'1': 'id', '3': 1, '4': 1, '5': 9, '10': 'id'},
const {
'1': 'credential',
'3': 2,
'4': 1,
'5': 11,
'6': '.selfpass.CredentialRequest',
'10': 'credential'
},
],
};
const Metadata$json = const {
'1': 'Metadata',
'2': const [
const {'1': 'id', '3': 1, '4': 1, '5': 9, '10': 'id'},
const {
'1': 'created_at',
'3': 2,
'4': 1,
'5': 11,
'6': '.google.protobuf.Timestamp',
'10': 'createdAt'
},
const {
'1': 'updated_at',
'3': 3,
'4': 1,
'5': 11,
'6': '.google.protobuf.Timestamp',
'10': 'updatedAt'
},
const {'1': 'primary', '3': 4, '4': 1, '5': 9, '10': 'primary'},
const {'1': 'source_host', '3': 5, '4': 1, '5': 9, '10': 'sourceHost'},
const {'1': 'login_url', '3': 6, '4': 1, '5': 9, '10': 'loginUrl'},
const {'1': 'tag', '3': 7, '4': 1, '5': 9, '10': 'tag'},
],
};
const Credential$json = const {
'1': 'Credential',
'2': const [
const {'1': 'id', '3': 1, '4': 1, '5': 9, '10': 'id'},
const {
'1': 'created_at',
'3': 2,
'4': 1,
'5': 11,
'6': '.google.protobuf.Timestamp',
'10': 'createdAt'
},
const {
'1': 'updated_at',
'3': 3,
'4': 1,
'5': 11,
'6': '.google.protobuf.Timestamp',
'10': 'updatedAt'
},
const {'1': 'primary', '3': 4, '4': 1, '5': 9, '10': 'primary'},
const {'1': 'username', '3': 5, '4': 1, '5': 9, '10': 'username'},
const {'1': 'email', '3': 6, '4': 1, '5': 9, '10': 'email'},
const {'1': 'password', '3': 7, '4': 1, '5': 9, '10': 'password'},
const {'1': 'source_host', '3': 8, '4': 1, '5': 9, '10': 'sourceHost'},
const {'1': 'login_url', '3': 9, '4': 1, '5': 9, '10': 'loginUrl'},
const {'1': 'tag', '3': 10, '4': 1, '5': 9, '10': 'tag'},
const {'1': 'otp_secret', '3': 11, '4': 1, '5': 9, '10': 'otpSecret'},
],
};
const CredentialRequest$json = const {
'1': 'CredentialRequest',
'2': const [
const {'1': 'primary', '3': 1, '4': 1, '5': 9, '10': 'primary'},
const {'1': 'username', '3': 2, '4': 1, '5': 9, '10': 'username'},
const {'1': 'email', '3': 3, '4': 1, '5': 9, '10': 'email'},
const {'1': 'password', '3': 4, '4': 1, '5': 9, '10': 'password'},
const {'1': 'source_host', '3': 5, '4': 1, '5': 9, '10': 'sourceHost'},
const {'1': 'login_url', '3': 6, '4': 1, '5': 9, '10': 'loginUrl'},
const {'1': 'tag', '3': 7, '4': 1, '5': 9, '10': 'tag'},
const {'1': 'otp_secret', '3': 8, '4': 1, '5': 9, '10': 'otpSecret'},
],
};

View File

@ -0,0 +1,61 @@
///
// Generated code. Do not modify.
// source: timestamp.proto
///
// ignore_for_file: camel_case_types,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name
import 'dart:core' as $core show bool, Deprecated, double, int, List, Map, override, pragma, String;
import 'package:fixnum/fixnum.dart';
import 'package:protobuf/protobuf.dart' as $pb;
import 'dart:core' as $core show DateTime, Duration;
class Timestamp extends $pb.GeneratedMessage {
static final $pb.BuilderInfo _i = $pb.BuilderInfo('Timestamp', package: const $pb.PackageName('google.protobuf'))
..aInt64(1, 'seconds')
..a<$core.int>(2, 'nanos', $pb.PbFieldType.O3)
..hasRequiredFields = false
;
Timestamp._() : super();
factory Timestamp() => create();
factory Timestamp.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
factory Timestamp.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
Timestamp clone() => Timestamp()..mergeFromMessage(this);
Timestamp copyWith(void Function(Timestamp) updates) => super.copyWith((message) => updates(message as Timestamp));
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static Timestamp create() => Timestamp._();
Timestamp createEmptyInstance() => create();
static $pb.PbList<Timestamp> createRepeated() => $pb.PbList<Timestamp>();
static Timestamp getDefault() => _defaultInstance ??= create()..freeze();
static Timestamp _defaultInstance;
Int64 get seconds => $_getI64(0);
set seconds(Int64 v) { $_setInt64(0, v); }
$core.bool hasSeconds() => $_has(0);
void clearSeconds() => clearField(1);
$core.int get nanos => $_get(1, 0);
set nanos($core.int v) { $_setSignedInt32(1, v); }
$core.bool hasNanos() => $_has(1);
void clearNanos() => clearField(2);
/// Converts an instance to [DateTime].
///
/// The result is in UTC time zone and has microsecond precision, as
/// [DateTime] does not support nanosecond precision.
$core.DateTime toDateTime() => $core.DateTime.fromMicrosecondsSinceEpoch(
seconds.toInt() * $core.Duration.microsecondsPerSecond + nanos ~/ 1000,
isUtc: true);
/// Creates a new instance from [dateTime].
///
/// Time zone information will not be preserved.
static Timestamp fromDateTime($core.DateTime dateTime) {
$core.int micros = dateTime.microsecondsSinceEpoch;
return Timestamp()
..seconds = Int64(micros ~/ $core.Duration.microsecondsPerSecond)
..nanos = (micros % $core.Duration.microsecondsPerSecond).toInt() * 1000;
}
}

View File

@ -0,0 +1,6 @@
///
// Generated code. Do not modify.
// source: timestamp.proto
///
// ignore_for_file: camel_case_types,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name

View File

@ -0,0 +1,14 @@
///
// Generated code. Do not modify.
// source: timestamp.proto
///
// ignore_for_file: camel_case_types,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name
const Timestamp$json = const {
'1': 'Timestamp',
'2': const [
const {'1': 'seconds', '3': 1, '4': 1, '5': 3, '10': 'seconds'},
const {'1': 'nanos', '3': 2, '4': 1, '5': 5, '10': 'nanos'},
],
};

138
dart/pubspec.lock Normal file
View File

@ -0,0 +1,138 @@
# Generated by pub
# See https://dart.dev/tools/pub/glossary#lockfile
packages:
async:
dependency: transitive
description:
name: async
url: "https://pub.dartlang.org"
source: hosted
version: "2.2.0"
charcode:
dependency: transitive
description:
name: charcode
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.2"
collection:
dependency: transitive
description:
name: collection
url: "https://pub.dartlang.org"
source: hosted
version: "1.14.11"
convert:
dependency: transitive
description:
name: convert
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.1"
crypto:
dependency: transitive
description:
name: crypto
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.6"
fixnum:
dependency: transitive
description:
name: fixnum
url: "https://pub.dartlang.org"
source: hosted
version: "0.10.9"
googleapis_auth:
dependency: transitive
description:
name: googleapis_auth
url: "https://pub.dartlang.org"
source: hosted
version: "0.2.8"
grpc:
dependency: "direct main"
description:
name: grpc
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.3"
http:
dependency: transitive
description:
name: http
url: "https://pub.dartlang.org"
source: hosted
version: "0.12.0+2"
http2:
dependency: transitive
description:
name: http2
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.0"
http_parser:
dependency: transitive
description:
name: http_parser
url: "https://pub.dartlang.org"
source: hosted
version: "3.1.3"
meta:
dependency: transitive
description:
name: meta
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.7"
path:
dependency: transitive
description:
name: path
url: "https://pub.dartlang.org"
source: hosted
version: "1.6.2"
pedantic:
dependency: transitive
description:
name: pedantic
url: "https://pub.dartlang.org"
source: hosted
version: "1.8.0+1"
protobuf:
dependency: "direct main"
description:
name: protobuf
url: "https://pub.dartlang.org"
source: hosted
version: "0.13.12"
source_span:
dependency: transitive
description:
name: source_span
url: "https://pub.dartlang.org"
source: hosted
version: "1.5.5"
string_scanner:
dependency: transitive
description:
name: string_scanner
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.4"
term_glyph:
dependency: transitive
description:
name: term_glyph
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.0"
typed_data:
dependency: transitive
description:
name: typed_data
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.6"
sdks:
dart: ">=2.1.1-dev.0.0 <3.0.0"

8
dart/pubspec.yaml Normal file
View File

@ -0,0 +1,8 @@
name: selfpass_protobuf
environment:
sdk: ">=2.0.0 <3.0.0"
dependencies:
protobuf: ^0.13.12
grpc: ^1.0.3

792
go/credentials.pb.go Normal file
View File

@ -0,0 +1,792 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: credentials.proto
package protobuf
import (
context "context"
fmt "fmt"
proto "github.com/golang/protobuf/proto"
timestamp "github.com/golang/protobuf/ptypes/timestamp"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
math "math"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
type SuccessResponse struct {
Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SuccessResponse) Reset() { *m = SuccessResponse{} }
func (m *SuccessResponse) String() string { return proto.CompactTextString(m) }
func (*SuccessResponse) ProtoMessage() {}
func (*SuccessResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_9f10b41ff9e8e07a, []int{0}
}
func (m *SuccessResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SuccessResponse.Unmarshal(m, b)
}
func (m *SuccessResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SuccessResponse.Marshal(b, m, deterministic)
}
func (m *SuccessResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_SuccessResponse.Merge(m, src)
}
func (m *SuccessResponse) XXX_Size() int {
return xxx_messageInfo_SuccessResponse.Size(m)
}
func (m *SuccessResponse) XXX_DiscardUnknown() {
xxx_messageInfo_SuccessResponse.DiscardUnknown(m)
}
var xxx_messageInfo_SuccessResponse proto.InternalMessageInfo
func (m *SuccessResponse) GetSuccess() bool {
if m != nil {
return m.Success
}
return false
}
type SourceHostRequest struct {
SourceHost string `protobuf:"bytes,1,opt,name=source_host,json=sourceHost,proto3" json:"source_host,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SourceHostRequest) Reset() { *m = SourceHostRequest{} }
func (m *SourceHostRequest) String() string { return proto.CompactTextString(m) }
func (*SourceHostRequest) ProtoMessage() {}
func (*SourceHostRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_9f10b41ff9e8e07a, []int{1}
}
func (m *SourceHostRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SourceHostRequest.Unmarshal(m, b)
}
func (m *SourceHostRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SourceHostRequest.Marshal(b, m, deterministic)
}
func (m *SourceHostRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_SourceHostRequest.Merge(m, src)
}
func (m *SourceHostRequest) XXX_Size() int {
return xxx_messageInfo_SourceHostRequest.Size(m)
}
func (m *SourceHostRequest) XXX_DiscardUnknown() {
xxx_messageInfo_SourceHostRequest.DiscardUnknown(m)
}
var xxx_messageInfo_SourceHostRequest proto.InternalMessageInfo
func (m *SourceHostRequest) GetSourceHost() string {
if m != nil {
return m.SourceHost
}
return ""
}
type IdRequest struct {
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *IdRequest) Reset() { *m = IdRequest{} }
func (m *IdRequest) String() string { return proto.CompactTextString(m) }
func (*IdRequest) ProtoMessage() {}
func (*IdRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_9f10b41ff9e8e07a, []int{2}
}
func (m *IdRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_IdRequest.Unmarshal(m, b)
}
func (m *IdRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_IdRequest.Marshal(b, m, deterministic)
}
func (m *IdRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_IdRequest.Merge(m, src)
}
func (m *IdRequest) XXX_Size() int {
return xxx_messageInfo_IdRequest.Size(m)
}
func (m *IdRequest) XXX_DiscardUnknown() {
xxx_messageInfo_IdRequest.DiscardUnknown(m)
}
var xxx_messageInfo_IdRequest proto.InternalMessageInfo
func (m *IdRequest) GetId() string {
if m != nil {
return m.Id
}
return ""
}
type UpdateRequest struct {
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Credential *CredentialRequest `protobuf:"bytes,2,opt,name=credential,proto3" json:"credential,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *UpdateRequest) Reset() { *m = UpdateRequest{} }
func (m *UpdateRequest) String() string { return proto.CompactTextString(m) }
func (*UpdateRequest) ProtoMessage() {}
func (*UpdateRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_9f10b41ff9e8e07a, []int{3}
}
func (m *UpdateRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UpdateRequest.Unmarshal(m, b)
}
func (m *UpdateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_UpdateRequest.Marshal(b, m, deterministic)
}
func (m *UpdateRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_UpdateRequest.Merge(m, src)
}
func (m *UpdateRequest) XXX_Size() int {
return xxx_messageInfo_UpdateRequest.Size(m)
}
func (m *UpdateRequest) XXX_DiscardUnknown() {
xxx_messageInfo_UpdateRequest.DiscardUnknown(m)
}
var xxx_messageInfo_UpdateRequest proto.InternalMessageInfo
func (m *UpdateRequest) GetId() string {
if m != nil {
return m.Id
}
return ""
}
func (m *UpdateRequest) GetCredential() *CredentialRequest {
if m != nil {
return m.Credential
}
return nil
}
type Metadata struct {
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
CreatedAt *timestamp.Timestamp `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
UpdatedAt *timestamp.Timestamp `protobuf:"bytes,3,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Primary string `protobuf:"bytes,4,opt,name=primary,proto3" json:"primary,omitempty"`
SourceHost string `protobuf:"bytes,5,opt,name=source_host,json=sourceHost,proto3" json:"source_host,omitempty"`
LoginUrl string `protobuf:"bytes,6,opt,name=login_url,json=loginUrl,proto3" json:"login_url,omitempty"`
Tag string `protobuf:"bytes,7,opt,name=tag,proto3" json:"tag,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Metadata) Reset() { *m = Metadata{} }
func (m *Metadata) String() string { return proto.CompactTextString(m) }
func (*Metadata) ProtoMessage() {}
func (*Metadata) Descriptor() ([]byte, []int) {
return fileDescriptor_9f10b41ff9e8e07a, []int{4}
}
func (m *Metadata) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Metadata.Unmarshal(m, b)
}
func (m *Metadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Metadata.Marshal(b, m, deterministic)
}
func (m *Metadata) XXX_Merge(src proto.Message) {
xxx_messageInfo_Metadata.Merge(m, src)
}
func (m *Metadata) XXX_Size() int {
return xxx_messageInfo_Metadata.Size(m)
}
func (m *Metadata) XXX_DiscardUnknown() {
xxx_messageInfo_Metadata.DiscardUnknown(m)
}
var xxx_messageInfo_Metadata proto.InternalMessageInfo
func (m *Metadata) GetId() string {
if m != nil {
return m.Id
}
return ""
}
func (m *Metadata) GetCreatedAt() *timestamp.Timestamp {
if m != nil {
return m.CreatedAt
}
return nil
}
func (m *Metadata) GetUpdatedAt() *timestamp.Timestamp {
if m != nil {
return m.UpdatedAt
}
return nil
}
func (m *Metadata) GetPrimary() string {
if m != nil {
return m.Primary
}
return ""
}
func (m *Metadata) GetSourceHost() string {
if m != nil {
return m.SourceHost
}
return ""
}
func (m *Metadata) GetLoginUrl() string {
if m != nil {
return m.LoginUrl
}
return ""
}
func (m *Metadata) GetTag() string {
if m != nil {
return m.Tag
}
return ""
}
type Credential struct {
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
CreatedAt *timestamp.Timestamp `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
UpdatedAt *timestamp.Timestamp `protobuf:"bytes,3,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Primary string `protobuf:"bytes,4,opt,name=primary,proto3" json:"primary,omitempty"`
Username string `protobuf:"bytes,5,opt,name=username,proto3" json:"username,omitempty"`
Email string `protobuf:"bytes,6,opt,name=email,proto3" json:"email,omitempty"`
Password string `protobuf:"bytes,7,opt,name=password,proto3" json:"password,omitempty"`
SourceHost string `protobuf:"bytes,8,opt,name=source_host,json=sourceHost,proto3" json:"source_host,omitempty"`
LoginUrl string `protobuf:"bytes,9,opt,name=login_url,json=loginUrl,proto3" json:"login_url,omitempty"`
Tag string `protobuf:"bytes,10,opt,name=tag,proto3" json:"tag,omitempty"`
OtpSecret string `protobuf:"bytes,11,opt,name=otp_secret,json=otpSecret,proto3" json:"otp_secret,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Credential) Reset() { *m = Credential{} }
func (m *Credential) String() string { return proto.CompactTextString(m) }
func (*Credential) ProtoMessage() {}
func (*Credential) Descriptor() ([]byte, []int) {
return fileDescriptor_9f10b41ff9e8e07a, []int{5}
}
func (m *Credential) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Credential.Unmarshal(m, b)
}
func (m *Credential) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Credential.Marshal(b, m, deterministic)
}
func (m *Credential) XXX_Merge(src proto.Message) {
xxx_messageInfo_Credential.Merge(m, src)
}
func (m *Credential) XXX_Size() int {
return xxx_messageInfo_Credential.Size(m)
}
func (m *Credential) XXX_DiscardUnknown() {
xxx_messageInfo_Credential.DiscardUnknown(m)
}
var xxx_messageInfo_Credential proto.InternalMessageInfo
func (m *Credential) GetId() string {
if m != nil {
return m.Id
}
return ""
}
func (m *Credential) GetCreatedAt() *timestamp.Timestamp {
if m != nil {
return m.CreatedAt
}
return nil
}
func (m *Credential) GetUpdatedAt() *timestamp.Timestamp {
if m != nil {
return m.UpdatedAt
}
return nil
}
func (m *Credential) GetPrimary() string {
if m != nil {
return m.Primary
}
return ""
}
func (m *Credential) GetUsername() string {
if m != nil {
return m.Username
}
return ""
}
func (m *Credential) GetEmail() string {
if m != nil {
return m.Email
}
return ""
}
func (m *Credential) GetPassword() string {
if m != nil {
return m.Password
}
return ""
}
func (m *Credential) GetSourceHost() string {
if m != nil {
return m.SourceHost
}
return ""
}
func (m *Credential) GetLoginUrl() string {
if m != nil {
return m.LoginUrl
}
return ""
}
func (m *Credential) GetTag() string {
if m != nil {
return m.Tag
}
return ""
}
func (m *Credential) GetOtpSecret() string {
if m != nil {
return m.OtpSecret
}
return ""
}
type CredentialRequest struct {
Primary string `protobuf:"bytes,1,opt,name=primary,proto3" json:"primary,omitempty"`
Username string `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"`
Email string `protobuf:"bytes,3,opt,name=email,proto3" json:"email,omitempty"`
Password string `protobuf:"bytes,4,opt,name=password,proto3" json:"password,omitempty"`
SourceHost string `protobuf:"bytes,5,opt,name=source_host,json=sourceHost,proto3" json:"source_host,omitempty"`
LoginUrl string `protobuf:"bytes,6,opt,name=login_url,json=loginUrl,proto3" json:"login_url,omitempty"`
Tag string `protobuf:"bytes,7,opt,name=tag,proto3" json:"tag,omitempty"`
OtpSecret string `protobuf:"bytes,8,opt,name=otp_secret,json=otpSecret,proto3" json:"otp_secret,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CredentialRequest) Reset() { *m = CredentialRequest{} }
func (m *CredentialRequest) String() string { return proto.CompactTextString(m) }
func (*CredentialRequest) ProtoMessage() {}
func (*CredentialRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_9f10b41ff9e8e07a, []int{6}
}
func (m *CredentialRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CredentialRequest.Unmarshal(m, b)
}
func (m *CredentialRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CredentialRequest.Marshal(b, m, deterministic)
}
func (m *CredentialRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_CredentialRequest.Merge(m, src)
}
func (m *CredentialRequest) XXX_Size() int {
return xxx_messageInfo_CredentialRequest.Size(m)
}
func (m *CredentialRequest) XXX_DiscardUnknown() {
xxx_messageInfo_CredentialRequest.DiscardUnknown(m)
}
var xxx_messageInfo_CredentialRequest proto.InternalMessageInfo
func (m *CredentialRequest) GetPrimary() string {
if m != nil {
return m.Primary
}
return ""
}
func (m *CredentialRequest) GetUsername() string {
if m != nil {
return m.Username
}
return ""
}
func (m *CredentialRequest) GetEmail() string {
if m != nil {
return m.Email
}
return ""
}
func (m *CredentialRequest) GetPassword() string {
if m != nil {
return m.Password
}
return ""
}
func (m *CredentialRequest) GetSourceHost() string {
if m != nil {
return m.SourceHost
}
return ""
}
func (m *CredentialRequest) GetLoginUrl() string {
if m != nil {
return m.LoginUrl
}
return ""
}
func (m *CredentialRequest) GetTag() string {
if m != nil {
return m.Tag
}
return ""
}
func (m *CredentialRequest) GetOtpSecret() string {
if m != nil {
return m.OtpSecret
}
return ""
}
func init() {
proto.RegisterType((*SuccessResponse)(nil), "selfpass.SuccessResponse")
proto.RegisterType((*SourceHostRequest)(nil), "selfpass.SourceHostRequest")
proto.RegisterType((*IdRequest)(nil), "selfpass.IdRequest")
proto.RegisterType((*UpdateRequest)(nil), "selfpass.UpdateRequest")
proto.RegisterType((*Metadata)(nil), "selfpass.Metadata")
proto.RegisterType((*Credential)(nil), "selfpass.Credential")
proto.RegisterType((*CredentialRequest)(nil), "selfpass.CredentialRequest")
}
func init() { proto.RegisterFile("credentials.proto", fileDescriptor_9f10b41ff9e8e07a) }
var fileDescriptor_9f10b41ff9e8e07a = []byte{
// 514 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x54, 0x4d, 0x6f, 0xd3, 0x40,
0x10, 0x95, 0x9d, 0x36, 0xb5, 0x27, 0xa2, 0x90, 0xa5, 0x12, 0xc6, 0x11, 0x6a, 0xe5, 0x53, 0x25,
0x24, 0xb7, 0x2a, 0x48, 0x80, 0x7a, 0x0a, 0x41, 0x2a, 0x1c, 0xb8, 0x38, 0xf4, 0x82, 0x90, 0xa2,
0xad, 0x3d, 0x0d, 0x96, 0xec, 0xac, 0xd9, 0x1d, 0x0b, 0xf1, 0xbf, 0xf8, 0x53, 0xf0, 0x13, 0x38,
0x21, 0xaf, 0xbf, 0x52, 0x27, 0x0e, 0x07, 0x2e, 0xbd, 0xed, 0xcc, 0xbc, 0x37, 0xda, 0xf7, 0x34,
0x33, 0x30, 0x0e, 0x25, 0x46, 0xb8, 0xa2, 0x98, 0x27, 0xca, 0xcf, 0xa4, 0x20, 0xc1, 0x2c, 0x85,
0xc9, 0x6d, 0xc6, 0x95, 0x72, 0x8f, 0x97, 0x42, 0x2c, 0x13, 0x3c, 0xd3, 0xf9, 0x9b, 0xfc, 0xf6,
0x8c, 0xe2, 0x14, 0x15, 0xf1, 0x34, 0x2b, 0xa1, 0xde, 0x73, 0x78, 0x38, 0xcf, 0xc3, 0x10, 0x95,
0x0a, 0x50, 0x65, 0x62, 0xa5, 0x90, 0x39, 0x70, 0xa0, 0xca, 0x94, 0x63, 0x9c, 0x18, 0xa7, 0x56,
0x50, 0x87, 0xde, 0x4b, 0x18, 0xcf, 0x45, 0x2e, 0x43, 0x7c, 0x2f, 0x14, 0x05, 0xf8, 0x2d, 0x47,
0x45, 0xec, 0x18, 0x46, 0x4a, 0x27, 0x17, 0x5f, 0x85, 0x22, 0x4d, 0xb1, 0x03, 0x50, 0x0d, 0xce,
0x9b, 0x80, 0xfd, 0x21, 0xaa, 0xd1, 0x87, 0x60, 0xc6, 0x51, 0x05, 0x32, 0xe3, 0xc8, 0xfb, 0x02,
0x0f, 0xae, 0xb3, 0x88, 0x13, 0xf6, 0x00, 0xd8, 0x25, 0x40, 0x2b, 0xd0, 0x31, 0x4f, 0x8c, 0xd3,
0xd1, 0xc5, 0xc4, 0xaf, 0x05, 0xfa, 0xb3, 0xa6, 0x56, 0x35, 0x08, 0xd6, 0xe0, 0xde, 0x1f, 0x03,
0xac, 0x8f, 0x48, 0x3c, 0xe2, 0xc4, 0x37, 0x3a, 0xbf, 0xd1, 0x9d, 0x39, 0x61, 0xb4, 0xe0, 0x54,
0x75, 0x76, 0xfd, 0xd2, 0x30, 0xbf, 0x36, 0xcc, 0xff, 0x54, 0x1b, 0x16, 0xd8, 0x15, 0x7a, 0x4a,
0x05, 0x35, 0xd7, 0xbf, 0xd6, 0xd4, 0xc1, 0xbf, 0xa9, 0x15, 0x7a, 0x4a, 0x85, 0xbb, 0x99, 0x8c,
0x53, 0x2e, 0x7f, 0x38, 0x7b, 0xfa, 0x2b, 0x75, 0xd8, 0x35, 0x72, 0xbf, 0x6b, 0x24, 0x9b, 0x80,
0x9d, 0x88, 0x65, 0xbc, 0x5a, 0xe4, 0x32, 0x71, 0x86, 0xba, 0x6c, 0xe9, 0xc4, 0xb5, 0x4c, 0xd8,
0x23, 0x18, 0x10, 0x5f, 0x3a, 0x07, 0x3a, 0x5d, 0x3c, 0xbd, 0x5f, 0x26, 0x40, 0x6b, 0xcf, 0xbd,
0x97, 0xef, 0x82, 0x95, 0x2b, 0x94, 0x2b, 0x9e, 0x62, 0xa5, 0xbd, 0x89, 0xd9, 0x11, 0xec, 0x63,
0xca, 0xe3, 0x5a, 0x75, 0x19, 0x14, 0x8c, 0x62, 0x06, 0xbe, 0x0b, 0x19, 0x55, 0xba, 0x9b, 0xb8,
0x6b, 0xa6, 0xb5, 0xdb, 0x4c, 0x7b, 0xbb, 0x99, 0xd0, 0x98, 0xc9, 0x9e, 0x01, 0x08, 0xca, 0x16,
0x0a, 0x43, 0x89, 0xe4, 0x8c, 0x74, 0xc1, 0x16, 0x94, 0xcd, 0x75, 0xc2, 0xfb, 0x6d, 0xc0, 0x78,
0x63, 0x14, 0xd7, 0xc5, 0x1a, 0xfd, 0x62, 0xcd, 0x3e, 0xb1, 0x83, 0x3e, 0xb1, 0x7b, 0xbb, 0xc5,
0xfe, 0xef, 0xe4, 0x74, 0xc4, 0x5a, 0x1d, 0xb1, 0x17, 0x3f, 0x4d, 0x18, 0xb5, 0x62, 0x15, 0x9b,
0xc1, 0xe1, 0x15, 0xd2, 0x34, 0x49, 0x9a, 0x55, 0x5b, 0x5b, 0xd0, 0x8d, 0x83, 0xe1, 0xb2, 0xb6,
0x58, 0x13, 0xce, 0x0d, 0x76, 0x0e, 0x83, 0x2b, 0x24, 0xf6, 0xb8, 0x2d, 0x36, 0x47, 0xc3, 0x3d,
0xda, 0xb6, 0xef, 0xec, 0x12, 0x86, 0x33, 0x3d, 0x92, 0x6c, 0xd7, 0x3d, 0xe8, 0x21, 0xbf, 0x82,
0x61, 0x79, 0x77, 0xd8, 0x93, 0xb6, 0x7e, 0xe7, 0x12, 0xf5, 0x10, 0x5f, 0xc3, 0xf0, 0x1d, 0x26,
0x48, 0xb8, 0xfd, 0xab, 0x4f, 0xd7, 0x94, 0xdf, 0xbd, 0xab, 0x6f, 0xe1, 0xb3, 0x55, 0xef, 0xc6,
0xcd, 0x50, 0xbf, 0x5e, 0xfc, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x06, 0xb4, 0x9b, 0xbe, 0xbd, 0x05,
0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConn
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion4
// CredentialsClient is the client API for Credentials service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type CredentialsClient interface {
GetAllMetadata(ctx context.Context, in *SourceHostRequest, opts ...grpc.CallOption) (Credentials_GetAllMetadataClient, error)
Get(ctx context.Context, in *IdRequest, opts ...grpc.CallOption) (*Credential, error)
Create(ctx context.Context, in *CredentialRequest, opts ...grpc.CallOption) (*Credential, error)
Update(ctx context.Context, in *UpdateRequest, opts ...grpc.CallOption) (*Credential, error)
Delete(ctx context.Context, in *IdRequest, opts ...grpc.CallOption) (*SuccessResponse, error)
}
type credentialsClient struct {
cc *grpc.ClientConn
}
func NewCredentialsClient(cc *grpc.ClientConn) CredentialsClient {
return &credentialsClient{cc}
}
func (c *credentialsClient) GetAllMetadata(ctx context.Context, in *SourceHostRequest, opts ...grpc.CallOption) (Credentials_GetAllMetadataClient, error) {
stream, err := c.cc.NewStream(ctx, &_Credentials_serviceDesc.Streams[0], "/selfpass.Credentials/GetAllMetadata", opts...)
if err != nil {
return nil, err
}
x := &credentialsGetAllMetadataClient{stream}
if err := x.ClientStream.SendMsg(in); err != nil {
return nil, err
}
if err := x.ClientStream.CloseSend(); err != nil {
return nil, err
}
return x, nil
}
type Credentials_GetAllMetadataClient interface {
Recv() (*Metadata, error)
grpc.ClientStream
}
type credentialsGetAllMetadataClient struct {
grpc.ClientStream
}
func (x *credentialsGetAllMetadataClient) Recv() (*Metadata, error) {
m := new(Metadata)
if err := x.ClientStream.RecvMsg(m); err != nil {
return nil, err
}
return m, nil
}
func (c *credentialsClient) Get(ctx context.Context, in *IdRequest, opts ...grpc.CallOption) (*Credential, error) {
out := new(Credential)
err := c.cc.Invoke(ctx, "/selfpass.Credentials/Get", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *credentialsClient) Create(ctx context.Context, in *CredentialRequest, opts ...grpc.CallOption) (*Credential, error) {
out := new(Credential)
err := c.cc.Invoke(ctx, "/selfpass.Credentials/Create", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *credentialsClient) Update(ctx context.Context, in *UpdateRequest, opts ...grpc.CallOption) (*Credential, error) {
out := new(Credential)
err := c.cc.Invoke(ctx, "/selfpass.Credentials/Update", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *credentialsClient) Delete(ctx context.Context, in *IdRequest, opts ...grpc.CallOption) (*SuccessResponse, error) {
out := new(SuccessResponse)
err := c.cc.Invoke(ctx, "/selfpass.Credentials/Delete", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// CredentialsServer is the server API for Credentials service.
type CredentialsServer interface {
GetAllMetadata(*SourceHostRequest, Credentials_GetAllMetadataServer) error
Get(context.Context, *IdRequest) (*Credential, error)
Create(context.Context, *CredentialRequest) (*Credential, error)
Update(context.Context, *UpdateRequest) (*Credential, error)
Delete(context.Context, *IdRequest) (*SuccessResponse, error)
}
// UnimplementedCredentialsServer can be embedded to have forward compatible implementations.
type UnimplementedCredentialsServer struct {
}
func (*UnimplementedCredentialsServer) GetAllMetadata(req *SourceHostRequest, srv Credentials_GetAllMetadataServer) error {
return status.Errorf(codes.Unimplemented, "method GetAllMetadata not implemented")
}
func (*UnimplementedCredentialsServer) Get(ctx context.Context, req *IdRequest) (*Credential, error) {
return nil, status.Errorf(codes.Unimplemented, "method Get not implemented")
}
func (*UnimplementedCredentialsServer) Create(ctx context.Context, req *CredentialRequest) (*Credential, error) {
return nil, status.Errorf(codes.Unimplemented, "method Create not implemented")
}
func (*UnimplementedCredentialsServer) Update(ctx context.Context, req *UpdateRequest) (*Credential, error) {
return nil, status.Errorf(codes.Unimplemented, "method Update not implemented")
}
func (*UnimplementedCredentialsServer) Delete(ctx context.Context, req *IdRequest) (*SuccessResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method Delete not implemented")
}
func RegisterCredentialsServer(s *grpc.Server, srv CredentialsServer) {
s.RegisterService(&_Credentials_serviceDesc, srv)
}
func _Credentials_GetAllMetadata_Handler(srv interface{}, stream grpc.ServerStream) error {
m := new(SourceHostRequest)
if err := stream.RecvMsg(m); err != nil {
return err
}
return srv.(CredentialsServer).GetAllMetadata(m, &credentialsGetAllMetadataServer{stream})
}
type Credentials_GetAllMetadataServer interface {
Send(*Metadata) error
grpc.ServerStream
}
type credentialsGetAllMetadataServer struct {
grpc.ServerStream
}
func (x *credentialsGetAllMetadataServer) Send(m *Metadata) error {
return x.ServerStream.SendMsg(m)
}
func _Credentials_Get_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(IdRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(CredentialsServer).Get(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/selfpass.Credentials/Get",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CredentialsServer).Get(ctx, req.(*IdRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Credentials_Create_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CredentialRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(CredentialsServer).Create(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/selfpass.Credentials/Create",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CredentialsServer).Create(ctx, req.(*CredentialRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Credentials_Update_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(CredentialsServer).Update(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/selfpass.Credentials/Update",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CredentialsServer).Update(ctx, req.(*UpdateRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Credentials_Delete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(IdRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(CredentialsServer).Delete(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/selfpass.Credentials/Delete",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CredentialsServer).Delete(ctx, req.(*IdRequest))
}
return interceptor(ctx, in, info, handler)
}
var _Credentials_serviceDesc = grpc.ServiceDesc{
ServiceName: "selfpass.Credentials",
HandlerType: (*CredentialsServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "Get",
Handler: _Credentials_Get_Handler,
},
{
MethodName: "Create",
Handler: _Credentials_Create_Handler,
},
{
MethodName: "Update",
Handler: _Credentials_Update_Handler,
},
{
MethodName: "Delete",
Handler: _Credentials_Delete_Handler,
},
},
Streams: []grpc.StreamDesc{
{
StreamName: "GetAllMetadata",
Handler: _Credentials_GetAllMetadata_Handler,
ServerStreams: true,
},
},
Metadata: "credentials.proto",
}

8
go/go.mod Normal file
View File

@ -0,0 +1,8 @@
module github.com/mitchell/selfpass_protobuf/go
go 1.12
require (
github.com/golang/protobuf v1.3.1
google.golang.org/grpc v1.22.0
)

28
go/go.sum Normal file
View File

@ -0,0 +1,28 @@
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg=
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/net v0.0.0-20190311183353-d8887717615a h1:oWX7TPOiFAMXLq8o0ikBYfCJVlRHBcsciT5bXOrH628=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a h1:1BGLXjeY4akVXGgbC9HugT3Jv3hCI0z56oJR5vAMgBU=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8 h1:Nw54tB0rB7hY/N0NQvRW8DG4Yk3Q6T9cu9RcFQDu1tc=
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
google.golang.org/grpc v1.22.0 h1:J0UbZOIrCAl+fpTOf8YLs4dJo8L/owV4LYVtAXQoPkw=
google.golang.org/grpc v1.22.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=