Update transcript permission check

This commit is contained in:
rxdn 2022-06-23 20:55:47 +01:00
parent 1a6b50d293
commit eb8d62585c
3 changed files with 19 additions and 3 deletions

2
go.mod
View File

@ -19,6 +19,7 @@ require (
github.com/go-redis/redis_rate/v9 v9.1.1
github.com/golang-jwt/jwt v3.2.2+incompatible
github.com/gorilla/websocket v1.5.0
github.com/jackc/pgtype v1.4.0
github.com/jackc/pgx/v4 v4.7.1
github.com/pasztorpisti/qs v0.0.0-20171216220353-8d6c33ee906c
github.com/pkg/errors v0.9.1
@ -53,7 +54,6 @@ require (
github.com/jackc/pgpassfile v1.0.0 // indirect
github.com/jackc/pgproto3/v2 v2.0.2 // indirect
github.com/jackc/pgservicefile v0.0.0-20200307190119-3430c5407db8 // indirect
github.com/jackc/pgtype v1.4.0 // indirect
github.com/jackc/pgx v3.6.2+incompatible // indirect
github.com/jackc/puddle v1.1.1 // indirect
github.com/json-iterator/go v1.1.10 // indirect

2
go.sum
View File

@ -5,8 +5,6 @@ github.com/TicketsBot/archiverclient v0.0.0-20220326163414-558fd52746dc h1:n15W8
github.com/TicketsBot/archiverclient v0.0.0-20220326163414-558fd52746dc/go.mod h1:2KcfHS0JnSsgcxZBs3NyWMXNQzEo67mBSGOyzHPWOCc=
github.com/TicketsBot/common v0.0.0-20220615205931-a6a31e73b52a h1:SwA18cDURmnXSrKBdetNVanSsyJBMtyosDzvgYMpKP4=
github.com/TicketsBot/common v0.0.0-20220615205931-a6a31e73b52a/go.mod h1:ZAoYcDD7SQLTsZT7dbo/X0J256+pogVRAReunCGng+U=
github.com/TicketsBot/database v0.0.0-20220621182433-accd1b2b81de h1:UsRiB3KIwqIF92huRBFKAnCoGLyT9kBYYUycsapBZk0=
github.com/TicketsBot/database v0.0.0-20220621182433-accd1b2b81de/go.mod h1:F57cywrZsnper1cy56Bx0c/HEsxQBLHz3Pl98WXblWw=
github.com/TicketsBot/database v0.0.0-20220623160906-a56dc9dfda90 h1:K0t6IaZdeZzEr2BaYj/NBuWIm/hA31jkqFh2c3nyDrw=
github.com/TicketsBot/database v0.0.0-20220623160906-a56dc9dfda90/go.mod h1:F57cywrZsnper1cy56Bx0c/HEsxQBLHz3Pl98WXblWw=
github.com/TicketsBot/logarchiver v0.0.0-20220326162808-cdf0310f5e1c h1:OqGjFH6mbE6gd+NqI2ARJdtH3UUvhiAkD0r0fhGJK2s=

View File

@ -64,6 +64,24 @@ func HasPermissionToViewTicket(guildId, userId uint64, ticket database.Ticket) (
return true, nil
}
// Check staff override
staffOverride, err := dbclient.Client.StaffOverride.HasActiveOverride(guildId)
if err != nil {
return false, err
}
// If staff override enabled and the user is bot staff, grant admin permissions
if staffOverride {
isBotStaff, err := dbclient.Client.BotStaff.IsStaff(userId)
if err != nil {
return false, err
}
if isBotStaff {
return true, nil
}
}
// Check if server owner
guild, err := botContext.GetGuild(guildId)
if err != nil {