Documentation
¶
Index ¶
- func CheckMongoConnectionFiles(log *zap.Logger) error
- func ContainsRole(seat Seat, requiredRoles []Role) bool
- func ValidateStruct(s interface{}) error
- type MongoConnection
- func (mongoConnection *MongoConnection) CheckDatabaseAndCollectionExists(ctx context.Context) error
- func (mongoConnection *MongoConnection) CheckMongoConnectability(ctx context.Context) error
- func (mongoConnection *MongoConnection) CountNewsletterSubscriber(ctx context.Context, email string) (int64, error)
- func (mongoConnection *MongoConnection) CountSeats(ctx context.Context, subscriptionID string) (int64, error)
- func (mongoConnection *MongoConnection) CreateNewsletterSubscriber(ctx context.Context, newsletterSubscriber NewsletterSubscriber) error
- func (mongoConnection *MongoConnection) CreateSeat(ctx context.Context, seat Seat) error
- func (mongoConnection *MongoConnection) CreateTrial(ctx context.Context, trial Trial) error
- func (mongoConnection *MongoConnection) CreateUser(ctx context.Context, user User) error
- func (mongoConnection *MongoConnection) DeleteNewsletterSubscriber(ctx context.Context, newsletterSubscriber NewsletterSubscriber) error
- func (mongoConnection *MongoConnection) DeleteSeat(ctx context.Context, seat Seat) error
- func (mongoConnection *MongoConnection) DeleteUser(ctx context.Context, customerID string) error
- func (mongoConnection *MongoConnection) EnsureIndexes() error
- func (mongoConnection *MongoConnection) GetAllNewsletterSubscribers(ctx context.Context) ([]NewsletterSubscriber, error)
- func (mongoConnection *MongoConnection) GetAllSeats(ctx context.Context, subscriptionID string) ([]Seat, error)
- func (mongoConnection *MongoConnection) GetNewsletterSubscriber(ctx context.Context, email string) (NewsletterSubscriber, error)
- func (mongoConnection *MongoConnection) GetNewsletterSubscriberByUnsubscribeToken(ctx context.Context, unsubscribeToken string) (NewsletterSubscriber, error)
- func (mongoConnection *MongoConnection) GetNewsletterSubscriberByVerificationToken(ctx context.Context, verificationToken string) (NewsletterSubscriber, error)
- func (mongoConnection *MongoConnection) GetNewsletterSubscribers(ctx context.Context, pageIndex int, pageSize int) ([]NewsletterSubscriber, error)
- func (mongoConnection *MongoConnection) GetOwnerSeat(ctx context.Context, subscriptionID string) (Seat, error)
- func (mongoConnection *MongoConnection) GetSeat(ctx context.Context, subscriptionID, uid string) (Seat, error)
- func (mongoConnection *MongoConnection) GetSeats(ctx context.Context, subscriptionID string, pageIndex int, pageSize int) ([]Seat, error)
- func (mongoConnection *MongoConnection) GetTrial(ctx context.Context, trialFilter TrialFilter) (Trial, error)
- func (mongoConnection *MongoConnection) GetUser(ctx context.Context, userFilter User) (User, error)
- func (mongoConnection *MongoConnection) HasPermission(ctx context.Context, tokenDetails firebasemanager.TokenDetails, ...) error
- func (mongoConnection *MongoConnection) UpdateNewsletterSubscriber(ctx context.Context, newsletterSubscriber NewsletterSubscriber) error
- func (mongoConnection *MongoConnection) UpdateSeat(ctx context.Context, seat Seat) error
- func (mongoConnection *MongoConnection) UpdateUser(ctx context.Context, user User) error
- type NewsletterStatus
- type NewsletterSubscriber
- type Role
- type Seat
- type Trial
- type TrialFilter
- type User
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ContainsRole ¶
func ValidateStruct ¶
func ValidateStruct(s interface{}) error
Types ¶
type MongoConnection ¶
func InitMongoConnection ¶
func (*MongoConnection) CheckDatabaseAndCollectionExists ¶
func (mongoConnection *MongoConnection) CheckDatabaseAndCollectionExists(ctx context.Context) error
func (*MongoConnection) CheckMongoConnectability ¶
func (mongoConnection *MongoConnection) CheckMongoConnectability(ctx context.Context) error
func (*MongoConnection) CountNewsletterSubscriber ¶
func (*MongoConnection) CountSeats ¶
func (*MongoConnection) CreateNewsletterSubscriber ¶
func (mongoConnection *MongoConnection) CreateNewsletterSubscriber(ctx context.Context, newsletterSubscriber NewsletterSubscriber) error
func (*MongoConnection) CreateSeat ¶
func (mongoConnection *MongoConnection) CreateSeat(ctx context.Context, seat Seat) error
func (*MongoConnection) CreateTrial ¶
func (mongoConnection *MongoConnection) CreateTrial(ctx context.Context, trial Trial) error
func (*MongoConnection) CreateUser ¶
func (mongoConnection *MongoConnection) CreateUser(ctx context.Context, user User) error
func (*MongoConnection) DeleteNewsletterSubscriber ¶
func (mongoConnection *MongoConnection) DeleteNewsletterSubscriber(ctx context.Context, newsletterSubscriber NewsletterSubscriber) error
func (*MongoConnection) DeleteSeat ¶
func (mongoConnection *MongoConnection) DeleteSeat(ctx context.Context, seat Seat) error
func (*MongoConnection) DeleteUser ¶
func (mongoConnection *MongoConnection) DeleteUser(ctx context.Context, customerID string) error
func (*MongoConnection) EnsureIndexes ¶
func (mongoConnection *MongoConnection) EnsureIndexes() error
func (*MongoConnection) GetAllNewsletterSubscribers ¶
func (mongoConnection *MongoConnection) GetAllNewsletterSubscribers(ctx context.Context) ([]NewsletterSubscriber, error)
func (*MongoConnection) GetAllSeats ¶
func (*MongoConnection) GetNewsletterSubscriber ¶
func (mongoConnection *MongoConnection) GetNewsletterSubscriber(ctx context.Context, email string) (NewsletterSubscriber, error)
func (*MongoConnection) GetNewsletterSubscriberByUnsubscribeToken ¶
func (mongoConnection *MongoConnection) GetNewsletterSubscriberByUnsubscribeToken(ctx context.Context, unsubscribeToken string) (NewsletterSubscriber, error)
func (*MongoConnection) GetNewsletterSubscriberByVerificationToken ¶
func (mongoConnection *MongoConnection) GetNewsletterSubscriberByVerificationToken(ctx context.Context, verificationToken string) (NewsletterSubscriber, error)
func (*MongoConnection) GetNewsletterSubscribers ¶
func (mongoConnection *MongoConnection) GetNewsletterSubscribers(ctx context.Context, pageIndex int, pageSize int) ([]NewsletterSubscriber, error)
func (*MongoConnection) GetOwnerSeat ¶
func (*MongoConnection) GetTrial ¶
func (mongoConnection *MongoConnection) GetTrial(ctx context.Context, trialFilter TrialFilter) (Trial, error)
func (*MongoConnection) HasPermission ¶
func (mongoConnection *MongoConnection) HasPermission(ctx context.Context, tokenDetails firebasemanager.TokenDetails, subscriptionID string, requiredRoles []Role) error
func (*MongoConnection) UpdateNewsletterSubscriber ¶
func (mongoConnection *MongoConnection) UpdateNewsletterSubscriber(ctx context.Context, newsletterSubscriber NewsletterSubscriber) error
func (*MongoConnection) UpdateSeat ¶
func (mongoConnection *MongoConnection) UpdateSeat(ctx context.Context, seat Seat) error
func (*MongoConnection) UpdateUser ¶
func (mongoConnection *MongoConnection) UpdateUser(ctx context.Context, user User) error
type NewsletterStatus ¶
type NewsletterStatus string
const ( NewsletterStatusActive NewsletterStatus = "active" NewsletterStatusPending NewsletterStatus = "pending" NewsletterStatusBounced NewsletterStatus = "bounced" )
type NewsletterSubscriber ¶
type NewsletterSubscriber struct {
EMail string `bson:"email" json:"email" validate:"required,email"`
Status NewsletterStatus `bson:"status" json:"status" validate:"required"`
SubscribedAt time.Time `bson:"subscribedAt" json:"subscribedAt"`
ConfirmedAt time.Time `bson:"confirmedAt,omitempty" json:"confirmedAt,omitempty"`
VerificationToken string `bson:"verificationToken,omitempty" json:"verificationToken,omitempty"`
VerificationTokenSentAt time.Time `bson:"verificationTokenSentAt,omitempty" json:"verificationTokenSentAt,omitempty"`
UnsubscribeToken string `bson:"unsubscribeToken,omitempty" json:"unsubscribeToken,omitempty"`
LastUpdated time.Time `bson:"lastUpdated" json:"lastUpdated" validate:"required"`
}
type Seat ¶
type Seat struct {
SubscriptionID string `bson:"subscriptionID" json:"subscriptionID" validate:"required"`
UID string `bson:"uid" json:"uid" validate:"required"`
EMail string `bson:"email" json:"email" validate:"required"`
EMailVerified *bool `bson:"emailVerified" json:"emailVerified" validate:"required"`
Roles []Role `bson:"roles" json:"roles" validate:"required"`
}
type Trial ¶
type Trial struct {
SubscriptionID string `bson:"subscriptionID" validate:"required" index:"unique"`
ProductType string `bson:"productType" validate:"required"`
CustomerID string `bson:"customerID,omitempty" index:"unique" validate:"required"`
PaymentCardFingerprint string `bson:"paymentCardFingerprint,omitempty" index:"unique"`
PaymentPayPalEMail string `bson:"paymentPayPalEMail,omitempty" index:"unique"`
PaymentSEPAFingerprint string `bson:"paymentSEPAFingerprint,omitempty" index:"unique"`
}
type TrialFilter ¶
type TrialFilter struct {
ProductType string `bson:"productType" validate:"required"`
CustomerID string `bson:"customerID,omitempty" index:"unique" validate:"required"`
PaymentCardFingerprint string `bson:"paymentCardFingerprint,omitempty" index:"unique"`
PaymentPayPalEMail string `bson:"paymentPayPalEMail,omitempty" index:"unique"`
PaymentSEPAFingerprint string `bson:"paymentSEPAFingerprint,omitempty" index:"unique"`
}
Click to show internal directories.
Click to hide internal directories.