grim/devweb
Clone
Summary
Browse
Changes
Graph
fix some alignment
draft
2021-01-23, Gary Kramlich
cb7e5da597b8
fix some alignment
package
db
import
(
"fmt"
)
type
APIKey
struct
{
AccessKey
string
`db:"access_key"`
SecretKey
string
`db:"secret_key"`
Description
string
`db:"description"`
}
func
FindAPIKey
(
accessKey
string
)
(
APIKey
,
error
)
{
query
:=
`SELECT * FROM api_keys WHERE access_key=$1;`
api_key
:=
APIKey
{}
err
:=
_db
.
Get
(
&
api_key
,
query
,
accessKey
)
return
api_key
,
err
}
func
(
a
APIKey
)
Create
()
error
{
query
:=
`INSERT INTO api_keys(access_key, secret_key, description) VALUES($1, $2, $3);`
res
,
err
:=
_db
.
Exec
(
query
,
a
.
AccessKey
,
a
.
SecretKey
,
a
.
Description
)
return
checkRowsAffected
(
res
,
1
,
err
)
}
func
(
a
APIKey
)
Delete
()
error
{
query
:=
`DELETE FROM api_keys WHERE access_key=$1;`
res
,
err
:=
_db
.
Exec
(
query
,
a
.
AccessKey
)
if
err
!=
nil
{
return
err
}
rows
,
err
:=
res
.
RowsAffected
()
if
err
!=
nil
{
return
err
}
if
rows
!=
1
{
return
fmt
.
Errorf
(
"access key %s not found"
,
a
.
AccessKey
)
}
return
nil
}
func
ListAPIKeys
()
([]
APIKey
,
error
)
{
api_keys
:=
[]
APIKey
{}
query
:=
`SELECT access_key, description FROM api_keys ORDER BY access_key ASC`
if
err
:=
_db
.
Select
(
&
api_keys
,
query
);
err
!=
nil
{
return
nil
,
err
}
return
api_keys
,
nil
}