aboutsummaryrefslogtreecommitdiff
path: root/backend/internal/database/keys.go
diff options
context:
space:
mode:
authorGravatar Anshul Gupta <ansg191@anshulg.com> 2024-08-07 18:56:01 -0700
committerGravatar GitHub <noreply@github.com> 2024-08-07 18:56:01 -0700
commit08993e2f8497341079010d3d06361c99492c4c07 (patch)
treec65d6d571c928410faace1fa51c2ea3f49fce003 /backend/internal/database/keys.go
parent3de4ebb7560851ccbefe296c197456fe80c22901 (diff)
parentb8aef1a7fb24815c7d93bc30c7b289b4f5896779 (diff)
downloadibd-trader-08993e2f8497341079010d3d06361c99492c4c07.tar.gz
ibd-trader-08993e2f8497341079010d3d06361c99492c4c07.tar.zst
ibd-trader-08993e2f8497341079010d3d06361c99492c4c07.zip
Merge pull request #1 from ansg191/refactor-database
Diffstat (limited to 'backend/internal/database/keys.go')
-rw-r--r--backend/internal/database/keys.go29
1 files changed, 12 insertions, 17 deletions
diff --git a/backend/internal/database/keys.go b/backend/internal/database/keys.go
index 0ec4b67..e2e2770 100644
--- a/backend/internal/database/keys.go
+++ b/backend/internal/database/keys.go
@@ -6,19 +6,14 @@ import (
"time"
)
-type KeyStore interface {
- AddKey(ctx context.Context, keyName string, key []byte) (int, error)
- GetKey(ctx context.Context, keyId int) (*Key, error)
-}
-
-func (d *database) AddKey(ctx context.Context, keyName string, key []byte) (int, error) {
- row, err := d.queryRow(ctx, d.db, "keys/add_key", keyName, key)
- if err != nil {
- return 0, fmt.Errorf("unable to add key: %w", err)
- }
+func AddKey(ctx context.Context, exec Executor, keyName string, key []byte) (int, error) {
+ row := exec.QueryRowContext(ctx, `
+INSERT INTO keys (kms_key_name, encrypted_key)
+VALUES ($1, $2)
+RETURNING id;`, keyName, key)
var keyId int
- err = row.Scan(&keyId)
+ err := row.Scan(&keyId)
if err != nil {
return 0, fmt.Errorf("unable to scan key id: %w", err)
}
@@ -26,14 +21,14 @@ func (d *database) AddKey(ctx context.Context, keyName string, key []byte) (int,
return keyId, nil
}
-func (d *database) GetKey(ctx context.Context, keyId int) (*Key, error) {
- row, err := d.queryRow(ctx, d.db, "keys/get_key", keyId)
- if err != nil {
- return nil, fmt.Errorf("unable to get key: %w", err)
- }
+func GetKey(ctx context.Context, exec Executor, keyId int) (*Key, error) {
+ row := exec.QueryRowContext(ctx, `
+SELECT id, kms_key_name, encrypted_key, created_at
+FROM keys
+WHERE id = $1;`, keyId)
key := &Key{}
- err = row.Scan(&key.Id, &key.Name, &key.Key, &key.Created)
+ err := row.Scan(&key.Id, &key.Name, &key.Key, &key.Created)
if err != nil {
return nil, fmt.Errorf("unable to scan key: %w", err)
}