51 lines
1.3 KiB
Go
51 lines
1.3 KiB
Go
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
|
|
}
|