skailan-crm
Version:
Servicio de CRM y gestión de ventas para Skailan
44 lines • 1.9 kB
JavaScript
import express from 'express';
import { tenantResolver } from '@skailan/core/dist/shared/middlewares/tenantResolver';
import leadRoutes from './api/routes/leadRoutes';
import opportunityRoutes from './api/routes/opportunityRoutes';
import activityRoutes from './api/routes/activityRoutes';
import competitorRoutes from './api/routes/competitorRoutes';
import quoteRoutes from './api/routes/quoteRoutes';
import quoteItemRoutes from './api/routes/quoteItemRoutes';
import opportunityCompetitorRoutes from './api/routes/opportunityCompetitorRoutes';
const app = express();
const PORT = process.env.PORT || 3008; // Using 3008 to avoid conflict with core (3006) and conversations (3007)
app.use(express.json());
app.use(tenantResolver);
app.get('/', (req, res) => {
res.send('CRM Service API is running!');
});
app.use('/leads', leadRoutes);
app.use('/opportunities', opportunityRoutes);
app.use('/activities', activityRoutes);
app.use('/competitors', competitorRoutes);
app.use('/quotes', quoteRoutes);
app.use('/quote-items', quoteItemRoutes);
app.use('/opportunity-competitors', opportunityCompetitorRoutes);
app.get('/test-tenant', async (req, res) => {
try {
const organizationId = req.organization?.id; // Get organization ID from req.organization
if (!organizationId) {
return res.status(400).json({ error: 'Organization ID not found.' });
}
if (req.tenantPrisma) {
res.status(200).json({ message: `Tenant Prisma client initialized for organization: ${organizationId}` });
}
else {
res.status(500).json({ error: 'Tenant Prisma client not initialized.' });
}
}
catch (error) {
res.status(500).json({ error: error.message || 'Error testing tenant.' });
}
});
app.listen(PORT, () => {
console.log(`CRM Service running on port ${PORT}`);
});
//# sourceMappingURL=index.js.map