mirror of
https://github.com/kevin-DL/m3o-go.git
synced 2026-01-11 18:44:26 +00:00
40 lines
772 B
Go
Executable File
40 lines
772 B
Go
Executable File
package password
|
|
|
|
import (
|
|
"go.m3o.com/client"
|
|
)
|
|
|
|
type Password interface {
|
|
Generate(*GenerateRequest) (*GenerateResponse, error)
|
|
}
|
|
|
|
func NewPasswordService(token string) *PasswordService {
|
|
return &PasswordService{
|
|
client: client.NewClient(&client.Options{
|
|
Token: token,
|
|
}),
|
|
}
|
|
}
|
|
|
|
type PasswordService struct {
|
|
client *client.Client
|
|
}
|
|
|
|
// Generate a strong random password
|
|
func (t *PasswordService) Generate(request *GenerateRequest) (*GenerateResponse, error) {
|
|
|
|
rsp := &GenerateResponse{}
|
|
return rsp, t.client.Call("password", "Generate", request, rsp)
|
|
|
|
}
|
|
|
|
type GenerateRequest struct {
|
|
// password length; defaults to 16 chars
|
|
Length int32 `json:"length"`
|
|
}
|
|
|
|
type GenerateResponse struct {
|
|
// The generated password
|
|
Password string `json:"password"`
|
|
}
|