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	},
   584   585   586   587   588   589   590   591   592   593   594