Add events to workflows

This commit is contained in:
Dries Augustyns
2025-12-01 19:08:02 +01:00
parent b1f0043940
commit b521a405bb
4 changed files with 80 additions and 119 deletions
+2 -18
View File
@@ -4,8 +4,6 @@ import type {NextFunction, Request, Response} from 'express';
import type {AuthResponse} from '../middleware/auth.js';
import {requireAuth} from '../middleware/auth.js';
import {ContactService} from '../services/ContactService.js';
import {EventService} from '../services/EventService.js';
import {WorkflowService} from '../services/WorkflowService.js';
import {CatchAsync} from '../utils/asyncHandler.js';
@@ -43,23 +41,9 @@ export class Workflows {
const eventName = req.query.eventName as string | undefined;
try {
// Get contact fields (standard + custom data fields)
const contactFields = await ContactService.getAvailableFields(auth.projectId!);
const result = await WorkflowService.getAvailableFields(auth.projectId!, eventName);
// Add standard contact fields
const standardContactFields = ['contact.email', 'contact.subscribed'];
// Get event fields by analyzing actual event data
// This will only show fields that have been seen in actual events
const eventFields = await EventService.getAvailableEventFields(auth.projectId!, eventName);
// Combine all fields
const allFields = [...standardContactFields, ...contactFields, ...eventFields].sort();
return res.status(200).json({
fields: allFields,
count: allFields.length,
});
return res.status(200).json(result);
} catch (error) {
console.error('[WORKFLOWS] Failed to get available fields:', error);
return res.status(500).json({