Built motion from commit 4143fce.|0.0.15
[motion.git] / server / routes.js
1 /**
2  * Main application routes
3  */
4
5 'use strict';
6
7 var config = require('./config/environment');
8 var errors = require('./components/errors');
9 var path = require('path');
10 var moment = require('moment');
11
12 module.exports = function(app) {
13   var env = app.get('env');
14
15   // Insert routes below
16   app.use('/api/sugarcrm/fields', require('./api/sugarcrm_field'));
17   app.use('/api/sugarcrm/configurations', require('./api/sugarcrm_configuration'));
18   app.use('/api/sugarcrm/accounts', require('./api/sugarcrm_account'));
19   app.use('/api/freshdesk/fields', require('./api/freshdesk_field'));
20   app.use('/api/freshdesk/configurations', require('./api/freshdesk_configuration'));
21   app.use('/api/freshdesk/accounts', require('./api/freshdesk_account'));
22   app.use('/api/salesforce/fields', require('./api/salesforce_field'));
23   app.use('/api/salesforce/configurations', require('./api/salesforce_configuration'));
24   app.use('/api/salesforce/accounts', require('./api/salesforce_account'));
25   app.use('/api/desk/fields', require('./api/desk_field'));
26   app.use('/api/desk/configurations', require('./api/desk_configuration'));
27   // app.use('/api/messages', require('./api/message'));
28   app.use('/api/desk/accounts', require('./api/desk_account'));
29   app.use('/api/analytics/reports/default', require('./api/default_report'));
30   app.use('/api/analytics/reports/custom', require('./api/custom_report'));
31   app.use('/api/analytics/reports/trees', require('./api/report_tree'));
32   app.use('/api/analytics/metrics', require('./api/metric'));
33   app.use('/api/updates', require('./api/update'));
34   app.use('/api/report/chat/sessions', require('./api/report_chat_session'));
35   app.use('/api/zendesk/fields', require('./api/zendesk_field'));
36   app.use('/api/report/chats', require('./api/report_chat'));
37   app.use('/api/zendesk/configurations', require('./api/zendesk_configuration'));
38   app.use('/api/motionbar', require('./api/motionbar'));
39   app.use('/api/report/mail/sessions', require('./api/report_mail_session'));
40   app.use('/api/report/mails', require('./api/report_mail'));
41   app.use('/api/widgets', require('./api/widget'));
42   app.use('/api/zendesk/accounts', require('./api/zendesk_account'));
43   app.use('/api/report/queues', require('./api/report_queue'));
44   app.use('/api/report/integrations', require('./api/report_integration'));
45   app.use('/api/report/agents', require('./api/report_agent'));
46   app.use('/api/dashboards', require('./api/dashboard'));
47   app.use('/api/settings', require('./api/setting'));
48   app.use('/api/triggers', require('./api/trigger'));
49   app.use('/api/automations', require('./api/automation'));
50   app.use('/api/mail/templates', require('./api/mail_template'));
51   app.use('/api/ami', require('./api/ami'));
52   app.use('/api/integrations', require('./api/integration'));
53   app.use('/api/voice/musiconholds', require('./api/voice_musiconhold'));
54   app.use('/api/voice/voicemails', require('./api/voice_voicemail'));
55   app.use('/api/contactmanager/customfields', require('./api/custom_field'));
56   app.use('/api/contactmanager/companies', require('./api/company'));
57   app.use('/api/contactmanager', require('./api/contact_manager'));
58   app.use('/api/fax/business/automations', require('./api/fax_business_automation'));
59   app.use('/api/mail/business/automations', require('./api/mail_business_automation'));
60   app.use('/api/business/actions', require('./api/business_action'));
61   app.use('/api/business/conditions', require('./api/business_condition'));
62   app.use('/api/intervals', require('./api/interval'));
63   app.use('/api/voice/extensions', require('./api/voice_extension'));
64   app.use('/api/voice/contexts', require('./api/voice_context'));
65   app.use('/api/voice/user_has_queues', require('./api/user_has_voice_queue'));
66   app.use('/api/voice/queues', require('./api/voice_queue'));
67   app.use('/api/voice/queue', require('./api/voice_queue'));
68   app.use('/api/trunks', require('./api/trunk'));
69   app.use('/api/chat/applications', require('./api/chat_application'));
70   app.use('/api/chat/user_has_queues', require('./api/user_has_chat_queue'));
71   app.use('/api/events', require('./api/event'));
72   app.use('/api/square/odbc', require('./api/square_odbc'));
73   app.use('/api/fax/applications', require('./api/fax_application'));
74   app.use('/api/fax/user_has_queues', require('./api/user_has_fax_queue'));
75   app.use('/api/fax/queues', require('./api/fax_queue'));
76   app.use('/api/mail/attachments', require('./api/mail_attachment'));
77   app.use('/api/user_has_teams', require('./api/user_has_team'));
78   app.use('/api/variables', require('./api/variable'));
79   app.use('/api/tags', require('./api/tag'));
80   app.use('/api/square/projects', require('./api/square_project'));
81   app.use('/api/chat/queues', require('./api/chat_queue'));
82   app.use('/api/fax/messages', require('./api/fax_message'));
83   app.use('/api/fax/rooms', require('./api/fax_room'));
84   app.use('/api/fax/accounts', require('./api/fax_account'));
85   app.use('/api/agents', require('./api/agent'));
86   app.use('/api/chat/enquiries', require('./api/chat_enquiry'));
87   app.use('/api/chat/messages', require('./api/chat_message'));
88   app.use('/api/chat/rooms', require('./api/chat_room'));
89   app.use('/api/chat/visitors', require('./api/chat_visitor'));
90   app.use('/api/chat/websites', require('./api/chat_website'));
91   app.use('/api/chat/queues', require('./api/chat_queue'));
92   app.use('/api/contacts', require('./api/contact'));
93   app.use('/api/mail/accounts', require('./api/mail_account'));
94   app.use('/api/mail/messages', require('./api/mail_message'));
95   app.use('/api/mail/rooms', require('./api/mail_room'));
96   app.use('/api/mail/servers/in', require('./api/mail_server_in'));
97   app.use('/api/mail/servers/out', require('./api/mail_server_out'));
98   app.use('/api/mail/queues', require('./api/mail_queue'));
99   app.use('/api/mail/user_has_queues', require('./api/user_has_mail_queue'));
100   app.use('/api/mail/applications', require('./api/mail_application'));
101   app.use('/api/teams', require('./api/team'));
102   app.use('/api/uploads', require('./api/upload'));
103   app.use('/api/users', require('./api/user'));
104   app.use('/api/chat/user_has_rooms', require('./api/user_has_chat_room'));
105   app.use('/api/xchatty', require('./api/xchatty'));
106   app.use('/auth', require('./auth'));
107
108   // All undefined asset or api routes should return a 404
109   app.route('/:url(api|auth|components|app|bower_components|assets)/*').get(
110     errors[404]);
111
112   // All other routes should redirect to the index.html
113   app.all("/*", function(req, res, next) {
114
115     var options = {};
116
117     if ('production' === env) {
118       options.root = path.join(config.root, 'public');
119     }
120
121     if ('development' === env || 'test' === env) {
122       options.root = path.join(config.root, 'client');
123     }
124
125     res.sendFile('index.html', options);
126   });
127
128   // app
129   //   .route('/*')
130   //   .get(function(req, res) {
131   //
132   //     var options = {
133   //       root: config.root,
134   //       dotfiles: 'deny',
135   //       headers: {
136   //         'x-timestamp': Date.now(),
137   //         'x-sent': true
138   //       }
139   //     };
140   //
141   //     res.sendFile('index.html', options);
142   //   });
143 };