EventBuzz_Backend/src/config/constants.js

78 lines
2.0 KiB
JavaScript

const ROLES = ['super_admin', 'admin', 'moderator', 'viewer'];
const EVENT_TYPES = ['conference', 'workshop', 'summit', 'cme', 'webinar'];
const EVENT_STATUS = ['draft', 'upcoming', 'live', 'completed'];
const PARTICIPANT_STATUS = ['pending', 'confirmed', 'checked_in', 'cancelled'];
const SESSION_TYPES = ['keynote', 'workshop', 'panel', 'breakout', 'networking'];
const SESSION_STATUS = ['scheduled', 'ongoing', 'completed', 'cancelled'];
const FORM_TYPES = ['registration', 'feedback', 'survey', 'custom', 'other'];
const FIELD_TYPES = ['text', 'email', 'phone', 'select', 'radio', 'checkbox', 'checkboxes', 'file'];
/** Registration field → Participant property mapping (or `custom` + customMapsKey). */
const FORM_FIELD_MAPS_TO = [
'firstName',
'lastName',
'email',
'phone',
'organization',
'designation',
'notes',
'displayName',
'custom',
];
const QUIZ_POLL_TYPES = ['quiz', 'poll', 'survey'];
const QUESTION_TYPES = ['single', 'multiple', 'text', 'rating'];
const CAMPAIGN_CHANNELS = ['email', 'whatsapp', 'sms'];
const CAMPAIGN_TYPES = ['broadcast', 'trigger', 'scheduled'];
const PAGE_TYPES = ['home', 'agenda', 'speakers', 'registration', 'sponsors', 'custom'];
const WEBSITE_SECTION_TYPES = [
'header',
'banner',
'contact_form',
'agenda',
'register_links',
'speakers',
'footer',
'sponsors',
'cta',
'custom_html',
'countdown',
'gallery',
'about',
'venue',
'faq',
'tickets',
];
const DESIGN_TEMPLATE_TYPES = ['brochure', 'microsite', 'badge', 'emailer', 'certificate'];
const REWARD_SOURCES = [
'registration',
'attendance',
'feedback',
'quiz',
'referral',
'manual',
'question_ask',
'question_vote',
'quiz_poll',
'poll',
'rating',
];
module.exports = {
ROLES,
EVENT_TYPES,
EVENT_STATUS,
PARTICIPANT_STATUS,
SESSION_TYPES,
SESSION_STATUS,
FORM_TYPES,
FIELD_TYPES,
FORM_FIELD_MAPS_TO,
QUIZ_POLL_TYPES,
QUESTION_TYPES,
CAMPAIGN_CHANNELS,
CAMPAIGN_TYPES,
PAGE_TYPES,
WEBSITE_SECTION_TYPES,
DESIGN_TEMPLATE_TYPES,
REWARD_SOURCES,
};