Files
m3o-go/password/password.go
2022-03-02 10:16:25 +00:00

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"`
}