mirror of
https://github.com/kevin-DL/m3o-go.git
synced 2026-01-12 02:45:11 +00:00
359 lines
7.5 KiB
Markdown
Executable File
359 lines
7.5 KiB
Markdown
Executable File
# User
|
|
|
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/User/api](https://m3o.com/User/api).
|
|
|
|
Endpoints:
|
|
|
|
## Logout
|
|
|
|
Logout a user account
|
|
|
|
|
|
[https://m3o.com/user/api#Logout](https://m3o.com/user/api#Logout)
|
|
|
|
```go
|
|
package example
|
|
|
|
import(
|
|
"fmt"
|
|
"os"
|
|
|
|
"go.m3o.com/user"
|
|
)
|
|
|
|
// Logout a user account
|
|
func LogAuserOut() {
|
|
userService := user.NewUserService(os.Getenv("M3O_API_TOKEN"))
|
|
rsp, err := userService.Logout(&user.LogoutRequest{
|
|
SessionId: "sds34s34s34-s34s34-s43s43s34-s4s34s",
|
|
|
|
})
|
|
fmt.Println(rsp, err)
|
|
}
|
|
```
|
|
## Create
|
|
|
|
Create a new user account. The email address and username for the account must be unique.
|
|
|
|
|
|
[https://m3o.com/user/api#Create](https://m3o.com/user/api#Create)
|
|
|
|
```go
|
|
package example
|
|
|
|
import(
|
|
"fmt"
|
|
"os"
|
|
|
|
"go.m3o.com/user"
|
|
)
|
|
|
|
// Create a new user account. The email address and username for the account must be unique.
|
|
func CreateAnAccount() {
|
|
userService := user.NewUserService(os.Getenv("M3O_API_TOKEN"))
|
|
rsp, err := userService.Create(&user.CreateRequest{
|
|
Email: "joe@example.com",
|
|
Id: "usrid-1",
|
|
Password: "mySecretPass123",
|
|
Username: "usrname-1",
|
|
|
|
})
|
|
fmt.Println(rsp, err)
|
|
}
|
|
```
|
|
## Update
|
|
|
|
Update the account username or email
|
|
|
|
|
|
[https://m3o.com/user/api#Update](https://m3o.com/user/api#Update)
|
|
|
|
```go
|
|
package example
|
|
|
|
import(
|
|
"fmt"
|
|
"os"
|
|
|
|
"go.m3o.com/user"
|
|
)
|
|
|
|
// Update the account username or email
|
|
func UpdateAnAccount() {
|
|
userService := user.NewUserService(os.Getenv("M3O_API_TOKEN"))
|
|
rsp, err := userService.Update(&user.UpdateRequest{
|
|
Email: "joeotheremail@example.com",
|
|
Id: "usrid-1",
|
|
|
|
})
|
|
fmt.Println(rsp, err)
|
|
}
|
|
```
|
|
## SendVerificationEmail
|
|
|
|
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.
|
|
The verification link will be injected in to the email as a template variable, $micro_verification_link.
|
|
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&redirectUrl=your-redir-url'
|
|
|
|
|
|
[https://m3o.com/user/api#SendVerificationEmail](https://m3o.com/user/api#SendVerificationEmail)
|
|
|
|
```go
|
|
package example
|
|
|
|
import(
|
|
"fmt"
|
|
"os"
|
|
|
|
"go.m3o.com/user"
|
|
)
|
|
|
|
// 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.
|
|
// The verification link will be injected in to the email as a template variable, $micro_verification_link.
|
|
// 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&redirectUrl=your-redir-url'
|
|
func SendVerificationEmail() {
|
|
userService := user.NewUserService(os.Getenv("M3O_API_TOKEN"))
|
|
rsp, err := userService.SendVerificationEmail(&user.SendVerificationEmailRequest{
|
|
Email: "joe@example.com",
|
|
FailureRedirectUrl: "https://m3o.com/verification-failed",
|
|
FromName: "Awesome Dot Com",
|
|
RedirectUrl: "https://m3o.com",
|
|
Subject: "Email verification",
|
|
TextContent: `Hi there,
|
|
|
|
Please verify your email by clicking this link: $micro_verification_link`,
|
|
|
|
})
|
|
fmt.Println(rsp, err)
|
|
}
|
|
```
|
|
## Login
|
|
|
|
Login using username or email. The response will return a new session for successful login,
|
|
401 in the case of login failure and 500 for any other error
|
|
|
|
|
|
[https://m3o.com/user/api#Login](https://m3o.com/user/api#Login)
|
|
|
|
```go
|
|
package example
|
|
|
|
import(
|
|
"fmt"
|
|
"os"
|
|
|
|
"go.m3o.com/user"
|
|
)
|
|
|
|
// Login using username or email. The response will return a new session for successful login,
|
|
// 401 in the case of login failure and 500 for any other error
|
|
func LogAuserIn() {
|
|
userService := user.NewUserService(os.Getenv("M3O_API_TOKEN"))
|
|
rsp, err := userService.Login(&user.LoginRequest{
|
|
Email: "joe@example.com",
|
|
Password: "mySecretPass123",
|
|
|
|
})
|
|
fmt.Println(rsp, err)
|
|
}
|
|
```
|
|
## ReadSession
|
|
|
|
Read a session by the session id. In the event it has expired or is not found and error is returned.
|
|
|
|
|
|
[https://m3o.com/user/api#ReadSession](https://m3o.com/user/api#ReadSession)
|
|
|
|
```go
|
|
package example
|
|
|
|
import(
|
|
"fmt"
|
|
"os"
|
|
|
|
"go.m3o.com/user"
|
|
)
|
|
|
|
// Read a session by the session id. In the event it has expired or is not found and error is returned.
|
|
func ReadAsessionByTheSessionId() {
|
|
userService := user.NewUserService(os.Getenv("M3O_API_TOKEN"))
|
|
rsp, err := userService.ReadSession(&user.ReadSessionRequest{
|
|
SessionId: "sds34s34s34-s34s34-s43s43s34-s4s34s",
|
|
|
|
})
|
|
fmt.Println(rsp, err)
|
|
}
|
|
```
|
|
## UpdatePassword
|
|
|
|
Update the account password
|
|
|
|
|
|
[https://m3o.com/user/api#UpdatePassword](https://m3o.com/user/api#UpdatePassword)
|
|
|
|
```go
|
|
package example
|
|
|
|
import(
|
|
"fmt"
|
|
"os"
|
|
|
|
"go.m3o.com/user"
|
|
)
|
|
|
|
// Update the account password
|
|
func UpdateTheAccountPassword() {
|
|
userService := user.NewUserService(os.Getenv("M3O_API_TOKEN"))
|
|
rsp, err := userService.UpdatePassword(&user.UpdatePasswordRequest{
|
|
ConfirmPassword: "myEvenMoreSecretPass123",
|
|
NewPassword: "myEvenMoreSecretPass123",
|
|
OldPassword: "mySecretPass123",
|
|
|
|
})
|
|
fmt.Println(rsp, err)
|
|
}
|
|
```
|
|
## Read
|
|
|
|
Read an account by id, username or email. Only one need to be specified.
|
|
|
|
|
|
[https://m3o.com/user/api#Read](https://m3o.com/user/api#Read)
|
|
|
|
```go
|
|
package example
|
|
|
|
import(
|
|
"fmt"
|
|
"os"
|
|
|
|
"go.m3o.com/user"
|
|
)
|
|
|
|
// Read an account by id, username or email. Only one need to be specified.
|
|
func ReadAnAccountById() {
|
|
userService := user.NewUserService(os.Getenv("M3O_API_TOKEN"))
|
|
rsp, err := userService.Read(&user.ReadRequest{
|
|
Id: "usrid-1",
|
|
|
|
})
|
|
fmt.Println(rsp, err)
|
|
}
|
|
```
|
|
## Read
|
|
|
|
Read an account by id, username or email. Only one need to be specified.
|
|
|
|
|
|
[https://m3o.com/user/api#Read](https://m3o.com/user/api#Read)
|
|
|
|
```go
|
|
package example
|
|
|
|
import(
|
|
"fmt"
|
|
"os"
|
|
|
|
"go.m3o.com/user"
|
|
)
|
|
|
|
// Read an account by id, username or email. Only one need to be specified.
|
|
func ReadAccountByUsernameOrEmail() {
|
|
userService := user.NewUserService(os.Getenv("M3O_API_TOKEN"))
|
|
rsp, err := userService.Read(&user.ReadRequest{
|
|
Username: "usrname-1",
|
|
|
|
})
|
|
fmt.Println(rsp, err)
|
|
}
|
|
```
|
|
## Read
|
|
|
|
Read an account by id, username or email. Only one need to be specified.
|
|
|
|
|
|
[https://m3o.com/user/api#Read](https://m3o.com/user/api#Read)
|
|
|
|
```go
|
|
package example
|
|
|
|
import(
|
|
"fmt"
|
|
"os"
|
|
|
|
"go.m3o.com/user"
|
|
)
|
|
|
|
// Read an account by id, username or email. Only one need to be specified.
|
|
func ReadAccountByEmail() {
|
|
userService := user.NewUserService(os.Getenv("M3O_API_TOKEN"))
|
|
rsp, err := userService.Read(&user.ReadRequest{
|
|
Email: "joe@example.com",
|
|
|
|
})
|
|
fmt.Println(rsp, err)
|
|
}
|
|
```
|
|
## VerifyEmail
|
|
|
|
Verify the email address of an account from a token sent in an email to the user.
|
|
|
|
|
|
[https://m3o.com/user/api#VerifyEmail](https://m3o.com/user/api#VerifyEmail)
|
|
|
|
```go
|
|
package example
|
|
|
|
import(
|
|
"fmt"
|
|
"os"
|
|
|
|
"go.m3o.com/user"
|
|
)
|
|
|
|
// Verify the email address of an account from a token sent in an email to the user.
|
|
func VerifyEmail() {
|
|
userService := user.NewUserService(os.Getenv("M3O_API_TOKEN"))
|
|
rsp, err := userService.VerifyEmail(&user.VerifyEmailRequest{
|
|
Token: "t2323t232t",
|
|
|
|
})
|
|
fmt.Println(rsp, err)
|
|
}
|
|
```
|
|
## Delete
|
|
|
|
Delete an account by id
|
|
|
|
|
|
[https://m3o.com/user/api#Delete](https://m3o.com/user/api#Delete)
|
|
|
|
```go
|
|
package example
|
|
|
|
import(
|
|
"fmt"
|
|
"os"
|
|
|
|
"go.m3o.com/user"
|
|
)
|
|
|
|
// Delete an account by id
|
|
func DeleteUserAccount() {
|
|
userService := user.NewUserService(os.Getenv("M3O_API_TOKEN"))
|
|
rsp, err := userService.Delete(&user.DeleteRequest{
|
|
Id: "fdf34f34f34-f34f34-f43f43f34-f4f34f",
|
|
|
|
})
|
|
fmt.Println(rsp, err)
|
|
}
|
|
```
|