Advertisement
Guest User

Untitled

a guest
Mar 6th, 2019
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.54 KB | None | 0 0
  1. "use strict";
  2.  
  3. let express = require('express');
  4. let app = express();
  5.  
  6. app.use(express.static(__dirname + "/static"));
  7.  
  8. app.get('/', function (request, response) {
  9. response.sendfile("static/index.html");
  10. });
  11.  
  12. let users = [];
  13.  
  14. /**
  15. * Запрос на регистрацию
  16. * {"login": "Max", "password": "max123"}
  17. */
  18. app.post('/api/register', function (request, response) {
  19. let dataString = "";
  20.  
  21. request.on('data', (data) => {
  22. dataString += data;
  23. });
  24.  
  25. request.on('end', () => {
  26.  
  27. let dataObj = JSON.parse(dataString);
  28.  
  29. // dataObj.login уже есть в массиве?
  30. let flag = 0;
  31. for (let i = 0; i < users.length; i++) {
  32. if (users[i].login === dataObj.login) {
  33. flag += 1;
  34. }
  35. }
  36.  
  37. if (flag === 0) {
  38. users.push(dataObj);
  39. response.end("USER ADDED");
  40. } else {
  41. response.end("USER ALREADY EXISTS");
  42. }
  43.  
  44. console.log("_____________");
  45. console.log(users);
  46. })
  47. });
  48.  
  49. app.post('/api/login', function (request, response) {
  50. let dataString = "";
  51.  
  52. request.on('data', (data) => {
  53. dataString += data;
  54. });
  55.  
  56. request.on('end', () => {
  57. let dataObj = JSON.parse(dataString);
  58.  
  59. // проверяем пару логин/пароль
  60. let flag = 0;
  61. for (let i = 0; i < users.length; i++) {
  62. if (users[i].login === dataObj.login &&
  63. users[i].password === dataObj.password) {
  64. flag += 1;
  65. break;
  66. }
  67. }
  68.  
  69. // есть ли совпадение
  70. if (flag === 0) {
  71. response.end(JSON.stringify({
  72. status: "ERROR",
  73. message: "USER NOT FOUND"
  74. }))
  75. } else {
  76. response.end(JSON.stringify({
  77. status: "OK",
  78. authString: dataObj.login + '_' + dataObj.password
  79. }))
  80. }
  81. })
  82. });
  83.  
  84. function getIndexUserByName(name) {
  85. for (let i = 0; i < users.length; i++) {
  86. if (users[i].login === name) {
  87. return i;
  88. }
  89. }
  90. return -1;
  91. }
  92.  
  93. function getIndexUserByToken(token) {
  94. let userName = token.split('_')[0];
  95. return getIndexUserByName(userName);
  96. }
  97.  
  98. app.post('/api/post/create', function (request, response) {
  99. let dataString = "";
  100.  
  101. request.on('data', (data) => {
  102. dataString += data;
  103. });
  104.  
  105. request.on('end', () => {
  106. let dataObj = JSON.parse(dataString);
  107. let index = getIndexUserByToken(dataObj.userAuth);
  108.  
  109. if (index !== -1) {
  110. users[index].posts.push({title:'', content:''});
  111.  
  112. response.end(JSON.stringify({
  113. status: "OK",
  114. message: "POST ADDED"
  115. }))
  116. } else {
  117. response.end(JSON.stringify({
  118. status: "ERROR",
  119. message: "USER NOT FOUND"
  120. }))
  121. }
  122. })
  123. })
  124.  
  125. app.get('/api/post/:userstr', function(request, response) {
  126. let userAuth = request.params.userstr;
  127. let index = getIndexUserByToken(userAuth);
  128.  
  129. if (index !== -1) {
  130. response.end(JSON.stringify({
  131. status: "OK",
  132. posts: users[index].posts
  133. }))
  134. } else {
  135. response.end(JSON.stringify({
  136. status: "ERROR",
  137. message: "USER NOT FOUND"
  138. }))
  139. }
  140. })
  141.  
  142. // function name() {}
  143.  
  144. // function () {}
  145. // () => {}
  146.  
  147. let port = 5000;
  148. app.listen(port);
  149. console.log("server work on port " + port);
  150.  
  151. // for start `node server.js`
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement