diff options
author | 2024-08-07 18:56:01 -0700 | |
---|---|---|
committer | 2024-08-07 18:56:01 -0700 | |
commit | 08993e2f8497341079010d3d06361c99492c4c07 (patch) | |
tree | c65d6d571c928410faace1fa51c2ea3f49fce003 /backend/internal/database/keys.go | |
parent | 3de4ebb7560851ccbefe296c197456fe80c22901 (diff) | |
parent | b8aef1a7fb24815c7d93bc30c7b289b4f5896779 (diff) | |
download | ibd-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.go | 29 |
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) } |