grim/devweb

533ca8fcc53b
Remove api_key_access_key from the books_version table as it really isn't necessary
package access
import (
"fmt"
"github.com/gofrs/uuid"
"github.com/shengdoushi/base58"
"keep.imfreedom.org/grim/devweb/db"
)
type CreateCmd struct {
db.Options
Description string `kong:"flag,name='description',help='Descriptive text for the key'"`
}
func (c *CreateCmd) newToken() (string, error) {
uuid, err := uuid.NewV4()
if err != nil {
return "", err
}
token := base58.Encode(uuid.Bytes(), base58.BitcoinAlphabet)
return token, nil
}
func (c *CreateCmd) Run() error {
err := db.Setup(c.Options.Driver, c.Options.Options)
if err != nil {
return err
}
accessKey, err := c.newToken()
if err != nil {
db.Teardown()
return err
}
secretKey, err := c.newToken()
if err != nil {
db.Teardown()
return err
}
apiKey := db.APIKey{
AccessKey: accessKey,
SecretKey: secretKey,
Description: c.Description,
}
if err := apiKey.Create(); err != nil {
db.Teardown()
return err
}
fmt.Printf("Access Key: %s\n", accessKey)
fmt.Printf("Secret Key: %s\n", secretKey)
fmt.Printf("Description: %s\n", c.Description)
return db.Teardown()
}