postgres

package
v0.0.0-...-d40b2c6 Latest Latest
Warning

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

Go to latest
Published: May 27, 2025 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var INDIANAPOLIS, _ = time.LoadLocation("America/Indiana/Indianapolis")

Functions

func BulkUpdateEvents

func BulkUpdateEvents(tx *sql.Tx, parsedEvents []*events.GenconEvent) error

func CleanupTransaction

func CleanupTransaction(err error, tx *sql.Tx)

Use as defer func() { CleanupTransaction(err, tx) }() Need to do it in an anonymous function to avoid binding err and tx

func LoadSimilarEvents

func LoadSimilarEvents(db *sql.DB, eventId string, userEmail string) ([]*events.GenconEvent, error)

func LoadStarredEvents

func LoadStarredEvents(db *sql.DB, userEmail string, year int) ([]*events.GenconEvent, error)

func MergeOrgs

func MergeOrgs(db *sql.DB, orgs []int64)

func OpenDb

func OpenDb() (*sql.DB, error)

Types

type CalendarEventCluster

type CalendarEventCluster struct {
	Title            string
	StartTime        time.Time
	EndTime          time.Time
	GenconUrl        string
	PlannerUrl       string
	ShortCategory    string
	ShortDescription string
	SimilarCount     int
}

func LoadStarredEventClusters

func LoadStarredEventClusters(db *sql.DB, userEmail string, year int, starredEvents []*events.GenconEvent) ([]*CalendarEventCluster, error)

type CategorySummary

type CategorySummary struct {
	Name  string
	Code  string
	Count int
}

func LoadCategorySummary

func LoadCategorySummary(db *sql.DB, year int) ([]*CategorySummary, error)

type EventGroup

type EventGroup struct {
	Name          string
	EventId       string
	Description   string
	ShortCategory string
	GameSystem    string
	OrgGroup      string
	Count         int
	WedTickets    int
	ThursTickets  int
	FriTickets    int
	SatTickets    int
	SunTickets    int
	TotalTickets  int
}

func FindEvents

func FindEvents(db *sql.DB, query *ParsedQuery) ([]*EventGroup, error)

func LoadEventGroupsForCategory

func LoadEventGroupsForCategory(db *sql.DB, short_category string, year int) ([]*EventGroup, error)

func SearchEvents

func SearchEvents(db *sql.DB, query SearchQuery) ([]*EventGroup, error)

type Game

type Game struct {
	Name          string
	Type          string // Will be game, or expansion
	BggId         int64
	FamilyIds     []int64
	LastUpdate    time.Time
	NumRatings    int64
	AvgRatings    float64
	YearPublished int64
}

func LoadGames

func LoadGames(db *sql.DB) ([]*Game, error)

func (*Game) Upsert

func (g *Game) Upsert(db *sql.DB) error

type GameFamily

type GameFamily struct {
	Name       string
	BggId      int64
	GameIds    []int64
	LastUpdate time.Time
}

func LoadFamilies

func LoadFamilies(db *sql.DB) ([]*GameFamily, error)

func (*GameFamily) Upsert

func (gf *GameFamily) Upsert(db *sql.DB) error

type Organizer

type Organizer struct {
	Id        int64
	Aliases   []string
	NumEvents int64
}

func LoadAllOrgs

func LoadAllOrgs(db *sql.DB) ([]*Organizer, error)

type ParsedQuery

type ParsedQuery struct {
	// TODO(alek): make a significantly more robust query parser
	// add exact match on fields,
	TextQueries     []string
	Year            int
	DaysOfWeek      map[string]bool
	RawQuery        string
	StartBeforeHour int
	StartAfterHour  int
	EndBeforeHour   int
	EndAfterHour    int
	OrgId           int
}

type Party

type Party struct {
	Id      int64
	Name    string
	Year    int64
	Members []*User
}

A party is a group of users playing together in a given year.

func LoadParties

func LoadParties(db *sql.DB, currentUser *User) ([]*Party, error)

func NewParty

func NewParty(db *sql.DB, name string, year int64, founderEmail string) (*Party, error)

type SearchQuery

type SearchQuery struct {
	Year              int
	CategoryShortCode string
	MinWedTickets     int
	MinThuTickets     int
	MinFriTickets     int
	MinSatTickets     int
	MinSunTickets     int
	RawQuery          string
}

type StarredEvent

type StarredEvent struct {
	EventId string
	Level   string // "group" or "event"
}

type User

type User struct {
	Email       string
	DisplayName string
}

func LoadOrCreateUser

func LoadOrCreateUser(db *sql.DB, email string) (*User, error)

func (*User) UpdateInfo

func (u *User) UpdateInfo(db *sql.DB, displayName string) error

type UserStarredEvents

type UserStarredEvents struct {
	Email         string
	StarredEvents []StarredEvent
}

func GetStarredIds

func GetStarredIds(db *sql.DB, email string) (*UserStarredEvents, error)

func UpdateStarredEvent

func UpdateStarredEvent(db *sql.DB, email string, eventId string, starGroup bool, add bool) (*UserStarredEvents, error)

Jump to

Keyboard shortcuts

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