45 lines
1.1 KiB
Go
45 lines
1.1 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}).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.Find(&archives)
|
|
|
|
return archives
|
|
}
|