apollo-backend/internal/domain/device.go
2021-09-25 12:56:01 -04:00

28 lines
762 B
Go

package domain
import "context"
const (
DeviceGracePeriodDuration = 3600 // 1 hour
DeviceActiveAfterReceitCheckDuration = 3600 * 24 * 7 // 1 week
)
type Device struct {
ID int64
APNSToken string
Sandbox bool
ActiveUntil int64
}
type DeviceRepository interface {
GetByID(ctx context.Context, id int64) (Device, error)
GetByAPNSToken(ctx context.Context, token string) (Device, error)
GetByAccountID(ctx context.Context, id int64) ([]Device, error)
CreateOrUpdate(ctx context.Context, dev *Device) error
Update(ctx context.Context, dev *Device) error
Create(ctx context.Context, dev *Device) error
Delete(ctx context.Context, token string) error
PruneStale(ctx context.Context, before int64) (int64, error)
}