@@ -30,42 +30,61 @@ router.get("/practice", authenticate, async (req, res) => {
3030} ) ;
3131
3232//실전 문제 조회
33- router . get ( "/real" , authenticate , async ( req , res ) => {
33+ router . get ( "/real/scores " , authenticate , async ( req , res ) => {
3434 const userId = req . user . _id ;
35+
3536 try {
36- const hasStock = await UserStock . exists ( { user_id : userId } ) ;
37+ // 1. 사용자의 보유 주식 전체 조회
38+ const userStocks = await UserStock . find ( { user_id : userId } ) ;
39+
40+ // 2. 각 주식에 대해 RealScore 조회
41+ const result = await Promise . all (
42+ userStocks . map ( async ( stock ) => {
43+ const scores = await RealScore . find ( { user_stock_id : stock . _id } ) ;
44+
45+ return {
46+ stock_code : stock . stock_code ,
47+ stock_id : stock . _id ,
48+ scores : scores . map ( ( score ) => ( {
49+ score : score . score ,
50+ date : score . date ,
51+ } ) ) ,
52+ } ;
53+ } )
54+ ) ;
3755
3856 res . status ( 200 ) . json ( {
39- hasHoldings : ! ! hasStock , // boolean 값으로 변경
57+ success : true ,
58+ data : result ,
4059 } ) ;
4160 } catch ( err ) {
42- console . error ( "보유 주식 확인 에러:" , err ) ;
61+ console . error ( "실전투자 점수 조회 에러:" , err ) ;
4362 res . status ( 500 ) . json ( { message : "서버 에러" } ) ;
4463 }
4564} ) ;
4665
47- //실전 문제 전체 조회
48- router . get ( "/realscore" , authenticate , async ( req , res ) => {
49- const userId = req . user . _id ;
66+ // // 실전 문제 전체 조회
67+ // router.get("/realscore", authenticate, async (req, res) => {
68+ // const userId = req.user._id;
5069
51- try {
52- // 1. 해당 사용자의 UserStock ID 목록 조회
53- const userStocks = await UserStock . find ( { user_id : userId } ) . select ( "_id" ) ;
70+ // try {
71+ // // 1. 해당 사용자의 UserStock ID 목록 조회
72+ // const userStocks = await UserStock.find({ user_id: userId }).select("_id");
5473
55- const userStockIds = userStocks . map ( ( stock ) => stock . _id ) ;
74+ // const userStockIds = userStocks.map((stock) => stock._id);
5675
57- // 2. RealScore에서 그 중 하나라도 있나 확인
58- const hasScore = await RealScore . exists ( {
59- user_stock_id : { $in : userStockIds } ,
60- } ) ;
76+ // // 2. RealScore에서 그 중 하나라도 있나 확인
77+ // const hasScore = await RealScore.exists({
78+ // user_stock_id: { $in: userStockIds },
79+ // });
6180
62- res . status ( 200 ) . json ( {
63- hasHoldings : ! ! hasScore ,
64- } ) ;
65- } catch ( err ) {
66- console . error ( "보유 주식 확인 에러:" , err ) ;
67- res . status ( 500 ) . json ( { message : "서버 에러" } ) ;
68- }
69- } ) ;
81+ // res.status(200).json({
82+ // hasHoldings: !!hasScore,
83+ // });
84+ // } catch (err) {
85+ // console.error("보유 주식 확인 에러:", err);
86+ // res.status(500).json({ message: "서버 에러" });
87+ // }
88+ // });
7089
7190module . exports = router ;
0 commit comments