Guest User

Untitled

a guest
Dec 8th, 2017
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.65 KB | None | 0 0
  1. //Schemas.js
  2. /*
  3. * This file contains all the schemas that are
  4. * in the database. More specifically those
  5. * schemas describes the User and the Video
  6. * which are stored in the database.
  7. */
  8.  
  9. var mongoose = require('mongoose'),
  10. Schema = mongoose.Schema;
  11.  
  12. var UserSchema = new Schema({
  13. UserId: {type: Number, unique: true},
  14. Username: String,
  15. Password: String,
  16. Experience: {type: Number, default: 0}
  17. });
  18.  
  19. var VideoSchema = new Schema({
  20. P1: String,
  21. P2: String,
  22. Winner: String,
  23. URL: String
  24. });
  25.  
  26. var LinksSchema = new Schema({
  27. GameManager: String,
  28. ReplayManager: String,
  29. AuthManager: String,
  30. });
  31.  
  32. mongoose.model('User', UserSchema);
  33. mongoose.model('Video', VideoSchema);
  34. mongoose.model('Links', LinksSchema);
  35.  
  36. //Main file
  37.  
  38. /*
  39. * Test class
  40. */
  41.  
  42. var mongoose = require('mongoose'),
  43. schemas = require('./Schemas'),
  44. express = require('express'),
  45. Schema = mongoose.Schema;
  46.  
  47. var app = require('express').createServer();
  48.  
  49. //Handles post requests
  50. app.use(express.bodyParser());
  51. //Handles put requests
  52. app.use(express.methodOverride());
  53.  
  54. //Database connections
  55. var db = mongoose.connect('mongodb://localhost/jschesstest');
  56. var User = db.model('User');
  57. var Link = db.model('Links');
  58. var Video = db.model('Video');
  59.  
  60. var users = [{ name: 'tj' }];
  61.  
  62. app.get('/', function(req, res){
  63. res.send('hello world');
  64. });
  65.  
  66. app.get('/newuser', function(req, res){
  67. var u = new User();
  68. u.UserId = 0;
  69. u.Username = 'Admin';
  70. u.Password = 'admin';
  71. u.Experience = 1000;
  72. u.save(function(err){
  73. if (err){
  74. throw err;
  75. }
  76. res.send('user saved');
  77. });
  78. });
  79.  
  80. /*
  81. * This brings directly to the user's profile.
  82. */
  83. /*app.get('/user/:id/:op?', function(req, res, next){
  84. req.user = users[req.params.id];
  85. if (req.user) {
  86. next();
  87. } else {
  88. next(new Error('cannot find user ' + req.params.id));
  89. }
  90. }); */
  91.  
  92. app.get('/user/:id', function(req, res, next){
  93. loadUser(req.params.id, function(user, err){
  94. if (err)
  95. return next(err);
  96. res.send('Viewing user ' + user.Username);
  97. });
  98. });
  99.  
  100. app.get('/user/:id/edit', function(req, res){
  101. res.send('editing ' + req.user.name);
  102. });
  103.  
  104. app.put('/user/:id', function(req, res){
  105. res.send('updating ' + req.user.name);
  106. });
  107.  
  108. app.get('*', function(req, res){
  109. res.send('what???', 404);
  110. });
  111.  
  112. app.listen(3000);
  113.  
  114. /*
  115. * Function to load the users
  116. */
  117. function loadUser(userId, next) {
  118. User.find({ UserId: userId }, function(err, users) {
  119. if (err) {
  120. throw err;
  121. }
  122. else {
  123. next(users[0].doc.Username);
  124. }
  125. });
  126. }
  127.  
  128. app.get('/user/:id', loadUser, function(req, res){
  129. res.send('Viewing user ' + req.user.name);
  130. });
Add Comment
Please, Sign In to add comment