Skip to content

Commit

Permalink
feat: add per-category blocked roles-list
Browse files Browse the repository at this point in the history
~ db/postgresql/schema.prisma:

~ db/sqlite/schema.prisma:

~ src/lib/middleware/prisma-sqlite.js:

~ src/lib/tickets/manager.js:

~ src/routes/api/admin/guilds/[guild]/categories/[category]/index.js:

~ src/routes/api/admin/guilds/[guild]/categories/index.js:
  • Loading branch information
Antoine 'toinux' Wam committed Dec 31, 2024
1 parent d07f69d commit f030b63
Show file tree
Hide file tree
Showing 7 changed files with 13 additions and 2 deletions.
3 changes: 2 additions & 1 deletion db/mysql/schema.prisma
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ model ArchivedMessage {

model ArchivedRole {
archivedUsers ArchivedUser[]
colour String @default("5865F2") @db.Char(6) // 7289DA
colour String @default("5865F2") @db.Char(6) // 7289DA
createdAt DateTime @default(now())
name String
roleId String @db.VarChar(19)
Expand Down Expand Up @@ -69,6 +69,7 @@ model ArchivedUser {
}

model Category {
blockedRoles Json @default("[]")
channelName String
claiming Boolean @default(false)
createdAt DateTime @default(now())
Expand Down
3 changes: 2 additions & 1 deletion db/postgresql/schema.prisma
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ model ArchivedMessage {

model ArchivedRole {
archivedUsers ArchivedUser[]
colour String @default("5865F2") @db.Char(6) // 7289DA
colour String @default("5865F2") @db.Char(6) // 7289DA
createdAt DateTime @default(now())
name String
roleId String @db.VarChar(19)
Expand Down Expand Up @@ -68,6 +68,7 @@ model ArchivedUser {
}

model Category {
blockedRoles Json @default("[]")
channelName String
claiming Boolean @default(false)
createdAt DateTime @default(now())
Expand Down
1 change: 1 addition & 0 deletions db/sqlite/schema.prisma
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ model ArchivedUser {
}

model Category {
blockedRoles String @default("[]")
channelName String
claiming Boolean @default(false)
createdAt DateTime @default(now())
Expand Down
1 change: 1 addition & 0 deletions src/lib/middleware/prisma-sqlite.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
const jsonFields = [
'pingRoles',
'requiredRoles',
'blockedRoles',
'staffRoles',
'autoTag',
'blocklist',
Expand Down
5 changes: 5 additions & 0 deletions src/lib/tickets/manager.js
Original file line number Diff line number Diff line change
Expand Up @@ -227,6 +227,11 @@ module.exports = class TicketManager {
if (blocked) return await sendError('blocked');
}

if (category.blockedRoles.length !== 0) {
const blocked = category.blockedRoles.some(r => member.roles.cache.has(r));
if (blocked) return await sendError('blocked');
}

if (category.requiredRoles.length !== 0) {
const missing = category.requiredRoles.some(r => !member.roles.cache.has(r));
if (missing) return await sendError('missing_roles');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ module.exports.patch = fastify => ({
const data = req.body;

const select = {
blockedRoles: true,
channelName: true,
claiming: true,
// createdAt: true,
Expand Down
1 change: 1 addition & 0 deletions src/routes/api/admin/guilds/[guild]/categories/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ module.exports.get = fastify => ({
select: {
categories: {
select: {
blockedRoles: true,
createdAt: true,
description: true,
discordCategory: true,
Expand Down

0 comments on commit f030b63

Please sign in to comment.