calsub

package
v0.32.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 9, 2024 License: Apache-2.0 Imports: 25 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Store

type Store struct {
	// contains filtered or unexported fields
}

Store allows the lookup and management of calendar subscriptions

func NewStore

func NewStore(ctx context.Context, db *sql.DB, apiKeyring keyring.Keyring, oc *oncall.Store) (*Store, error)

NewStore will create a new Store with the given parameters.

func (*Store) Authorize

func (s *Store) Authorize(ctx context.Context, tok authtoken.Token) (context.Context, error)

Authorize will return an authorized context associated with the given token. If the token is invalid or otherwise can not be authenticated, an error is returned.

func (*Store) CreateTx

func (s *Store) CreateTx(ctx context.Context, tx *sql.Tx, cs *Subscription) (*Subscription, error)

CreateTx will return a created calendar subscription with the given input.

func (*Store) DeleteTx

func (s *Store) DeleteTx(ctx context.Context, tx *sql.Tx, userID string, ids ...string) error

DeleteTx removes calendar subscriptions with the given ids for the given user.

func (*Store) FindAllByUser

func (s *Store) FindAllByUser(ctx context.Context, userID string) ([]Subscription, error)

FindAllByUser returns all calendar subscriptions of a user.

func (*Store) FindOne

func (s *Store) FindOne(ctx context.Context, id string) (*Subscription, error)

FindOne will return a single calendar subscription for the given id.

func (*Store) FindOneForUpdate added in v0.31.0

func (s *Store) FindOneForUpdate(ctx context.Context, tx *sql.Tx, id string) (*Subscription, error)

func (*Store) ServeICalData

func (s *Store) ServeICalData(w http.ResponseWriter, req *http.Request)

ServeICalData will return an iCal file for the subscription associated with the current request.

func (*Store) UpdateTx added in v0.31.0

func (s *Store) UpdateTx(ctx context.Context, tx *sql.Tx, cs *Subscription) error

UpdateTx will update the given calendar subscription with the given input.

type Subscription

type Subscription struct {
	ID         string
	Name       string
	UserID     string
	ScheduleID string
	LastUpdate time.Time
	LastAccess time.Time
	Disabled   bool

	// Config provides necessary parameters CalendarSubscription Config (i.e. ReminderMinutes)
	Config SubscriptionConfig
	// contains filtered or unexported fields
}

Subscription stores the information from user subscriptions

func (Subscription) Normalize

func (cs Subscription) Normalize() (*Subscription, error)

Normalize will validate and produce a normalized CalendarSubscription struct.

func (Subscription) Token

func (cs Subscription) Token() string

Token returns the authorization token associated with this CalendarSubscription. It is only available when calling CreateTx.

type SubscriptionConfig

type SubscriptionConfig struct {
	ReminderMinutes []int
	FullSchedule    bool
}

SubscriptionConfig is the configuration for a calendar subscription.

func (*SubscriptionConfig) Scan

func (scfg *SubscriptionConfig) Scan(v interface{}) error

func (SubscriptionConfig) Value

func (scfg SubscriptionConfig) Value() (driver.Value, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL