// npm import uuidValidate from 'uuid-validate'; // @ownzones import * as iamService from '@ownzones/iam-service'; import { IOrganization } from '../lib/connect-api'; import { Nullable } from './types'; export async function validateOrganizationSlug(organizationSlug: string): Promise<{ organizationId: Nullable, organizationSlug: Nullable }> { // for test purposes or for a valid UUId we return directly the organizationId if (process.env.NODE_ENV === 'test' || process.env.NODE_ENV === 'circleci' || uuidValidate(organizationSlug)) { return { organizationSlug, organizationId: organizationSlug, }; } // we have just organization slug and we need to return organizationId const organization = await iamService.getOrganizationBySlug(organizationSlug, iamService.setContext()) as IOrganization | null; return { organizationId: organization ? organization.id : null, organizationSlug: organization ? organization.slug : null, }; }