49 lines
1.1 KiB
Go
49 lines
1.1 KiB
Go
//
|
|
// Created by vfs on 02.05.2024.
|
|
//
|
|
|
|
package models
|
|
|
|
import (
|
|
"errors"
|
|
"time"
|
|
)
|
|
|
|
var ErrNoRecord = errors.New("no matching record found")
|
|
var ErrInvalidCredentials = errors.New("invalid credentials")
|
|
var ErrDuplicateEmail = errors.New("duplicate email")
|
|
var ErrDuplicateUsername = errors.New("duplicate username")
|
|
|
|
type Account struct {
|
|
ID int32
|
|
Username string
|
|
Password []byte
|
|
Colour int32
|
|
Firstname string
|
|
Lastname string
|
|
Email string
|
|
Created time.Time
|
|
StripeID string
|
|
}
|
|
|
|
type SubscriptionStatus string
|
|
|
|
const (
|
|
Incomplete SubscriptionStatus = "incomplete"
|
|
IncompleteExpired SubscriptionStatus = "incomplete_expired"
|
|
Trialing SubscriptionStatus = "trialing"
|
|
Active SubscriptionStatus = "active"
|
|
PastDue SubscriptionStatus = "past_due"
|
|
Canceled SubscriptionStatus = "canceled"
|
|
Unpaid SubscriptionStatus = "unpaid"
|
|
Paused SubscriptionStatus = "paused"
|
|
)
|
|
|
|
type Subscription struct {
|
|
ID int32
|
|
AccountID int32
|
|
StripeSubscriptionID string
|
|
StripeCheckoutID string
|
|
Status SubscriptionStatus
|
|
}
|