package table import ( "github.com/TicketsBot/GoPanel/database" ) type TicketArchive struct { Uuid string `gorm:"column:UUID;type:varchar(36)"` Guild uint64 `gorm:"column:GUILDID"` User uint64 `gorm:"column:USERID"` Username string `gorm:"column:USERNAME;type:varchar(32)"` TicketId int `gorm:"column:TICKETID"` CdnUrl string `gorm:"column:CDNURL;type:varchar(100)"` } func (TicketArchive) TableName() string { return "ticketarchive" } func GetTicketArchives(guildId uint64) []TicketArchive { var archives []TicketArchive database.Database.Where(&TicketArchive{Guild: guildId}).Order("TICKETID desc").Find(&archives) return archives } func GetFilteredTicketArchives(guildId uint64, userId uint64, username string, ticketId int) []TicketArchive { var archives []TicketArchive query := database.Database.Where(&TicketArchive{Guild: guildId}) if userId != 0 { query = query.Where(&TicketArchive{User: userId}) } if username != "" { query = query.Where(&TicketArchive{Username: username}) } if ticketId != 0 { query = query.Where(&TicketArchive{TicketId: ticketId}) } query.Order("TICKETID desc").Find(&archives) return archives } func GetCdnUrl(guildId uint64, uuid string) string { var archive TicketArchive database.Database.Where(&TicketArchive{Guild: guildId, Uuid: uuid}).First(&archive) return archive.CdnUrl }