Skip to content

Commit

Permalink
Add payers table
Browse files Browse the repository at this point in the history
  • Loading branch information
neekolas committed Feb 21, 2025
1 parent 4e86897 commit 1758eb6
Show file tree
Hide file tree
Showing 6 changed files with 61 additions and 0 deletions.
9 changes: 9 additions & 0 deletions pkg/db/queries.sql
Original file line number Diff line number Diff line change
Expand Up @@ -171,3 +171,12 @@ FROM (
WHERE
bm.block_number = locked_rows.block_number;

-- name: FindOrCreatePayer :one
INSERT INTO payers(address)
VALUES (@address)
ON CONFLICT (address)
DO UPDATE SET
address = @address
RETURNING
id;

5 changes: 5 additions & 0 deletions pkg/db/queries/models.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 17 additions & 0 deletions pkg/db/queries/queries.sql.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

23 changes: 23 additions & 0 deletions pkg/db/queries_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -135,3 +135,26 @@ func TestRevokeAddressLog(t *testing.T) {
require.NotNil(t, addressLog)
require.Equal(t, addressLog.AssociationSequenceID.Int64, int64(3))
}

func TestFindOrCreatePayer(t *testing.T) {
ctx := context.Background()
db, _, cleanup := testutils.NewDB(t, ctx)
defer cleanup()

querier := queries.New(db)

address1 := testutils.RandomString(42)
address2 := testutils.RandomString(42)

id1, err := querier.FindOrCreatePayer(ctx, address1)
require.NoError(t, err)

id2, err := querier.FindOrCreatePayer(ctx, address2)
require.NoError(t, err)

require.NotEqual(t, id1, id2)

reinsertId, err := querier.FindOrCreatePayer(ctx, address1)
require.NoError(t, err)
require.Equal(t, id1, reinsertId)
}
2 changes: 2 additions & 0 deletions pkg/migrations/00005_add-payers-table.down.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
DROP TABLE IF EXISTS payers;

5 changes: 5 additions & 0 deletions pkg/migrations/00005_add-payers-table.up.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
CREATE TABLE payers(
id SERIAL PRIMARY KEY,
address TEXT NOT NULL UNIQUE
);

0 comments on commit 1758eb6

Please # to comment.