tellform/app/routes/forms.server.routes.js

50 lines
1.7 KiB
JavaScript
Raw Normal View History

2015-06-29 22:51:29 +00:00
'use strict';
/**
* Module dependencies.
*/
var forms = require('../../app/controllers/forms.server.controller'),
auth = require('../../config/passport_helpers'),
config = require('../../config/config'),
core = require('../../app/controllers/core.server.controller');
2015-06-29 22:51:29 +00:00
module.exports = function(app) {
// Form Routes
if(!config.subdomainsDisabled) {
app.route('/subdomain/:userSubdomain((?!api$)[A-Za-z0-9]+)/')
.get(core.form);
app.route('/subdomain/:userSubdomain((?!api$)[A-Za-z0-9]+)/forms/:formId([a-zA-Z0-9]+)')
.post(forms.createSubmission);
app.route('/subdomain/:userSubdomain((?!api$)[A-Za-z0-9]+)/forms/:formIdFast([a-zA-Z0-9]+)/render')
.get(forms.readForRender);
app.route('/forms/:formId([a-zA-Z0-9]+)/render')
.put(auth.isAuthenticatedOrApiKey, forms.hasAuthorization, forms.readForRender)
.get(auth.isAuthenticatedOrApiKey, forms.hasAuthorization, forms.readForRender);
} else {
app.route('/forms/:formIdFast([a-zA-Z0-9]+)/render')
.get(forms.readForRender);
}
2016-05-13 18:13:09 +00:00
app.route('/forms')
2016-08-26 00:54:16 +00:00
.get(auth.isAuthenticatedOrApiKey, forms.list)
.post(auth.isAuthenticatedOrApiKey, forms.create);
2016-05-13 18:13:09 +00:00
2015-07-02 23:34:00 +00:00
app.route('/forms/:formId([a-zA-Z0-9]+)')
2017-07-26 22:55:33 +00:00
.get(forms.read)
2015-07-07 01:56:38 +00:00
.post(forms.createSubmission)
2016-08-26 00:54:16 +00:00
.put(auth.isAuthenticatedOrApiKey, forms.hasAuthorization, forms.update)
.delete(auth.isAuthenticatedOrApiKey, forms.hasAuthorization, forms.delete);
2015-06-29 22:51:29 +00:00
2015-07-02 23:34:00 +00:00
app.route('/forms/:formId([a-zA-Z0-9]+)/submissions')
2016-08-26 00:54:16 +00:00
.get(auth.isAuthenticatedOrApiKey, forms.hasAuthorization, forms.listSubmissions)
.delete(auth.isAuthenticatedOrApiKey, forms.hasAuthorization, forms.deleteSubmissions);
2015-07-02 23:34:00 +00:00
2017-09-21 03:53:50 +00:00
// Slower formId middleware
2015-06-29 22:51:29 +00:00
app.param('formId', forms.formByID);
2017-09-21 03:53:50 +00:00
// Fast formId middleware
app.param('formIdFast', forms.formByIDFast);
2015-06-29 22:51:29 +00:00
};