@@ -4,40 +4,42 @@ import { Resource } from "@/features/resources";
44import type { RoutableResource } from "@/features/resources/types" ;
55import type { RecordIntersection } from "@/types/helpers" ;
66
7- const SOLVRO_ADMINS_ONLY = [ "solvro_admin" ] as const ;
8- const ADMINS_ONLY = [ "admin" , ...SOLVRO_ADMINS_ONLY ] as const ;
9- const ANY_AUTHENTICATED_ROLE = [ "user" , ...ADMINS_ONLY ] as const ;
7+ import {
8+ ADMINS_ONLY ,
9+ ANY_AUTHENTICATED_ROLE ,
10+ SOLVRO_ADMINS_ONLY ,
11+ } from "./permissions" ;
1012
1113export const ROUTE_PERMISSIONS = {
1214 "/" : ANY_AUTHENTICATED_ROLE ,
13- "/review" : SOLVRO_ADMINS_ONLY ,
14- [ `/${ Resource . AboutUs } ` ] : ANY_AUTHENTICATED_ROLE ,
15- [ `/${ Resource . AboutUsLinks } ` ] : ANY_AUTHENTICATED_ROLE ,
16- [ `/${ Resource . AcademicSemesters } ` ] : ANY_AUTHENTICATED_ROLE ,
17- [ `/${ Resource . Aeds } ` ] : ANY_AUTHENTICATED_ROLE ,
18- [ `/${ Resource . Banners } ` ] : ANY_AUTHENTICATED_ROLE ,
19- [ `/${ Resource . BicycleShowers } ` ] : ANY_AUTHENTICATED_ROLE ,
20- [ `/${ Resource . Buildings } ` ] : ANY_AUTHENTICATED_ROLE ,
21- [ `/${ Resource . CalendarEvents } ` ] : ANY_AUTHENTICATED_ROLE ,
22- [ `/${ Resource . Campuses } ` ] : ANY_AUTHENTICATED_ROLE ,
23- [ `/${ Resource . Contributors } ` ] : ANY_AUTHENTICATED_ROLE ,
24- [ `/${ Resource . DaySwaps } ` ] : ANY_AUTHENTICATED_ROLE ,
25- [ `/${ Resource . Departments } ` ] : ANY_AUTHENTICATED_ROLE ,
26- [ `/${ Resource . FoodSpots } ` ] : ANY_AUTHENTICATED_ROLE ,
15+ "/review" : ADMINS_ONLY ,
16+ [ `/${ Resource . AboutUs } ` ] : SOLVRO_ADMINS_ONLY ,
17+ [ `/${ Resource . AboutUsLinks } ` ] : SOLVRO_ADMINS_ONLY ,
18+ [ `/${ Resource . AcademicSemesters } ` ] : SOLVRO_ADMINS_ONLY ,
19+ [ `/${ Resource . Aeds } ` ] : SOLVRO_ADMINS_ONLY ,
20+ [ `/${ Resource . Banners } ` ] : SOLVRO_ADMINS_ONLY ,
21+ [ `/${ Resource . BicycleShowers } ` ] : SOLVRO_ADMINS_ONLY ,
22+ [ `/${ Resource . Buildings } ` ] : SOLVRO_ADMINS_ONLY ,
23+ [ `/${ Resource . CalendarEvents } ` ] : SOLVRO_ADMINS_ONLY ,
24+ [ `/${ Resource . Campuses } ` ] : SOLVRO_ADMINS_ONLY ,
25+ [ `/${ Resource . Contributors } ` ] : SOLVRO_ADMINS_ONLY ,
26+ [ `/${ Resource . DaySwaps } ` ] : SOLVRO_ADMINS_ONLY ,
27+ [ `/${ Resource . Departments } ` ] : SOLVRO_ADMINS_ONLY ,
28+ [ `/${ Resource . FoodSpots } ` ] : SOLVRO_ADMINS_ONLY ,
2729 [ `/${ Resource . GuideArticles } ` ] : ANY_AUTHENTICATED_ROLE ,
28- [ `/${ Resource . Holidays } ` ] : ANY_AUTHENTICATED_ROLE ,
29- [ `/${ Resource . Libraries } ` ] : ANY_AUTHENTICATED_ROLE ,
30- [ `/${ Resource . Map } ` ] : ANY_AUTHENTICATED_ROLE ,
31- [ `/${ Resource . Milestones } ` ] : ANY_AUTHENTICATED_ROLE ,
32- [ `/${ Resource . MobileConfig } ` ] : ANY_AUTHENTICATED_ROLE ,
33- [ `/${ Resource . Notifications } ` ] : ANY_AUTHENTICATED_ROLE ,
34- [ `/${ Resource . NotificationTopics } ` ] : ANY_AUTHENTICATED_ROLE ,
35- [ `/${ Resource . PinkBoxes } ` ] : ANY_AUTHENTICATED_ROLE ,
36- [ `/${ Resource . PolinkaStations } ` ] : ANY_AUTHENTICATED_ROLE ,
37- [ `/${ Resource . Roles } ` ] : ANY_AUTHENTICATED_ROLE ,
38- [ `/${ Resource . SksOpeningHours } ` ] : ANY_AUTHENTICATED_ROLE ,
30+ [ `/${ Resource . Holidays } ` ] : SOLVRO_ADMINS_ONLY ,
31+ [ `/${ Resource . Libraries } ` ] : SOLVRO_ADMINS_ONLY ,
32+ [ `/${ Resource . Map } ` ] : SOLVRO_ADMINS_ONLY ,
33+ [ `/${ Resource . Milestones } ` ] : SOLVRO_ADMINS_ONLY ,
34+ [ `/${ Resource . MobileConfig } ` ] : SOLVRO_ADMINS_ONLY ,
35+ [ `/${ Resource . Notifications } ` ] : SOLVRO_ADMINS_ONLY ,
36+ [ `/${ Resource . NotificationTopics } ` ] : SOLVRO_ADMINS_ONLY ,
37+ [ `/${ Resource . PinkBoxes } ` ] : SOLVRO_ADMINS_ONLY ,
38+ [ `/${ Resource . PolinkaStations } ` ] : SOLVRO_ADMINS_ONLY ,
39+ [ `/${ Resource . Roles } ` ] : SOLVRO_ADMINS_ONLY ,
40+ [ `/${ Resource . SksOpeningHours } ` ] : SOLVRO_ADMINS_ONLY ,
3941 [ `/${ Resource . StudentOrganizations } ` ] : ANY_AUTHENTICATED_ROLE ,
40- [ `/${ Resource . Versions } ` ] : ANY_AUTHENTICATED_ROLE ,
42+ [ `/${ Resource . Versions } ` ] : SOLVRO_ADMINS_ONLY ,
4143} satisfies RecordIntersection <
4244 `/${RoutableResource } `,
4345 Route ,
0 commit comments