summaryrefslogtreecommitdiff
path: root/server/lib/views.js
diff options
context:
space:
mode:
authorJules Laplace <jules@okfoc.us>2014-09-03 17:13:54 -0400
committerJules Laplace <jules@okfoc.us>2014-09-03 17:13:54 -0400
commit24029c27aca6b39af70d6db88e7505ecc90646d5 (patch)
treecdd9bf6721276e8aae3697e4da1318ad6af9dbe3 /server/lib/views.js
parente2d41bd7bd73f843d0ed0aafa60ed8178f999e50 (diff)
endpoints for staff api
Diffstat (limited to 'server/lib/views.js')
-rw-r--r--server/lib/views.js164
1 files changed, 0 insertions, 164 deletions
diff --git a/server/lib/views.js b/server/lib/views.js
deleted file mode 100644
index b3c1d18..0000000
--- a/server/lib/views.js
+++ /dev/null
@@ -1,164 +0,0 @@
-/* jshint node: true */
-
-var User = require('./schemas/User'),
- Project = require('./schemas/Project'),
- Documentation = require('./schemas/Documentation'),
- Collaborator = require('./schemas/Collaborator'),
- config = require('../../config'),
- marked = require('marked'),
- util = require('./util'),
- _ = require('lodash'),
- moment = require('moment');
-
-marked.setOptions({
- renderer: new marked.Renderer(),
- gfm: true,
- sanitize: true,
- smartLists: true,
- smartypants: true,
-});
-
-var views = {}
-
-views.editor_new = function (req, res) {
- if (! req.user) {
- res.redirect('/')
- }
- else {
- res.render('editor')
- }
-}
-
-views.editor = function (req, res) {
- if (! req.project) {
- res.redirect('/')
- }
- else if (req.isOwner || req.isCollaborator) {
- res.render('editor')
- }
- else {
- views.reader(req, res)
- }
-}
-
-views.reader = function (req, res) {
- if (! req.project) {
- res.redirect('/')
- }
- User.findOne({ _id: req.project.user_id }, function(err, user) {
- if (err || ! user) {
- console.error(err)
- res.redirect('/')
- return
- }
- res.render('reader', {
- name: util.sanitize(req.project.name),
- description: util.sanitize(req.project.description),
- date: moment(req.project.updated_at).format("M/DD/YYYY"),
- author: user.displayName,
- authorlink: "/profile/" + user.username,
- canEdit: req.isOwner || req.isCollaborator,
- editlink: "/project/" + req.project.slug + "/edit",
- noui: !! (req.query.noui === '1'),
- })
- })
-}
-
-views.builder = function (req, res) {
- res.render('builder')
-}
-
-views.modal = function (req, res) {
- res.render('modal');
-};
-
-views.home = function (req, res) {
- if (req.user) {
- Project.find({ privacy: false })
- .sort('-created_at')
- .limit(20)
- .exec(function(err, projects){
- res.render('home', { projects: projects || [] })
- })
- }
- else {
- res.send("<html></html>")
- }
-}
-
-views.docs = function (req, res){
- var name = req.params.name || "index"
-
- if (name === "new") {
- res.render('docs', {
- doc: { name: "new" },
- content: null,
- isNew: true
- })
- return
- }
-
- Documentation.findOne({ name: name }, function(err, doc) {
- if (err || ! doc) {
- return res.render('docs', {
- doc: { name: util.sanitize(name) },
- content: null,
- isNew: true
- })
- }
- res.render('docs', {
- doc: doc,
- content: marked(doc.body),
- isNew: false
- })
- })
-}
-
-views.profile = function (req, res) {
- var username = req.params[0] || (req.user && req.user.username)
- if (username) {
- User.findOne({ username: username }, function (err, user) {
- user ? next(user) : done(err, {}, [])
- })
- }
- else {
- done()
- }
-
- function next(user){
- var criteria = { user_id: user._id }
- if ( ! (req.user && req.user._id && req.user._id == user._id) ) {
- criteria.privacy = false
- }
- Project.find(criteria, function(err, projects){
- projects = projects.map(function(project){
- project = project.toObject()
- project.date = moment(project.updated_at).format("M/DD/YYYY")
- return project
- })
- done(err, user, projects)
- })
- }
-
- function done(err, user, projects){
- if (! user) { return res.redirect('/') }
- res.render('profile', {
- profile: user,
- projects: projects || [],
- })
- }
-}
-
-views.staff = {
- index: function(req, res){
- res.render('staff')
- },
- bless: function(req, res){
- req.user.isStaff = true
- req.user.save(function(){
- res.redirect("/staff")
- })
- },
-}
-
-module.exports = views