| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- <?php
- namespace App\Http\Middleware\Board;
- use Closure;
- use Illuminate\Http\Request;
- use App\Services\BoardService;
- use App\Services\PostService;
- use App\Services\CommentService;
- class CommentReply
- {
- public function handle(Request $request, Closure $next)
- {
- $boardService = new BoardService();
- $postService = new PostService();
- $commentService = new CommentService();
- $code = $request->route('code');
- $postID = $request->route('postID');
- $commentID = $request->post('cid');
- // 게시판 코드 확인
- if (!$code || !$postID || !$commentID) {
- abort(404);
- }
- // 게시판 조회
- $board = $boardService->info($code);
- // 게시판 존재 유무
- if (!$board || !$board->exists) {
- return response()->json(['success' => false, 'message' => '존재하지 않는 게시판입니다.']);
- }
- // 게시판 사용 여부
- if ($board->is_display == 0) {
- return response()->json(['success' => false, 'message' => '더 이상 사용하지 않는 게시판입니다.']);
- }
- // 권한 유무
- $permission = $boardService->permission($code, BOARD_PERMIT_TYPE_4);
- if (!$permission->success) {
- return response()->json(['success' => false, 'message' => $permission->message]);
- }
- // 게시글 존재 유무
- if (!$postService->isExists($code, $postID)) {
- return response()->json(['success' => false, 'message' => '존재하지 않는 게시글입니다.']);
- }
- // 답변 댓글 존재 확인
- if (!$commentService->isExists($postID, $commentID)) {
- return response()->json(['success' => false, 'message' => '잘못된 요청입니다.']);
- }
- return $next($request);
- }
- }
|