Skip to content

Commit 2369e33

Browse files
committed
Minor tweak for the perms thing we worked on
1 parent b5072fc commit 2369e33

File tree

3 files changed

+14
-7
lines changed

3 files changed

+14
-7
lines changed

api/controllers/tab/category/access.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,8 @@ export const changeAccess = {
3434
});
3535

3636
if (!currentPerm) {
37-
res.status(400).json(`User ${targetPerson.email} does not have access ${targetCategory.abbr} and so it cannot be altered`);
37+
res.status(400).json(`User ${targetPerson.email} does not have access ${targetCategory.abbr},
38+
and so it cannot be altered`);
3839
return;
3940
}
4041

@@ -82,6 +83,7 @@ export const changeAccess = {
8283

8384
if (req.session.perms.tourn[targetCategory.tourn] !== 'owner'
8485
&& req.session.perms.tourn[targetCategory.tourn] !== 'tabber'
86+
&& req.session.perms.category[targetCategory.id] !== 'tabber'
8587
) {
8688
res.status(401).json(`You do not have access to change permissions in ${targetCategory.abbr}`);
8789
return;

api/helpers/auth.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -321,8 +321,8 @@ export const tabAuth = async (req) => {
321321
if (
322322
perms.tourn[tournId] === 'owner'
323323
|| perms.tourn[tournId] === 'tabber'
324-
|| req.session.perms.events?.[output.event].tag === 'tabber'
325-
|| req.session.perms.categories?.[output.category].tag === 'tabber'
324+
|| req.session.perms.event?.[output.event] === 'tabber'
325+
|| req.session.perms.category?.[output.category] === 'tabber'
326326
) {
327327
req.session[subType] = output;
328328
return req.session;
@@ -490,7 +490,9 @@ export const tabAuth = async (req) => {
490490
}
491491

492492
if (subType === 'category') {
493+
493494
const category = await db.summon(db.category, typeId);
495+
494496
if (category.tourn !== req.session.tourn.id) {
495497
delete req.session.tourn;
496498
delete req.session.perms;
@@ -500,7 +502,7 @@ export const tabAuth = async (req) => {
500502
if (
501503
perms.tourn[tournId] === 'owner'
502504
|| perms.tourn[tournId] === 'tabber'
503-
|| req.session.perms.categories?.[typeId].tag === 'tabber'
505+
|| req.session.perms.category?.[typeId] === 'tabber'
504506
) {
505507
req.session.category = category;
506508
return req.session;

app.js

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -263,12 +263,15 @@ app.all(tabRoutes, async (req, res, next) => {
263263
}
264264

265265
req.session = await tabAuth(req, res);
266+
const subType = req.params.subType;
266267

267268
if (
268-
typeof req.session?.perms !== 'object'
269-
|| (!req.session?.perms?.tourn[req.params.tournId])
269+
(req.session?.perms?.tourn[req.params.tournId] !== 'tabber')
270+
&& (req.session?.perms?.tourn[req.params.tournId] !== 'owner')
271+
&& (subType !== 'category' || req.session?.perms?.category[req.params.typeId] !== 'tabber')
272+
&& (subType !== 'event' || req.session?.perms?.event[req.params.typeId] !== 'tabber')
270273
) {
271-
const subType = req.params.subType;
274+
272275
return res
273276
.status(401)
274277
.json(`You do not have access to that tournament${subType ? `'s ${subType} functions` : ''}`);

0 commit comments

Comments
 (0)