summaryrefslogtreecommitdiff
path: root/bucky/app/pages.js
blob: 94ae46eb2bcd806c02403cff0acb3f2c692d02e0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
var middleware = require("../util/middleware");
var util = require("../util/util");

var fortune = require("../db/fortune");

module.exports = { route };

function route(app) {
  app.get("/", middleware.ensureAuthenticated, function (req, res) {
    res.redirect("/index");
  });
  app.get("/index", middleware.ensureAuthenticated, function (req, res) {
    res.render("pages/index", {
      title: fortune("titles"),
      hoot_text: fortune("hoots"),
    });
  });
  app.get(
    "/index/:keyword",
    middleware.ensureAuthenticated,
    function (req, res) {
      res.render("pages/index", {
        title: fortune("titles"),
        hoot_text: fortune("hoots"),
      });
    }
  );
  app.get("/stream", middleware.ensureAuthenticated, function (req, res) {
    res.render("pages/stream", {
      title: fortune("titles"),
      hoot_text: fortune("hoots"),
    });
  });
  app.get("/keywords", middleware.ensureAuthenticated, function (req, res) {
    res.render("pages/keywords", { title: "Bucky's keywords" });
  });
  app.get("/details/:id", middleware.ensureAuthenticated, function (req, res) {
    res.render("pages/details", {});
  });
  app.get(
    "/details/:id/settings",
    middleware.ensureAuthenticated,
    function (req, res) {
      res.render("pages/details", {});
    }
  );

  app.get("/post/", middleware.ensureAuthenticated, function (req, res) {
    res.render("pages/post", { title: "Start a new thread" });
  });
  app.get(
    "/post/:keyword",
    middleware.ensureAuthenticated,
    function (req, res) {
      res.render("pages/post", { title: "Start a new thread" });
    }
  );
  app.get(
    "/comment/:id/edit",
    middleware.ensureAuthenticated,
    function (req, res) {
      res.render("pages/comment_form", { title: "Edit comment" });
    }
  );

  app.get("/profile", middleware.ensureAuthenticated, function (req, res) {
    res.render("pages/profile", {
      title: "profile for " + util.sanitize(req.user.get("username")),
    });
  });
  app.get(
    "/profile/:username",
    middleware.ensureAuthenticated,
    function (req, res) {
      res.render("pages/profile", {
        title: "profile for " + util.sanitize(req.params.username),
      });
    }
  );
  app.get(
    "/profile/:username/edit",
    middleware.ensureAuthenticated,
    function (req, res) {
      res.render("pages/profile_form", { title: "edit your profile" });
    }
  );

  app.get("/users", middleware.ensureAuthenticated, function (req, res) {
    res.render("pages/users", {});
  });
  app.get("/users/all", middleware.ensureAuthenticated, function (req, res) {
    res.render("pages/users", {});
  });

  app.get("/search/", middleware.ensureAuthenticated, function (req, res) {
    res.render("pages/search", { title: "search" });
  });

  app.get("/mail/", middleware.ensureAuthenticated, function (req, res) {
    res.render("pages/mailbox", { title: "your inbox" });
  });
  app.get("/mail/compose", middleware.ensureAuthenticated, function (req, res) {
    res.render("pages/compose", {
      title: "new message",
      subject: fortune("subjects"),
      verb: "wrote",
    });
  });
  app.get("/mail/:box", middleware.ensureAuthenticated, function (req, res) {
    res.render("pages/mailbox", {
      title: "your " + util.sanitize(req.params.box),
    });
  });
  app.get(
    "/mail/compose/:username",
    middleware.ensureAuthenticated,
    function (req, res) {
      res.render("pages/compose", {
        title: "new message",
        subject: fortune("subjects"),
        verb: "wrote",
      });
    }
  );
  app.get(
    "/mail/read/:id",
    middleware.ensureAuthenticated,
    function (req, res) {
      res.render("pages/message", {
        title: "read message",
      });
    }
  );
  app.get(
    "/mail/reply/:id",
    middleware.ensureAuthenticated,
    function (req, res) {
      res.render("pages/compose", {
        title: "reply to message",
        subject: fortune("subjects"),
        verb: fortune("mail-verbs"),
      });
    }
  );
}