zeuszhao 1 年間 前
コミット
ab0a0c0f5a

+ 233 - 228
card/card.pb.go

@@ -12,8 +12,10 @@ import (
 	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
 	reflect "reflect"
 	sync "sync"
-	common "types/common"
-	pagination "types/pagination"
+	common "ttmylife.com/zeuszhao/types/card/common"
+	aliyun "ttmylife.com/zeuszhao/types/common/aliyun"
+	pagination "ttmylife.com/zeuszhao/types/common/pagination"
+	user "ttmylife.com/zeuszhao/types/common/user"
 )
 
 const (
@@ -66,7 +68,7 @@ type OssUploadReplay struct {
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 
-	Body *common.Oss `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"`
+	Body *aliyun.Oss `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"`
 }
 
 func (x *OssUploadReplay) Reset() {
@@ -101,7 +103,7 @@ func (*OssUploadReplay) Descriptor() ([]byte, []int) {
 	return file_card_card_proto_rawDescGZIP(), []int{1}
 }
 
-func (x *OssUploadReplay) GetBody() *common.Oss {
+func (x *OssUploadReplay) GetBody() *aliyun.Oss {
 	if x != nil {
 		return x.Body
 	}
@@ -1225,7 +1227,7 @@ type LoginAccountRequest struct {
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 
-	Account *common.AccountBaseBody `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"`
+	Account *user.AccountBaseBody `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"`
 }
 
 func (x *LoginAccountRequest) Reset() {
@@ -1260,7 +1262,7 @@ func (*LoginAccountRequest) Descriptor() ([]byte, []int) {
 	return file_card_card_proto_rawDescGZIP(), []int{24}
 }
 
-func (x *LoginAccountRequest) GetAccount() *common.AccountBaseBody {
+func (x *LoginAccountRequest) GetAccount() *user.AccountBaseBody {
 	if x != nil {
 		return x.Account
 	}
@@ -1319,7 +1321,7 @@ type CreateAccountUserRequest struct {
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 
-	Account *common.AccountBaseBody `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"`
+	Account *user.AccountBaseBody `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"`
 }
 
 func (x *CreateAccountUserRequest) Reset() {
@@ -1354,7 +1356,7 @@ func (*CreateAccountUserRequest) Descriptor() ([]byte, []int) {
 	return file_card_card_proto_rawDescGZIP(), []int{26}
 }
 
-func (x *CreateAccountUserRequest) GetAccount() *common.AccountBaseBody {
+func (x *CreateAccountUserRequest) GetAccount() *user.AccountBaseBody {
 	if x != nil {
 		return x.Account
 	}
@@ -1415,225 +1417,228 @@ var file_card_card_proto_rawDesc = []byte{
 	0x6f, 0x12, 0x04, 0x63, 0x61, 0x72, 0x64, 0x1a, 0x28, 0x74, 0x68, 0x69, 0x72, 0x64, 0x5f, 0x70,
 	0x61, 0x72, 0x74, 0x79, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f,
 	0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
-	0x6f, 0x1a, 0x14, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e,
-	0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f,
-	0x63, 0x61, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x63, 0x6f, 0x6d, 0x6d,
-	0x6f, 0x6e, 0x2f, 0x61, 0x6c, 0x69, 0x6f, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
-	0x1b, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x70, 0x61, 0x67, 0x69,
-	0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x12, 0x0a, 0x10,
-	0x4f, 0x73, 0x73, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
-	0x22, 0x32, 0x0a, 0x0f, 0x4f, 0x73, 0x73, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x70,
-	0x6c, 0x61, 0x79, 0x12, 0x1f, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
-	0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4f, 0x73, 0x73, 0x52, 0x04,
-	0x62, 0x6f, 0x64, 0x79, 0x22, 0x22, 0x0a, 0x0e, 0x4f, 0x43, 0x52, 0x43, 0x61, 0x72, 0x64, 0x52,
-	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20,
-	0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0x7a, 0x0a, 0x0c, 0x4f, 0x43, 0x52, 0x43,
-	0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x28, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79,
-	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
-	0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62, 0x6f,
-	0x64, 0x79, 0x12, 0x40, 0x0a, 0x0b, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74,
-	0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
-	0x2e, 0x43, 0x61, 0x72, 0x64, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42,
-	0x61, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x0b, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d,
-	0x65, 0x6e, 0x74, 0x73, 0x22, 0x32, 0x0a, 0x1a, 0x41, 0x64, 0x64, 0x43, 0x61, 0x72, 0x64, 0x42,
-	0x79, 0x53, 0x68, 0x61, 0x72, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65,
-	0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
-	0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x2a, 0x0a, 0x18, 0x41, 0x64, 0x64, 0x43,
-	0x61, 0x72, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52,
-	0x65, 0x70, 0x6c, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
-	0x52, 0x02, 0x6f, 0x6b, 0x22, 0x32, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x68,
-	0x61, 0x72, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
-	0x17, 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
-	0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0x45, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61,
-	0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x70, 0x6c,
-	0x79, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
-	0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72,
-	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x22,
-	0x15, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52,
-	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4b, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6d,
-	0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x36, 0x0a, 0x09, 0x74,
-	0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18,
-	0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x54, 0x65, 0x6d, 0x70,
-	0x6c, 0x61, 0x74, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x09, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61,
-	0x74, 0x65, 0x73, 0x22, 0x2c, 0x0a, 0x16, 0x57, 0x78, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65,
-	0x72, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a,
-	0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64,
-	0x65, 0x22, 0x2c, 0x0a, 0x14, 0x57, 0x78, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4c,
-	0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b,
-	0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22,
-	0x13, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71,
-	0x75, 0x65, 0x73, 0x74, 0x22, 0xb3, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x43, 0x61,
-	0x72, 0x64, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x26, 0x0a, 0x05, 0x63, 0x61, 0x72, 0x64,
-	0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
-	0x2e, 0x43, 0x61, 0x72, 0x64, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x05, 0x63, 0x61, 0x72, 0x64, 0x73,
-	0x12, 0x40, 0x0a, 0x0b, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18,
-	0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43,
-	0x61, 0x72, 0x64, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x73,
-	0x65, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x0b, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e,
-	0x74, 0x73, 0x12, 0x36, 0x0a, 0x09, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x18,
-	0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43,
-	0x61, 0x72, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x52,
-	0x09, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x22, 0x73, 0x0a, 0x11, 0x53, 0x65,
-	0x61, 0x72, 0x63, 0x68, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
-	0x2e, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
-	0x16, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x46, 0x69, 0x6c,
-	0x74, 0x65, 0x72, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12,
-	0x2e, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
-	0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e,
-	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x22,
-	0x91, 0x01, 0x0a, 0x0f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65,
-	0x70, 0x6c, 0x79, 0x12, 0x26, 0x0a, 0x05, 0x63, 0x61, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03,
-	0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64,
-	0x42, 0x6f, 0x64, 0x79, 0x52, 0x05, 0x63, 0x61, 0x72, 0x64, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x73,
-	0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
-	0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x53, 0x75,
-	0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79,
-	0x52, 0x0b, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x14, 0x0a,
-	0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, 0x6f,
-	0x74, 0x61, 0x6c, 0x22, 0x9a, 0x01, 0x0a, 0x13, 0x53, 0x61, 0x76, 0x65, 0x43, 0x61, 0x72, 0x64,
-	0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x63,
-	0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x61,
-	0x72, 0x64, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x04, 0x63, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01,
-	0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64,
-	0x42, 0x61, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x63, 0x61, 0x72, 0x64, 0x12, 0x40,
-	0x0a, 0x0b, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20,
-	0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x72,
-	0x64, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x73, 0x65, 0x42,
-	0x6f, 0x64, 0x79, 0x52, 0x0b, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73,
-	0x22, 0x1f, 0x0a, 0x0d, 0x53, 0x61, 0x76, 0x65, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c,
-	0x79, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f,
-	0x6b, 0x22, 0x2d, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f,
+	0x6f, 0x1a, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x61,
+	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x63, 0x61,
+	0x72, 0x64, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x70,
+	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x61, 0x6c, 0x69,
+	0x79, 0x75, 0x6e, 0x2f, 0x61, 0x6c, 0x69, 0x6f, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+	0x1a, 0x22, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74,
+	0x69, 0x6f, 0x6e, 0x2f, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70,
+	0x72, 0x6f, 0x74, 0x6f, 0x22, 0x12, 0x0a, 0x10, 0x4f, 0x73, 0x73, 0x55, 0x70, 0x6c, 0x6f, 0x61,
+	0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x32, 0x0a, 0x0f, 0x4f, 0x73, 0x73, 0x55,
+	0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x12, 0x1f, 0x0a, 0x04, 0x62,
+	0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x61, 0x6c, 0x69, 0x79,
+	0x75, 0x6e, 0x2e, 0x4f, 0x73, 0x73, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0x22, 0x0a, 0x0e,
+	0x4f, 0x43, 0x52, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10,
+	0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c,
+	0x22, 0x7a, 0x0a, 0x0c, 0x4f, 0x43, 0x52, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79,
+	0x12, 0x28, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14,
+	0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x73, 0x65,
+	0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x40, 0x0a, 0x0b, 0x73, 0x75,
+	0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
+	0x1e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x53, 0x75, 0x70,
+	0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x52,
+	0x0b, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x32, 0x0a, 0x1a,
+	0x41, 0x64, 0x64, 0x43, 0x61, 0x72, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x65, 0x54, 0x6f,
+	0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f,
+	0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
+	0x22, 0x2a, 0x0a, 0x18, 0x41, 0x64, 0x64, 0x43, 0x61, 0x72, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61,
+	0x72, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x0e, 0x0a, 0x02,
+	0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x22, 0x32, 0x0a, 0x17,
+	0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
 	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, 0x5f,
 	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64,
-	0x22, 0x1e, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79,
+	0x22, 0x45, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x54,
+	0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b,
+	0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12,
+	0x16, 0x0a, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
+	0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x22, 0x15, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x54, 0x65,
+	0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4b,
+	0x0a, 0x11, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65,
+	0x70, 0x6c, 0x79, 0x12, 0x36, 0x0a, 0x09, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73,
+	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
+	0x43, 0x61, 0x72, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x6f, 0x64, 0x79,
+	0x52, 0x09, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x22, 0x2c, 0x0a, 0x16, 0x57,
+	0x78, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65,
+	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20,
+	0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x2c, 0x0a, 0x14, 0x57, 0x78, 0x52,
+	0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x70, 0x6c,
+	0x79, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+	0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x13, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4d, 0x79,
+	0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xb3, 0x01, 0x0a,
+	0x0f, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79,
+	0x12, 0x26, 0x0a, 0x05, 0x63, 0x61, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
+	0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x42, 0x6f, 0x64,
+	0x79, 0x52, 0x05, 0x63, 0x61, 0x72, 0x64, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x73, 0x75, 0x70, 0x70,
+	0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e,
+	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x53, 0x75, 0x70, 0x70, 0x6c,
+	0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x0b, 0x73,
+	0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x36, 0x0a, 0x09, 0x74, 0x65,
+	0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e,
+	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c,
+	0x61, 0x74, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x09, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74,
+	0x65, 0x73, 0x22, 0x73, 0x0a, 0x11, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x61, 0x72, 0x64,
+	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65,
+	0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
+	0x2e, 0x43, 0x61, 0x72, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x6f, 0x64, 0x79, 0x52,
+	0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18,
+	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69,
+	0x6f, 0x6e, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x64,
+	0x79, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x22, 0x91, 0x01, 0x0a, 0x0f, 0x53, 0x65, 0x61, 0x72,
+	0x63, 0x68, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x26, 0x0a, 0x05, 0x63,
+	0x61, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d,
+	0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x05, 0x63, 0x61,
+	0x72, 0x64, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e,
+	0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
+	0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74,
+	0x42, 0x61, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x0b, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x65,
+	0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03,
+	0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0x9a, 0x01, 0x0a, 0x13,
+	0x53, 0x61, 0x76, 0x65, 0x43, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75,
+	0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01,
+	0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x04,
+	0x63, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6d,
+	0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79,
+	0x52, 0x04, 0x63, 0x61, 0x72, 0x64, 0x12, 0x40, 0x0a, 0x0b, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x65,
+	0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f,
+	0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d,
+	0x65, 0x6e, 0x74, 0x42, 0x61, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x0b, 0x73, 0x75, 0x70,
+	0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x1f, 0x0a, 0x0d, 0x53, 0x61, 0x76, 0x65,
+	0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18,
+	0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x22, 0x2d, 0x0a, 0x12, 0x44, 0x65, 0x6c,
+	0x43, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
+	0x17, 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
+	0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0x1e, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x43,
+	0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01,
+	0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x22, 0x2d, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x43,
+	0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17,
+	0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
+	0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0xb8, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x43,
+	0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x28, 0x0a, 0x04,
+	0x63, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6d,
+	0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79,
+	0x52, 0x04, 0x63, 0x61, 0x72, 0x64, 0x12, 0x40, 0x0a, 0x0b, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x65,
+	0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f,
+	0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d,
+	0x65, 0x6e, 0x74, 0x42, 0x61, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x0b, 0x73, 0x75, 0x70,
+	0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x38, 0x0a, 0x08, 0x74, 0x65, 0x6d, 0x70,
+	0x6c, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6f, 0x6d,
+	0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65,
+	0x42, 0x61, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61,
+	0x74, 0x65, 0x22, 0x7f, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x61, 0x72, 0x64,
+	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x04, 0x63, 0x61, 0x72, 0x64, 0x18,
+	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43,
+	0x61, 0x72, 0x64, 0x42, 0x61, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x63, 0x61, 0x72,
+	0x64, 0x12, 0x40, 0x0a, 0x0b, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73,
+	0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
+	0x43, 0x61, 0x72, 0x64, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x61,
+	0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x0b, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65,
+	0x6e, 0x74, 0x73, 0x22, 0x21, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x61, 0x72,
+	0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
+	0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x22, 0x46, 0x0a, 0x13, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x41,
+	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a,
+	0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15,
+	0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x73,
+	0x65, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x29,
+	0x0a, 0x11, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65,
+	0x70, 0x6c, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01,
+	0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x4b, 0x0a, 0x18, 0x43, 0x72, 0x65,
+	0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65,
+	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
+	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x41, 0x63,
+	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x07, 0x61,
+	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x28, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
+	0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79,
 	0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b,
-	0x22, 0x2d, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52,
-	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69,
-	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22,
-	0xb8, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52,
-	0x65, 0x70, 0x6c, 0x79, 0x12, 0x28, 0x0a, 0x04, 0x63, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01,
-	0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64,
-	0x42, 0x61, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x63, 0x61, 0x72, 0x64, 0x12, 0x40,
-	0x0a, 0x0b, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20,
-	0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x72,
-	0x64, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x73, 0x65, 0x42,
-	0x6f, 0x64, 0x79, 0x52, 0x0b, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73,
-	0x12, 0x38, 0x0a, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01,
-	0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64,
-	0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x61, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79,
-	0x52, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0x7f, 0x0a, 0x11, 0x43, 0x72,
-	0x65, 0x61, 0x74, 0x65, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
-	0x28, 0x0a, 0x04, 0x63, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e,
-	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x73, 0x65, 0x42,
-	0x6f, 0x64, 0x79, 0x52, 0x04, 0x63, 0x61, 0x72, 0x64, 0x12, 0x40, 0x0a, 0x0b, 0x73, 0x75, 0x70,
-	0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e,
-	0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x53, 0x75, 0x70, 0x70,
-	0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x0b,
-	0x73, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x21, 0x0a, 0x0f, 0x43,
-	0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x0e,
-	0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x22, 0x48,
-	0x0a, 0x13, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65,
-	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
-	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
-	0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x52,
-	0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x29, 0x0a, 0x11, 0x4c, 0x6f, 0x67, 0x69,
-	0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x14, 0x0a,
-	0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f,
-	0x6b, 0x65, 0x6e, 0x22, 0x4d, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63,
-	0x6f, 0x75, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
-	0x31, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
-	0x32, 0x17, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
-	0x74, 0x42, 0x61, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75,
-	0x6e, 0x74, 0x22, 0x28, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f,
-	0x75, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x0e, 0x0a, 0x02,
-	0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x32, 0xc9, 0x0a, 0x0a,
-	0x04, 0x43, 0x61, 0x72, 0x64, 0x12, 0x70, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41,
-	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1e, 0x2e, 0x63, 0x61, 0x72,
-	0x64, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55,
-	0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x63, 0x61, 0x72,
-	0x64, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55,
-	0x73, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17,
-	0x3a, 0x01, 0x2a, 0x22, 0x12, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
-	0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x60, 0x0a, 0x0c, 0x4c, 0x6f, 0x67, 0x69, 0x6e,
-	0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x19, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x4c,
-	0x6f, 0x67, 0x69, 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
-	0x73, 0x74, 0x1a, 0x17, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x41,
-	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1c, 0x82, 0xd3, 0xe4,
-	0x93, 0x02, 0x16, 0x3a, 0x01, 0x2a, 0x22, 0x11, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f,
-	0x75, 0x6e, 0x74, 0x2f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x6c, 0x0a, 0x0f, 0x57, 0x78, 0x52,
-	0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x1c, 0x2e, 0x63,
-	0x61, 0x72, 0x64, 0x2e, 0x57, 0x78, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x6f,
-	0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x63, 0x61, 0x72,
-	0x64, 0x2e, 0x57, 0x78, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x69,
-	0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x3a, 0x01,
-	0x2a, 0x22, 0x14, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x77,
-	0x78, 0x2f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x58, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74,
-	0x65, 0x43, 0x61, 0x72, 0x64, 0x12, 0x17, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x43, 0x72, 0x65,
-	0x61, 0x74, 0x65, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15,
-	0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x61, 0x72, 0x64,
-	0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x3a, 0x01, 0x2a,
-	0x22, 0x0f, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74,
-	0x65, 0x12, 0x59, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f,
-	0x12, 0x18, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x49,
-	0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x63, 0x61, 0x72,
-	0x64, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x70,
+	0x32, 0xc9, 0x0a, 0x0a, 0x04, 0x43, 0x61, 0x72, 0x64, 0x12, 0x70, 0x0a, 0x11, 0x43, 0x72, 0x65,
+	0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1e,
+	0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f,
+	0x75, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c,
+	0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f,
+	0x75, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1d, 0x82, 0xd3,
+	0xe4, 0x93, 0x02, 0x17, 0x3a, 0x01, 0x2a, 0x22, 0x12, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63,
+	0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x60, 0x0a, 0x0c, 0x4c,
+	0x6f, 0x67, 0x69, 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x19, 0x2e, 0x63, 0x61,
+	0x72, 0x64, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52,
+	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x4c, 0x6f,
+	0x67, 0x69, 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22,
+	0x1c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x3a, 0x01, 0x2a, 0x22, 0x11, 0x2f, 0x76, 0x31, 0x2f,
+	0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x6c, 0x0a,
+	0x0f, 0x57, 0x78, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x69, 0x6e,
+	0x12, 0x1c, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x57, 0x78, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74,
+	0x65, 0x72, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a,
+	0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x57, 0x78, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72,
+	0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1f, 0x82, 0xd3, 0xe4, 0x93,
+	0x02, 0x19, 0x3a, 0x01, 0x2a, 0x22, 0x14, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75,
+	0x6e, 0x74, 0x2f, 0x77, 0x78, 0x2f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x58, 0x0a, 0x0a, 0x43,
+	0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x61, 0x72, 0x64, 0x12, 0x17, 0x2e, 0x63, 0x61, 0x72, 0x64,
+	0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,
+	0x73, 0x74, 0x1a, 0x15, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
+	0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1a, 0x82, 0xd3, 0xe4, 0x93, 0x02,
+	0x14, 0x3a, 0x01, 0x2a, 0x22, 0x0f, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x2f, 0x63,
+	0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x59, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64,
+	0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x43,
+	0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16,
+	0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66,
+	0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x3a, 0x01,
+	0x2a, 0x22, 0x0d, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x2f, 0x69, 0x6e, 0x66, 0x6f,
+	0x12, 0x52, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x17,
+	0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73,
+	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x47,
+	0x65, 0x74, 0x4d, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x14,
+	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x3a, 0x01, 0x2a, 0x22, 0x09, 0x2f, 0x76, 0x31, 0x2f, 0x63,
+	0x61, 0x72, 0x64, 0x73, 0x12, 0x50, 0x0a, 0x07, 0x44, 0x65, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x12,
+	0x18, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x44, 0x65, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x49, 0x6e,
+	0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x63, 0x61, 0x72, 0x64,
+	0x2e, 0x44, 0x65, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x17, 0x82,
+	0xd3, 0xe4, 0x93, 0x02, 0x11, 0x3a, 0x01, 0x2a, 0x22, 0x0c, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x61,
+	0x72, 0x64, 0x2f, 0x64, 0x65, 0x6c, 0x12, 0x54, 0x0a, 0x08, 0x53, 0x61, 0x76, 0x65, 0x43, 0x61,
+	0x72, 0x64, 0x12, 0x19, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x43, 0x61,
+	0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e,
+	0x63, 0x61, 0x72, 0x64, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70,
 	0x6c, 0x79, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x3a, 0x01, 0x2a, 0x22, 0x0d, 0x2f,
-	0x76, 0x31, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x2f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x52, 0x0a, 0x0a,
-	0x47, 0x65, 0x74, 0x4d, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x17, 0x2e, 0x63, 0x61, 0x72,
-	0x64, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75,
-	0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x79,
-	0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x14, 0x82, 0xd3, 0xe4, 0x93,
-	0x02, 0x0e, 0x3a, 0x01, 0x2a, 0x22, 0x09, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x73,
-	0x12, 0x50, 0x0a, 0x07, 0x44, 0x65, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x12, 0x18, 0x2e, 0x63, 0x61,
-	0x72, 0x64, 0x2e, 0x44, 0x65, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65,
-	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x44, 0x65, 0x6c,
-	0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02,
-	0x11, 0x3a, 0x01, 0x2a, 0x22, 0x0c, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x2f, 0x64,
-	0x65, 0x6c, 0x12, 0x54, 0x0a, 0x08, 0x53, 0x61, 0x76, 0x65, 0x43, 0x61, 0x72, 0x64, 0x12, 0x19,
-	0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x43, 0x61, 0x72, 0x64, 0x49, 0x6e,
-	0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x63, 0x61, 0x72, 0x64,
-	0x2e, 0x53, 0x61, 0x76, 0x65, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x18,
-	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x3a, 0x01, 0x2a, 0x22, 0x0d, 0x2f, 0x76, 0x31, 0x2f, 0x63,
-	0x61, 0x72, 0x64, 0x2f, 0x73, 0x61, 0x76, 0x65, 0x12, 0x58, 0x0a, 0x0a, 0x53, 0x65, 0x61, 0x72,
-	0x63, 0x68, 0x43, 0x61, 0x72, 0x64, 0x12, 0x17, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x53, 0x65,
-	0x61, 0x72, 0x63, 0x68, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
-	0x15, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x61, 0x72,
-	0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x3a, 0x01,
-	0x2a, 0x22, 0x0f, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x2f, 0x73, 0x65, 0x61, 0x72,
-	0x63, 0x68, 0x12, 0x61, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74,
-	0x65, 0x73, 0x12, 0x19, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6d,
-	0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e,
-	0x63, 0x61, 0x72, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65,
-	0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x3a, 0x01,
-	0x2a, 0x22, 0x12, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x2f, 0x74, 0x65, 0x6d, 0x70,
-	0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 0x70, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53,
-	0x68, 0x61, 0x72, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1d, 0x2e, 0x63, 0x61, 0x72, 0x64,
-	0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x54, 0x6f, 0x6b, 0x65,
-	0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e,
-	0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
-	0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x3a, 0x01, 0x2a,
-	0x22, 0x15, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
-	0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x76, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x43, 0x61,
-	0x72, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x20,
-	0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x61, 0x72, 0x64, 0x42, 0x79, 0x53,
-	0x68, 0x61, 0x72, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
-	0x1a, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x61, 0x72, 0x64, 0x42,
-	0x79, 0x53, 0x68, 0x61, 0x72, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79,
-	0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x3a, 0x01, 0x2a, 0x22, 0x12, 0x2f, 0x76, 0x31,
-	0x2f, 0x63, 0x61, 0x72, 0x64, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x62, 0x69, 0x6e, 0x64, 0x12,
-	0x4c, 0x0a, 0x07, 0x4f, 0x43, 0x52, 0x43, 0x61, 0x72, 0x64, 0x12, 0x14, 0x2e, 0x63, 0x61, 0x72,
-	0x64, 0x2e, 0x4f, 0x43, 0x52, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
-	0x1a, 0x12, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x4f, 0x43, 0x52, 0x43, 0x61, 0x72, 0x64, 0x52,
-	0x65, 0x70, 0x6c, 0x79, 0x22, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x3a, 0x01, 0x2a, 0x22,
-	0x0c, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x2f, 0x6f, 0x63, 0x72, 0x12, 0x59, 0x0a,
-	0x09, 0x4f, 0x73, 0x73, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x16, 0x2e, 0x63, 0x61, 0x72,
-	0x64, 0x2e, 0x4f, 0x73, 0x73, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,
-	0x73, 0x74, 0x1a, 0x15, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x4f, 0x73, 0x73, 0x55, 0x70, 0x6c,
-	0x6f, 0x61, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02,
-	0x17, 0x3a, 0x01, 0x2a, 0x22, 0x12, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x2f, 0x6f,
-	0x73, 0x73, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x19, 0x0a, 0x04, 0x63, 0x61, 0x72, 0x64,
-	0x50, 0x01, 0x5a, 0x0f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x3b, 0x63,
-	0x61, 0x72, 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+	0x76, 0x31, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x2f, 0x73, 0x61, 0x76, 0x65, 0x12, 0x58, 0x0a, 0x0a,
+	0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x61, 0x72, 0x64, 0x12, 0x17, 0x2e, 0x63, 0x61, 0x72,
+	0x64, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75,
+	0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63,
+	0x68, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1a, 0x82, 0xd3, 0xe4, 0x93,
+	0x02, 0x14, 0x3a, 0x01, 0x2a, 0x22, 0x0f, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x2f,
+	0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x61, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6d,
+	0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 0x19, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x47, 0x65,
+	0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+	0x74, 0x1a, 0x17, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6d, 0x70,
+	0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93,
+	0x02, 0x17, 0x3a, 0x01, 0x2a, 0x22, 0x12, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x2f,
+	0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 0x70, 0x0a, 0x10, 0x43, 0x72, 0x65,
+	0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1d, 0x2e,
+	0x63, 0x61, 0x72, 0x64, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65,
+	0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x63,
+	0x61, 0x72, 0x64, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x54,
+	0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02,
+	0x1a, 0x3a, 0x01, 0x2a, 0x22, 0x15, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x2f, 0x74,
+	0x6f, 0x6b, 0x65, 0x6e, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x76, 0x0a, 0x13, 0x41,
+	0x64, 0x64, 0x43, 0x61, 0x72, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x65, 0x54, 0x6f, 0x6b,
+	0x65, 0x6e, 0x12, 0x20, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x61, 0x72,
+	0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71,
+	0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x41, 0x64, 0x64, 0x43,
+	0x61, 0x72, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52,
+	0x65, 0x70, 0x6c, 0x79, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x3a, 0x01, 0x2a, 0x22,
+	0x12, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x62,
+	0x69, 0x6e, 0x64, 0x12, 0x4c, 0x0a, 0x07, 0x4f, 0x43, 0x52, 0x43, 0x61, 0x72, 0x64, 0x12, 0x14,
+	0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x4f, 0x43, 0x52, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71,
+	0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x4f, 0x43, 0x52, 0x43,
+	0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11,
+	0x3a, 0x01, 0x2a, 0x22, 0x0c, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x2f, 0x6f, 0x63,
+	0x72, 0x12, 0x59, 0x0a, 0x09, 0x4f, 0x73, 0x73, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x16,
+	0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x4f, 0x73, 0x73, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52,
+	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x4f, 0x73,
+	0x73, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x22, 0x1d, 0x82,
+	0xd3, 0xe4, 0x93, 0x02, 0x17, 0x3a, 0x01, 0x2a, 0x22, 0x12, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x61,
+	0x72, 0x64, 0x2f, 0x6f, 0x73, 0x73, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x2f, 0x0a, 0x04,
+	0x63, 0x61, 0x72, 0x64, 0x50, 0x01, 0x5a, 0x25, 0x74, 0x74, 0x6d, 0x79, 0x6c, 0x69, 0x66, 0x65,
+	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x7a, 0x65, 0x75, 0x73, 0x7a, 0x68, 0x61, 0x6f, 0x2f, 0x74, 0x79,
+	0x70, 0x65, 0x73, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x3b, 0x63, 0x61, 0x72, 0x64, 0x62, 0x06, 0x70,
+	0x72, 0x6f, 0x74, 0x6f, 0x33,
 }
 
 var (
@@ -1678,7 +1683,7 @@ var file_card_card_proto_goTypes = []interface{}{
 	(*LoginAccountReply)(nil),             // 25: card.LoginAccountReply
 	(*CreateAccountUserRequest)(nil),      // 26: card.CreateAccountUserRequest
 	(*CreateAccountUserReply)(nil),        // 27: card.CreateAccountUserReply
-	(*common.Oss)(nil),                    // 28: common.Oss
+	(*aliyun.Oss)(nil),                    // 28: aliyun.Oss
 	(*common.CardBaseBody)(nil),           // 29: common.CardBaseBody
 	(*common.CardSupplementBaseBody)(nil), // 30: common.CardSupplementBaseBody
 	(*common.CardTemplateBody)(nil),       // 31: common.CardTemplateBody
@@ -1686,10 +1691,10 @@ var file_card_card_proto_goTypes = []interface{}{
 	(*common.CardFilterBody)(nil),         // 33: common.CardFilterBody
 	(*pagination.PaginationBody)(nil),     // 34: pagination.PaginationBody
 	(*common.CardTemplateBaseBody)(nil),   // 35: common.CardTemplateBaseBody
-	(*common.AccountBaseBody)(nil),        // 36: common.AccountBaseBody
+	(*user.AccountBaseBody)(nil),          // 36: user.AccountBaseBody
 }
 var file_card_card_proto_depIdxs = []int32{
-	28, // 0: card.OssUploadReplay.body:type_name -> common.Oss
+	28, // 0: card.OssUploadReplay.body:type_name -> aliyun.Oss
 	29, // 1: card.OCRCardReply.body:type_name -> common.CardBaseBody
 	30, // 2: card.OCRCardReply.supplements:type_name -> common.CardSupplementBaseBody
 	31, // 3: card.GetTemplatesReply.templates:type_name -> common.CardTemplateBody
@@ -1707,8 +1712,8 @@ var file_card_card_proto_depIdxs = []int32{
 	35, // 15: card.GetCardInfoReply.template:type_name -> common.CardTemplateBaseBody
 	29, // 16: card.CreateCardRequest.card:type_name -> common.CardBaseBody
 	30, // 17: card.CreateCardRequest.supplements:type_name -> common.CardSupplementBaseBody
-	36, // 18: card.LoginAccountRequest.account:type_name -> common.AccountBaseBody
-	36, // 19: card.CreateAccountUserRequest.account:type_name -> common.AccountBaseBody
+	36, // 18: card.LoginAccountRequest.account:type_name -> user.AccountBaseBody
+	36, // 19: card.CreateAccountUserRequest.account:type_name -> user.AccountBaseBody
 	26, // 20: card.Card.CreateAccountUser:input_type -> card.CreateAccountUserRequest
 	24, // 21: card.Card.LoginAccount:input_type -> card.LoginAccountRequest
 	10, // 22: card.Card.WxRegisterLogin:input_type -> card.WxRegisterLoginRequest

+ 8 - 8
card/card.proto

@@ -2,15 +2,15 @@ syntax = "proto3";
 
 package card;
 
-option go_package = "types/card;card";
+option go_package = "ttmylife.com/zeuszhao/types/card;card";
 option java_multiple_files = true;
 option java_package = "card";
 
 import "third_party/google/api/annotations.proto";
-import "common/account.proto";
-import "common/card.proto";
-import "common/alioss.proto";
-import "pagination/pagination.proto";
+import "common/user/account.proto";
+import "card/common/card.proto";
+import "common/aliyun/alioss.proto";
+import "common/pagination/pagination.proto";
 
 service Card {
 	rpc CreateAccountUser (CreateAccountUserRequest) returns (CreateAccountUserReply) {
@@ -114,7 +114,7 @@ service Card {
 
 message OssUploadRequest{}
 message OssUploadReplay {
-	common.Oss body = 1;
+	aliyun.Oss body = 1;
 }
 
 message OCRCardRequest {
@@ -214,7 +214,7 @@ message CreateCardReply {
 }
 
 message LoginAccountRequest {
-	common.AccountBaseBody account = 1;
+	user.AccountBaseBody account = 1;
 }
 
 message LoginAccountReply {
@@ -222,7 +222,7 @@ message LoginAccountReply {
 }
 
 message CreateAccountUserRequest {
-	common.AccountBaseBody account = 1;
+	user.AccountBaseBody account = 1;
 }
 message CreateAccountUserReply {
 	bool ok = 1;

+ 4 - 3
card/card_error.pb.go

@@ -172,9 +172,10 @@ var file_card_card_error_proto_rawDesc = []byte{
 	0x4f, 0x55, 0x4e, 0x44, 0x10, 0x15, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x48, 0x49, 0x52, 0x44, 0x5f,
 	0x41, 0x4c, 0x49, 0x59, 0x55, 0x4e, 0x10, 0x16, 0x12, 0x17, 0x0a, 0x13, 0x45, 0x4e, 0x44, 0x50,
 	0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x4f, 0x53, 0x53, 0x5f, 0x55, 0x50, 0x4c, 0x4f, 0x41, 0x44, 0x10,
-	0x17, 0x1a, 0x04, 0xa0, 0x45, 0xf4, 0x03, 0x42, 0x13, 0x50, 0x01, 0x5a, 0x0f, 0x74, 0x79, 0x70,
-	0x65, 0x73, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x3b, 0x63, 0x61, 0x72, 0x64, 0x62, 0x06, 0x70, 0x72,
-	0x6f, 0x74, 0x6f, 0x33,
+	0x17, 0x1a, 0x04, 0xa0, 0x45, 0xf4, 0x03, 0x42, 0x29, 0x50, 0x01, 0x5a, 0x25, 0x74, 0x74, 0x6d,
+	0x79, 0x6c, 0x69, 0x66, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x7a, 0x65, 0x75, 0x73, 0x7a, 0x68,
+	0x61, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x3b, 0x63, 0x61,
+	0x72, 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 }
 
 var (

+ 1 - 1
card/card_error.proto

@@ -4,7 +4,7 @@ package card;
 
 import "third_party/errors/errors.proto";
 
-option go_package = "types/card;card";
+option go_package = "ttmylife.com/zeuszhao/types/card;card";
 option java_multiple_files = true;
 
 enum CardServiceErrorReason {

+ 155 - 153
common/card.pb.go → card/common/card.pb.go

@@ -2,7 +2,7 @@
 // versions:
 // 	protoc-gen-go v1.30.0
 // 	protoc        v3.17.3
-// source: common/card.proto
+// source: card/common/card.proto
 
 package common
 
@@ -53,11 +53,11 @@ func (x CardStatus) String() string {
 }
 
 func (CardStatus) Descriptor() protoreflect.EnumDescriptor {
-	return file_common_card_proto_enumTypes[0].Descriptor()
+	return file_card_common_card_proto_enumTypes[0].Descriptor()
 }
 
 func (CardStatus) Type() protoreflect.EnumType {
-	return &file_common_card_proto_enumTypes[0]
+	return &file_card_common_card_proto_enumTypes[0]
 }
 
 func (x CardStatus) Number() protoreflect.EnumNumber {
@@ -66,7 +66,7 @@ func (x CardStatus) Number() protoreflect.EnumNumber {
 
 // Deprecated: Use CardStatus.Descriptor instead.
 func (CardStatus) EnumDescriptor() ([]byte, []int) {
-	return file_common_card_proto_rawDescGZIP(), []int{0}
+	return file_card_common_card_proto_rawDescGZIP(), []int{0}
 }
 
 type CardType int32
@@ -102,11 +102,11 @@ func (x CardType) String() string {
 }
 
 func (CardType) Descriptor() protoreflect.EnumDescriptor {
-	return file_common_card_proto_enumTypes[1].Descriptor()
+	return file_card_common_card_proto_enumTypes[1].Descriptor()
 }
 
 func (CardType) Type() protoreflect.EnumType {
-	return &file_common_card_proto_enumTypes[1]
+	return &file_card_common_card_proto_enumTypes[1]
 }
 
 func (x CardType) Number() protoreflect.EnumNumber {
@@ -115,7 +115,7 @@ func (x CardType) Number() protoreflect.EnumNumber {
 
 // Deprecated: Use CardType.Descriptor instead.
 func (CardType) EnumDescriptor() ([]byte, []int) {
-	return file_common_card_proto_rawDescGZIP(), []int{1}
+	return file_card_common_card_proto_rawDescGZIP(), []int{1}
 }
 
 type CardTemplateBody struct {
@@ -130,7 +130,7 @@ type CardTemplateBody struct {
 func (x *CardTemplateBody) Reset() {
 	*x = CardTemplateBody{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_common_card_proto_msgTypes[0]
+		mi := &file_card_common_card_proto_msgTypes[0]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -143,7 +143,7 @@ func (x *CardTemplateBody) String() string {
 func (*CardTemplateBody) ProtoMessage() {}
 
 func (x *CardTemplateBody) ProtoReflect() protoreflect.Message {
-	mi := &file_common_card_proto_msgTypes[0]
+	mi := &file_card_common_card_proto_msgTypes[0]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -156,7 +156,7 @@ func (x *CardTemplateBody) ProtoReflect() protoreflect.Message {
 
 // Deprecated: Use CardTemplateBody.ProtoReflect.Descriptor instead.
 func (*CardTemplateBody) Descriptor() ([]byte, []int) {
-	return file_common_card_proto_rawDescGZIP(), []int{0}
+	return file_card_common_card_proto_rawDescGZIP(), []int{0}
 }
 
 func (x *CardTemplateBody) GetId() uint32 {
@@ -185,7 +185,7 @@ type CardSupplementBody struct {
 func (x *CardSupplementBody) Reset() {
 	*x = CardSupplementBody{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_common_card_proto_msgTypes[1]
+		mi := &file_card_common_card_proto_msgTypes[1]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -198,7 +198,7 @@ func (x *CardSupplementBody) String() string {
 func (*CardSupplementBody) ProtoMessage() {}
 
 func (x *CardSupplementBody) ProtoReflect() protoreflect.Message {
-	mi := &file_common_card_proto_msgTypes[1]
+	mi := &file_card_common_card_proto_msgTypes[1]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -211,7 +211,7 @@ func (x *CardSupplementBody) ProtoReflect() protoreflect.Message {
 
 // Deprecated: Use CardSupplementBody.ProtoReflect.Descriptor instead.
 func (*CardSupplementBody) Descriptor() ([]byte, []int) {
-	return file_common_card_proto_rawDescGZIP(), []int{1}
+	return file_card_common_card_proto_rawDescGZIP(), []int{1}
 }
 
 func (x *CardSupplementBody) GetId() uint32 {
@@ -241,7 +241,7 @@ type CardSupplementBaseBody struct {
 func (x *CardSupplementBaseBody) Reset() {
 	*x = CardSupplementBaseBody{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_common_card_proto_msgTypes[2]
+		mi := &file_card_common_card_proto_msgTypes[2]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -254,7 +254,7 @@ func (x *CardSupplementBaseBody) String() string {
 func (*CardSupplementBaseBody) ProtoMessage() {}
 
 func (x *CardSupplementBaseBody) ProtoReflect() protoreflect.Message {
-	mi := &file_common_card_proto_msgTypes[2]
+	mi := &file_card_common_card_proto_msgTypes[2]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -267,7 +267,7 @@ func (x *CardSupplementBaseBody) ProtoReflect() protoreflect.Message {
 
 // Deprecated: Use CardSupplementBaseBody.ProtoReflect.Descriptor instead.
 func (*CardSupplementBaseBody) Descriptor() ([]byte, []int) {
-	return file_common_card_proto_rawDescGZIP(), []int{2}
+	return file_card_common_card_proto_rawDescGZIP(), []int{2}
 }
 
 func (x *CardSupplementBaseBody) GetCardId() uint32 {
@@ -306,7 +306,7 @@ type CardTemplateBaseBody struct {
 func (x *CardTemplateBaseBody) Reset() {
 	*x = CardTemplateBaseBody{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_common_card_proto_msgTypes[3]
+		mi := &file_card_common_card_proto_msgTypes[3]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -319,7 +319,7 @@ func (x *CardTemplateBaseBody) String() string {
 func (*CardTemplateBaseBody) ProtoMessage() {}
 
 func (x *CardTemplateBaseBody) ProtoReflect() protoreflect.Message {
-	mi := &file_common_card_proto_msgTypes[3]
+	mi := &file_card_common_card_proto_msgTypes[3]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -332,7 +332,7 @@ func (x *CardTemplateBaseBody) ProtoReflect() protoreflect.Message {
 
 // Deprecated: Use CardTemplateBaseBody.ProtoReflect.Descriptor instead.
 func (*CardTemplateBaseBody) Descriptor() ([]byte, []int) {
-	return file_common_card_proto_rawDescGZIP(), []int{3}
+	return file_card_common_card_proto_rawDescGZIP(), []int{3}
 }
 
 func (x *CardTemplateBaseBody) GetName() string {
@@ -382,7 +382,7 @@ type CardBody struct {
 func (x *CardBody) Reset() {
 	*x = CardBody{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_common_card_proto_msgTypes[4]
+		mi := &file_card_common_card_proto_msgTypes[4]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -395,7 +395,7 @@ func (x *CardBody) String() string {
 func (*CardBody) ProtoMessage() {}
 
 func (x *CardBody) ProtoReflect() protoreflect.Message {
-	mi := &file_common_card_proto_msgTypes[4]
+	mi := &file_card_common_card_proto_msgTypes[4]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -408,7 +408,7 @@ func (x *CardBody) ProtoReflect() protoreflect.Message {
 
 // Deprecated: Use CardBody.ProtoReflect.Descriptor instead.
 func (*CardBody) Descriptor() ([]byte, []int) {
-	return file_common_card_proto_rawDescGZIP(), []int{4}
+	return file_card_common_card_proto_rawDescGZIP(), []int{4}
 }
 
 func (x *CardBody) GetId() uint32 {
@@ -445,7 +445,7 @@ type CardBaseBody struct {
 func (x *CardBaseBody) Reset() {
 	*x = CardBaseBody{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_common_card_proto_msgTypes[5]
+		mi := &file_card_common_card_proto_msgTypes[5]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -458,7 +458,7 @@ func (x *CardBaseBody) String() string {
 func (*CardBaseBody) ProtoMessage() {}
 
 func (x *CardBaseBody) ProtoReflect() protoreflect.Message {
-	mi := &file_common_card_proto_msgTypes[5]
+	mi := &file_card_common_card_proto_msgTypes[5]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -471,7 +471,7 @@ func (x *CardBaseBody) ProtoReflect() protoreflect.Message {
 
 // Deprecated: Use CardBaseBody.ProtoReflect.Descriptor instead.
 func (*CardBaseBody) Descriptor() ([]byte, []int) {
-	return file_common_card_proto_rawDescGZIP(), []int{5}
+	return file_card_common_card_proto_rawDescGZIP(), []int{5}
 }
 
 func (x *CardBaseBody) GetName() string {
@@ -556,7 +556,7 @@ type CardUser struct {
 func (x *CardUser) Reset() {
 	*x = CardUser{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_common_card_proto_msgTypes[6]
+		mi := &file_card_common_card_proto_msgTypes[6]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -569,7 +569,7 @@ func (x *CardUser) String() string {
 func (*CardUser) ProtoMessage() {}
 
 func (x *CardUser) ProtoReflect() protoreflect.Message {
-	mi := &file_common_card_proto_msgTypes[6]
+	mi := &file_card_common_card_proto_msgTypes[6]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -582,7 +582,7 @@ func (x *CardUser) ProtoReflect() protoreflect.Message {
 
 // Deprecated: Use CardUser.ProtoReflect.Descriptor instead.
 func (*CardUser) Descriptor() ([]byte, []int) {
-	return file_common_card_proto_rawDescGZIP(), []int{6}
+	return file_card_common_card_proto_rawDescGZIP(), []int{6}
 }
 
 func (x *CardUser) GetUserId() uint32 {
@@ -617,7 +617,7 @@ type CardFilterBody struct {
 func (x *CardFilterBody) Reset() {
 	*x = CardFilterBody{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_common_card_proto_msgTypes[7]
+		mi := &file_card_common_card_proto_msgTypes[7]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -630,7 +630,7 @@ func (x *CardFilterBody) String() string {
 func (*CardFilterBody) ProtoMessage() {}
 
 func (x *CardFilterBody) ProtoReflect() protoreflect.Message {
-	mi := &file_common_card_proto_msgTypes[7]
+	mi := &file_card_common_card_proto_msgTypes[7]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -643,7 +643,7 @@ func (x *CardFilterBody) ProtoReflect() protoreflect.Message {
 
 // Deprecated: Use CardFilterBody.ProtoReflect.Descriptor instead.
 func (*CardFilterBody) Descriptor() ([]byte, []int) {
-	return file_common_card_proto_rawDescGZIP(), []int{7}
+	return file_card_common_card_proto_rawDescGZIP(), []int{7}
 }
 
 func (x *CardFilterBody) GetName() string {
@@ -702,118 +702,120 @@ func (x *CardFilterBody) GetStatus() CardStatus {
 	return CardStatus_CARD_STATUS_UNDEFINED
 }
 
-var File_common_card_proto protoreflect.FileDescriptor
-
-var file_common_card_proto_rawDesc = []byte{
-	0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x70, 0x72,
-	0x6f, 0x74, 0x6f, 0x12, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x22, 0x54, 0x0a, 0x10, 0x43,
-	0x61, 0x72, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x12,
-	0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12,
-	0x30, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
-	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c,
-	0x61, 0x74, 0x65, 0x42, 0x61, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x64,
-	0x79, 0x22, 0x58, 0x0a, 0x12, 0x43, 0x61, 0x72, 0x64, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d,
-	0x65, 0x6e, 0x74, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
-	0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x32, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18,
-	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43,
-	0x61, 0x72, 0x64, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x73,
-	0x65, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0x69, 0x0a, 0x16, 0x43,
-	0x61, 0x72, 0x64, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x73,
-	0x65, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64,
-	0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x19,
-	0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
-	0x52, 0x07, 0x6b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6b, 0x65, 0x79,
-	0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65,
-	0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xbe, 0x01, 0x0a, 0x14, 0x43, 0x61, 0x72, 0x64, 0x54,
-	0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x61, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x12,
-	0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
-	0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6c,
-	0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x43,
-	0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x74, 0x69, 0x74, 0x6c, 0x65,
-	0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x75,
-	0x62, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x63,
-	0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01,
-	0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72,
-	0x12, 0x25, 0x0a, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x69,
-	0x6d, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72,
-	0x6f, 0x75, 0x6e, 0x64, 0x49, 0x6d, 0x67, 0x22, 0x44, 0x0a, 0x08, 0x43, 0x61, 0x72, 0x64, 0x42,
-	0x6f, 0x64, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
-	0x02, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28,
-	0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x42,
-	0x61, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0xce, 0x02,
-	0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x12,
-	0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
-	0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
-	0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70,
-	0x61, 0x6e, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
-	0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x63,
-	0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d,
-	0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79,
-	0x53, 0x68, 0x6f, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x65, 0x6d,
-	0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a,
-	0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73,
-	0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x75, 0x73, 0x65,
-	0x72, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20,
-	0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x72,
-	0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12,
-	0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x08, 0x20,
-	0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x12, 0x24,
-	0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x63,
-	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04,
-	0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18,
-	0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x22, 0x3c,
-	0x0a, 0x08, 0x43, 0x61, 0x72, 0x64, 0x55, 0x73, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73,
-	0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x75, 0x73, 0x65,
-	0x72, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02,
-	0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0x95, 0x02, 0x0a,
-	0x0e, 0x43, 0x61, 0x72, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x6f, 0x64, 0x79, 0x12,
-	0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
-	0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01,
-	0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d,
-	0x70, 0x61, 0x6e, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
-	0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x12,
-	0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61,
-	0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e,
-	0x79, 0x53, 0x68, 0x6f, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65,
-	0x61, 0x72, 0x63, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
-	0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65,
-	0x72, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72,
-	0x49, 0x64, 0x12, 0x24, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e,
-	0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x54, 0x79,
-	0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74,
-	0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
+var File_card_common_card_proto protoreflect.FileDescriptor
+
+var file_card_common_card_proto_rawDesc = []byte{
+	0x0a, 0x16, 0x63, 0x61, 0x72, 0x64, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x63, 0x61,
+	0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
+	0x22, 0x54, 0x0a, 0x10, 0x43, 0x61, 0x72, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65,
+	0x42, 0x6f, 0x64, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
+	0x52, 0x02, 0x69, 0x64, 0x12, 0x30, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x02, 0x20, 0x01,
+	0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64,
+	0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x61, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79,
+	0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0x58, 0x0a, 0x12, 0x43, 0x61, 0x72, 0x64, 0x53, 0x75,
+	0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x0e, 0x0a, 0x02,
+	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x32, 0x0a, 0x04,
+	0x62, 0x6f, 0x64, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6d,
+	0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65,
+	0x6e, 0x74, 0x42, 0x61, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79,
+	0x22, 0x69, 0x0a, 0x16, 0x43, 0x61, 0x72, 0x64, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65,
+	0x6e, 0x74, 0x42, 0x61, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x61,
+	0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x61, 0x72,
+	0x64, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
+	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b,
+	0x0a, 0x09, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
+	0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xbe, 0x01, 0x0a, 0x14,
+	0x43, 0x61, 0x72, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x61, 0x73, 0x65,
+	0x42, 0x6f, 0x64, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
+	0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x74, 0x6c,
+	0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74,
+	0x69, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x62,
+	0x74, 0x69, 0x74, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28,
+	0x09, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6c, 0x6f, 0x72,
+	0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x6f,
+	0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74,
+	0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f,
+	0x75, 0x6e, 0x64, 0x5f, 0x69, 0x6d, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x62,
+	0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x6d, 0x67, 0x22, 0x44, 0x0a, 0x08,
+	0x43, 0x61, 0x72, 0x64, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01,
+	0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79,
+	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
+	0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62, 0x6f,
+	0x64, 0x79, 0x22, 0xce, 0x02, 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x73, 0x65, 0x42,
+	0x6f, 0x64, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
+	0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65,
+	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x21, 0x0a,
+	0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20,
+	0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x4e, 0x61, 0x6d, 0x65,
+	0x12, 0x2c, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x5f, 0x73, 0x68, 0x6f, 0x72,
+	0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x6f,
+	0x6d, 0x70, 0x61, 0x6e, 0x79, 0x53, 0x68, 0x6f, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f,
+	0x0a, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20,
+	0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x64, 0x12,
+	0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d,
+	0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74,
+	0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
 	0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74,
-	0x61, 0x74, 0x75, 0x73, 0x2a, 0x58, 0x0a, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x53, 0x74, 0x61, 0x74,
-	0x75, 0x73, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55,
-	0x53, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a,
-	0x12, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x4e, 0x4f, 0x52,
-	0x4d, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x53, 0x54,
-	0x41, 0x54, 0x55, 0x53, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x02, 0x2a, 0x4c,
-	0x0a, 0x08, 0x43, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x41,
-	0x52, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45,
-	0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45,
-	0x5f, 0x53, 0x45, 0x4c, 0x46, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x41, 0x52, 0x44, 0x5f,
-	0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, 0x02, 0x42, 0x1f, 0x0a, 0x06,
-	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x50, 0x01, 0x5a, 0x13, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f,
+	0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x6b,
+	0x65, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68,
+	0x4b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28,
+	0x0e, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x54,
+	0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65,
+	0x61, 0x74, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61,
+	0x74, 0x65, 0x64, 0x22, 0x3c, 0x0a, 0x08, 0x43, 0x61, 0x72, 0x64, 0x55, 0x73, 0x65, 0x72, 0x12,
+	0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
+	0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64,
+	0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49,
+	0x64, 0x22, 0x95, 0x02, 0x0a, 0x0e, 0x43, 0x61, 0x72, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
+	0x42, 0x6f, 0x64, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
+	0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c,
+	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x21,
+	0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03,
+	0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x4e, 0x61, 0x6d,
+	0x65, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x5f, 0x73, 0x68, 0x6f,
+	0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63,
+	0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x53, 0x68, 0x6f, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12,
+	0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20,
+	0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x12, 0x17,
+	0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52,
+	0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18,
+	0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43,
+	0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a,
+	0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e,
+	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75,
+	0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2a, 0x58, 0x0a, 0x0a, 0x43, 0x61, 0x72,
+	0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x41, 0x52, 0x44, 0x5f,
+	0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44,
+	0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55,
+	0x53, 0x5f, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x41,
+	0x52, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45,
+	0x44, 0x10, 0x02, 0x2a, 0x4c, 0x0a, 0x08, 0x43, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12,
+	0x17, 0x0a, 0x13, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44,
+	0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x41, 0x52, 0x44,
+	0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f,
+	0x43, 0x41, 0x52, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10,
+	0x02, 0x42, 0x3a, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x50, 0x01, 0x5a, 0x2e, 0x74,
+	0x74, 0x6d, 0x79, 0x6c, 0x69, 0x66, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x7a, 0x65, 0x75, 0x73,
+	0x7a, 0x68, 0x61, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x2f,
 	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x62, 0x06, 0x70,
 	0x72, 0x6f, 0x74, 0x6f, 0x33,
 }
 
 var (
-	file_common_card_proto_rawDescOnce sync.Once
-	file_common_card_proto_rawDescData = file_common_card_proto_rawDesc
+	file_card_common_card_proto_rawDescOnce sync.Once
+	file_card_common_card_proto_rawDescData = file_card_common_card_proto_rawDesc
 )
 
-func file_common_card_proto_rawDescGZIP() []byte {
-	file_common_card_proto_rawDescOnce.Do(func() {
-		file_common_card_proto_rawDescData = protoimpl.X.CompressGZIP(file_common_card_proto_rawDescData)
+func file_card_common_card_proto_rawDescGZIP() []byte {
+	file_card_common_card_proto_rawDescOnce.Do(func() {
+		file_card_common_card_proto_rawDescData = protoimpl.X.CompressGZIP(file_card_common_card_proto_rawDescData)
 	})
-	return file_common_card_proto_rawDescData
+	return file_card_common_card_proto_rawDescData
 }
 
-var file_common_card_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
-var file_common_card_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
-var file_common_card_proto_goTypes = []interface{}{
+var file_card_common_card_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
+var file_card_common_card_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
+var file_card_common_card_proto_goTypes = []interface{}{
 	(CardStatus)(0),                // 0: common.CardStatus
 	(CardType)(0),                  // 1: common.CardType
 	(*CardTemplateBody)(nil),       // 2: common.CardTemplateBody
@@ -825,7 +827,7 @@ var file_common_card_proto_goTypes = []interface{}{
 	(*CardUser)(nil),               // 8: common.CardUser
 	(*CardFilterBody)(nil),         // 9: common.CardFilterBody
 }
-var file_common_card_proto_depIdxs = []int32{
+var file_card_common_card_proto_depIdxs = []int32{
 	5, // 0: common.CardTemplateBody.body:type_name -> common.CardTemplateBaseBody
 	4, // 1: common.CardSupplementBody.body:type_name -> common.CardSupplementBaseBody
 	7, // 2: common.CardBody.body:type_name -> common.CardBaseBody
@@ -840,13 +842,13 @@ var file_common_card_proto_depIdxs = []int32{
 	0, // [0:7] is the sub-list for field type_name
 }
 
-func init() { file_common_card_proto_init() }
-func file_common_card_proto_init() {
-	if File_common_card_proto != nil {
+func init() { file_card_common_card_proto_init() }
+func file_card_common_card_proto_init() {
+	if File_card_common_card_proto != nil {
 		return
 	}
 	if !protoimpl.UnsafeEnabled {
-		file_common_card_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+		file_card_common_card_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*CardTemplateBody); i {
 			case 0:
 				return &v.state
@@ -858,7 +860,7 @@ func file_common_card_proto_init() {
 				return nil
 			}
 		}
-		file_common_card_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+		file_card_common_card_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*CardSupplementBody); i {
 			case 0:
 				return &v.state
@@ -870,7 +872,7 @@ func file_common_card_proto_init() {
 				return nil
 			}
 		}
-		file_common_card_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+		file_card_common_card_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*CardSupplementBaseBody); i {
 			case 0:
 				return &v.state
@@ -882,7 +884,7 @@ func file_common_card_proto_init() {
 				return nil
 			}
 		}
-		file_common_card_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+		file_card_common_card_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*CardTemplateBaseBody); i {
 			case 0:
 				return &v.state
@@ -894,7 +896,7 @@ func file_common_card_proto_init() {
 				return nil
 			}
 		}
-		file_common_card_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
+		file_card_common_card_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*CardBody); i {
 			case 0:
 				return &v.state
@@ -906,7 +908,7 @@ func file_common_card_proto_init() {
 				return nil
 			}
 		}
-		file_common_card_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
+		file_card_common_card_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*CardBaseBody); i {
 			case 0:
 				return &v.state
@@ -918,7 +920,7 @@ func file_common_card_proto_init() {
 				return nil
 			}
 		}
-		file_common_card_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
+		file_card_common_card_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*CardUser); i {
 			case 0:
 				return &v.state
@@ -930,7 +932,7 @@ func file_common_card_proto_init() {
 				return nil
 			}
 		}
-		file_common_card_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
+		file_card_common_card_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*CardFilterBody); i {
 			case 0:
 				return &v.state
@@ -947,19 +949,19 @@ func file_common_card_proto_init() {
 	out := protoimpl.TypeBuilder{
 		File: protoimpl.DescBuilder{
 			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
-			RawDescriptor: file_common_card_proto_rawDesc,
+			RawDescriptor: file_card_common_card_proto_rawDesc,
 			NumEnums:      2,
 			NumMessages:   8,
 			NumExtensions: 0,
 			NumServices:   0,
 		},
-		GoTypes:           file_common_card_proto_goTypes,
-		DependencyIndexes: file_common_card_proto_depIdxs,
-		EnumInfos:         file_common_card_proto_enumTypes,
-		MessageInfos:      file_common_card_proto_msgTypes,
+		GoTypes:           file_card_common_card_proto_goTypes,
+		DependencyIndexes: file_card_common_card_proto_depIdxs,
+		EnumInfos:         file_card_common_card_proto_enumTypes,
+		MessageInfos:      file_card_common_card_proto_msgTypes,
 	}.Build()
-	File_common_card_proto = out.File
-	file_common_card_proto_rawDesc = nil
-	file_common_card_proto_goTypes = nil
-	file_common_card_proto_depIdxs = nil
+	File_card_common_card_proto = out.File
+	file_card_common_card_proto_rawDesc = nil
+	file_card_common_card_proto_goTypes = nil
+	file_card_common_card_proto_depIdxs = nil
 }

+ 1 - 1
common/card.proto → card/common/card.proto

@@ -2,7 +2,7 @@ syntax = "proto3";
 
 package common;
 
-option go_package = "types/common;common";
+option go_package = "ttmylife.com/zeuszhao/types/card/common;common";
 option java_multiple_files = true;
 option java_package = "common";
 

+ 0 - 183
common/alioss.pb.go

@@ -1,183 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// versions:
-// 	protoc-gen-go v1.30.0
-// 	protoc        v3.17.3
-// source: common/alioss.proto
-
-package common
-
-import (
-	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
-	reflect "reflect"
-	sync "sync"
-)
-
-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 Oss struct {
-	state         protoimpl.MessageState
-	sizeCache     protoimpl.SizeCache
-	unknownFields protoimpl.UnknownFields
-
-	AccessKeyId     string `protobuf:"bytes,1,opt,name=AccessKeyId,proto3" json:"AccessKeyId,omitempty"`
-	AccessKeySecret string `protobuf:"bytes,2,opt,name=AccessKeySecret,proto3" json:"AccessKeySecret,omitempty"`
-	SecurityToken   string `protobuf:"bytes,3,opt,name=SecurityToken,proto3" json:"SecurityToken,omitempty"`
-	Region          string `protobuf:"bytes,4,opt,name=Region,proto3" json:"Region,omitempty"`
-	Bucket          string `protobuf:"bytes,5,opt,name=Bucket,proto3" json:"Bucket,omitempty"`
-}
-
-func (x *Oss) Reset() {
-	*x = Oss{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_common_alioss_proto_msgTypes[0]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
-}
-
-func (x *Oss) String() string {
-	return protoimpl.X.MessageStringOf(x)
-}
-
-func (*Oss) ProtoMessage() {}
-
-func (x *Oss) ProtoReflect() protoreflect.Message {
-	mi := &file_common_alioss_proto_msgTypes[0]
-	if protoimpl.UnsafeEnabled && x != nil {
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		if ms.LoadMessageInfo() == nil {
-			ms.StoreMessageInfo(mi)
-		}
-		return ms
-	}
-	return mi.MessageOf(x)
-}
-
-// Deprecated: Use Oss.ProtoReflect.Descriptor instead.
-func (*Oss) Descriptor() ([]byte, []int) {
-	return file_common_alioss_proto_rawDescGZIP(), []int{0}
-}
-
-func (x *Oss) GetAccessKeyId() string {
-	if x != nil {
-		return x.AccessKeyId
-	}
-	return ""
-}
-
-func (x *Oss) GetAccessKeySecret() string {
-	if x != nil {
-		return x.AccessKeySecret
-	}
-	return ""
-}
-
-func (x *Oss) GetSecurityToken() string {
-	if x != nil {
-		return x.SecurityToken
-	}
-	return ""
-}
-
-func (x *Oss) GetRegion() string {
-	if x != nil {
-		return x.Region
-	}
-	return ""
-}
-
-func (x *Oss) GetBucket() string {
-	if x != nil {
-		return x.Bucket
-	}
-	return ""
-}
-
-var File_common_alioss_proto protoreflect.FileDescriptor
-
-var file_common_alioss_proto_rawDesc = []byte{
-	0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x61, 0x6c, 0x69, 0x6f, 0x73, 0x73, 0x2e,
-	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x22, 0xa7, 0x01,
-	0x0a, 0x03, 0x4f, 0x73, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b,
-	0x65, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x41, 0x63, 0x63, 0x65,
-	0x73, 0x73, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x41, 0x63, 0x63, 0x65, 0x73,
-	0x73, 0x4b, 0x65, 0x79, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
-	0x52, 0x0f, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x53, 0x65, 0x63, 0x72, 0x65,
-	0x74, 0x12, 0x24, 0x0a, 0x0d, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x54, 0x6f, 0x6b,
-	0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69,
-	0x74, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x67, 0x69, 0x6f,
-	0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12,
-	0x16, 0x0a, 0x06, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
-	0x06, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x1f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
-	0x6e, 0x50, 0x01, 0x5a, 0x13, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
-	0x6e, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
-}
-
-var (
-	file_common_alioss_proto_rawDescOnce sync.Once
-	file_common_alioss_proto_rawDescData = file_common_alioss_proto_rawDesc
-)
-
-func file_common_alioss_proto_rawDescGZIP() []byte {
-	file_common_alioss_proto_rawDescOnce.Do(func() {
-		file_common_alioss_proto_rawDescData = protoimpl.X.CompressGZIP(file_common_alioss_proto_rawDescData)
-	})
-	return file_common_alioss_proto_rawDescData
-}
-
-var file_common_alioss_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
-var file_common_alioss_proto_goTypes = []interface{}{
-	(*Oss)(nil), // 0: common.Oss
-}
-var file_common_alioss_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
-}
-
-func init() { file_common_alioss_proto_init() }
-func file_common_alioss_proto_init() {
-	if File_common_alioss_proto != nil {
-		return
-	}
-	if !protoimpl.UnsafeEnabled {
-		file_common_alioss_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Oss); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-	}
-	type x struct{}
-	out := protoimpl.TypeBuilder{
-		File: protoimpl.DescBuilder{
-			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
-			RawDescriptor: file_common_alioss_proto_rawDesc,
-			NumEnums:      0,
-			NumMessages:   1,
-			NumExtensions: 0,
-			NumServices:   0,
-		},
-		GoTypes:           file_common_alioss_proto_goTypes,
-		DependencyIndexes: file_common_alioss_proto_depIdxs,
-		MessageInfos:      file_common_alioss_proto_msgTypes,
-	}.Build()
-	File_common_alioss_proto = out.File
-	file_common_alioss_proto_rawDesc = nil
-	file_common_alioss_proto_goTypes = nil
-	file_common_alioss_proto_depIdxs = nil
-}

+ 186 - 0
common/aliyun/alioss.pb.go

@@ -0,0 +1,186 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// 	protoc-gen-go v1.30.0
+// 	protoc        v3.17.3
+// source: common/aliyun/alioss.proto
+
+package aliyun
+
+import (
+	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+	reflect "reflect"
+	sync "sync"
+)
+
+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 Oss struct {
+	state         protoimpl.MessageState
+	sizeCache     protoimpl.SizeCache
+	unknownFields protoimpl.UnknownFields
+
+	AccessKeyId     string `protobuf:"bytes,1,opt,name=AccessKeyId,proto3" json:"AccessKeyId,omitempty"`
+	AccessKeySecret string `protobuf:"bytes,2,opt,name=AccessKeySecret,proto3" json:"AccessKeySecret,omitempty"`
+	SecurityToken   string `protobuf:"bytes,3,opt,name=SecurityToken,proto3" json:"SecurityToken,omitempty"`
+	Region          string `protobuf:"bytes,4,opt,name=Region,proto3" json:"Region,omitempty"`
+	Bucket          string `protobuf:"bytes,5,opt,name=Bucket,proto3" json:"Bucket,omitempty"`
+}
+
+func (x *Oss) Reset() {
+	*x = Oss{}
+	if protoimpl.UnsafeEnabled {
+		mi := &file_common_aliyun_alioss_proto_msgTypes[0]
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		ms.StoreMessageInfo(mi)
+	}
+}
+
+func (x *Oss) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Oss) ProtoMessage() {}
+
+func (x *Oss) ProtoReflect() protoreflect.Message {
+	mi := &file_common_aliyun_alioss_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use Oss.ProtoReflect.Descriptor instead.
+func (*Oss) Descriptor() ([]byte, []int) {
+	return file_common_aliyun_alioss_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *Oss) GetAccessKeyId() string {
+	if x != nil {
+		return x.AccessKeyId
+	}
+	return ""
+}
+
+func (x *Oss) GetAccessKeySecret() string {
+	if x != nil {
+		return x.AccessKeySecret
+	}
+	return ""
+}
+
+func (x *Oss) GetSecurityToken() string {
+	if x != nil {
+		return x.SecurityToken
+	}
+	return ""
+}
+
+func (x *Oss) GetRegion() string {
+	if x != nil {
+		return x.Region
+	}
+	return ""
+}
+
+func (x *Oss) GetBucket() string {
+	if x != nil {
+		return x.Bucket
+	}
+	return ""
+}
+
+var File_common_aliyun_alioss_proto protoreflect.FileDescriptor
+
+var file_common_aliyun_alioss_proto_rawDesc = []byte{
+	0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x61, 0x6c, 0x69, 0x79, 0x75, 0x6e, 0x2f,
+	0x61, 0x6c, 0x69, 0x6f, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x61, 0x6c,
+	0x69, 0x79, 0x75, 0x6e, 0x22, 0xa7, 0x01, 0x0a, 0x03, 0x4f, 0x73, 0x73, 0x12, 0x20, 0x0a, 0x0b,
+	0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
+	0x09, 0x52, 0x0b, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x28,
+	0x0a, 0x0f, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x53, 0x65, 0x63, 0x72, 0x65,
+	0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b,
+	0x65, 0x79, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x53, 0x65, 0x63, 0x75,
+	0x72, 0x69, 0x74, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
+	0x0d, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16,
+	0x0a, 0x06, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
+	0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74,
+	0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x3c,
+	0x0a, 0x06, 0x61, 0x6c, 0x69, 0x79, 0x75, 0x6e, 0x50, 0x01, 0x5a, 0x30, 0x74, 0x74, 0x6d, 0x79,
+	0x6c, 0x69, 0x66, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x7a, 0x65, 0x75, 0x73, 0x7a, 0x68, 0x61,
+	0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x61,
+	0x6c, 0x69, 0x79, 0x75, 0x6e, 0x3b, 0x61, 0x6c, 0x69, 0x79, 0x75, 0x6e, 0x62, 0x06, 0x70, 0x72,
+	0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+	file_common_aliyun_alioss_proto_rawDescOnce sync.Once
+	file_common_aliyun_alioss_proto_rawDescData = file_common_aliyun_alioss_proto_rawDesc
+)
+
+func file_common_aliyun_alioss_proto_rawDescGZIP() []byte {
+	file_common_aliyun_alioss_proto_rawDescOnce.Do(func() {
+		file_common_aliyun_alioss_proto_rawDescData = protoimpl.X.CompressGZIP(file_common_aliyun_alioss_proto_rawDescData)
+	})
+	return file_common_aliyun_alioss_proto_rawDescData
+}
+
+var file_common_aliyun_alioss_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_common_aliyun_alioss_proto_goTypes = []interface{}{
+	(*Oss)(nil), // 0: aliyun.Oss
+}
+var file_common_aliyun_alioss_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
+}
+
+func init() { file_common_aliyun_alioss_proto_init() }
+func file_common_aliyun_alioss_proto_init() {
+	if File_common_aliyun_alioss_proto != nil {
+		return
+	}
+	if !protoimpl.UnsafeEnabled {
+		file_common_aliyun_alioss_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Oss); i {
+			case 0:
+				return &v.state
+			case 1:
+				return &v.sizeCache
+			case 2:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+	}
+	type x struct{}
+	out := protoimpl.TypeBuilder{
+		File: protoimpl.DescBuilder{
+			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+			RawDescriptor: file_common_aliyun_alioss_proto_rawDesc,
+			NumEnums:      0,
+			NumMessages:   1,
+			NumExtensions: 0,
+			NumServices:   0,
+		},
+		GoTypes:           file_common_aliyun_alioss_proto_goTypes,
+		DependencyIndexes: file_common_aliyun_alioss_proto_depIdxs,
+		MessageInfos:      file_common_aliyun_alioss_proto_msgTypes,
+	}.Build()
+	File_common_aliyun_alioss_proto = out.File
+	file_common_aliyun_alioss_proto_rawDesc = nil
+	file_common_aliyun_alioss_proto_goTypes = nil
+	file_common_aliyun_alioss_proto_depIdxs = nil
+}

+ 3 - 3
common/alioss.proto → common/aliyun/alioss.proto

@@ -1,10 +1,10 @@
 syntax = "proto3";
 
-package common;
+package aliyun;
 
-option go_package = "types/common;common";
+option go_package = "ttmylife.com/zeuszhao/types/common/aliyun;aliyun";
 option java_multiple_files = true;
-option java_package = "common";
+option java_package = "aliyun";
 
 message Oss {
     string AccessKeyId = 1;

+ 156 - 0
common/pagination/pagination.pb.go

@@ -0,0 +1,156 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// 	protoc-gen-go v1.30.0
+// 	protoc        v3.17.3
+// source: common/pagination/pagination.proto
+
+package pagination
+
+import (
+	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+	reflect "reflect"
+	sync "sync"
+)
+
+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 PaginationBody struct {
+	state         protoimpl.MessageState
+	sizeCache     protoimpl.SizeCache
+	unknownFields protoimpl.UnknownFields
+
+	Now  uint32 `protobuf:"varint,1,opt,name=now,proto3" json:"now,omitempty"`
+	Size uint32 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"`
+}
+
+func (x *PaginationBody) Reset() {
+	*x = PaginationBody{}
+	if protoimpl.UnsafeEnabled {
+		mi := &file_common_pagination_pagination_proto_msgTypes[0]
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		ms.StoreMessageInfo(mi)
+	}
+}
+
+func (x *PaginationBody) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PaginationBody) ProtoMessage() {}
+
+func (x *PaginationBody) ProtoReflect() protoreflect.Message {
+	mi := &file_common_pagination_pagination_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use PaginationBody.ProtoReflect.Descriptor instead.
+func (*PaginationBody) Descriptor() ([]byte, []int) {
+	return file_common_pagination_pagination_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PaginationBody) GetNow() uint32 {
+	if x != nil {
+		return x.Now
+	}
+	return 0
+}
+
+func (x *PaginationBody) GetSize() uint32 {
+	if x != nil {
+		return x.Size
+	}
+	return 0
+}
+
+var File_common_pagination_pagination_proto protoreflect.FileDescriptor
+
+var file_common_pagination_pagination_proto_rawDesc = []byte{
+	0x0a, 0x22, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74,
+	0x69, 0x6f, 0x6e, 0x2f, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70,
+	0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+	0x22, 0x36, 0x0a, 0x0e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f,
+	0x64, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6e, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
+	0x03, 0x6e, 0x6f, 0x77, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01,
+	0x28, 0x0d, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x48, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69,
+	0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x01, 0x5a, 0x38, 0x74, 0x74, 0x6d, 0x79, 0x6c, 0x69,
+	0x66, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x7a, 0x65, 0x75, 0x73, 0x7a, 0x68, 0x61, 0x6f, 0x2f,
+	0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x61, 0x67,
+	0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3b, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69,
+	0x6f, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+	file_common_pagination_pagination_proto_rawDescOnce sync.Once
+	file_common_pagination_pagination_proto_rawDescData = file_common_pagination_pagination_proto_rawDesc
+)
+
+func file_common_pagination_pagination_proto_rawDescGZIP() []byte {
+	file_common_pagination_pagination_proto_rawDescOnce.Do(func() {
+		file_common_pagination_pagination_proto_rawDescData = protoimpl.X.CompressGZIP(file_common_pagination_pagination_proto_rawDescData)
+	})
+	return file_common_pagination_pagination_proto_rawDescData
+}
+
+var file_common_pagination_pagination_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_common_pagination_pagination_proto_goTypes = []interface{}{
+	(*PaginationBody)(nil), // 0: pagination.PaginationBody
+}
+var file_common_pagination_pagination_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
+}
+
+func init() { file_common_pagination_pagination_proto_init() }
+func file_common_pagination_pagination_proto_init() {
+	if File_common_pagination_pagination_proto != nil {
+		return
+	}
+	if !protoimpl.UnsafeEnabled {
+		file_common_pagination_pagination_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*PaginationBody); i {
+			case 0:
+				return &v.state
+			case 1:
+				return &v.sizeCache
+			case 2:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+	}
+	type x struct{}
+	out := protoimpl.TypeBuilder{
+		File: protoimpl.DescBuilder{
+			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+			RawDescriptor: file_common_pagination_pagination_proto_rawDesc,
+			NumEnums:      0,
+			NumMessages:   1,
+			NumExtensions: 0,
+			NumServices:   0,
+		},
+		GoTypes:           file_common_pagination_pagination_proto_goTypes,
+		DependencyIndexes: file_common_pagination_pagination_proto_depIdxs,
+		MessageInfos:      file_common_pagination_pagination_proto_msgTypes,
+	}.Build()
+	File_common_pagination_pagination_proto = out.File
+	file_common_pagination_pagination_proto_rawDesc = nil
+	file_common_pagination_pagination_proto_goTypes = nil
+	file_common_pagination_pagination_proto_depIdxs = nil
+}

+ 1 - 1
pagination/pagination.proto → common/pagination/pagination.proto

@@ -2,7 +2,7 @@ syntax = "proto3";
 
 package pagination;
 
-option go_package = "types/pagination;pagination";
+option go_package = "ttmylife.com/zeuszhao/types/common/pagination;pagination";
 option java_multiple_files = true;
 option java_package = "pagination";
 

+ 83 - 82
common/account.pb.go → common/user/account.pb.go

@@ -2,9 +2,9 @@
 // versions:
 // 	protoc-gen-go v1.30.0
 // 	protoc        v3.17.3
-// source: common/account.proto
+// source: common/user/account.proto
 
-package common
+package user
 
 import (
 	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
@@ -53,11 +53,11 @@ func (x AccountStatus) String() string {
 }
 
 func (AccountStatus) Descriptor() protoreflect.EnumDescriptor {
-	return file_common_account_proto_enumTypes[0].Descriptor()
+	return file_common_user_account_proto_enumTypes[0].Descriptor()
 }
 
 func (AccountStatus) Type() protoreflect.EnumType {
-	return &file_common_account_proto_enumTypes[0]
+	return &file_common_user_account_proto_enumTypes[0]
 }
 
 func (x AccountStatus) Number() protoreflect.EnumNumber {
@@ -66,7 +66,7 @@ func (x AccountStatus) Number() protoreflect.EnumNumber {
 
 // Deprecated: Use AccountStatus.Descriptor instead.
 func (AccountStatus) EnumDescriptor() ([]byte, []int) {
-	return file_common_account_proto_rawDescGZIP(), []int{0}
+	return file_common_user_account_proto_rawDescGZIP(), []int{0}
 }
 
 type AccountType int32
@@ -99,11 +99,11 @@ func (x AccountType) String() string {
 }
 
 func (AccountType) Descriptor() protoreflect.EnumDescriptor {
-	return file_common_account_proto_enumTypes[1].Descriptor()
+	return file_common_user_account_proto_enumTypes[1].Descriptor()
 }
 
 func (AccountType) Type() protoreflect.EnumType {
-	return &file_common_account_proto_enumTypes[1]
+	return &file_common_user_account_proto_enumTypes[1]
 }
 
 func (x AccountType) Number() protoreflect.EnumNumber {
@@ -112,7 +112,7 @@ func (x AccountType) Number() protoreflect.EnumNumber {
 
 // Deprecated: Use AccountType.Descriptor instead.
 func (AccountType) EnumDescriptor() ([]byte, []int) {
-	return file_common_account_proto_rawDescGZIP(), []int{1}
+	return file_common_user_account_proto_rawDescGZIP(), []int{1}
 }
 
 type AccountBody struct {
@@ -127,7 +127,7 @@ type AccountBody struct {
 func (x *AccountBody) Reset() {
 	*x = AccountBody{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_common_account_proto_msgTypes[0]
+		mi := &file_common_user_account_proto_msgTypes[0]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -140,7 +140,7 @@ func (x *AccountBody) String() string {
 func (*AccountBody) ProtoMessage() {}
 
 func (x *AccountBody) ProtoReflect() protoreflect.Message {
-	mi := &file_common_account_proto_msgTypes[0]
+	mi := &file_common_user_account_proto_msgTypes[0]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -153,7 +153,7 @@ func (x *AccountBody) ProtoReflect() protoreflect.Message {
 
 // Deprecated: Use AccountBody.ProtoReflect.Descriptor instead.
 func (*AccountBody) Descriptor() ([]byte, []int) {
-	return file_common_account_proto_rawDescGZIP(), []int{0}
+	return file_common_user_account_proto_rawDescGZIP(), []int{0}
 }
 
 func (x *AccountBody) GetId() uint32 {
@@ -176,16 +176,16 @@ type AccountBaseBody struct {
 	unknownFields protoimpl.UnknownFields
 
 	UserId   uint32        `protobuf:"varint,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
-	Type     AccountType   `protobuf:"varint,2,opt,name=type,proto3,enum=common.AccountType" json:"type,omitempty"`
+	Type     AccountType   `protobuf:"varint,2,opt,name=type,proto3,enum=user.AccountType" json:"type,omitempty"`
 	Account  string        `protobuf:"bytes,3,opt,name=account,proto3" json:"account,omitempty"`
 	Password string        `protobuf:"bytes,4,opt,name=password,proto3" json:"password,omitempty"`
-	Status   AccountStatus `protobuf:"varint,5,opt,name=status,proto3,enum=common.AccountStatus" json:"status,omitempty"`
+	Status   AccountStatus `protobuf:"varint,5,opt,name=status,proto3,enum=user.AccountStatus" json:"status,omitempty"`
 }
 
 func (x *AccountBaseBody) Reset() {
 	*x = AccountBaseBody{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_common_account_proto_msgTypes[1]
+		mi := &file_common_user_account_proto_msgTypes[1]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -198,7 +198,7 @@ func (x *AccountBaseBody) String() string {
 func (*AccountBaseBody) ProtoMessage() {}
 
 func (x *AccountBaseBody) ProtoReflect() protoreflect.Message {
-	mi := &file_common_account_proto_msgTypes[1]
+	mi := &file_common_user_account_proto_msgTypes[1]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -211,7 +211,7 @@ func (x *AccountBaseBody) ProtoReflect() protoreflect.Message {
 
 // Deprecated: Use AccountBaseBody.ProtoReflect.Descriptor instead.
 func (*AccountBaseBody) Descriptor() ([]byte, []int) {
-	return file_common_account_proto_rawDescGZIP(), []int{1}
+	return file_common_user_account_proto_rawDescGZIP(), []int{1}
 }
 
 func (x *AccountBaseBody) GetUserId() uint32 {
@@ -249,67 +249,68 @@ func (x *AccountBaseBody) GetStatus() AccountStatus {
 	return AccountStatus_ACCOUNT_STATUS_UNDEFINED
 }
 
-var File_common_account_proto protoreflect.FileDescriptor
-
-var file_common_account_proto_rawDesc = []byte{
-	0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
-	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x22, 0x4a,
-	0x0a, 0x0b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x0e, 0x0a,
-	0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2b, 0x0a,
-	0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x6f,
-	0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x73, 0x65,
-	0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0xb8, 0x01, 0x0a, 0x0f, 0x41,
-	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x17,
-	0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
-	0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18,
-	0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41,
-	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65,
-	0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
-	0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61,
-	0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61,
-	0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x2d, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
-	0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
-	0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73,
-	0x74, 0x61, 0x74, 0x75, 0x73, 0x2a, 0x66, 0x0a, 0x0d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
-	0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e,
-	0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e,
-	0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f,
-	0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01,
-	0x12, 0x1b, 0x0a, 0x17, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54,
-	0x55, 0x53, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x2a, 0x44, 0x0a,
-	0x0b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16,
-	0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44,
-	0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x43, 0x43, 0x4f,
-	0x55, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x57, 0x58, 0x4f, 0x50, 0x45, 0x4e, 0x49,
-	0x44, 0x10, 0x01, 0x42, 0x1f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x50, 0x01, 0x5a,
-	0x13, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x3b, 0x63, 0x6f,
-	0x6d, 0x6d, 0x6f, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+var File_common_user_account_proto protoreflect.FileDescriptor
+
+var file_common_user_account_proto_rawDesc = []byte{
+	0x0a, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x61, 0x63,
+	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x04, 0x75, 0x73, 0x65,
+	0x72, 0x22, 0x48, 0x0a, 0x0b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x6f, 0x64, 0x79,
+	0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64,
+	0x12, 0x29, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15,
+	0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x73,
+	0x65, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0xb4, 0x01, 0x0a, 0x0f,
+	0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x12,
+	0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
+	0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65,
+	0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x41, 0x63,
+	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12,
+	0x18, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
+	0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73,
+	0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73,
+	0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x2b, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18,
+	0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x41, 0x63, 0x63,
+	0x6f, 0x75, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74,
+	0x75, 0x73, 0x2a, 0x66, 0x0a, 0x0d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x74, 0x61,
+	0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x53,
+	0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10,
+	0x00, 0x12, 0x1a, 0x0a, 0x16, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41,
+	0x54, 0x55, 0x53, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x1b, 0x0a,
+	0x17, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f,
+	0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x2a, 0x44, 0x0a, 0x0b, 0x41, 0x63,
+	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x41, 0x43, 0x43,
+	0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49,
+	0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54,
+	0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x57, 0x58, 0x4f, 0x50, 0x45, 0x4e, 0x49, 0x44, 0x10, 0x01,
+	0x42, 0x36, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x50, 0x01, 0x5a, 0x2c, 0x74, 0x74, 0x6d, 0x79,
+	0x6c, 0x69, 0x66, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x7a, 0x65, 0x75, 0x73, 0x7a, 0x68, 0x61,
+	0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x75,
+	0x73, 0x65, 0x72, 0x3b, 0x75, 0x73, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 }
 
 var (
-	file_common_account_proto_rawDescOnce sync.Once
-	file_common_account_proto_rawDescData = file_common_account_proto_rawDesc
+	file_common_user_account_proto_rawDescOnce sync.Once
+	file_common_user_account_proto_rawDescData = file_common_user_account_proto_rawDesc
 )
 
-func file_common_account_proto_rawDescGZIP() []byte {
-	file_common_account_proto_rawDescOnce.Do(func() {
-		file_common_account_proto_rawDescData = protoimpl.X.CompressGZIP(file_common_account_proto_rawDescData)
+func file_common_user_account_proto_rawDescGZIP() []byte {
+	file_common_user_account_proto_rawDescOnce.Do(func() {
+		file_common_user_account_proto_rawDescData = protoimpl.X.CompressGZIP(file_common_user_account_proto_rawDescData)
 	})
-	return file_common_account_proto_rawDescData
+	return file_common_user_account_proto_rawDescData
 }
 
-var file_common_account_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
-var file_common_account_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
-var file_common_account_proto_goTypes = []interface{}{
-	(AccountStatus)(0),      // 0: common.AccountStatus
-	(AccountType)(0),        // 1: common.AccountType
-	(*AccountBody)(nil),     // 2: common.AccountBody
-	(*AccountBaseBody)(nil), // 3: common.AccountBaseBody
+var file_common_user_account_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
+var file_common_user_account_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_common_user_account_proto_goTypes = []interface{}{
+	(AccountStatus)(0),      // 0: user.AccountStatus
+	(AccountType)(0),        // 1: user.AccountType
+	(*AccountBody)(nil),     // 2: user.AccountBody
+	(*AccountBaseBody)(nil), // 3: user.AccountBaseBody
 }
-var file_common_account_proto_depIdxs = []int32{
-	3, // 0: common.AccountBody.body:type_name -> common.AccountBaseBody
-	1, // 1: common.AccountBaseBody.type:type_name -> common.AccountType
-	0, // 2: common.AccountBaseBody.status:type_name -> common.AccountStatus
+var file_common_user_account_proto_depIdxs = []int32{
+	3, // 0: user.AccountBody.body:type_name -> user.AccountBaseBody
+	1, // 1: user.AccountBaseBody.type:type_name -> user.AccountType
+	0, // 2: user.AccountBaseBody.status:type_name -> user.AccountStatus
 	3, // [3:3] is the sub-list for method output_type
 	3, // [3:3] is the sub-list for method input_type
 	3, // [3:3] is the sub-list for extension type_name
@@ -317,13 +318,13 @@ var file_common_account_proto_depIdxs = []int32{
 	0, // [0:3] is the sub-list for field type_name
 }
 
-func init() { file_common_account_proto_init() }
-func file_common_account_proto_init() {
-	if File_common_account_proto != nil {
+func init() { file_common_user_account_proto_init() }
+func file_common_user_account_proto_init() {
+	if File_common_user_account_proto != nil {
 		return
 	}
 	if !protoimpl.UnsafeEnabled {
-		file_common_account_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+		file_common_user_account_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*AccountBody); i {
 			case 0:
 				return &v.state
@@ -335,7 +336,7 @@ func file_common_account_proto_init() {
 				return nil
 			}
 		}
-		file_common_account_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+		file_common_user_account_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*AccountBaseBody); i {
 			case 0:
 				return &v.state
@@ -352,19 +353,19 @@ func file_common_account_proto_init() {
 	out := protoimpl.TypeBuilder{
 		File: protoimpl.DescBuilder{
 			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
-			RawDescriptor: file_common_account_proto_rawDesc,
+			RawDescriptor: file_common_user_account_proto_rawDesc,
 			NumEnums:      2,
 			NumMessages:   2,
 			NumExtensions: 0,
 			NumServices:   0,
 		},
-		GoTypes:           file_common_account_proto_goTypes,
-		DependencyIndexes: file_common_account_proto_depIdxs,
-		EnumInfos:         file_common_account_proto_enumTypes,
-		MessageInfos:      file_common_account_proto_msgTypes,
+		GoTypes:           file_common_user_account_proto_goTypes,
+		DependencyIndexes: file_common_user_account_proto_depIdxs,
+		EnumInfos:         file_common_user_account_proto_enumTypes,
+		MessageInfos:      file_common_user_account_proto_msgTypes,
 	}.Build()
-	File_common_account_proto = out.File
-	file_common_account_proto_rawDesc = nil
-	file_common_account_proto_goTypes = nil
-	file_common_account_proto_depIdxs = nil
+	File_common_user_account_proto = out.File
+	file_common_user_account_proto_rawDesc = nil
+	file_common_user_account_proto_goTypes = nil
+	file_common_user_account_proto_depIdxs = nil
 }

+ 3 - 3
common/account.proto → common/user/account.proto

@@ -1,10 +1,10 @@
 syntax = "proto3";
 
-package common;
+package user;
 
-option go_package = "types/common;common";
+option go_package = "ttmylife.com/zeuszhao/types/common/user;user";
 option java_multiple_files = true;
-option java_package = "common";
+option java_package = "user";
 
 enum AccountStatus {
     ACCOUNT_STATUS_UNDEFINED = 0;

+ 64 - 63
common/user.pb.go → common/user/user.pb.go

@@ -2,9 +2,9 @@
 // versions:
 // 	protoc-gen-go v1.30.0
 // 	protoc        v3.17.3
-// source: common/user.proto
+// source: common/user/user.proto
 
-package common
+package user
 
 import (
 	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
@@ -53,11 +53,11 @@ func (x UserStatus) String() string {
 }
 
 func (UserStatus) Descriptor() protoreflect.EnumDescriptor {
-	return file_common_user_proto_enumTypes[0].Descriptor()
+	return file_common_user_user_proto_enumTypes[0].Descriptor()
 }
 
 func (UserStatus) Type() protoreflect.EnumType {
-	return &file_common_user_proto_enumTypes[0]
+	return &file_common_user_user_proto_enumTypes[0]
 }
 
 func (x UserStatus) Number() protoreflect.EnumNumber {
@@ -66,7 +66,7 @@ func (x UserStatus) Number() protoreflect.EnumNumber {
 
 // Deprecated: Use UserStatus.Descriptor instead.
 func (UserStatus) EnumDescriptor() ([]byte, []int) {
-	return file_common_user_proto_rawDescGZIP(), []int{0}
+	return file_common_user_user_proto_rawDescGZIP(), []int{0}
 }
 
 type UserBody struct {
@@ -81,7 +81,7 @@ type UserBody struct {
 func (x *UserBody) Reset() {
 	*x = UserBody{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_common_user_proto_msgTypes[0]
+		mi := &file_common_user_user_proto_msgTypes[0]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -94,7 +94,7 @@ func (x *UserBody) String() string {
 func (*UserBody) ProtoMessage() {}
 
 func (x *UserBody) ProtoReflect() protoreflect.Message {
-	mi := &file_common_user_proto_msgTypes[0]
+	mi := &file_common_user_user_proto_msgTypes[0]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -107,7 +107,7 @@ func (x *UserBody) ProtoReflect() protoreflect.Message {
 
 // Deprecated: Use UserBody.ProtoReflect.Descriptor instead.
 func (*UserBody) Descriptor() ([]byte, []int) {
-	return file_common_user_proto_rawDescGZIP(), []int{0}
+	return file_common_user_user_proto_rawDescGZIP(), []int{0}
 }
 
 func (x *UserBody) GetId() uint32 {
@@ -129,13 +129,13 @@ type UserBaseBody struct {
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 
-	Status UserStatus `protobuf:"varint,1,opt,name=status,proto3,enum=common.UserStatus" json:"status,omitempty"`
+	Status UserStatus `protobuf:"varint,1,opt,name=status,proto3,enum=user.UserStatus" json:"status,omitempty"`
 }
 
 func (x *UserBaseBody) Reset() {
 	*x = UserBaseBody{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_common_user_proto_msgTypes[1]
+		mi := &file_common_user_user_proto_msgTypes[1]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -148,7 +148,7 @@ func (x *UserBaseBody) String() string {
 func (*UserBaseBody) ProtoMessage() {}
 
 func (x *UserBaseBody) ProtoReflect() protoreflect.Message {
-	mi := &file_common_user_proto_msgTypes[1]
+	mi := &file_common_user_user_proto_msgTypes[1]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -161,7 +161,7 @@ func (x *UserBaseBody) ProtoReflect() protoreflect.Message {
 
 // Deprecated: Use UserBaseBody.ProtoReflect.Descriptor instead.
 func (*UserBaseBody) Descriptor() ([]byte, []int) {
-	return file_common_user_proto_rawDescGZIP(), []int{1}
+	return file_common_user_user_proto_rawDescGZIP(), []int{1}
 }
 
 func (x *UserBaseBody) GetStatus() UserStatus {
@@ -171,52 +171,53 @@ func (x *UserBaseBody) GetStatus() UserStatus {
 	return UserStatus_USER_STATUS_UNDEFINED
 }
 
-var File_common_user_proto protoreflect.FileDescriptor
-
-var file_common_user_proto_rawDesc = []byte{
-	0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x70, 0x72,
-	0x6f, 0x74, 0x6f, 0x12, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x22, 0x44, 0x0a, 0x08, 0x55,
-	0x73, 0x65, 0x72, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
-	0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18,
-	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x55,
-	0x73, 0x65, 0x72, 0x42, 0x61, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x64,
-	0x79, 0x22, 0x3a, 0x0a, 0x0c, 0x55, 0x73, 0x65, 0x72, 0x42, 0x61, 0x73, 0x65, 0x42, 0x6f, 0x64,
-	0x79, 0x12, 0x2a, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
-	0x0e, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53,
-	0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2a, 0x5a, 0x0a,
-	0x0a, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x19, 0x0a, 0x15, 0x55,
-	0x53, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46,
-	0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x53,
-	0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12,
-	0x18, 0x0a, 0x14, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x44,
-	0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x42, 0x1f, 0x0a, 0x06, 0x63, 0x6f, 0x6d,
-	0x6d, 0x6f, 0x6e, 0x50, 0x01, 0x5a, 0x13, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6d,
-	0x6d, 0x6f, 0x6e, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
-	0x6f, 0x33,
+var File_common_user_user_proto protoreflect.FileDescriptor
+
+var file_common_user_user_proto_rawDesc = []byte{
+	0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x75, 0x73,
+	0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0x42,
+	0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
+	0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x62, 0x6f,
+	0x64, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e,
+	0x55, 0x73, 0x65, 0x72, 0x42, 0x61, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62, 0x6f,
+	0x64, 0x79, 0x22, 0x38, 0x0a, 0x0c, 0x55, 0x73, 0x65, 0x72, 0x42, 0x61, 0x73, 0x65, 0x42, 0x6f,
+	0x64, 0x79, 0x12, 0x28, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01,
+	0x28, 0x0e, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74,
+	0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2a, 0x5a, 0x0a, 0x0a,
+	0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x19, 0x0a, 0x15, 0x55, 0x53,
+	0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49,
+	0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x53, 0x54,
+	0x41, 0x54, 0x55, 0x53, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x18,
+	0x0a, 0x14, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x44, 0x49,
+	0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x42, 0x36, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72,
+	0x50, 0x01, 0x5a, 0x2c, 0x74, 0x74, 0x6d, 0x79, 0x6c, 0x69, 0x66, 0x65, 0x2e, 0x63, 0x6f, 0x6d,
+	0x2f, 0x7a, 0x65, 0x75, 0x73, 0x7a, 0x68, 0x61, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f,
+	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x3b, 0x75, 0x73, 0x65, 0x72,
+	0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 }
 
 var (
-	file_common_user_proto_rawDescOnce sync.Once
-	file_common_user_proto_rawDescData = file_common_user_proto_rawDesc
+	file_common_user_user_proto_rawDescOnce sync.Once
+	file_common_user_user_proto_rawDescData = file_common_user_user_proto_rawDesc
 )
 
-func file_common_user_proto_rawDescGZIP() []byte {
-	file_common_user_proto_rawDescOnce.Do(func() {
-		file_common_user_proto_rawDescData = protoimpl.X.CompressGZIP(file_common_user_proto_rawDescData)
+func file_common_user_user_proto_rawDescGZIP() []byte {
+	file_common_user_user_proto_rawDescOnce.Do(func() {
+		file_common_user_user_proto_rawDescData = protoimpl.X.CompressGZIP(file_common_user_user_proto_rawDescData)
 	})
-	return file_common_user_proto_rawDescData
+	return file_common_user_user_proto_rawDescData
 }
 
-var file_common_user_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
-var file_common_user_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
-var file_common_user_proto_goTypes = []interface{}{
-	(UserStatus)(0),      // 0: common.UserStatus
-	(*UserBody)(nil),     // 1: common.UserBody
-	(*UserBaseBody)(nil), // 2: common.UserBaseBody
+var file_common_user_user_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_common_user_user_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_common_user_user_proto_goTypes = []interface{}{
+	(UserStatus)(0),      // 0: user.UserStatus
+	(*UserBody)(nil),     // 1: user.UserBody
+	(*UserBaseBody)(nil), // 2: user.UserBaseBody
 }
-var file_common_user_proto_depIdxs = []int32{
-	2, // 0: common.UserBody.body:type_name -> common.UserBaseBody
-	0, // 1: common.UserBaseBody.status:type_name -> common.UserStatus
+var file_common_user_user_proto_depIdxs = []int32{
+	2, // 0: user.UserBody.body:type_name -> user.UserBaseBody
+	0, // 1: user.UserBaseBody.status:type_name -> user.UserStatus
 	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
@@ -224,13 +225,13 @@ var file_common_user_proto_depIdxs = []int32{
 	0, // [0:2] is the sub-list for field type_name
 }
 
-func init() { file_common_user_proto_init() }
-func file_common_user_proto_init() {
-	if File_common_user_proto != nil {
+func init() { file_common_user_user_proto_init() }
+func file_common_user_user_proto_init() {
+	if File_common_user_user_proto != nil {
 		return
 	}
 	if !protoimpl.UnsafeEnabled {
-		file_common_user_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+		file_common_user_user_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*UserBody); i {
 			case 0:
 				return &v.state
@@ -242,7 +243,7 @@ func file_common_user_proto_init() {
 				return nil
 			}
 		}
-		file_common_user_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+		file_common_user_user_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*UserBaseBody); i {
 			case 0:
 				return &v.state
@@ -259,19 +260,19 @@ func file_common_user_proto_init() {
 	out := protoimpl.TypeBuilder{
 		File: protoimpl.DescBuilder{
 			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
-			RawDescriptor: file_common_user_proto_rawDesc,
+			RawDescriptor: file_common_user_user_proto_rawDesc,
 			NumEnums:      1,
 			NumMessages:   2,
 			NumExtensions: 0,
 			NumServices:   0,
 		},
-		GoTypes:           file_common_user_proto_goTypes,
-		DependencyIndexes: file_common_user_proto_depIdxs,
-		EnumInfos:         file_common_user_proto_enumTypes,
-		MessageInfos:      file_common_user_proto_msgTypes,
+		GoTypes:           file_common_user_user_proto_goTypes,
+		DependencyIndexes: file_common_user_user_proto_depIdxs,
+		EnumInfos:         file_common_user_user_proto_enumTypes,
+		MessageInfos:      file_common_user_user_proto_msgTypes,
 	}.Build()
-	File_common_user_proto = out.File
-	file_common_user_proto_rawDesc = nil
-	file_common_user_proto_goTypes = nil
-	file_common_user_proto_depIdxs = nil
+	File_common_user_user_proto = out.File
+	file_common_user_user_proto_rawDesc = nil
+	file_common_user_user_proto_goTypes = nil
+	file_common_user_user_proto_depIdxs = nil
 }

+ 3 - 3
common/user.proto → common/user/user.proto

@@ -1,10 +1,10 @@
 syntax = "proto3";
 
-package common;
+package user;
 
-option go_package = "types/common;common";
+option go_package = "ttmylife.com/zeuszhao/types/common/user;user";
 option java_multiple_files = true;
-option java_package = "common";
+option java_package = "user";
 
 enum UserStatus {
 	USER_STATUS_UNDEFINED = 0;

+ 32 - 32
openapi.yaml

@@ -260,6 +260,19 @@ paths:
                                 $ref: '#/components/schemas/card.GetMyCardsReply'
 components:
     schemas:
+        aliyun.Oss:
+            type: object
+            properties:
+                AccessKeyId:
+                    type: string
+                AccessKeySecret:
+                    type: string
+                SecurityToken:
+                    type: string
+                Region:
+                    type: string
+                Bucket:
+                    type: string
         card.AddCardByShareTokenReply:
             type: object
             properties:
@@ -279,7 +292,7 @@ components:
             type: object
             properties:
                 account:
-                    $ref: '#/components/schemas/common.AccountBaseBody'
+                    $ref: '#/components/schemas/user.AccountBaseBody'
         card.CreateCardReply:
             type: object
             properties:
@@ -373,7 +386,7 @@ components:
             type: object
             properties:
                 account:
-                    $ref: '#/components/schemas/common.AccountBaseBody'
+                    $ref: '#/components/schemas/user.AccountBaseBody'
         card.OCRCardReply:
             type: object
             properties:
@@ -392,7 +405,7 @@ components:
             type: object
             properties:
                 body:
-                    $ref: '#/components/schemas/common.Oss'
+                    $ref: '#/components/schemas/aliyun.Oss'
         card.OssUploadRequest:
             type: object
             properties: {}
@@ -444,22 +457,6 @@ components:
             properties:
                 code:
                     type: string
-        common.AccountBaseBody:
-            type: object
-            properties:
-                userId:
-                    type: integer
-                    format: uint32
-                type:
-                    type: integer
-                    format: enum
-                account:
-                    type: string
-                password:
-                    type: string
-                status:
-                    type: integer
-                    format: enum
         common.CardBaseBody:
             type: object
             properties:
@@ -549,19 +546,6 @@ components:
                     format: uint32
                 body:
                     $ref: '#/components/schemas/common.CardTemplateBaseBody'
-        common.Oss:
-            type: object
-            properties:
-                AccessKeyId:
-                    type: string
-                AccessKeySecret:
-                    type: string
-                SecurityToken:
-                    type: string
-                Region:
-                    type: string
-                Bucket:
-                    type: string
         pagination.PaginationBody:
             type: object
             properties:
@@ -571,5 +555,21 @@ components:
                 size:
                     type: integer
                     format: uint32
+        user.AccountBaseBody:
+            type: object
+            properties:
+                userId:
+                    type: integer
+                    format: uint32
+                type:
+                    type: integer
+                    format: enum
+                account:
+                    type: string
+                password:
+                    type: string
+                status:
+                    type: integer
+                    format: enum
 tags:
     - name: Card

+ 0 - 154
pagination/pagination.pb.go

@@ -1,154 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// versions:
-// 	protoc-gen-go v1.30.0
-// 	protoc        v3.17.3
-// source: pagination/pagination.proto
-
-package pagination
-
-import (
-	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
-	reflect "reflect"
-	sync "sync"
-)
-
-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 PaginationBody struct {
-	state         protoimpl.MessageState
-	sizeCache     protoimpl.SizeCache
-	unknownFields protoimpl.UnknownFields
-
-	Now  uint32 `protobuf:"varint,1,opt,name=now,proto3" json:"now,omitempty"`
-	Size uint32 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"`
-}
-
-func (x *PaginationBody) Reset() {
-	*x = PaginationBody{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_pagination_pagination_proto_msgTypes[0]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
-}
-
-func (x *PaginationBody) String() string {
-	return protoimpl.X.MessageStringOf(x)
-}
-
-func (*PaginationBody) ProtoMessage() {}
-
-func (x *PaginationBody) ProtoReflect() protoreflect.Message {
-	mi := &file_pagination_pagination_proto_msgTypes[0]
-	if protoimpl.UnsafeEnabled && x != nil {
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		if ms.LoadMessageInfo() == nil {
-			ms.StoreMessageInfo(mi)
-		}
-		return ms
-	}
-	return mi.MessageOf(x)
-}
-
-// Deprecated: Use PaginationBody.ProtoReflect.Descriptor instead.
-func (*PaginationBody) Descriptor() ([]byte, []int) {
-	return file_pagination_pagination_proto_rawDescGZIP(), []int{0}
-}
-
-func (x *PaginationBody) GetNow() uint32 {
-	if x != nil {
-		return x.Now
-	}
-	return 0
-}
-
-func (x *PaginationBody) GetSize() uint32 {
-	if x != nil {
-		return x.Size
-	}
-	return 0
-}
-
-var File_pagination_pagination_proto protoreflect.FileDescriptor
-
-var file_pagination_pagination_proto_rawDesc = []byte{
-	0x0a, 0x1b, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x70, 0x61, 0x67,
-	0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x70,
-	0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x36, 0x0a, 0x0e, 0x50, 0x61, 0x67,
-	0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6e,
-	0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6e, 0x6f, 0x77, 0x12, 0x12, 0x0a,
-	0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x73, 0x69, 0x7a,
-	0x65, 0x42, 0x2b, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50,
-	0x01, 0x5a, 0x1b, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74,
-	0x69, 0x6f, 0x6e, 0x3b, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x62, 0x06,
-	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
-}
-
-var (
-	file_pagination_pagination_proto_rawDescOnce sync.Once
-	file_pagination_pagination_proto_rawDescData = file_pagination_pagination_proto_rawDesc
-)
-
-func file_pagination_pagination_proto_rawDescGZIP() []byte {
-	file_pagination_pagination_proto_rawDescOnce.Do(func() {
-		file_pagination_pagination_proto_rawDescData = protoimpl.X.CompressGZIP(file_pagination_pagination_proto_rawDescData)
-	})
-	return file_pagination_pagination_proto_rawDescData
-}
-
-var file_pagination_pagination_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
-var file_pagination_pagination_proto_goTypes = []interface{}{
-	(*PaginationBody)(nil), // 0: pagination.PaginationBody
-}
-var file_pagination_pagination_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
-}
-
-func init() { file_pagination_pagination_proto_init() }
-func file_pagination_pagination_proto_init() {
-	if File_pagination_pagination_proto != nil {
-		return
-	}
-	if !protoimpl.UnsafeEnabled {
-		file_pagination_pagination_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*PaginationBody); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-	}
-	type x struct{}
-	out := protoimpl.TypeBuilder{
-		File: protoimpl.DescBuilder{
-			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
-			RawDescriptor: file_pagination_pagination_proto_rawDesc,
-			NumEnums:      0,
-			NumMessages:   1,
-			NumExtensions: 0,
-			NumServices:   0,
-		},
-		GoTypes:           file_pagination_pagination_proto_goTypes,
-		DependencyIndexes: file_pagination_pagination_proto_depIdxs,
-		MessageInfos:      file_pagination_pagination_proto_msgTypes,
-	}.Build()
-	File_pagination_pagination_proto = out.File
-	file_pagination_pagination_proto_rawDesc = nil
-	file_pagination_pagination_proto_goTypes = nil
-	file_pagination_pagination_proto_depIdxs = nil
-}