Skip to content

Commit

Permalink
[FEAT] api 라우팅
Browse files Browse the repository at this point in the history
  • Loading branch information
kyY00n committed Jul 3, 2023
1 parent 18f0865 commit afea2f1
Show file tree
Hide file tree
Showing 4 changed files with 77 additions and 6 deletions.
62 changes: 60 additions & 2 deletions src/controllers/userController.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,8 @@ import {
PreUserService,
AuthService,
SocialAuthService,
NaverLoginService
NaverLoginService,
BlockCardService
} from '../services';
import { UserProfileResponseDto } from '../intefaces/user/UserProfileResponseDto';
import { UserUpdateNicknameDto } from '../intefaces/user/UserUpdateNicknameDto';
Expand All @@ -34,6 +35,7 @@ import SocialLoginDto from '../intefaces/user/SocialLoginDto';
import LoginResponseDto from '../intefaces/user/LoginResponseDto';
import { UserDocument } from '../models/user/user';
import { SocialVendor } from '../models/socialVendor';
import card from '../models/card';

/**
* @route GET /email
Expand Down Expand Up @@ -500,6 +502,60 @@ const deleteUser = async (
}
};

/**
* @route POST /users/cards/blacklist
* @desc 카드 블랙리스트 추가
* @access public
*/
const blockCard = async (
req: TypedRequest<{ cardId: Types.ObjectId }>,
res: Response,
next: NextFunction
) => {
try {
const userId = req.user?.id;
if (!userId) {
throw new IllegalArgumentException('유저 아이디가 없습니다.');
}
const { cardId } = req.body;
await BlockCardService.blockCard(userId, cardId);
return res
.status(statusCode.OK)
.send(util.success(statusCode.OK, message.BLOCK_CARD_SUCCESS));
} catch (e) {
console.error(e);
next(e);
}
};

/**
* @route DELETE /users/cards/blacklist/:cardId
* @desc 카드 블랙리스트 추가
* @access public
*/
const cancelToBlock = async (
req: Request,
res: Response,
next: NextFunction
) => {
try {
const userId = req.user?.id;
if (!userId) {
throw new IllegalArgumentException('유저 아이디가 없습니다.');
}
const cardId = new Types.ObjectId(req.params.cardId);
if (!cardId) {
throw new IllegalArgumentException('카드 아이디가 없습니다.');
}
await BlockCardService.cancelToBlockCard(userId, cardId);
return res
.status(statusCode.OK)
.send(util.success(statusCode.OK, message.CANCEL_BLOCK_CARD_SUCCESS));
} catch (e) {
next(e);
}
};

export {
readEmailIsExisting,
socialLogin,
Expand All @@ -515,5 +571,7 @@ export {
verifyEmail,
verifyEmailTest,
nicknameDuplicationCheck,
deleteUser
deleteUser,
blockCard,
cancelToBlock
};
3 changes: 2 additions & 1 deletion src/modules/responseMessage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@ const message = {
READ_RECENTLY_BOOKMARKED_CARD_SUCCESS: '최근 북마크 된 카드 읽어오기 성공',
READ_GENDER_BEST_CARD_SUCCESS: '성별 별 베스트 카드 읽어오기 성공',
READ_BEST_CARDS_SUCCESS: '베스트 카드 읽어오기 성공',
READ_ONE_CARD_SUCCESS: '카드 한 장 읽어오기 성공',
BLOCK_CARD_SUCCESS: '카드 블랙리스트 추가 성공',
CANCEL_BLOCK_CARD_SUCCESS: '카드 블랙리스트 제외 성공',

//카드 메들리
READ_CARD_MEDLEY_DETAIL_SUCCESS: '카드 메들리 상세 조회 성공',
Expand Down
9 changes: 6 additions & 3 deletions src/routes/userRouter.ts → src/routes/userRouter/index.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
import { Router } from 'express';
import { body } from 'express-validator';
import { UserController } from '../controllers';
import auth from '../middlewares/auth';
import upload from '../config/multer';
import { UserController } from '../../controllers';
import auth from '../../middlewares/auth';
import upload from '../../config/multer';
import userCardRouter from './userCardRouter';

const router = Router();

router.use('/cards', userCardRouter);

router.get('/existing', UserController.readEmailIsExisting);

router.post(
Expand Down
9 changes: 9 additions & 0 deletions src/routes/userRouter/userCardRouter.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import { Router } from 'express';
import { UserController } from '../../controllers';
import auth from '../../middlewares/auth';

const router = Router();

router.post('/blacklist', auth, UserController.blockCard);
router.delete('/blacklist/:cardId', auth, UserController.cancelToBlock);
export default router;

0 comments on commit afea2f1

Please sign in to comment.