-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathroutes.js
100 lines (80 loc) · 2.91 KB
/
routes.js
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
"use strict";
const config = require("./config.json");
const app = require("./index.js").app;
const passport = require("./index.js").passport;
const Router = require("koa-router");
const routes = new Router();
const main = require("./controllers/main.js");
const manual = require("./controllers/manual.js");
const game_hotel = require("./controllers/game_hotel.js");
const game_bank = require("./controllers/game_bank.js");
const game_vendors = require("./controllers/game_vendors.js");
const game_market = require("./controllers/game_market.js");
const game_airport = require("./controllers/game_airport.js");
const game_police = require("./controllers/game_police.js");
const game_storage = require("./controllers/game_storage.js");
const game_life = require("./controllers/game_life.js");
// app routes
routes.get("/", main.index);
routes.get("/records/:page?", main.records);
routes.get("/records/obituary/:id", main.obituary);
routes.get("/account", main.account);
// game routes (these will be replaced by controllers)
routes.get("/play", game_life.play);
routes.get("/game/life", game_life.get);
routes.post("/game/life", game_life.create);
routes.get("/game/over", game_life.end);
// manual routes
routes.get("/manual", manual.index);
routes.get("/manual/:page", manual.index);
// hotel routes
routes.get("/game/hotel", game_hotel.index);
// market routes
routes.get("/game/market", game_market.index);
routes.post("/game/market/transaction", game_market.transaction);
routes.delete("/game/market/transaction", game_market.dump);
// airport routes
routes.get("/game/airport", game_airport.index);
routes.post("/game/airport/fly", game_airport.fly);
// bank routes
routes.get("/game/bank", game_bank.index);
routes.get("/game/bank/savings", game_bank.transaction);
routes.post("/game/bank/savings", game_bank.transaction);
routes.get("/game/bank/loans", game_bank.lending);
routes.post("/game/bank/loans", game_bank.lending);
// police routes
routes.get("/game/police", game_police.index);
routes.post("/game/police/encounter", game_police.encounter);
// vendor routes
routes.get("/game/vendors", game_vendors.index);
routes.post("/game/vendors/transaction", game_vendors.transaction);
// storage routes
routes.get("/game/storage", game_storage.index);
// for passport
routes.get("/#", async(ctx) => {
let player;
if (ctx.isAuthenticated()) {
player = ctx.session.passport.user;
}
await ctx.render("login", {player: player});
});
routes.get("/logout", async(ctx) => {
ctx.logout();
await ctx.redirect("/");
});
routes.get("/auth/auth0",
passport.authenticate("auth0", {
clientID: config.site.oauth.auth0.clientID,
domain: config.site.oauth.auth0.domain,
responseType: "code",
audience: `https://${config.site.oauth.auth0.domain}/userinfo`,
scope: "openid profile"
})
);
routes.get("/auth/auth0/callback",
passport.authenticate("auth0", {
successRedirect: "/account",
failureRedirect: "/"
})
);
app.use(routes.middleware());