mirror of
https://github.com/hanzoai/calendar.git
synced 2026-10-30 14:46:43 +00:00
* add eslint config * migrate autoLock to features * migrate teamService to features * migrate userCreationService * migrate insights services to features * migrate ProfileRepository * update imports * migrate filter segmen tests * migrate filter segment repository * migrate getBusyTimes * migrate getLocaleFromRequest * refactor csvUtils * make filename clearer * migrate getLuckyUser integration test * migrate autoLock test to features * wip * refactors * migrate useBookerUrl * migrate more * wip * Migrate eventTypeRepository * membership repository * update imports * update imports * migrate * move organization repository * update imports * update imports * wip * wip * wip * wip * wip * wip * wip * wip * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix tests * fix type checks * fix * fix * migrate * update imports * fix tests * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix
23 lines
912 B
TypeScript
23 lines
912 B
TypeScript
import { OrganizationRepository } from "@calcom/features/ee/organizations/repositories/OrganizationRepository";
|
|
|
|
/**
|
|
* It assumes that a user can only impersonate the members of the organization he is logged in to.
|
|
* Note: Ensuring that one organization's member can't impersonate other organization's member isn't the job of this function
|
|
*/
|
|
export async function ensureOrganizationIsReviewed(loggedInUserOrgId: number | undefined) {
|
|
if (loggedInUserOrgId) {
|
|
const org = await OrganizationRepository.findByIdIncludeOrganizationSettings({
|
|
id: loggedInUserOrgId,
|
|
});
|
|
|
|
if (!org) {
|
|
throw new Error("Error-OrgNotFound: You do not have permission to do this.");
|
|
}
|
|
|
|
if (!org.organizationSettings?.isAdminReviewed) {
|
|
// If the org is not reviewed, we can't allow impersonation
|
|
throw new Error("Error-OrgNotReviewed: You do not have permission to do this.");
|
|
}
|
|
}
|
|
}
|