mirror of
https://github.com/mxpv/podsync.git
synced 2024-05-11 05:55:04 +00:00
Rename models package
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
package models
|
package model
|
||||||
|
|
||||||
import "time"
|
import "time"
|
||||||
|
|
@@ -8,7 +8,7 @@ import (
|
|||||||
"github.com/go-pg/pg"
|
"github.com/go-pg/pg"
|
||||||
"github.com/mxpv/patreon-go"
|
"github.com/mxpv/patreon-go"
|
||||||
"github.com/mxpv/podsync/pkg/api"
|
"github.com/mxpv/podsync/pkg/api"
|
||||||
"github.com/mxpv/podsync/pkg/models"
|
"github.com/mxpv/podsync/pkg/model"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -20,7 +20,7 @@ type Patreon struct {
|
|||||||
db *pg.DB
|
db *pg.DB
|
||||||
}
|
}
|
||||||
|
|
||||||
func (h Patreon) toModel(pledge *patreon.Pledge) (*models.Pledge, error) {
|
func (h Patreon) toModel(pledge *patreon.Pledge) (*model.Pledge, error) {
|
||||||
pledgeID, err := strconv.ParseInt(pledge.ID, 10, 64)
|
pledgeID, err := strconv.ParseInt(pledge.ID, 10, 64)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, errors.Wrapf(err, "failed to parse pledge id: %s", pledge.ID)
|
return nil, errors.Wrapf(err, "failed to parse pledge id: %s", pledge.ID)
|
||||||
@@ -31,50 +31,50 @@ func (h Patreon) toModel(pledge *patreon.Pledge) (*models.Pledge, error) {
|
|||||||
return nil, errors.Wrapf(err, "failed to parse patron id: %s", pledge.Relationships.Patron.Data.ID)
|
return nil, errors.Wrapf(err, "failed to parse patron id: %s", pledge.Relationships.Patron.Data.ID)
|
||||||
}
|
}
|
||||||
|
|
||||||
model := &models.Pledge{
|
m := &model.Pledge{
|
||||||
PledgeID: pledgeID,
|
PledgeID: pledgeID,
|
||||||
PatronID: patronID,
|
PatronID: patronID,
|
||||||
AmountCents: pledge.Attributes.AmountCents,
|
AmountCents: pledge.Attributes.AmountCents,
|
||||||
}
|
}
|
||||||
|
|
||||||
if pledge.Attributes.CreatedAt.Valid {
|
if pledge.Attributes.CreatedAt.Valid {
|
||||||
model.CreatedAt = pledge.Attributes.CreatedAt.Time
|
m.CreatedAt = pledge.Attributes.CreatedAt.Time
|
||||||
}
|
}
|
||||||
|
|
||||||
if pledge.Attributes.DeclinedSince.Valid {
|
if pledge.Attributes.DeclinedSince.Valid {
|
||||||
model.DeclinedSince = pledge.Attributes.DeclinedSince.Time
|
m.DeclinedSince = pledge.Attributes.DeclinedSince.Time
|
||||||
}
|
}
|
||||||
|
|
||||||
// Read optional fields
|
// Read optional fields
|
||||||
|
|
||||||
if pledge.Attributes.TotalHistoricalAmountCents != nil {
|
if pledge.Attributes.TotalHistoricalAmountCents != nil {
|
||||||
model.TotalHistoricalAmountCents = *pledge.Attributes.TotalHistoricalAmountCents
|
m.TotalHistoricalAmountCents = *pledge.Attributes.TotalHistoricalAmountCents
|
||||||
}
|
}
|
||||||
|
|
||||||
if pledge.Attributes.OutstandingPaymentAmountCents != nil {
|
if pledge.Attributes.OutstandingPaymentAmountCents != nil {
|
||||||
model.OutstandingPaymentAmountCents = *pledge.Attributes.OutstandingPaymentAmountCents
|
m.OutstandingPaymentAmountCents = *pledge.Attributes.OutstandingPaymentAmountCents
|
||||||
}
|
}
|
||||||
|
|
||||||
if pledge.Attributes.IsPaused != nil {
|
if pledge.Attributes.IsPaused != nil {
|
||||||
model.IsPaused = *pledge.Attributes.IsPaused
|
m.IsPaused = *pledge.Attributes.IsPaused
|
||||||
}
|
}
|
||||||
|
|
||||||
return model, nil
|
return m, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (h Patreon) Hook(pledge *patreon.Pledge, event string) error {
|
func (h Patreon) Hook(pledge *patreon.Pledge, event string) error {
|
||||||
model, err := h.toModel(pledge)
|
obj, err := h.toModel(pledge)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
switch event {
|
switch event {
|
||||||
case patreon.EventCreatePledge:
|
case patreon.EventCreatePledge:
|
||||||
return h.db.Insert(model)
|
return h.db.Insert(obj)
|
||||||
case patreon.EventUpdatePledge:
|
case patreon.EventUpdatePledge:
|
||||||
return h.db.Update(model)
|
return h.db.Update(obj)
|
||||||
case patreon.EventDeletePledge:
|
case patreon.EventDeletePledge:
|
||||||
err := h.db.Delete(model)
|
err := h.db.Delete(obj)
|
||||||
if err == pg.ErrNoRows {
|
if err == pg.ErrNoRows {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@@ -85,8 +85,8 @@ func (h Patreon) Hook(pledge *patreon.Pledge, event string) error {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (h Patreon) FindPledge(patronID string) (*models.Pledge, error) {
|
func (h Patreon) FindPledge(patronID string) (*model.Pledge, error) {
|
||||||
p := &models.Pledge{}
|
p := &model.Pledge{}
|
||||||
return p, h.db.Model(p).Where("patron_id = ?", patronID).Limit(1).Select()
|
return p, h.db.Model(p).Where("patron_id = ?", patronID).Limit(1).Select()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -18,7 +18,7 @@ func TestCreate(t *testing.T) {
|
|||||||
err := hook.Hook(pledge, patreon.EventCreatePledge)
|
err := hook.Hook(pledge, patreon.EventCreatePledge)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
model := &models.Pledge{PledgeID: 12345}
|
model := &model.Pledge{PledgeID: 12345}
|
||||||
err = hook.db.Select(model)
|
err = hook.db.Select(model)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.Equal(t, pledge.Attributes.AmountCents, model.AmountCents)
|
require.Equal(t, pledge.Attributes.AmountCents, model.AmountCents)
|
||||||
@@ -36,7 +36,7 @@ func TestUpdate(t *testing.T) {
|
|||||||
err = hook.Hook(pledge, patreon.EventUpdatePledge)
|
err = hook.Hook(pledge, patreon.EventUpdatePledge)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
model := &models.Pledge{PledgeID: 12345}
|
model := &model.Pledge{PledgeID: 12345}
|
||||||
err = hook.db.Select(model)
|
err = hook.db.Select(model)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.Equal(t, 999, model.AmountCents)
|
require.Equal(t, 999, model.AmountCents)
|
||||||
@@ -85,7 +85,7 @@ func createHandler(t *testing.T) *Patreon {
|
|||||||
|
|
||||||
db := pg.Connect(opts)
|
db := pg.Connect(opts)
|
||||||
|
|
||||||
_, err = db.Model(&models.Pledge{}).Where("1=1").Delete()
|
_, err = db.Model(&model.Pledge{}).Where("1=1").Delete()
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
return NewPatreon(db)
|
return NewPatreon(db)
|
||||||
|
Reference in New Issue
Block a user