import { db } from "../db.server"; import { getTenant } from "../db/tenants.db.server"; import { getAvailableTenantSlug } from "./tenantService"; export async function getAvailableTenantInboundAddress(name: string) { const slug = await getAvailableTenantSlug({ name }); const slugWithDots = slug.split("-").join("."); let address = slugWithDots; let tries = 1; do { const existingAddress = await db.tenantInboundAddress.findUnique({ where: { address, }, }); if (existingAddress !== null) { address = slugWithDots + tries.toString(); tries++; } else { break; } } while (true); return address; } export async function getTenantDefaultInboundAddress(tenantId: string) { const tenant = await getTenant(tenantId); let address: string | null = null; if (tenant?.inboundAddresses && tenant?.inboundAddresses.length > 0) { address = tenant.inboundAddresses[0].address; } return address; }