Page 589 - Nodejs 교과서 개정2판
P. 589
झா݂ ҳഅೞӝ
աݶ ؊ ࢚ ҃ݒܳ ೯ೡ ࣻח হ݅ ই բо ೧ ঋওणפ ҃ݒ ઙܐܳ
दр റ۽ ೮ਵ۽ ҃ݒо ࢤࢿغҊ दр դ റী բܳ ೞח दझమਸ ҳഅ೧ঠ פ ۡ ٸ
OPEF TDIFEVMF ݽٕਸ ࢎਊפ
콘솔
$ npm i node-schedule
routes/index.js
const express = require('express');
const multer = require('multer');
const path = require('path');
const fs = require('fs');
const schedule = require('node-schedule');
const { Good, Auction, User } = require('../models');
const { isLoggedIn, isNotLoggedIn } = require('./middlewares');
...
router.post('/good', isLoggedIn, upload.single('img'), async (req, res, next) => {
try {
const { name, price } = req.body;
const good = await Good.create({
OwnerId: req.user.id,
name,
img: req.file.filename,
price,
});
const end = new Date();
end.setDate(end.getDate() + 1); // 하루 뒤
schedule.scheduleJob(end, async () => {
const success = await Auction.findOne({
where: { GoodId: good.id },
order: [['bid', 'DESC']],
});
await Good.update({ SoldId: success.UserId }, { where: { id: good.id } });
await User.update({
money: sequelize.literal(`money - ${success.bid}`),
}, {
where: { id: success.UserId },