diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..bf42d9d --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "workbench.statusBar.visible": true +} diff --git a/src/Router/authAuction.ts b/src/Router/authAuction.ts index 122f883..c4e0fba 100644 --- a/src/Router/authAuction.ts +++ b/src/Router/authAuction.ts @@ -5,17 +5,20 @@ const User = require("../model/user") const verifyToken = require("../middleware/verify") import express, {Request, Response} from "express" import {uploadFile, getFileStream} from "../s3" +const AuctionDelete = require("../model/Delet") const checkUserOwner = require("../middleware/checkUserOwner") const {Storage} = require("@google-cloud/storage") const verifyTime = require("../middleware/timeMiddleware") const projectId = "commanding-ring-409619" // Get this from Google Cloud const keyFilename = "mykey.json" -const generateAccessToken=require('../middleware/generateAccessToken') -const passwordSendDelete=require('../passwordSendDelete') +const bcrypt = require("bcryptjs") + +const generateAccessToken = require("../middleware/generateAccessToken") +const PasswordSendDelete = require("../passwordSendDelete") // const fs = require("fs") // const util = require("util") // const unlinkFile = util.promisify(fs.unlink) - +const passwordSendDelete = new PasswordSendDelete() // const storage = new Storage({ // projectId, // keyFilename, @@ -323,18 +326,44 @@ class authAuction { res.status(400).json({message: "Registration error"}) } } - async deleteAuctionOne(req: Request, res: Response) { + async deleteAuctionSend(req: Request, res: Response) { try { const {token, _id} = req.body const {user, id} = await verifyToken(token, res) - const {checkOwner}=checkUserOwner(res,user,_id) - const passwordUser = Math.floor(Math.random() * 8999) + 1000 - await passwordSendDelete.sendmessage({ - emailUser: user.email, - password: passwordUser.toString(), - }) - generateAccessToken(passwordUser) + const {checkOwner} = await checkUserOwner({res, user, _id}) + const passwordUser: number = Math.floor(Math.random() * 8999) + 1000 + const hashPassword = await bcrypt.hash(passwordUser.toString(), 7) + await AuctionDelete.deleteOne({id: _id}) + + + await passwordSendDelete.sendmessage({ + emailUser: user.email, + password: passwordUser.toString(), + }) + const deleteAuction = new AuctionDelete({ + idUser: id, + id: _id, + password: hashPassword, + }) + deleteAuction.save() + res.status(200).json({ + message: "", + }) + } catch (e) { + console.log(e) + res.status(400).json({message: "Registration error"}) + } + } + async deleteAuction(req: Request, res: Response) { + try { + const {token, _id} = req.body + const {user, id} = await verifyToken(token, res) + const {checkOwner} = await checkUserOwner({res, user, _id}) + const deleteAuction=AuctionDelete.find + res.status(200).json({ + message: "", + }) } catch (e) { console.log(e) res.status(400).json({message: "Registration error"}) diff --git a/src/authRouter.js b/src/authRouter.js index 3cc4e28..cebd77d 100644 --- a/src/authRouter.js +++ b/src/authRouter.js @@ -41,6 +41,6 @@ router.post('/createauction',type,auctionController.createAuction) router.post('/getauctioninfoforchange',auctionController.getInfoForChange) router.post('/editfieldauction',middlewareUser,auctionController.changeInfoForChange) - +router.post('/deleteauctionsend',middlewareUser,auctionController.deleteAuctionSend) module.exports = router \ No newline at end of file diff --git a/src/middleware/checkUserOwner.ts b/src/middleware/checkUserOwner.ts index 061abf5..688121d 100644 --- a/src/middleware/checkUserOwner.ts +++ b/src/middleware/checkUserOwner.ts @@ -8,6 +8,8 @@ const checkOwner = Owner.find((auction: string) => auction == _id) if (!checkOwner) { return res.status(400).json({message: "You are not owner"}) } +console.log('aaaa') +console.log( checkOwner) return checkOwner } catch (error) { return res.status(401).json({ diff --git a/src/model/Delet.ts b/src/model/Delet.ts index b7c4cfb..28469ef 100644 --- a/src/model/Delet.ts +++ b/src/model/Delet.ts @@ -2,5 +2,6 @@ const {model, Schema} = require("mongoose") const AuctionDelete = new Schema({ id:{type:String}, password:{type:String} -}) +}, { timestamps: true }) +AuctionDelete.index( { "createdAt": 1 }, { expireAfterSeconds: 420 } ); module.exports = model("AuctionDelete",AuctionDelete)