package table import "github.com/TicketsBot/GoPanel/database" type Ticket struct { Uuid string `gorm:"column:UUID;type:varchar(36);primary_key"` TicketId int `gorm:"column:ID"` Guild uint64 `gorm:"column:GUILDID"` Channel uint64 `gorm:"column:CHANNELID"` Owner uint64 `gorm:"column:OWNERID"` Members string `gorm:"column:MEMBERS;type:text"` IsOpen bool `gorm:"column:OPEN"` OpenTime int64 `gorm:"column:OPENTIME"` } func (Ticket) TableName() string { return "tickets" } func GetTickets(guild uint64) []Ticket { var tickets []Ticket database.Database.Where(&Ticket{Guild: guild}).Order("ID asc").Find(&tickets) return tickets } func GetClosedTickets(guildId uint64) []Ticket { var tickets []Ticket database.Database.Where(&Ticket{Guild: guildId, IsOpen: false}).Order("ID desc").Find(&tickets) return tickets } func GetClosedTicketsByUserId(guildId uint64, userIds []uint64) []Ticket { var tickets []Ticket database.Database.Where(&Ticket{Guild: guildId, IsOpen: false}).Where("OWNERID IN (?)", userIds).Order("ID desc").Find(&tickets) return tickets } func GetOpenTickets(guild uint64) []Ticket { var tickets []Ticket database.Database.Where(&Ticket{Guild: guild, IsOpen: true}).Order("ID desc").Find(&tickets) return tickets } func GetTicket(uuid string, ch chan Ticket) { var ticket Ticket database.Database.Where(&Ticket{Uuid: uuid}).First(&ticket) ch <- ticket } func GetTicketById(guild uint64, id int, ch chan Ticket) { var ticket Ticket database.Database.Where(&Ticket{Guild: guild, TicketId: id}).First(&ticket) ch <- ticket }