diff --git a/lib/www/server/lib/db/project/organisations.js b/lib/www/server/lib/db/project/organisations.js index f3e3041..40d28de 100644 --- a/lib/www/server/lib/db/project/organisations.js +++ b/lib/www/server/lib/db/project/organisations.js @@ -50,11 +50,16 @@ async function vesselOrganisations (vesselID) { return (await vessel.info(vesselID))?.organisations ?? {}; } +/** Check whether a user has access to the project given by `pid`. + * + * If `pid` is `null`, check against vessel access. */ async function orgAccess (userOrgs, pid, operation) { - const projectOrgs = await projectOrganisations(pid); + const itemOrgs = pid === null + ? await vesselOrganisations() + : await projectOrganisations(pid); - return access(userOrgs, projectOrgs, operation); + return access(userOrgs, itemOrgs, operation); } /*