diff --git a/libs/db/access/index.ts b/libs/db/access/index.ts index f6a7408b..611cf943 100644 --- a/libs/db/access/index.ts +++ b/libs/db/access/index.ts @@ -35,7 +35,6 @@ export const isSelf = ({ req: {user} }) => { } export const isOrganizerOrSelf = ({ req: {user} }) => { - if (!user) return false; if (user){ if (user.organizerTeam?.name){ return true @@ -46,6 +45,7 @@ export const isOrganizerOrSelf = ({ req: {user} }) => { } } }; + return false } export const isSponsor = ({ req: {user} }) => { @@ -57,17 +57,30 @@ export const isSponsor = ({ req: {user} }) => { return false }; -export const isMentor = ({ req: {user} }) => { + +export const isOrganizer = ({ req: {user} }) => { if (user){ - if (user.group.name === "Mentor"){ + if (user.organizerTeam?.name){ return true } - } - return false + return false }; + return false +} +export const isOrganizerOrSponsor = ({ req: {user} }) => { + if (user){ + if (user.organizerTeam?.name){ + return true + } + if (user.group.name === "Sponsor"){ + return true + } +}; + return false +} -export const isJudge = ({ req: {user} }) => { +export const isMentor = ({ req: {user} }) => { if (user){ if (user.group.name === "Mentor"){ return true @@ -76,15 +89,15 @@ export const isJudge = ({ req: {user} }) => { return false }; -export const isOrganizer: IsAuthenticated = ({ req: { user } }) => - { + +export const isJudge = ({ req: {user} }) => { if (user){ - if (user.group.name === "Organizer"){ + if (user.group.name === "Mentor"){ return true } } return false -} +}; export const isOrganizerInTeam = (teamNames: string[]) => { return ({ req: { user } }: AccessArgs) => diff --git a/libs/db/collections/models/Users.ts b/libs/db/collections/models/Users.ts index b5ed6652..91f5e53e 100644 --- a/libs/db/collections/models/Users.ts +++ b/libs/db/collections/models/Users.ts @@ -8,6 +8,7 @@ import { authenticated, isOrganizer, isOrganizerOrSelf, + isOrganizerOrSponsor, isSuperAdmin, } from "@/db/access"; import { navAccordions } from "@/db/collections/navAccordions"; @@ -266,7 +267,7 @@ export const Users: CollectionConfig = { }, }, access: { - admin: isSelf, + admin: isOrganizerOrSponsor, read: isOrganizerOrSelf, create: authenticated, update: isSelf || isOrganizer || isSuperAdmin, @@ -276,11 +277,8 @@ export const Users: CollectionConfig = { // afterChange: [loginAfterCreate], // }, admin: { - // hidden: (user) => { - // if (user?.id === 1){ - // return false - // } - // return user?.group?.name === "Organizer" ? false : true + // hidden: ({user}) => { + // return user?.group?.name === "Hacker" // }, livePreview: { url: `${process.env.CUHACKING_2025_PORTAL_LOCAL_URL}/profile`, @@ -528,11 +526,15 @@ export const Users: CollectionConfig = { { label: "Emergency Contact", type: "collapsible", + admin: { + hidden: true + }, fields: [ { type: "row", fields:[ - { name: "emergencyContactFullName", type: "text", label: "Full Name" }, + { name: "emergencyContactFullName", type: "text", label: "Full Name", + }, { name: "emergencyContactRelationship", type: "select", @@ -612,7 +614,9 @@ export const Users: CollectionConfig = { { type: "collapsible", label: "GitHub", - admin: { readOnly: true }, + admin: { + hidden: true + }, fields: [ { name: "githubUrl", @@ -706,6 +710,9 @@ export const Users: CollectionConfig = { { type: "collapsible", label: "Discord", + admin: { + hidden: true + }, fields: [ { name: "discordUsername", @@ -742,6 +749,9 @@ export const Users: CollectionConfig = { { type: "collapsible", label: "Google", + admin: { + hidden: true + }, fields: [ { name: "googleEmail", type: "email" }, {