mirror of
https://github.com/kevin-DL/services.git
synced 2026-01-11 19:04:35 +00:00
User service: added reset password email endpoints (#272)
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.26.0
|
||||
// protoc v3.15.6
|
||||
// protoc v3.6.1
|
||||
// source: proto/user.proto
|
||||
|
||||
package user
|
||||
@@ -34,8 +34,10 @@ type Account struct {
|
||||
// unix timestamp
|
||||
Created int64 `protobuf:"varint,4,opt,name=created,proto3" json:"created,omitempty"`
|
||||
// unix timestamp
|
||||
Updated int64 `protobuf:"varint,5,opt,name=updated,proto3" json:"updated,omitempty"`
|
||||
Verified bool `protobuf:"varint,6,opt,name=verified,proto3" json:"verified,omitempty"`
|
||||
Updated int64 `protobuf:"varint,5,opt,name=updated,proto3" json:"updated,omitempty"`
|
||||
// if the account is verified
|
||||
Verified bool `protobuf:"varint,6,opt,name=verified,proto3" json:"verified,omitempty"`
|
||||
// date of verification
|
||||
VerificationDate int64 `protobuf:"varint,7,opt,name=verificationDate,proto3" json:"verificationDate,omitempty"`
|
||||
// Store any custom data you want about your users in this fields.
|
||||
Profile map[string]string `protobuf:"bytes,8,rep,name=profile,proto3" json:"profile,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
||||
@@ -210,7 +212,7 @@ type CreateRequest struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
// optional acccount id
|
||||
// optional account id
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
// the username
|
||||
Username string `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"`
|
||||
@@ -433,7 +435,7 @@ type ReadRequest struct {
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
// the account username
|
||||
Username string `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"`
|
||||
// the account password
|
||||
// the account email
|
||||
Email string `protobuf:"bytes,3,opt,name=email,proto3" json:"email,omitempty"`
|
||||
}
|
||||
|
||||
@@ -1150,10 +1152,6 @@ func (*VerifyEmailResponse) Descriptor() ([]byte, []int) {
|
||||
return file_proto_user_proto_rawDescGZIP(), []int{19}
|
||||
}
|
||||
|
||||
// Send a verification email
|
||||
// to the user being signed up. Email from will be 'support@m3o.com',
|
||||
// but you can provide the title and contents.
|
||||
// Use $micro_verification_link template variable in the content.
|
||||
type SendVerificationEmailRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
@@ -1161,15 +1159,12 @@ type SendVerificationEmailRequest struct {
|
||||
|
||||
Email string `protobuf:"bytes,1,opt,name=email,proto3" json:"email,omitempty"`
|
||||
Subject string `protobuf:"bytes,2,opt,name=subject,proto3" json:"subject,omitempty"`
|
||||
// Example: 'Hi there, welcome onboard! Use the link below to verify your email: $micro_verification_link'
|
||||
// The variable will be replaced with an actual url that will look similar to this:
|
||||
// 'https://user.m3o.com/user/verify?token=a-verification-token&rediretUrl=your-redir-url'
|
||||
// Text content of the email. Don't forget to include the string '$micro_verification_link' which will be replaced by the real verification link
|
||||
// HTML emails are not available currently.
|
||||
TextContent string `protobuf:"bytes,3,opt,name=textContent,proto3" json:"textContent,omitempty"`
|
||||
RedirectUrl string `protobuf:"bytes,4,opt,name=redirectUrl,proto3" json:"redirectUrl,omitempty"`
|
||||
FailureRedirectUrl string `protobuf:"bytes,5,opt,name=failureRedirectUrl,proto3" json:"failureRedirectUrl,omitempty"`
|
||||
// While the from email address can't be changed,
|
||||
// the from name (ie. sender name) can.
|
||||
// Display name of the sender for the email. Note: the email address will still be 'support@m3o.com'
|
||||
FromName string `protobuf:"bytes,6,opt,name=fromName,proto3" json:"fromName,omitempty"`
|
||||
}
|
||||
|
||||
@@ -1285,6 +1280,225 @@ func (*SendVerificationEmailResponse) Descriptor() ([]byte, []int) {
|
||||
return file_proto_user_proto_rawDescGZIP(), []int{21}
|
||||
}
|
||||
|
||||
// Send an email with a verification code to reset password.
|
||||
// Call "ResetPassword" endpoint once user provides the code.
|
||||
type SendPasswordResetEmailRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Email string `protobuf:"bytes,1,opt,name=email,proto3" json:"email,omitempty"`
|
||||
Subject string `protobuf:"bytes,2,opt,name=subject,proto3" json:"subject,omitempty"`
|
||||
// Text content of the email. Don't forget to include the string '$code' which will be replaced by the real verification link
|
||||
// HTML emails are not available currently.
|
||||
TextContent string `protobuf:"bytes,3,opt,name=textContent,proto3" json:"textContent,omitempty"`
|
||||
// Display name of the sender for the email. Note: the email address will still be 'support@m3o.com'
|
||||
FromName string `protobuf:"bytes,4,opt,name=fromName,proto3" json:"fromName,omitempty"`
|
||||
}
|
||||
|
||||
func (x *SendPasswordResetEmailRequest) Reset() {
|
||||
*x = SendPasswordResetEmailRequest{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_proto_user_proto_msgTypes[22]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *SendPasswordResetEmailRequest) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*SendPasswordResetEmailRequest) ProtoMessage() {}
|
||||
|
||||
func (x *SendPasswordResetEmailRequest) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_proto_user_proto_msgTypes[22]
|
||||
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 SendPasswordResetEmailRequest.ProtoReflect.Descriptor instead.
|
||||
func (*SendPasswordResetEmailRequest) Descriptor() ([]byte, []int) {
|
||||
return file_proto_user_proto_rawDescGZIP(), []int{22}
|
||||
}
|
||||
|
||||
func (x *SendPasswordResetEmailRequest) GetEmail() string {
|
||||
if x != nil {
|
||||
return x.Email
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *SendPasswordResetEmailRequest) GetSubject() string {
|
||||
if x != nil {
|
||||
return x.Subject
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *SendPasswordResetEmailRequest) GetTextContent() string {
|
||||
if x != nil {
|
||||
return x.TextContent
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *SendPasswordResetEmailRequest) GetFromName() string {
|
||||
if x != nil {
|
||||
return x.FromName
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
type SendPasswordResetEmailResponse struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
}
|
||||
|
||||
func (x *SendPasswordResetEmailResponse) Reset() {
|
||||
*x = SendPasswordResetEmailResponse{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_proto_user_proto_msgTypes[23]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *SendPasswordResetEmailResponse) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*SendPasswordResetEmailResponse) ProtoMessage() {}
|
||||
|
||||
func (x *SendPasswordResetEmailResponse) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_proto_user_proto_msgTypes[23]
|
||||
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 SendPasswordResetEmailResponse.ProtoReflect.Descriptor instead.
|
||||
func (*SendPasswordResetEmailResponse) Descriptor() ([]byte, []int) {
|
||||
return file_proto_user_proto_rawDescGZIP(), []int{23}
|
||||
}
|
||||
|
||||
// Reset password with the code sent by the "SendPasswordResetEmail" endoint.
|
||||
type ResetPasswordRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
// The code from the verification email
|
||||
Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"`
|
||||
// the new password
|
||||
NewPassword string `protobuf:"bytes,2,opt,name=newPassword,proto3" json:"newPassword,omitempty"`
|
||||
// confirm new password
|
||||
ConfirmPassword string `protobuf:"bytes,3,opt,name=confirmPassword,proto3" json:"confirmPassword,omitempty"`
|
||||
}
|
||||
|
||||
func (x *ResetPasswordRequest) Reset() {
|
||||
*x = ResetPasswordRequest{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_proto_user_proto_msgTypes[24]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *ResetPasswordRequest) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*ResetPasswordRequest) ProtoMessage() {}
|
||||
|
||||
func (x *ResetPasswordRequest) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_proto_user_proto_msgTypes[24]
|
||||
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 ResetPasswordRequest.ProtoReflect.Descriptor instead.
|
||||
func (*ResetPasswordRequest) Descriptor() ([]byte, []int) {
|
||||
return file_proto_user_proto_rawDescGZIP(), []int{24}
|
||||
}
|
||||
|
||||
func (x *ResetPasswordRequest) GetCode() string {
|
||||
if x != nil {
|
||||
return x.Code
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *ResetPasswordRequest) GetNewPassword() string {
|
||||
if x != nil {
|
||||
return x.NewPassword
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *ResetPasswordRequest) GetConfirmPassword() string {
|
||||
if x != nil {
|
||||
return x.ConfirmPassword
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
type ResetPasswordResponse struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
}
|
||||
|
||||
func (x *ResetPasswordResponse) Reset() {
|
||||
*x = ResetPasswordResponse{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_proto_user_proto_msgTypes[25]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *ResetPasswordResponse) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*ResetPasswordResponse) ProtoMessage() {}
|
||||
|
||||
func (x *ResetPasswordResponse) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_proto_user_proto_msgTypes[25]
|
||||
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 ResetPasswordResponse.ProtoReflect.Descriptor instead.
|
||||
func (*ResetPasswordResponse) Descriptor() ([]byte, []int) {
|
||||
return file_proto_user_proto_rawDescGZIP(), []int{25}
|
||||
}
|
||||
|
||||
var File_proto_user_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_proto_user_proto_rawDesc = []byte{
|
||||
@@ -1412,49 +1626,80 @@ var file_proto_user_proto_rawDesc = []byte{
|
||||
0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x72, 0x6f,
|
||||
0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x1f, 0x0a, 0x1d, 0x53, 0x65, 0x6e, 0x64, 0x56, 0x65, 0x72,
|
||||
0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x65,
|
||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x86, 0x05, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12,
|
||||
0x35, 0x0a, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x13, 0x2e, 0x75, 0x73, 0x65, 0x72,
|
||||
0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14,
|
||||
0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70,
|
||||
0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x2f, 0x0a, 0x04, 0x52, 0x65, 0x61, 0x64, 0x12, 0x11,
|
||||
0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x1a, 0x12, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x73,
|
||||
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x35, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74,
|
||||
0x65, 0x12, 0x13, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52,
|
||||
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x55, 0x70,
|
||||
0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x35,
|
||||
0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x13, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e,
|
||||
0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e,
|
||||
0x75, 0x73, 0x65, 0x72, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
||||
0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50,
|
||||
0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1b, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x55,
|
||||
0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71,
|
||||
0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x55, 0x70, 0x64, 0x61,
|
||||
0x74, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
||||
0x73, 0x65, 0x22, 0x00, 0x12, 0x32, 0x0a, 0x05, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x12, 0x2e,
|
||||
0x75, 0x73, 0x65, 0x72, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x1a, 0x13, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65,
|
||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x35, 0x0a, 0x06, 0x4c, 0x6f, 0x67, 0x6f,
|
||||
0x75, 0x74, 0x12, 0x13, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x4c, 0x6f, 0x67, 0x6f, 0x75, 0x74,
|
||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x4c,
|
||||
0x6f, 0x67, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
|
||||
0x44, 0x0a, 0x0b, 0x52, 0x65, 0x61, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18,
|
||||
0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f,
|
||||
0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e,
|
||||
0x52, 0x65, 0x61, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
||||
0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x0b, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x45,
|
||||
0x6d, 0x61, 0x69, 0x6c, 0x12, 0x18, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x56, 0x65, 0x72, 0x69,
|
||||
0x66, 0x79, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19,
|
||||
0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x45, 0x6d, 0x61, 0x69,
|
||||
0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x62, 0x0a, 0x15, 0x53,
|
||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8d, 0x01, 0x0a, 0x1d, 0x53, 0x65, 0x6e, 0x64, 0x50,
|
||||
0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x65, 0x74, 0x45, 0x6d, 0x61, 0x69,
|
||||
0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69,
|
||||
0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x18,
|
||||
0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x65, 0x78, 0x74,
|
||||
0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74,
|
||||
0x65, 0x78, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x72,
|
||||
0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x72,
|
||||
0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x20, 0x0a, 0x1e, 0x53, 0x65, 0x6e, 0x64, 0x50, 0x61,
|
||||
0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x65, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c,
|
||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x76, 0x0a, 0x14, 0x52, 0x65, 0x73, 0x65,
|
||||
0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 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, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x65, 0x77, 0x50, 0x61, 0x73, 0x73, 0x77,
|
||||
0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x50, 0x61,
|
||||
0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72,
|
||||
0x6d, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x0f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64,
|
||||
0x22, 0x17, 0x0a, 0x15, 0x52, 0x65, 0x73, 0x65, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72,
|
||||
0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xb9, 0x06, 0x0a, 0x04, 0x55, 0x73,
|
||||
0x65, 0x72, 0x12, 0x35, 0x0a, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x13, 0x2e, 0x75,
|
||||
0x73, 0x65, 0x72, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x1a, 0x14, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52,
|
||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x2f, 0x0a, 0x04, 0x52, 0x65, 0x61,
|
||||
0x64, 0x12, 0x11, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71,
|
||||
0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x61, 0x64,
|
||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x35, 0x0a, 0x06, 0x55, 0x70,
|
||||
0x64, 0x61, 0x74, 0x65, 0x12, 0x13, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x55, 0x70, 0x64, 0x61,
|
||||
0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x75, 0x73, 0x65, 0x72,
|
||||
0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
|
||||
0x00, 0x12, 0x35, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x13, 0x2e, 0x75, 0x73,
|
||||
0x65, 0x72, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||
0x1a, 0x14, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65,
|
||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61,
|
||||
0x74, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1b, 0x2e, 0x75, 0x73, 0x65,
|
||||
0x72, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64,
|
||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x55,
|
||||
0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73,
|
||||
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x32, 0x0a, 0x05, 0x4c, 0x6f, 0x67, 0x69, 0x6e,
|
||||
0x12, 0x12, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71,
|
||||
0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x4c, 0x6f, 0x67, 0x69,
|
||||
0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x35, 0x0a, 0x06, 0x4c,
|
||||
0x6f, 0x67, 0x6f, 0x75, 0x74, 0x12, 0x13, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x4c, 0x6f, 0x67,
|
||||
0x6f, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x75, 0x73, 0x65,
|
||||
0x72, 0x2e, 0x4c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||
0x22, 0x00, 0x12, 0x44, 0x0a, 0x0b, 0x52, 0x65, 0x61, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f,
|
||||
0x6e, 0x12, 0x18, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x53, 0x65, 0x73,
|
||||
0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x75, 0x73,
|
||||
0x65, 0x72, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65,
|
||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x0b, 0x56, 0x65, 0x72, 0x69,
|
||||
0x66, 0x79, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x18, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x56,
|
||||
0x65, 0x72, 0x69, 0x66, 0x79, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x1a, 0x19, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x45,
|
||||
0x6d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x62,
|
||||
0x0a, 0x15, 0x53, 0x65, 0x6e, 0x64, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69,
|
||||
0x6f, 0x6e, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x22, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x53,
|
||||
0x65, 0x6e, 0x64, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45,
|
||||
0x6d, 0x61, 0x69, 0x6c, 0x12, 0x22, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x6e, 0x64,
|
||||
0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6d, 0x61, 0x69,
|
||||
0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e,
|
||||
0x53, 0x65, 0x6e, 0x64, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42,
|
||||
0x0e, 0x5a, 0x0c, 0x2e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x3b, 0x75, 0x73, 0x65, 0x72, 0x62,
|
||||
0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
0x6d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x75, 0x73,
|
||||
0x65, 0x72, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||
0x22, 0x00, 0x12, 0x65, 0x0a, 0x16, 0x53, 0x65, 0x6e, 0x64, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f,
|
||||
0x72, 0x64, 0x52, 0x65, 0x73, 0x65, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x23, 0x2e, 0x75,
|
||||
0x73, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64,
|
||||
0x52, 0x65, 0x73, 0x65, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x1a, 0x24, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x50, 0x61, 0x73,
|
||||
0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x65, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52,
|
||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x0d, 0x52, 0x65, 0x73,
|
||||
0x65, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1a, 0x2e, 0x75, 0x73, 0x65,
|
||||
0x72, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52,
|
||||
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x52, 0x65,
|
||||
0x73, 0x65, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
||||
0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x0e, 0x5a, 0x0c, 0x2e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x3b, 0x75, 0x73, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
@@ -1469,40 +1714,44 @@ func file_proto_user_proto_rawDescGZIP() []byte {
|
||||
return file_proto_user_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_proto_user_proto_msgTypes = make([]protoimpl.MessageInfo, 25)
|
||||
var file_proto_user_proto_msgTypes = make([]protoimpl.MessageInfo, 29)
|
||||
var file_proto_user_proto_goTypes = []interface{}{
|
||||
(*Account)(nil), // 0: user.Account
|
||||
(*Session)(nil), // 1: user.Session
|
||||
(*CreateRequest)(nil), // 2: user.CreateRequest
|
||||
(*CreateResponse)(nil), // 3: user.CreateResponse
|
||||
(*DeleteRequest)(nil), // 4: user.DeleteRequest
|
||||
(*DeleteResponse)(nil), // 5: user.DeleteResponse
|
||||
(*ReadRequest)(nil), // 6: user.ReadRequest
|
||||
(*ReadResponse)(nil), // 7: user.ReadResponse
|
||||
(*UpdateRequest)(nil), // 8: user.UpdateRequest
|
||||
(*UpdateResponse)(nil), // 9: user.UpdateResponse
|
||||
(*UpdatePasswordRequest)(nil), // 10: user.UpdatePasswordRequest
|
||||
(*UpdatePasswordResponse)(nil), // 11: user.UpdatePasswordResponse
|
||||
(*ReadSessionRequest)(nil), // 12: user.ReadSessionRequest
|
||||
(*ReadSessionResponse)(nil), // 13: user.ReadSessionResponse
|
||||
(*LoginRequest)(nil), // 14: user.LoginRequest
|
||||
(*LoginResponse)(nil), // 15: user.LoginResponse
|
||||
(*LogoutRequest)(nil), // 16: user.LogoutRequest
|
||||
(*LogoutResponse)(nil), // 17: user.LogoutResponse
|
||||
(*VerifyEmailRequest)(nil), // 18: user.VerifyEmailRequest
|
||||
(*VerifyEmailResponse)(nil), // 19: user.VerifyEmailResponse
|
||||
(*SendVerificationEmailRequest)(nil), // 20: user.SendVerificationEmailRequest
|
||||
(*SendVerificationEmailResponse)(nil), // 21: user.SendVerificationEmailResponse
|
||||
nil, // 22: user.Account.ProfileEntry
|
||||
nil, // 23: user.CreateRequest.ProfileEntry
|
||||
nil, // 24: user.UpdateRequest.ProfileEntry
|
||||
(*Account)(nil), // 0: user.Account
|
||||
(*Session)(nil), // 1: user.Session
|
||||
(*CreateRequest)(nil), // 2: user.CreateRequest
|
||||
(*CreateResponse)(nil), // 3: user.CreateResponse
|
||||
(*DeleteRequest)(nil), // 4: user.DeleteRequest
|
||||
(*DeleteResponse)(nil), // 5: user.DeleteResponse
|
||||
(*ReadRequest)(nil), // 6: user.ReadRequest
|
||||
(*ReadResponse)(nil), // 7: user.ReadResponse
|
||||
(*UpdateRequest)(nil), // 8: user.UpdateRequest
|
||||
(*UpdateResponse)(nil), // 9: user.UpdateResponse
|
||||
(*UpdatePasswordRequest)(nil), // 10: user.UpdatePasswordRequest
|
||||
(*UpdatePasswordResponse)(nil), // 11: user.UpdatePasswordResponse
|
||||
(*ReadSessionRequest)(nil), // 12: user.ReadSessionRequest
|
||||
(*ReadSessionResponse)(nil), // 13: user.ReadSessionResponse
|
||||
(*LoginRequest)(nil), // 14: user.LoginRequest
|
||||
(*LoginResponse)(nil), // 15: user.LoginResponse
|
||||
(*LogoutRequest)(nil), // 16: user.LogoutRequest
|
||||
(*LogoutResponse)(nil), // 17: user.LogoutResponse
|
||||
(*VerifyEmailRequest)(nil), // 18: user.VerifyEmailRequest
|
||||
(*VerifyEmailResponse)(nil), // 19: user.VerifyEmailResponse
|
||||
(*SendVerificationEmailRequest)(nil), // 20: user.SendVerificationEmailRequest
|
||||
(*SendVerificationEmailResponse)(nil), // 21: user.SendVerificationEmailResponse
|
||||
(*SendPasswordResetEmailRequest)(nil), // 22: user.SendPasswordResetEmailRequest
|
||||
(*SendPasswordResetEmailResponse)(nil), // 23: user.SendPasswordResetEmailResponse
|
||||
(*ResetPasswordRequest)(nil), // 24: user.ResetPasswordRequest
|
||||
(*ResetPasswordResponse)(nil), // 25: user.ResetPasswordResponse
|
||||
nil, // 26: user.Account.ProfileEntry
|
||||
nil, // 27: user.CreateRequest.ProfileEntry
|
||||
nil, // 28: user.UpdateRequest.ProfileEntry
|
||||
}
|
||||
var file_proto_user_proto_depIdxs = []int32{
|
||||
22, // 0: user.Account.profile:type_name -> user.Account.ProfileEntry
|
||||
23, // 1: user.CreateRequest.profile:type_name -> user.CreateRequest.ProfileEntry
|
||||
26, // 0: user.Account.profile:type_name -> user.Account.ProfileEntry
|
||||
27, // 1: user.CreateRequest.profile:type_name -> user.CreateRequest.ProfileEntry
|
||||
0, // 2: user.CreateResponse.account:type_name -> user.Account
|
||||
0, // 3: user.ReadResponse.account:type_name -> user.Account
|
||||
24, // 4: user.UpdateRequest.profile:type_name -> user.UpdateRequest.ProfileEntry
|
||||
28, // 4: user.UpdateRequest.profile:type_name -> user.UpdateRequest.ProfileEntry
|
||||
1, // 5: user.ReadSessionResponse.session:type_name -> user.Session
|
||||
1, // 6: user.LoginResponse.session:type_name -> user.Session
|
||||
2, // 7: user.User.Create:input_type -> user.CreateRequest
|
||||
@@ -1515,18 +1764,22 @@ var file_proto_user_proto_depIdxs = []int32{
|
||||
12, // 14: user.User.ReadSession:input_type -> user.ReadSessionRequest
|
||||
18, // 15: user.User.VerifyEmail:input_type -> user.VerifyEmailRequest
|
||||
20, // 16: user.User.SendVerificationEmail:input_type -> user.SendVerificationEmailRequest
|
||||
3, // 17: user.User.Create:output_type -> user.CreateResponse
|
||||
7, // 18: user.User.Read:output_type -> user.ReadResponse
|
||||
9, // 19: user.User.Update:output_type -> user.UpdateResponse
|
||||
5, // 20: user.User.Delete:output_type -> user.DeleteResponse
|
||||
11, // 21: user.User.UpdatePassword:output_type -> user.UpdatePasswordResponse
|
||||
15, // 22: user.User.Login:output_type -> user.LoginResponse
|
||||
17, // 23: user.User.Logout:output_type -> user.LogoutResponse
|
||||
13, // 24: user.User.ReadSession:output_type -> user.ReadSessionResponse
|
||||
19, // 25: user.User.VerifyEmail:output_type -> user.VerifyEmailResponse
|
||||
21, // 26: user.User.SendVerificationEmail:output_type -> user.SendVerificationEmailResponse
|
||||
17, // [17:27] is the sub-list for method output_type
|
||||
7, // [7:17] is the sub-list for method input_type
|
||||
22, // 17: user.User.SendPasswordResetEmail:input_type -> user.SendPasswordResetEmailRequest
|
||||
24, // 18: user.User.ResetPassword:input_type -> user.ResetPasswordRequest
|
||||
3, // 19: user.User.Create:output_type -> user.CreateResponse
|
||||
7, // 20: user.User.Read:output_type -> user.ReadResponse
|
||||
9, // 21: user.User.Update:output_type -> user.UpdateResponse
|
||||
5, // 22: user.User.Delete:output_type -> user.DeleteResponse
|
||||
11, // 23: user.User.UpdatePassword:output_type -> user.UpdatePasswordResponse
|
||||
15, // 24: user.User.Login:output_type -> user.LoginResponse
|
||||
17, // 25: user.User.Logout:output_type -> user.LogoutResponse
|
||||
13, // 26: user.User.ReadSession:output_type -> user.ReadSessionResponse
|
||||
19, // 27: user.User.VerifyEmail:output_type -> user.VerifyEmailResponse
|
||||
21, // 28: user.User.SendVerificationEmail:output_type -> user.SendVerificationEmailResponse
|
||||
23, // 29: user.User.SendPasswordResetEmail:output_type -> user.SendPasswordResetEmailResponse
|
||||
25, // 30: user.User.ResetPassword:output_type -> user.ResetPasswordResponse
|
||||
19, // [19:31] is the sub-list for method output_type
|
||||
7, // [7:19] is the sub-list for method input_type
|
||||
7, // [7:7] is the sub-list for extension type_name
|
||||
7, // [7:7] is the sub-list for extension extendee
|
||||
0, // [0:7] is the sub-list for field type_name
|
||||
@@ -1802,6 +2055,54 @@ func file_proto_user_proto_init() {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_proto_user_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*SendPasswordResetEmailRequest); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_proto_user_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*SendPasswordResetEmailResponse); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_proto_user_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ResetPasswordRequest); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_proto_user_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ResetPasswordResponse); 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{
|
||||
@@ -1809,7 +2110,7 @@ func file_proto_user_proto_init() {
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_proto_user_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 25,
|
||||
NumMessages: 29,
|
||||
NumExtensions: 0,
|
||||
NumServices: 1,
|
||||
},
|
||||
|
||||
@@ -52,6 +52,8 @@ type UserService interface {
|
||||
ReadSession(ctx context.Context, in *ReadSessionRequest, opts ...client.CallOption) (*ReadSessionResponse, error)
|
||||
VerifyEmail(ctx context.Context, in *VerifyEmailRequest, opts ...client.CallOption) (*VerifyEmailResponse, error)
|
||||
SendVerificationEmail(ctx context.Context, in *SendVerificationEmailRequest, opts ...client.CallOption) (*SendVerificationEmailResponse, error)
|
||||
SendPasswordResetEmail(ctx context.Context, in *SendPasswordResetEmailRequest, opts ...client.CallOption) (*SendPasswordResetEmailResponse, error)
|
||||
ResetPassword(ctx context.Context, in *ResetPasswordRequest, opts ...client.CallOption) (*ResetPasswordResponse, error)
|
||||
}
|
||||
|
||||
type userService struct {
|
||||
@@ -166,6 +168,26 @@ func (c *userService) SendVerificationEmail(ctx context.Context, in *SendVerific
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *userService) SendPasswordResetEmail(ctx context.Context, in *SendPasswordResetEmailRequest, opts ...client.CallOption) (*SendPasswordResetEmailResponse, error) {
|
||||
req := c.c.NewRequest(c.name, "User.SendPasswordResetEmail", in)
|
||||
out := new(SendPasswordResetEmailResponse)
|
||||
err := c.c.Call(ctx, req, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *userService) ResetPassword(ctx context.Context, in *ResetPasswordRequest, opts ...client.CallOption) (*ResetPasswordResponse, error) {
|
||||
req := c.c.NewRequest(c.name, "User.ResetPassword", in)
|
||||
out := new(ResetPasswordResponse)
|
||||
err := c.c.Call(ctx, req, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
// Server API for User service
|
||||
|
||||
type UserHandler interface {
|
||||
@@ -179,6 +201,8 @@ type UserHandler interface {
|
||||
ReadSession(context.Context, *ReadSessionRequest, *ReadSessionResponse) error
|
||||
VerifyEmail(context.Context, *VerifyEmailRequest, *VerifyEmailResponse) error
|
||||
SendVerificationEmail(context.Context, *SendVerificationEmailRequest, *SendVerificationEmailResponse) error
|
||||
SendPasswordResetEmail(context.Context, *SendPasswordResetEmailRequest, *SendPasswordResetEmailResponse) error
|
||||
ResetPassword(context.Context, *ResetPasswordRequest, *ResetPasswordResponse) error
|
||||
}
|
||||
|
||||
func RegisterUserHandler(s server.Server, hdlr UserHandler, opts ...server.HandlerOption) error {
|
||||
@@ -193,6 +217,8 @@ func RegisterUserHandler(s server.Server, hdlr UserHandler, opts ...server.Handl
|
||||
ReadSession(ctx context.Context, in *ReadSessionRequest, out *ReadSessionResponse) error
|
||||
VerifyEmail(ctx context.Context, in *VerifyEmailRequest, out *VerifyEmailResponse) error
|
||||
SendVerificationEmail(ctx context.Context, in *SendVerificationEmailRequest, out *SendVerificationEmailResponse) error
|
||||
SendPasswordResetEmail(ctx context.Context, in *SendPasswordResetEmailRequest, out *SendPasswordResetEmailResponse) error
|
||||
ResetPassword(ctx context.Context, in *ResetPasswordRequest, out *ResetPasswordResponse) error
|
||||
}
|
||||
type User struct {
|
||||
user
|
||||
@@ -244,3 +270,11 @@ func (h *userHandler) VerifyEmail(ctx context.Context, in *VerifyEmailRequest, o
|
||||
func (h *userHandler) SendVerificationEmail(ctx context.Context, in *SendVerificationEmailRequest, out *SendVerificationEmailResponse) error {
|
||||
return h.UserHandler.SendVerificationEmail(ctx, in, out)
|
||||
}
|
||||
|
||||
func (h *userHandler) SendPasswordResetEmail(ctx context.Context, in *SendPasswordResetEmailRequest, out *SendPasswordResetEmailResponse) error {
|
||||
return h.UserHandler.SendPasswordResetEmail(ctx, in, out)
|
||||
}
|
||||
|
||||
func (h *userHandler) ResetPassword(ctx context.Context, in *ResetPasswordRequest, out *ResetPasswordResponse) error {
|
||||
return h.UserHandler.ResetPassword(ctx, in, out)
|
||||
}
|
||||
|
||||
@@ -15,6 +15,8 @@ service User {
|
||||
rpc ReadSession(ReadSessionRequest) returns(ReadSessionResponse) {}
|
||||
rpc VerifyEmail(VerifyEmailRequest) returns(VerifyEmailResponse) {}
|
||||
rpc SendVerificationEmail(SendVerificationEmailRequest) returns (SendVerificationEmailResponse) {}
|
||||
rpc SendPasswordResetEmail(SendPasswordResetEmailRequest) returns (SendPasswordResetEmailResponse) {}
|
||||
rpc ResetPassword(ResetPasswordRequest) returns (ResetPasswordResponse) {}
|
||||
}
|
||||
|
||||
message Account {
|
||||
@@ -185,3 +187,32 @@ message SendVerificationEmailRequest{
|
||||
}
|
||||
|
||||
message SendVerificationEmailResponse{}
|
||||
|
||||
// Send an email with a verification code to reset password.
|
||||
// Call "ResetPassword" endpoint once user provides the code.
|
||||
message SendPasswordResetEmailRequest {
|
||||
string email = 1;
|
||||
string subject = 2;
|
||||
// Text content of the email. Don't forget to include the string '$code' which will be replaced by the real verification link
|
||||
// HTML emails are not available currently.
|
||||
string textContent = 3;
|
||||
// Display name of the sender for the email. Note: the email address will still be 'support@m3o.com'
|
||||
string fromName = 4;
|
||||
}
|
||||
|
||||
message SendPasswordResetEmailResponse {
|
||||
}
|
||||
|
||||
// Reset password with the code sent by the "SendPasswordResetEmail" endoint.
|
||||
message ResetPasswordRequest {
|
||||
// The code from the verification email
|
||||
string code = 1;
|
||||
// the new password
|
||||
string newPassword = 2;
|
||||
// confirm new password
|
||||
string confirmPassword = 3;
|
||||
}
|
||||
|
||||
message ResetPasswordResponse {
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user