Advertisement
Guest User

Untitled

a guest
May 23rd, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.87 KB | None | 0 0
  1. const express=require('express');
  2. const app=express();
  3. const router=express.Router();
  4. const upload=require('./uploadMiddleware');
  5. const path=require('path');
  6. const morgan=require('morgan');
  7. const jwt=require('jsonwebtoken');
  8. const config = require('./config');
  9. const fs=require('fs');
  10. const tokenList = {};
  11. const connection = require('./conn');
  12.  
  13. var idData='';
  14.  
  15. router.get('/upload',async function (req,res) {
  16. await res.render('index');
  17. });
  18.  
  19. router.post('/updatefoto',upload.single('image'), async function (req,res) {
  20. //await console.log('post');
  21. const imagePath=path.join(__dirname,'/public/images');
  22. const FileUpload=imagePath;
  23. if (!req.file){
  24. res.status(401).json({error:'No Image Found'});
  25. }
  26. const filename = await FileUpload.save(req.file.buffer);
  27. const postData = req.body;
  28.  
  29. var email = postData.email;
  30. var reqtoken = postData.token;
  31. connection.query("update user set profile_foto_url = ? where email = ?", [filename, email], function (error, results, field) {
  32. return res.status(200).json({name: filename});
  33. });
  34. });
  35.  
  36. router.post('/generateApiKey', (req, res) => {
  37. const postData = req.body;
  38. var email = postData.email;
  39. var password = postData.password;
  40. if (email && password)
  41. {
  42. const user = {
  43. "email" : email,
  44. "password" : password
  45. };
  46. const token = jwt.sign(user, config.secret, { expiresIn : config.tokenLife });
  47. connection.query('SELECT * FROM USER', function (error, results, fields) {
  48. idData = parseInt(results.length)+1;
  49. idData = idData+"id";
  50. connection.query('insert into user values (?,?,?,?,?,?,?,?,?,?,?)',[password, idData.toString(), 'asd', email, '2019-01-01', '2019-01-01','asd','1','asd','1',token], function (error, results, field) {
  51. if(error) throw console.log(error);
  52. const response = {
  53. "status" : "Success"
  54. };
  55. res.status(200).json(response);
  56. });
  57. });
  58. }
  59. });
  60.  
  61. router.get('/listsubscriber' , (req, res) => {
  62. const postData = req.body;
  63. var email = postData.email;
  64. var tempid = '';
  65. connection.query('SELECT id_user from user where email = ?', [email], function (error,results,field) {
  66. tempid = results[0].id_user;
  67. console.log(field);
  68. connection.query("SELECT u.nama_user, u.email from d_subscribe d, user u where id_user2_subscribed = ? and u.id_user = d.id_user_subscriber",[tempid], function (error,results,field) {
  69. res.status(200).json(results);
  70. console.log(results);
  71. });
  72. });
  73. });
  74.  
  75. router.get('/search/:keyword' , (req, res) => {
  76. var keyword = req.params.keyword;
  77. const postData = req.body;
  78. connection.query("select * from video where judul_video like '%"+keyword+"%'", function (error, results, field) {
  79. res.status(200).json(results);
  80. });
  81.  
  82. });
  83.  
  84. router.post('/subscribeChannel', (req,res) => {
  85. const postData = req.body;
  86. connection.query('INSERT INTO d_subscribe values(?,?)',[postData.id1, postData.id2], function (error, results, fields) {
  87. const response = {
  88. "status" : "Sukses"
  89. };
  90. if (error) throw (error);
  91. res.status(200).json(response);
  92. });
  93. });
  94.  
  95. router.post('/login', (req, res) => {
  96. const postData = req.body;
  97. var email = postData.email;
  98. var password = postData.password;
  99. if(email && password)
  100. {
  101. connection.query('SELECT * FROM user WHERE email = ? AND password = ?', [email, password], function(error, results, fields){
  102. if (results.length > 0){
  103. const user = {
  104. "email" : email,
  105. "password" : password
  106. };
  107. const token = jwt.sign(user, config.secret, { expiresIn : config.tokenLife });
  108. const refreshToken = jwt.sign(user, config.refreshTokenSecret, { expiresIn: config.refreshTokenLife });
  109. const response = {
  110. "status" : "Logged in",
  111. "token" : token,
  112. "refreshToken" : refreshToken,
  113. };
  114. tokenList[refreshToken] = response;
  115. res.status(200).json(response);
  116. }else{
  117. const response = {
  118. "status" : "Username / Password SALAH !"
  119. };
  120. res.status(401).json(response);
  121. }
  122. });
  123. }else{
  124. const response = {
  125. "status" : "Error"
  126. };
  127. res.status(401).json(response);
  128. }
  129. });
  130.  
  131. router.use(require('./tokenChecker'));
  132. router.get('/secure', (req, res) => {
  133. res.send('Secure access');
  134. });
  135.  
  136. module.exports=router;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement