mirror of
https://github.com/mxpv/podsync.git
synced 2024-05-11 05:55:04 +00:00
Add pledge query
This commit is contained in:
+1
-1
@@ -2,7 +2,7 @@ BEGIN;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS pledges (
|
||||
pledge_id BIGSERIAL PRIMARY KEY,
|
||||
patron_id BIGINT NOT NULL ,
|
||||
patron_id BIGINT NOT NULL UNIQUE,
|
||||
created_at TIMESTAMPTZ NOT NULL,
|
||||
declined_since TIMESTAMPTZ NULL,
|
||||
amount_cents INT NOT NULL,
|
||||
|
||||
@@ -79,6 +79,11 @@ func (h Handler) Handle(pledge *patreon.Pledge, event string) error {
|
||||
}
|
||||
}
|
||||
|
||||
func (h Handler) FindPledge(patronID string) (*models.Pledge, error) {
|
||||
p := &models.Pledge{}
|
||||
return p, h.db.Model(p).Where("pledge_id = ?", patronID).Limit(1).Select()
|
||||
}
|
||||
|
||||
func NewHookHandler(db *pg.DB) *Handler {
|
||||
return &Handler{db: db}
|
||||
}
|
||||
|
||||
@@ -52,6 +52,18 @@ func TestDelete(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
}
|
||||
|
||||
func TestFindPledge(t *testing.T) {
|
||||
pledge := createPledge()
|
||||
hook := createHandler(t)
|
||||
|
||||
err := hook.Handle(pledge, patreon.EventCreatePledge)
|
||||
require.NoError(t, err)
|
||||
|
||||
res, err := hook.FindPledge(pledge.ID)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, res.AmountCents, pledge.Attributes.AmountCents)
|
||||
}
|
||||
|
||||
func createHandler(t *testing.T) *Handler {
|
||||
opts, err := pg.ParseURL("postgres://postgres:@localhost/podsync?sslmode=disable")
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user