Commit from GitHub Actions (Generate Clients & Examples)

This commit is contained in:
crufter
2021-11-16 14:46:44 +00:00
parent 64773e0e2d
commit 7e8d37c782
6 changed files with 88 additions and 2 deletions

View File

@@ -53,6 +53,19 @@ func (t *UserService) ReadSession(request *ReadSessionRequest) (*ReadSessionResp
return rsp, t.client.Call("user", "ReadSession", request, rsp)
}
// Reset password with the code sent by the "SendPasswordResetEmail" endoint.
func (t *UserService) ResetPassword(request *ResetPasswordRequest) (*ResetPasswordResponse, error) {
rsp := &ResetPasswordResponse{}
return rsp, t.client.Call("user", "ResetPassword", request, rsp)
}
// Send an email with a verification code to reset password.
// Call "ResetPassword" endpoint once user provides the code.
func (t *UserService) SendPasswordResetEmail(request *SendPasswordResetEmailRequest) (*SendPasswordResetEmailResponse, error) {
rsp := &SendPasswordResetEmailResponse{}
return rsp, t.client.Call("user", "SendPasswordResetEmail", request, rsp)
}
// Send a verification email
// to the user being signed up. Email from will be from 'support@m3o.com',
// but you can provide the title and contents.
@@ -170,6 +183,31 @@ type ReadSessionResponse struct {
Session *Session `json:"session"`
}
type ResetPasswordRequest struct {
// The code from the verification email
Code string `json:"code"`
// confirm new password
ConfirmPassword string `json:"confirmPassword"`
// the new password
NewPassword string `json:"newPassword"`
}
type ResetPasswordResponse struct {
}
type SendPasswordResetEmailRequest struct {
Email string `json:"email"`
// Display name of the sender for the email. Note: the email address will still be 'support@m3o.com'
FromName string `json:"fromName"`
Subject string `json:"subject"`
// 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 `json:"textContent"`
}
type SendPasswordResetEmailResponse struct {
}
type SendVerificationEmailRequest struct {
Email string `json:"email"`
FailureRedirectUrl string `json:"failureRedirectUrl"`

View File

@@ -79,5 +79,5 @@
"prepare": "npm run build"
},
"types": "index.d.ts",
"version": "1.0.741"
"version": "1.0.747"
}

View File

@@ -12,9 +12,9 @@ func PublishAnEvent() {
eventService := event.NewEventService(os.Getenv("MICRO_API_TOKEN"))
rsp, err := eventService.Publish(&event.PublishRequest{
Message: map[string]interface{}{
"type": "signup",
"user": "john",
"id": "1",
"type": "signup",
},
Topic: "user",
})

View File

@@ -0,0 +1,9 @@
curl "http://localhost:8080/user/SendPasswordResetEmail" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $MICRO_API_TOKEN" \
-d '{
"email": "joe@example.com",
"fromName": "Awesome Dot Com",
"subject": "Password reset",
"textContent": "Hi there,\n click here to reset your password: myapp.com/reset/code?=$code"
}'

View File

@@ -0,0 +1,22 @@
package example
import (
"fmt"
"os"
"github.com/micro/services/clients/go/user"
)
// Send an email with a verification code to reset password.
// Call "ResetPassword" endpoint once user provides the code.
func SendPasswordResetEmail() {
userService := user.NewUserService(os.Getenv("MICRO_API_TOKEN"))
rsp, err := userService.SendPasswordResetEmail(&user.SendPasswordResetEmailRequest{
Email: "joe@example.com",
FromName: "Awesome Dot Com",
Subject: "Password reset",
TextContent: `Hi there,
click here to reset your password: myapp.com/reset/code?=$code`,
})
fmt.Println(rsp, err)
}

View File

@@ -0,0 +1,17 @@
const { UserService } = require("m3o/user");
// Send an email with a verification code to reset password.
// Call "ResetPassword" endpoint once user provides the code.
async function sendPasswordResetEmail() {
let userService = new UserService(process.env.MICRO_API_TOKEN);
let rsp = await userService.sendPasswordResetEmail({
email: "joe@example.com",
fromName: "Awesome Dot Com",
subject: "Password reset",
textContent:
"Hi there,\n click here to reset your password: myapp.com/reset/code?=$code",
});
console.log(rsp);
}
sendPasswordResetEmail();