51 lines
1.4 KiB
Go
51 lines
1.4 KiB
Go
package table
|
|
|
|
import (
|
|
"github.com/TicketsBot/GoPanel/database"
|
|
)
|
|
|
|
type TicketArchive struct {
|
|
Uuid string `gorm:"column:UUID;type:varchar(36)"`
|
|
Guild int64 `gorm:"column:GUILDID"`
|
|
User int64 `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 int64) []TicketArchive {
|
|
var archives []TicketArchive
|
|
database.Database.Where(&TicketArchive{Guild: guildId}).Order("TICKETID desc").Find(&archives)
|
|
|
|
return archives
|
|
}
|
|
|
|
func GetFilteredTicketArchives(guildId int64, userId int64, 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 int64, uuid string) string {
|
|
var archive TicketArchive
|
|
database.Database.Where(&TicketArchive{Guild: guildId, Uuid: uuid}).First(&archive)
|
|
return archive.CdnUrl
|
|
}
|