82 lines
2.6 KiB
TypeScript
82 lines
2.6 KiB
TypeScript
export const constants = {
|
|
// API Configuration
|
|
API_VERSION: process.env.API_VERSION || 'v1',
|
|
BASE_URL: process.env.BASE_URL || 'http://localhost:5000',
|
|
|
|
// File Upload Configuration
|
|
MAX_FILE_SIZE_MB: parseInt(process.env.MAX_FILE_SIZE_MB || '10', 10),
|
|
MAX_FILE_SIZE_BYTES: parseInt(process.env.MAX_FILE_SIZE_MB || '10', 10) * 1024 * 1024,
|
|
ALLOWED_FILE_TYPES: process.env.ALLOWED_FILE_TYPES?.split(',') || [
|
|
'pdf', 'doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx', 'jpg', 'jpeg', 'png', 'gif'
|
|
],
|
|
|
|
// TAT Configuration
|
|
TAT_CHECK_INTERVAL_MINUTES: parseInt(process.env.TAT_CHECK_INTERVAL_MINUTES || '30', 10),
|
|
TAT_REMINDER_THRESHOLD_1: parseInt(process.env.TAT_REMINDER_THRESHOLD_1 || '50', 10),
|
|
TAT_REMINDER_THRESHOLD_2: parseInt(process.env.TAT_REMINDER_THRESHOLD_2 || '80', 10),
|
|
|
|
// Rate Limiting
|
|
RATE_LIMIT_WINDOW_MS: parseInt(process.env.RATE_LIMIT_WINDOW_MS || '900000', 10), // 15 minutes
|
|
RATE_LIMIT_MAX_REQUESTS: parseInt(process.env.RATE_LIMIT_MAX_REQUESTS || '100', 10),
|
|
|
|
// Pagination
|
|
DEFAULT_PAGE_SIZE: 20,
|
|
MAX_PAGE_SIZE: 100,
|
|
|
|
// Workflow Limits
|
|
MAX_APPROVAL_LEVELS: 10,
|
|
MAX_PARTICIPANTS_PER_REQUEST: 50,
|
|
|
|
// Notification Types
|
|
NOTIFICATION_TYPES: {
|
|
WORKFLOW_CREATED: 'WORKFLOW_CREATED',
|
|
WORKFLOW_SUBMITTED: 'WORKFLOW_SUBMITTED',
|
|
APPROVAL_REQUIRED: 'APPROVAL_REQUIRED',
|
|
APPROVAL_COMPLETED: 'APPROVAL_COMPLETED',
|
|
WORKFLOW_APPROVED: 'WORKFLOW_APPROVED',
|
|
WORKFLOW_REJECTED: 'WORKFLOW_REJECTED',
|
|
WORKFLOW_CLOSED: 'WORKFLOW_CLOSED',
|
|
TAT_REMINDER: 'TAT_REMINDER',
|
|
TAT_BREACHED: 'TAT_BREACHED',
|
|
DOCUMENT_UPLOADED: 'DOCUMENT_UPLOADED',
|
|
COMMENT_ADDED: 'COMMENT_ADDED',
|
|
PARTICIPANT_ADDED: 'PARTICIPANT_ADDED',
|
|
},
|
|
|
|
// Activity Types
|
|
ACTIVITY_TYPES: {
|
|
WORKFLOW_CREATED: 'WORKFLOW_CREATED',
|
|
WORKFLOW_SUBMITTED: 'WORKFLOW_SUBMITTED',
|
|
WORKFLOW_APPROVED: 'WORKFLOW_APPROVED',
|
|
WORKFLOW_REJECTED: 'WORKFLOW_REJECTED',
|
|
WORKFLOW_CLOSED: 'WORKFLOW_CLOSED',
|
|
DOCUMENT_UPLOADED: 'DOCUMENT_UPLOADED',
|
|
DOCUMENT_DELETED: 'DOCUMENT_DELETED',
|
|
COMMENT_ADDED: 'COMMENT_ADDED',
|
|
PARTICIPANT_ADDED: 'PARTICIPANT_ADDED',
|
|
PARTICIPANT_REMOVED: 'PARTICIPANT_REMOVED',
|
|
USER_LOGIN: 'USER_LOGIN',
|
|
USER_LOGOUT: 'USER_LOGOUT',
|
|
},
|
|
|
|
// Document Categories
|
|
DOCUMENT_CATEGORIES: {
|
|
SUPPORTING: 'SUPPORTING',
|
|
APPROVAL: 'APPROVAL',
|
|
REFERENCE: 'REFERENCE',
|
|
FINAL: 'FINAL',
|
|
OTHER: 'OTHER',
|
|
COMPLETION_DOC: 'COMPLETION_DOC',
|
|
ACTIVITY_PHOTO: 'ACTIVITY_PHOTO',
|
|
},
|
|
|
|
// Work Note Types
|
|
WORK_NOTE_TYPES: {
|
|
COMMENT: 'COMMENT',
|
|
QUESTION: 'QUESTION',
|
|
CLARIFICATION: 'CLARIFICATION',
|
|
UPDATE: 'UPDATE',
|
|
SYSTEM: 'SYSTEM',
|
|
},
|
|
};
|