2 * Main application routes
7 var config = require('./config/environment');
8 var errors = require('./components/errors');
9 var path = require('path');
10 var moment = require('moment');
12 module.exports = function(app) {
13 var env = app.get('env');
15 // Insert routes below
16 app.use('/api/analytic/reports', require('./api/report'));
17 app.use('/api/updates', require('./api/update'));
18 app.use('/api/report/chat/sessions', require('./api/report_chat_session'));
19 app.use('/api/zendesk/fields', require('./api/zendesk_field'));
20 app.use('/api/report/chats', require('./api/report_chat'));
21 app.use('/api/zendesk/configurations', require('./api/zendesk_configuration'));
22 app.use('/api/motionbar', require('./api/motionbar'));
23 app.use('/api/report/mail/sessions', require('./api/report_mail_session'));
24 app.use('/api/report/mails', require('./api/report_mail'));
25 app.use('/api/widgets', require('./api/widget'));
26 app.use('/api/zendesk/accounts', require('./api/zendesk_account'));
27 app.use('/api/report/queues', require('./api/report_queue'));
28 app.use('/api/report/agents', require('./api/report_agent'));
29 app.use('/api/dashboards', require('./api/dashboard'));
30 app.use('/api/settings', require('./api/setting'));
31 app.use('/api/triggers', require('./api/trigger'));
32 app.use('/api/automations', require('./api/automation'));
33 app.use('/api/mail/templates', require('./api/mail_template'));
34 app.use('/api/ami', require('./api/ami'));
35 app.use('/api/integrations', require('./api/integration'));
36 app.use('/api/voice/musiconholds', require('./api/voice_musiconhold'));
37 app.use('/api/voice/voicemails', require('./api/voice_voicemail'));
38 app.use('/api/contactmanager', require('./api/contact_manager'));
39 app.use('/api/fax/business/automations', require('./api/fax_business_automation'));
40 app.use('/api/mail/business/automations', require('./api/mail_business_automation'));
41 app.use('/api/business/actions', require('./api/business_action'));
42 app.use('/api/business/conditions', require('./api/business_condition'));
43 app.use('/api/intervals', require('./api/interval'));
44 app.use('/api/voice/extensions', require('./api/voice_extension'));
45 app.use('/api/voice/contexts', require('./api/voice_context'));
46 app.use('/api/voice/user_has_queues', require('./api/user_has_voice_queue'));
47 app.use('/api/voice/queues', require('./api/voice_queue'));
48 app.use('/api/voice/queue', require('./api/voice_queue'));
49 app.use('/api/trunks', require('./api/trunk'));
50 app.use('/api/chat/applications', require('./api/chat_application'));
51 app.use('/api/chat/user_has_queues', require('./api/user_has_chat_queue'));
52 app.use('/api/events', require('./api/event'));
53 app.use('/api/square/odbc', require('./api/square_odbc'));
54 app.use('/api/fax/applications', require('./api/fax_application'));
55 app.use('/api/fax/user_has_queues', require('./api/user_has_fax_queue'));
56 app.use('/api/fax/queues', require('./api/fax_queue'));
57 app.use('/api/mail/attachments', require('./api/mail_attachment'));
58 app.use('/api/user_has_teams', require('./api/user_has_team'));
59 app.use('/api/variables', require('./api/variable'));
60 app.use('/api/tags', require('./api/tag'));
61 app.use('/api/square/projects', require('./api/square_project'));
62 app.use('/api/chat/queues', require('./api/chat_queue'));
63 app.use('/api/fax/messages', require('./api/fax_message'));
64 app.use('/api/fax/rooms', require('./api/fax_room'));
65 app.use('/api/fax/accounts', require('./api/fax_account'));
66 app.use('/api/agents', require('./api/agent'));
67 app.use('/api/chat/enquiries', require('./api/chat_enquiry'));
68 app.use('/api/chat/messages', require('./api/chat_message'));
69 app.use('/api/chat/rooms', require('./api/chat_room'));
70 app.use('/api/chat/visitors', require('./api/chat_visitor'));
71 app.use('/api/chat/websites', require('./api/chat_website'));
72 app.use('/api/chat/queues', require('./api/chat_queue'));
73 app.use('/api/contacts', require('./api/contact'));
74 app.use('/api/mail/accounts', require('./api/mail_account'));
75 app.use('/api/mail/messages', require('./api/mail_message'));
76 app.use('/api/mail/rooms', require('./api/mail_room'));
77 app.use('/api/mail/servers/in', require('./api/mail_server_in'));
78 app.use('/api/mail/servers/out', require('./api/mail_server_out'));
79 app.use('/api/mail/queues', require('./api/mail_queue'));
80 app.use('/api/mail/user_has_queues', require('./api/user_has_mail_queue'));
81 app.use('/api/mail/applications', require('./api/mail_application'));
82 app.use('/api/teams', require('./api/team'));
83 app.use('/api/uploads', require('./api/upload'));
84 app.use('/api/users', require('./api/user'));
85 app.use('/api/chat/user_has_rooms', require('./api/user_has_chat_room'));
86 app.use('/api/xchatty', require('./api/xchatty'));
87 app.use('/auth', require('./auth'));
89 // All undefined asset or api routes should return a 404
90 app.route('/:url(api|auth|components|app|bower_components|assets)/*').get(
93 // All other routes should redirect to the index.html
94 app.all("/*", function(req, res, next) {
98 if ('production' === env) {
99 options.root = path.join(config.root, 'public');
102 if ('development' === env || 'test' === env) {
103 options.root = path.join(config.root, 'client');
106 res.sendFile('index.html', options);
111 // .get(function(req, res) {
114 // root: config.root,
117 // 'x-timestamp': Date.now(),
122 // res.sendFile('index.html', options);