diff --git a/bin/fixGoPaths b/bin/fixGoPaths new file mode 100755 index 0000000..1d741ee --- /dev/null +++ b/bin/fixGoPaths @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +set -e + +# Go files are generated into their full module path. +# This script moves the files to the correct location. +cp -r ./go/github.com/gaming-platform/api/go/* ./go +rm -rf ./go/github.com diff --git a/bin/generatePhpFactories b/bin/generatePhpFactories index 232abda..4217342 100755 --- a/bin/generatePhpFactories +++ b/bin/generatePhpFactories @@ -37,6 +37,7 @@ function generateFactories(string $packageNamespace, string $packagePath, array $factoryName = str_replace('\\', '', $matches['namespace']) . $matches['version'] . 'Factory'; $factoryPath = str_replace('\\', '/', $matches['namespace']) . '/' . $matches['version']; + $methodName = 'create' . str_replace('\\', '_', $matches['message']); $factories[$factoryName] ??= [ 'path' => $packagePath . '/' . $factoryPath . '/' . $factoryName . '.php', @@ -46,7 +47,7 @@ function generateFactories(string $packageNamespace, string $packagePath, array ]; $factories[$factoryName]['methods'][] = [ - 'name' => 'create' . $matches['message'], + 'name' => $methodName, 'returnType' => '\\' . $class ]; } diff --git a/go/chat/v1/messaging.pb.go b/go/chat/v1/messaging.pb.go index ba20c1d..9d102a2 100644 --- a/go/chat/v1/messaging.pb.go +++ b/go/chat/v1/messaging.pb.go @@ -229,7 +229,7 @@ const file_gamingplatform_api_chat_v1_messaging_proto_rawDesc = "" + "\tauthor_id\x18\x03 \x01(\tR\bauthorId\x12\x1d\n" + "\n" + "written_at\x18\x04 \x01(\tR\twrittenAt\x12\x18\n" + - "\amessage\x18\x05 \x01(\tR\amessageBVZ\x0echat/v1;chatv1\xca\x02\x1aGamingPlatform\\Api\\Chat\\V1\xe2\x02&GamingPlatform\\Api\\GPBMetadata\\Chat\\V1b\x06proto3" + "\amessage\x18\x05 \x01(\tR\amessageBxZ0github.com/gaming-platform/api/go/chat/v1;chatv1\xca\x02\x1aGamingPlatform\\Api\\Chat\\V1\xe2\x02&GamingPlatform\\Api\\GPBMetadata\\Chat\\V1b\x06proto3" var ( file_gamingplatform_api_chat_v1_messaging_proto_rawDescOnce sync.Once diff --git a/go/common/v1/messaging.pb.go b/go/common/v1/messaging.pb.go new file mode 100644 index 0000000..99f4387 --- /dev/null +++ b/go/common/v1/messaging.pb.go @@ -0,0 +1,251 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc v4.25.1 +// source: gamingplatform/api/common/v1/messaging.proto + +package commonv1 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type ErrorResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Violations []*ErrorResponse_Violation `protobuf:"bytes,1,rep,name=violations,proto3" json:"violations,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ErrorResponse) Reset() { + *x = ErrorResponse{} + mi := &file_gamingplatform_api_common_v1_messaging_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ErrorResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ErrorResponse) ProtoMessage() {} + +func (x *ErrorResponse) ProtoReflect() protoreflect.Message { + mi := &file_gamingplatform_api_common_v1_messaging_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ErrorResponse.ProtoReflect.Descriptor instead. +func (*ErrorResponse) Descriptor() ([]byte, []int) { + return file_gamingplatform_api_common_v1_messaging_proto_rawDescGZIP(), []int{0} +} + +func (x *ErrorResponse) GetViolations() []*ErrorResponse_Violation { + if x != nil { + return x.Violations + } + return nil +} + +type ErrorResponse_Violation struct { + state protoimpl.MessageState `protogen:"open.v1"` + PropertyPath string `protobuf:"bytes,1,opt,name=property_path,json=propertyPath,proto3" json:"property_path,omitempty"` + Identifier string `protobuf:"bytes,2,opt,name=identifier,proto3" json:"identifier,omitempty"` + Parameters []*ErrorResponse_Violation_Parameter `protobuf:"bytes,3,rep,name=parameters,proto3" json:"parameters,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ErrorResponse_Violation) Reset() { + *x = ErrorResponse_Violation{} + mi := &file_gamingplatform_api_common_v1_messaging_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ErrorResponse_Violation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ErrorResponse_Violation) ProtoMessage() {} + +func (x *ErrorResponse_Violation) ProtoReflect() protoreflect.Message { + mi := &file_gamingplatform_api_common_v1_messaging_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ErrorResponse_Violation.ProtoReflect.Descriptor instead. +func (*ErrorResponse_Violation) Descriptor() ([]byte, []int) { + return file_gamingplatform_api_common_v1_messaging_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *ErrorResponse_Violation) GetPropertyPath() string { + if x != nil { + return x.PropertyPath + } + return "" +} + +func (x *ErrorResponse_Violation) GetIdentifier() string { + if x != nil { + return x.Identifier + } + return "" +} + +func (x *ErrorResponse_Violation) GetParameters() []*ErrorResponse_Violation_Parameter { + if x != nil { + return x.Parameters + } + return nil +} + +type ErrorResponse_Violation_Parameter struct { + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ErrorResponse_Violation_Parameter) Reset() { + *x = ErrorResponse_Violation_Parameter{} + mi := &file_gamingplatform_api_common_v1_messaging_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ErrorResponse_Violation_Parameter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ErrorResponse_Violation_Parameter) ProtoMessage() {} + +func (x *ErrorResponse_Violation_Parameter) ProtoReflect() protoreflect.Message { + mi := &file_gamingplatform_api_common_v1_messaging_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ErrorResponse_Violation_Parameter.ProtoReflect.Descriptor instead. +func (*ErrorResponse_Violation_Parameter) Descriptor() ([]byte, []int) { + return file_gamingplatform_api_common_v1_messaging_proto_rawDescGZIP(), []int{0, 0, 0} +} + +func (x *ErrorResponse_Violation_Parameter) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ErrorResponse_Violation_Parameter) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +var File_gamingplatform_api_common_v1_messaging_proto protoreflect.FileDescriptor + +const file_gamingplatform_api_common_v1_messaging_proto_rawDesc = "" + + "\n" + + ",gamingplatform/api/common/v1/messaging.proto\x12\x1cgamingplatform.api.common.v1\"\xd1\x02\n" + + "\rErrorResponse\x12U\n" + + "\n" + + "violations\x18\x01 \x03(\v25.gamingplatform.api.common.v1.ErrorResponse.ViolationR\n" + + "violations\x1a\xe8\x01\n" + + "\tViolation\x12#\n" + + "\rproperty_path\x18\x01 \x01(\tR\fpropertyPath\x12\x1e\n" + + "\n" + + "identifier\x18\x02 \x01(\tR\n" + + "identifier\x12_\n" + + "\n" + + "parameters\x18\x03 \x03(\v2?.gamingplatform.api.common.v1.ErrorResponse.Violation.ParameterR\n" + + "parameters\x1a5\n" + + "\tParameter\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05valueB\x80\x01Z4github.com/gaming-platform/api/go/common/v1;commonv1\xca\x02\x1cGamingPlatform\\Api\\Common\\V1\xe2\x02(GamingPlatform\\Api\\GPBMetadata\\Common\\V1b\x06proto3" + +var ( + file_gamingplatform_api_common_v1_messaging_proto_rawDescOnce sync.Once + file_gamingplatform_api_common_v1_messaging_proto_rawDescData []byte +) + +func file_gamingplatform_api_common_v1_messaging_proto_rawDescGZIP() []byte { + file_gamingplatform_api_common_v1_messaging_proto_rawDescOnce.Do(func() { + file_gamingplatform_api_common_v1_messaging_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_gamingplatform_api_common_v1_messaging_proto_rawDesc), len(file_gamingplatform_api_common_v1_messaging_proto_rawDesc))) + }) + return file_gamingplatform_api_common_v1_messaging_proto_rawDescData +} + +var file_gamingplatform_api_common_v1_messaging_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_gamingplatform_api_common_v1_messaging_proto_goTypes = []any{ + (*ErrorResponse)(nil), // 0: gamingplatform.api.common.v1.ErrorResponse + (*ErrorResponse_Violation)(nil), // 1: gamingplatform.api.common.v1.ErrorResponse.Violation + (*ErrorResponse_Violation_Parameter)(nil), // 2: gamingplatform.api.common.v1.ErrorResponse.Violation.Parameter +} +var file_gamingplatform_api_common_v1_messaging_proto_depIdxs = []int32{ + 1, // 0: gamingplatform.api.common.v1.ErrorResponse.violations:type_name -> gamingplatform.api.common.v1.ErrorResponse.Violation + 2, // 1: gamingplatform.api.common.v1.ErrorResponse.Violation.parameters:type_name -> gamingplatform.api.common.v1.ErrorResponse.Violation.Parameter + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { file_gamingplatform_api_common_v1_messaging_proto_init() } +func file_gamingplatform_api_common_v1_messaging_proto_init() { + if File_gamingplatform_api_common_v1_messaging_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_gamingplatform_api_common_v1_messaging_proto_rawDesc), len(file_gamingplatform_api_common_v1_messaging_proto_rawDesc)), + NumEnums: 0, + NumMessages: 3, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_gamingplatform_api_common_v1_messaging_proto_goTypes, + DependencyIndexes: file_gamingplatform_api_common_v1_messaging_proto_depIdxs, + MessageInfos: file_gamingplatform_api_common_v1_messaging_proto_msgTypes, + }.Build() + File_gamingplatform_api_common_v1_messaging_proto = out.File + file_gamingplatform_api_common_v1_messaging_proto_goTypes = nil + file_gamingplatform_api_common_v1_messaging_proto_depIdxs = nil +} diff --git a/go/identity/v1/messaging.pb.go b/go/identity/v1/messaging.pb.go index 69061b6..0703227 100644 --- a/go/identity/v1/messaging.pb.go +++ b/go/identity/v1/messaging.pb.go @@ -125,6 +125,234 @@ func (x *UserSignedUp) GetEmail() string { return "" } +type RegisterBot struct { + state protoimpl.MessageState `protogen:"open.v1"` + Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RegisterBot) Reset() { + *x = RegisterBot{} + mi := &file_gamingplatform_api_identity_v1_messaging_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RegisterBot) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RegisterBot) ProtoMessage() {} + +func (x *RegisterBot) ProtoReflect() protoreflect.Message { + mi := &file_gamingplatform_api_identity_v1_messaging_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RegisterBot.ProtoReflect.Descriptor instead. +func (*RegisterBot) Descriptor() ([]byte, []int) { + return file_gamingplatform_api_identity_v1_messaging_proto_rawDescGZIP(), []int{2} +} + +func (x *RegisterBot) GetUsername() string { + if x != nil { + return x.Username + } + return "" +} + +type RegisterBotResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + BotId string `protobuf:"bytes,1,opt,name=bot_id,json=botId,proto3" json:"bot_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RegisterBotResponse) Reset() { + *x = RegisterBotResponse{} + mi := &file_gamingplatform_api_identity_v1_messaging_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RegisterBotResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RegisterBotResponse) ProtoMessage() {} + +func (x *RegisterBotResponse) ProtoReflect() protoreflect.Message { + mi := &file_gamingplatform_api_identity_v1_messaging_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RegisterBotResponse.ProtoReflect.Descriptor instead. +func (*RegisterBotResponse) Descriptor() ([]byte, []int) { + return file_gamingplatform_api_identity_v1_messaging_proto_rawDescGZIP(), []int{3} +} + +func (x *RegisterBotResponse) GetBotId() string { + if x != nil { + return x.BotId + } + return "" +} + +type GetBotByUsername struct { + state protoimpl.MessageState `protogen:"open.v1"` + Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetBotByUsername) Reset() { + *x = GetBotByUsername{} + mi := &file_gamingplatform_api_identity_v1_messaging_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetBotByUsername) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetBotByUsername) ProtoMessage() {} + +func (x *GetBotByUsername) ProtoReflect() protoreflect.Message { + mi := &file_gamingplatform_api_identity_v1_messaging_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetBotByUsername.ProtoReflect.Descriptor instead. +func (*GetBotByUsername) Descriptor() ([]byte, []int) { + return file_gamingplatform_api_identity_v1_messaging_proto_rawDescGZIP(), []int{4} +} + +func (x *GetBotByUsername) GetUsername() string { + if x != nil { + return x.Username + } + return "" +} + +type GetBotByUsernameResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Bot *Bot `protobuf:"bytes,1,opt,name=bot,proto3" json:"bot,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetBotByUsernameResponse) Reset() { + *x = GetBotByUsernameResponse{} + mi := &file_gamingplatform_api_identity_v1_messaging_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetBotByUsernameResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetBotByUsernameResponse) ProtoMessage() {} + +func (x *GetBotByUsernameResponse) ProtoReflect() protoreflect.Message { + mi := &file_gamingplatform_api_identity_v1_messaging_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetBotByUsernameResponse.ProtoReflect.Descriptor instead. +func (*GetBotByUsernameResponse) Descriptor() ([]byte, []int) { + return file_gamingplatform_api_identity_v1_messaging_proto_rawDescGZIP(), []int{5} +} + +func (x *GetBotByUsernameResponse) GetBot() *Bot { + if x != nil { + return x.Bot + } + return nil +} + +type Bot struct { + state protoimpl.MessageState `protogen:"open.v1"` + BotId string `protobuf:"bytes,1,opt,name=bot_id,json=botId,proto3" json:"bot_id,omitempty"` + Username string `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Bot) Reset() { + *x = Bot{} + mi := &file_gamingplatform_api_identity_v1_messaging_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Bot) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Bot) ProtoMessage() {} + +func (x *Bot) ProtoReflect() protoreflect.Message { + mi := &file_gamingplatform_api_identity_v1_messaging_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Bot.ProtoReflect.Descriptor instead. +func (*Bot) Descriptor() ([]byte, []int) { + return file_gamingplatform_api_identity_v1_messaging_proto_rawDescGZIP(), []int{6} +} + +func (x *Bot) GetBotId() string { + if x != nil { + return x.BotId + } + return "" +} + +func (x *Bot) GetUsername() string { + if x != nil { + return x.Username + } + return "" +} + var File_gamingplatform_api_identity_v1_messaging_proto protoreflect.FileDescriptor const file_gamingplatform_api_identity_v1_messaging_proto_rawDesc = "" + @@ -135,7 +363,18 @@ const file_gamingplatform_api_identity_v1_messaging_proto_rawDesc = "" + "\fUserSignedUp\x12\x17\n" + "\auser_id\x18\x01 \x01(\tR\x06userId\x12\x1a\n" + "\busername\x18\x02 \x01(\tR\busername\x12\x14\n" + - "\x05email\x18\x03 \x01(\tR\x05emailBfZ\x16identity/v1;identityv1\xca\x02\x1eGamingPlatform\\Api\\Identity\\V1\xe2\x02*GamingPlatform\\Api\\GPBMetadata\\Identity\\V1b\x06proto3" + "\x05email\x18\x03 \x01(\tR\x05email\")\n" + + "\vRegisterBot\x12\x1a\n" + + "\busername\x18\x01 \x01(\tR\busername\",\n" + + "\x13RegisterBotResponse\x12\x15\n" + + "\x06bot_id\x18\x01 \x01(\tR\x05botId\".\n" + + "\x10GetBotByUsername\x12\x1a\n" + + "\busername\x18\x01 \x01(\tR\busername\"Q\n" + + "\x18GetBotByUsernameResponse\x125\n" + + "\x03bot\x18\x01 \x01(\v2#.gamingplatform.api.identity.v1.BotR\x03bot\"8\n" + + "\x03Bot\x12\x15\n" + + "\x06bot_id\x18\x01 \x01(\tR\x05botId\x12\x1a\n" + + "\busername\x18\x02 \x01(\tR\busernameB\x88\x01Z8github.com/gaming-platform/api/go/identity/v1;identityv1\xca\x02\x1eGamingPlatform\\Api\\Identity\\V1\xe2\x02*GamingPlatform\\Api\\GPBMetadata\\Identity\\V1b\x06proto3" var ( file_gamingplatform_api_identity_v1_messaging_proto_rawDescOnce sync.Once @@ -149,17 +388,23 @@ func file_gamingplatform_api_identity_v1_messaging_proto_rawDescGZIP() []byte { return file_gamingplatform_api_identity_v1_messaging_proto_rawDescData } -var file_gamingplatform_api_identity_v1_messaging_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_gamingplatform_api_identity_v1_messaging_proto_msgTypes = make([]protoimpl.MessageInfo, 7) var file_gamingplatform_api_identity_v1_messaging_proto_goTypes = []any{ - (*UserArrived)(nil), // 0: gamingplatform.api.identity.v1.UserArrived - (*UserSignedUp)(nil), // 1: gamingplatform.api.identity.v1.UserSignedUp + (*UserArrived)(nil), // 0: gamingplatform.api.identity.v1.UserArrived + (*UserSignedUp)(nil), // 1: gamingplatform.api.identity.v1.UserSignedUp + (*RegisterBot)(nil), // 2: gamingplatform.api.identity.v1.RegisterBot + (*RegisterBotResponse)(nil), // 3: gamingplatform.api.identity.v1.RegisterBotResponse + (*GetBotByUsername)(nil), // 4: gamingplatform.api.identity.v1.GetBotByUsername + (*GetBotByUsernameResponse)(nil), // 5: gamingplatform.api.identity.v1.GetBotByUsernameResponse + (*Bot)(nil), // 6: gamingplatform.api.identity.v1.Bot } var file_gamingplatform_api_identity_v1_messaging_proto_depIdxs = []int32{ - 0, // [0:0] is the sub-list for method output_type - 0, // [0:0] is the sub-list for method input_type - 0, // [0:0] is the sub-list for extension type_name - 0, // [0:0] is the sub-list for extension extendee - 0, // [0:0] is the sub-list for field type_name + 6, // 0: gamingplatform.api.identity.v1.GetBotByUsernameResponse.bot:type_name -> gamingplatform.api.identity.v1.Bot + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name } func init() { file_gamingplatform_api_identity_v1_messaging_proto_init() } @@ -173,7 +418,7 @@ func file_gamingplatform_api_identity_v1_messaging_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_gamingplatform_api_identity_v1_messaging_proto_rawDesc), len(file_gamingplatform_api_identity_v1_messaging_proto_rawDesc)), NumEnums: 0, - NumMessages: 2, + NumMessages: 7, NumExtensions: 0, NumServices: 0, }, diff --git a/php/GamingPlatform/Api/Common/V1/CommonV1Factory.php b/php/GamingPlatform/Api/Common/V1/CommonV1Factory.php new file mode 100644 index 0000000..68b9c79 --- /dev/null +++ b/php/GamingPlatform/Api/Common/V1/CommonV1Factory.php @@ -0,0 +1,41 @@ +mergeFromString($data); + return $message; + } + + public static function createErrorResponse_Violation( + string $data + ): \GamingPlatform\Api\Common\V1\ErrorResponse\Violation { + static $template; + $template ??= new \GamingPlatform\Api\Common\V1\ErrorResponse\Violation(); + $message = clone $template; + $message->mergeFromString($data); + return $message; + } + + public static function createErrorResponse( + string $data + ): \GamingPlatform\Api\Common\V1\ErrorResponse { + static $template; + $template ??= new \GamingPlatform\Api\Common\V1\ErrorResponse(); + $message = clone $template; + $message->mergeFromString($data); + return $message; + } + +} diff --git a/php/GamingPlatform/Api/Common/V1/ErrorResponse.php b/php/GamingPlatform/Api/Common/V1/ErrorResponse.php new file mode 100644 index 0000000..cc13067 --- /dev/null +++ b/php/GamingPlatform/Api/Common/V1/ErrorResponse.php @@ -0,0 +1,58 @@ +gamingplatform.api.common.v1.ErrorResponse + */ +class ErrorResponse extends \Google\Protobuf\Internal\Message +{ + /** + * Generated from protobuf field repeated .gamingplatform.api.common.v1.ErrorResponse.Violation violations = 1; + */ + private $violations; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type array<\GamingPlatform\Api\Common\V1\ErrorResponse\Violation>|\Google\Protobuf\Internal\RepeatedField $violations + * } + */ + public function __construct($data = NULL) { + \GamingPlatform\Api\GPBMetadata\Common\V1\Messaging::initOnce(); + parent::__construct($data); + } + + /** + * Generated from protobuf field repeated .gamingplatform.api.common.v1.ErrorResponse.Violation violations = 1; + * @return \Google\Protobuf\Internal\RepeatedField + */ + public function getViolations() + { + return $this->violations; + } + + /** + * Generated from protobuf field repeated .gamingplatform.api.common.v1.ErrorResponse.Violation violations = 1; + * @param array<\GamingPlatform\Api\Common\V1\ErrorResponse\Violation>|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setViolations($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \GamingPlatform\Api\Common\V1\ErrorResponse\Violation::class); + $this->violations = $arr; + + return $this; + } + +} + diff --git a/php/GamingPlatform/Api/Common/V1/ErrorResponse/Violation.php b/php/GamingPlatform/Api/Common/V1/ErrorResponse/Violation.php new file mode 100644 index 0000000..5a0802a --- /dev/null +++ b/php/GamingPlatform/Api/Common/V1/ErrorResponse/Violation.php @@ -0,0 +1,115 @@ +gamingplatform.api.common.v1.ErrorResponse.Violation + */ +class Violation extends \Google\Protobuf\Internal\Message +{ + /** + * Generated from protobuf field string property_path = 1; + */ + protected $property_path = ''; + /** + * Generated from protobuf field string identifier = 2; + */ + protected $identifier = ''; + /** + * Generated from protobuf field repeated .gamingplatform.api.common.v1.ErrorResponse.Violation.Parameter parameters = 3; + */ + private $parameters; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $property_path + * @type string $identifier + * @type array<\GamingPlatform\Api\Common\V1\ErrorResponse\Violation\Parameter>|\Google\Protobuf\Internal\RepeatedField $parameters + * } + */ + public function __construct($data = NULL) { + \GamingPlatform\Api\GPBMetadata\Common\V1\Messaging::initOnce(); + parent::__construct($data); + } + + /** + * Generated from protobuf field string property_path = 1; + * @return string + */ + public function getPropertyPath() + { + return $this->property_path; + } + + /** + * Generated from protobuf field string property_path = 1; + * @param string $var + * @return $this + */ + public function setPropertyPath($var) + { + GPBUtil::checkString($var, True); + $this->property_path = $var; + + return $this; + } + + /** + * Generated from protobuf field string identifier = 2; + * @return string + */ + public function getIdentifier() + { + return $this->identifier; + } + + /** + * Generated from protobuf field string identifier = 2; + * @param string $var + * @return $this + */ + public function setIdentifier($var) + { + GPBUtil::checkString($var, True); + $this->identifier = $var; + + return $this; + } + + /** + * Generated from protobuf field repeated .gamingplatform.api.common.v1.ErrorResponse.Violation.Parameter parameters = 3; + * @return \Google\Protobuf\Internal\RepeatedField + */ + public function getParameters() + { + return $this->parameters; + } + + /** + * Generated from protobuf field repeated .gamingplatform.api.common.v1.ErrorResponse.Violation.Parameter parameters = 3; + * @param array<\GamingPlatform\Api\Common\V1\ErrorResponse\Violation\Parameter>|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setParameters($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \GamingPlatform\Api\Common\V1\ErrorResponse\Violation\Parameter::class); + $this->parameters = $arr; + + return $this; + } + +} + +// Adding a class alias for backwards compatibility with the previous class name. +class_alias(Violation::class, \GamingPlatform\Api\Common\V1\ErrorResponse_Violation::class); + diff --git a/php/GamingPlatform/Api/Common/V1/ErrorResponse/Violation/Parameter.php b/php/GamingPlatform/Api/Common/V1/ErrorResponse/Violation/Parameter.php new file mode 100644 index 0000000..058d317 --- /dev/null +++ b/php/GamingPlatform/Api/Common/V1/ErrorResponse/Violation/Parameter.php @@ -0,0 +1,88 @@ +gamingplatform.api.common.v1.ErrorResponse.Violation.Parameter + */ +class Parameter extends \Google\Protobuf\Internal\Message +{ + /** + * Generated from protobuf field string name = 1; + */ + protected $name = ''; + /** + * Generated from protobuf field string value = 2; + */ + protected $value = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * @type string $value + * } + */ + public function __construct($data = NULL) { + \GamingPlatform\Api\GPBMetadata\Common\V1\Messaging::initOnce(); + parent::__construct($data); + } + + /** + * Generated from protobuf field string name = 1; + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Generated from protobuf field string name = 1; + * @param string $var + * @return $this + */ + public function setName($var) + { + GPBUtil::checkString($var, True); + $this->name = $var; + + return $this; + } + + /** + * Generated from protobuf field string value = 2; + * @return string + */ + public function getValue() + { + return $this->value; + } + + /** + * Generated from protobuf field string value = 2; + * @param string $var + * @return $this + */ + public function setValue($var) + { + GPBUtil::checkString($var, True); + $this->value = $var; + + return $this; + } + +} + +// Adding a class alias for backwards compatibility with the previous class name. +class_alias(Parameter::class, \GamingPlatform\Api\Common\V1\ErrorResponse_Violation_Parameter::class); + diff --git a/php/GamingPlatform/Api/GPBMetadata/Chat/V1/Messaging.php b/php/GamingPlatform/Api/GPBMetadata/Chat/V1/Messaging.php index 22d9127..65ea638 100644 --- a/php/GamingPlatform/Api/GPBMetadata/Chat/V1/Messaging.php +++ b/php/GamingPlatform/Api/GPBMetadata/Chat/V1/Messaging.php @@ -16,7 +16,7 @@ public static function initOnce() { } $pool->internalAddGeneratedFile( ' -ª +Ì *gamingplatform/api/chat/v1/messaging.protogamingplatform.api.chat.v1"P InitiateChat idempotency_key (  @@ -32,7 +32,7 @@ public static function initOnce() { author_id (  written_at (  -message ( BVZchat/v1;chatv1ÊGamingPlatform\\Api\\Chat\\V1â&GamingPlatform\\Api\\GPBMetadata\\Chat\\V1bproto3' +message ( BxZ0github.com/gaming-platform/api/go/chat/v1;chatv1ÊGamingPlatform\\Api\\Chat\\V1â&GamingPlatform\\Api\\GPBMetadata\\Chat\\V1bproto3' , true); static::$is_initialized = true; diff --git a/php/GamingPlatform/Api/GPBMetadata/Common/V1/Messaging.php b/php/GamingPlatform/Api/GPBMetadata/Common/V1/Messaging.php new file mode 100644 index 0000000..0c52080 --- /dev/null +++ b/php/GamingPlatform/Api/GPBMetadata/Common/V1/Messaging.php @@ -0,0 +1,38 @@ +internalAddGeneratedFile( + ' +ì +,gamingplatform/api/common/v1/messaging.protogamingplatform.api.common.v1"’ + ErrorResponseI + +violations ( 25.gamingplatform.api.common.v1.ErrorResponse.Violationµ + Violation + property_path (  + +identifier ( S + +parameters ( 2?.gamingplatform.api.common.v1.ErrorResponse.Violation.Parameter( + Parameter +name (  +value ( B€Z4github.com/gaming-platform/api/go/common/v1;commonv1ÊGamingPlatform\\Api\\Common\\V1â(GamingPlatform\\Api\\GPBMetadata\\Common\\V1bproto3' + , true); + + static::$is_initialized = true; + } +} + diff --git a/php/GamingPlatform/Api/GPBMetadata/Identity/V1/Messaging.php b/php/GamingPlatform/Api/GPBMetadata/Identity/V1/Messaging.php index fc9b00f..c9e8483 100644 --- a/php/GamingPlatform/Api/GPBMetadata/Identity/V1/Messaging.php +++ b/php/GamingPlatform/Api/GPBMetadata/Identity/V1/Messaging.php @@ -16,14 +16,25 @@ public static function initOnce() { } $pool->internalAddGeneratedFile( ' -¢ +ª .gamingplatform/api/identity/v1/messaging.protogamingplatform.api.identity.v1" UserArrived user_id ( "@ UserSignedUp user_id (  username (  -email ( BfZidentity/v1;identityv1ÊGamingPlatform\\Api\\Identity\\V1â*GamingPlatform\\Api\\GPBMetadata\\Identity\\V1bproto3' +email ( " + RegisterBot +username ( "% +RegisterBotResponse +bot_id ( "$ +GetBotByUsername +username ( "L +GetBotByUsernameResponse0 +bot ( 2#.gamingplatform.api.identity.v1.Bot"\' +Bot +bot_id (  +username ( BˆZ8github.com/gaming-platform/api/go/identity/v1;identityv1ÊGamingPlatform\\Api\\Identity\\V1â*GamingPlatform\\Api\\GPBMetadata\\Identity\\V1bproto3' , true); static::$is_initialized = true; diff --git a/php/GamingPlatform/Api/Identity/V1/Bot.php b/php/GamingPlatform/Api/Identity/V1/Bot.php new file mode 100644 index 0000000..a09c3cd --- /dev/null +++ b/php/GamingPlatform/Api/Identity/V1/Bot.php @@ -0,0 +1,85 @@ +gamingplatform.api.identity.v1.Bot + */ +class Bot extends \Google\Protobuf\Internal\Message +{ + /** + * Generated from protobuf field string bot_id = 1; + */ + protected $bot_id = ''; + /** + * Generated from protobuf field string username = 2; + */ + protected $username = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $bot_id + * @type string $username + * } + */ + public function __construct($data = NULL) { + \GamingPlatform\Api\GPBMetadata\Identity\V1\Messaging::initOnce(); + parent::__construct($data); + } + + /** + * Generated from protobuf field string bot_id = 1; + * @return string + */ + public function getBotId() + { + return $this->bot_id; + } + + /** + * Generated from protobuf field string bot_id = 1; + * @param string $var + * @return $this + */ + public function setBotId($var) + { + GPBUtil::checkString($var, True); + $this->bot_id = $var; + + return $this; + } + + /** + * Generated from protobuf field string username = 2; + * @return string + */ + public function getUsername() + { + return $this->username; + } + + /** + * Generated from protobuf field string username = 2; + * @param string $var + * @return $this + */ + public function setUsername($var) + { + GPBUtil::checkString($var, True); + $this->username = $var; + + return $this; + } + +} + diff --git a/php/GamingPlatform/Api/Identity/V1/GetBotByUsername.php b/php/GamingPlatform/Api/Identity/V1/GetBotByUsername.php new file mode 100644 index 0000000..0e1aa40 --- /dev/null +++ b/php/GamingPlatform/Api/Identity/V1/GetBotByUsername.php @@ -0,0 +1,58 @@ +gamingplatform.api.identity.v1.GetBotByUsername + */ +class GetBotByUsername extends \Google\Protobuf\Internal\Message +{ + /** + * Generated from protobuf field string username = 1; + */ + protected $username = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $username + * } + */ + public function __construct($data = NULL) { + \GamingPlatform\Api\GPBMetadata\Identity\V1\Messaging::initOnce(); + parent::__construct($data); + } + + /** + * Generated from protobuf field string username = 1; + * @return string + */ + public function getUsername() + { + return $this->username; + } + + /** + * Generated from protobuf field string username = 1; + * @param string $var + * @return $this + */ + public function setUsername($var) + { + GPBUtil::checkString($var, True); + $this->username = $var; + + return $this; + } + +} + diff --git a/php/GamingPlatform/Api/Identity/V1/GetBotByUsernameResponse.php b/php/GamingPlatform/Api/Identity/V1/GetBotByUsernameResponse.php new file mode 100644 index 0000000..f799e6d --- /dev/null +++ b/php/GamingPlatform/Api/Identity/V1/GetBotByUsernameResponse.php @@ -0,0 +1,68 @@ +gamingplatform.api.identity.v1.GetBotByUsernameResponse + */ +class GetBotByUsernameResponse extends \Google\Protobuf\Internal\Message +{ + /** + * Generated from protobuf field .gamingplatform.api.identity.v1.Bot bot = 1; + */ + protected $bot = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \GamingPlatform\Api\Identity\V1\Bot $bot + * } + */ + public function __construct($data = NULL) { + \GamingPlatform\Api\GPBMetadata\Identity\V1\Messaging::initOnce(); + parent::__construct($data); + } + + /** + * Generated from protobuf field .gamingplatform.api.identity.v1.Bot bot = 1; + * @return \GamingPlatform\Api\Identity\V1\Bot|null + */ + public function getBot() + { + return $this->bot; + } + + public function hasBot() + { + return isset($this->bot); + } + + public function clearBot() + { + unset($this->bot); + } + + /** + * Generated from protobuf field .gamingplatform.api.identity.v1.Bot bot = 1; + * @param \GamingPlatform\Api\Identity\V1\Bot $var + * @return $this + */ + public function setBot($var) + { + GPBUtil::checkMessage($var, \GamingPlatform\Api\Identity\V1\Bot::class); + $this->bot = $var; + + return $this; + } + +} + diff --git a/php/GamingPlatform/Api/Identity/V1/IdentityV1Factory.php b/php/GamingPlatform/Api/Identity/V1/IdentityV1Factory.php index b434505..b164f73 100644 --- a/php/GamingPlatform/Api/Identity/V1/IdentityV1Factory.php +++ b/php/GamingPlatform/Api/Identity/V1/IdentityV1Factory.php @@ -8,6 +8,56 @@ final class IdentityV1Factory { + public static function createBot( + string $data + ): \GamingPlatform\Api\Identity\V1\Bot { + static $template; + $template ??= new \GamingPlatform\Api\Identity\V1\Bot(); + $message = clone $template; + $message->mergeFromString($data); + return $message; + } + + public static function createGetBotByUsername( + string $data + ): \GamingPlatform\Api\Identity\V1\GetBotByUsername { + static $template; + $template ??= new \GamingPlatform\Api\Identity\V1\GetBotByUsername(); + $message = clone $template; + $message->mergeFromString($data); + return $message; + } + + public static function createGetBotByUsernameResponse( + string $data + ): \GamingPlatform\Api\Identity\V1\GetBotByUsernameResponse { + static $template; + $template ??= new \GamingPlatform\Api\Identity\V1\GetBotByUsernameResponse(); + $message = clone $template; + $message->mergeFromString($data); + return $message; + } + + public static function createRegisterBot( + string $data + ): \GamingPlatform\Api\Identity\V1\RegisterBot { + static $template; + $template ??= new \GamingPlatform\Api\Identity\V1\RegisterBot(); + $message = clone $template; + $message->mergeFromString($data); + return $message; + } + + public static function createRegisterBotResponse( + string $data + ): \GamingPlatform\Api\Identity\V1\RegisterBotResponse { + static $template; + $template ??= new \GamingPlatform\Api\Identity\V1\RegisterBotResponse(); + $message = clone $template; + $message->mergeFromString($data); + return $message; + } + public static function createUserArrived( string $data ): \GamingPlatform\Api\Identity\V1\UserArrived { diff --git a/php/GamingPlatform/Api/Identity/V1/RegisterBot.php b/php/GamingPlatform/Api/Identity/V1/RegisterBot.php new file mode 100644 index 0000000..f142ba8 --- /dev/null +++ b/php/GamingPlatform/Api/Identity/V1/RegisterBot.php @@ -0,0 +1,58 @@ +gamingplatform.api.identity.v1.RegisterBot + */ +class RegisterBot extends \Google\Protobuf\Internal\Message +{ + /** + * Generated from protobuf field string username = 1; + */ + protected $username = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $username + * } + */ + public function __construct($data = NULL) { + \GamingPlatform\Api\GPBMetadata\Identity\V1\Messaging::initOnce(); + parent::__construct($data); + } + + /** + * Generated from protobuf field string username = 1; + * @return string + */ + public function getUsername() + { + return $this->username; + } + + /** + * Generated from protobuf field string username = 1; + * @param string $var + * @return $this + */ + public function setUsername($var) + { + GPBUtil::checkString($var, True); + $this->username = $var; + + return $this; + } + +} + diff --git a/php/GamingPlatform/Api/Identity/V1/RegisterBotResponse.php b/php/GamingPlatform/Api/Identity/V1/RegisterBotResponse.php new file mode 100644 index 0000000..47938eb --- /dev/null +++ b/php/GamingPlatform/Api/Identity/V1/RegisterBotResponse.php @@ -0,0 +1,58 @@ +gamingplatform.api.identity.v1.RegisterBotResponse + */ +class RegisterBotResponse extends \Google\Protobuf\Internal\Message +{ + /** + * Generated from protobuf field string bot_id = 1; + */ + protected $bot_id = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $bot_id + * } + */ + public function __construct($data = NULL) { + \GamingPlatform\Api\GPBMetadata\Identity\V1\Messaging::initOnce(); + parent::__construct($data); + } + + /** + * Generated from protobuf field string bot_id = 1; + * @return string + */ + public function getBotId() + { + return $this->bot_id; + } + + /** + * Generated from protobuf field string bot_id = 1; + * @param string $var + * @return $this + */ + public function setBotId($var) + { + GPBUtil::checkString($var, True); + $this->bot_id = $var; + + return $this; + } + +} + diff --git a/project b/project index 5cc896e..9cca1aa 100755 --- a/project +++ b/project @@ -13,12 +13,14 @@ help() { } protoc() { + rm -rf ./go/* ./php/* docker compose run --rm protoc docker run \ --rm \ -v $(pwd):/project \ ghcr.io/gaming-platform/docker-php-fpm:8.3-development \ /project/bin/generatePhpFactories + docker compose run --rm protoc /project/bin/fixGoPaths } if [ "$*" = "" ] diff --git a/schema/gamingplatform/api/chat/v1/messaging.proto b/schema/gamingplatform/api/chat/v1/messaging.proto index af129c6..cfd36c4 100644 --- a/schema/gamingplatform/api/chat/v1/messaging.proto +++ b/schema/gamingplatform/api/chat/v1/messaging.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package gamingplatform.api.chat.v1; -option go_package = "chat/v1;chatv1"; +option go_package = "github.com/gaming-platform/api/go/chat/v1;chatv1"; option php_namespace = "GamingPlatform\\Api\\Chat\\V1"; option php_metadata_namespace = "GamingPlatform\\Api\\GPBMetadata\\Chat\\V1"; diff --git a/schema/gamingplatform/api/common/v1/messaging.proto b/schema/gamingplatform/api/common/v1/messaging.proto new file mode 100644 index 0000000..40d0e2b --- /dev/null +++ b/schema/gamingplatform/api/common/v1/messaging.proto @@ -0,0 +1,20 @@ +syntax = "proto3"; + +package gamingplatform.api.common.v1; + +option go_package = "github.com/gaming-platform/api/go/common/v1;commonv1"; +option php_namespace = "GamingPlatform\\Api\\Common\\V1"; +option php_metadata_namespace = "GamingPlatform\\Api\\GPBMetadata\\Common\\V1"; + +message ErrorResponse { + message Violation { + message Parameter { + string name = 1; + string value = 2; + } + string property_path = 1; + string identifier = 2; + repeated Parameter parameters = 3; + } + repeated Violation violations = 1; +} diff --git a/schema/gamingplatform/api/identity/v1/messaging.proto b/schema/gamingplatform/api/identity/v1/messaging.proto index a19c2bc..d70abeb 100644 --- a/schema/gamingplatform/api/identity/v1/messaging.proto +++ b/schema/gamingplatform/api/identity/v1/messaging.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package gamingplatform.api.identity.v1; -option go_package = "identity/v1;identityv1"; +option go_package = "github.com/gaming-platform/api/go/identity/v1;identityv1"; option php_namespace = "GamingPlatform\\Api\\Identity\\V1"; option php_metadata_namespace = "GamingPlatform\\Api\\GPBMetadata\\Identity\\V1"; @@ -15,3 +15,24 @@ message UserSignedUp { string username = 2; string email = 3; } + +message RegisterBot { + string username = 1; +} + +message RegisterBotResponse { + string bot_id = 1; +} + +message GetBotByUsername { + string username = 1; +} + +message GetBotByUsernameResponse { + Bot bot = 1; +} + +message Bot { + string bot_id = 1; + string username = 2; +}