grim/devweb
Clone
Summary
Browse
Changes
Graph
Remove api_key_access_key from the books_version table as it really isn't necessary
draft
default
tip
2021-01-25, Gary Kramlich
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
()
}