skailan-core
Version:
Servicio de autenticación y multitenancy para Skailan.
29 lines • 1.05 kB
JavaScript
import { PrismaClient } from "@prisma/client";
export const tenantResolver = async (req, res, next) => {
try {
const subdomain = req.subdomains[0];
const host = req.get("host");
if (!subdomain && !host?.includes("localhost")) {
res.status(400).json({ error: "Subdominio requerido" });
return;
}
const organizationSlug = subdomain || "default";
const tenantPrisma = new PrismaClient();
const organization = await tenantPrisma.organization.findUnique({
where: { slug: organizationSlug },
});
if (!organization) {
res.status(404).json({ error: "Organización no encontrada" });
return;
}
req.tenantPrisma = tenantPrisma;
req.organization = organization;
next();
}
catch (error) {
console.error("Error en tenant resolver:", error);
res.status(500).json({ error: "Error interno del servidor" });
return;
}
};
//# sourceMappingURL=tenantResolver.js.map