From 3955206191fdeb3a0609bd2170ed97f3f283d860 Mon Sep 17 00:00:00 2001
From: jhjang <jhjang@maprex.co.kr>
Date: 월, 10 1월 2022 11:47:35 +0900
Subject: [PATCH] - api 관련 Exception 수정 - swagger 추가

---
 src/main/java/kr/wisestone/owl/service/impl/ApiTokenServiceImpl.java |   40 +++++++++++++++++++++++++++++++++-------
 1 files changed, 33 insertions(+), 7 deletions(-)

diff --git a/src/main/java/kr/wisestone/owl/service/impl/ApiTokenServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/ApiTokenServiceImpl.java
index aa0e2d9..78221fc 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/ApiTokenServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/ApiTokenServiceImpl.java
@@ -7,9 +7,11 @@
 import kr.wisestone.owl.constant.MsgConstants;
 import kr.wisestone.owl.domain.ApiToken;
 import kr.wisestone.owl.domain.User;
+import kr.wisestone.owl.exception.ApiAuthException;
 import kr.wisestone.owl.exception.OwlRuntimeException;
 import kr.wisestone.owl.repository.ApiTokenRepository;
 import kr.wisestone.owl.service.ApiTokenService;
+import kr.wisestone.owl.service.UserService;
 import kr.wisestone.owl.util.ConvertUtil;
 import kr.wisestone.owl.util.DateUtil;
 import kr.wisestone.owl.util.WebAppUtil;
@@ -37,7 +39,6 @@
 
     @Autowired
     private ApiTokenRepository apiTokenRepository;
-
 
     @Autowired
     protected WebAppUtil webAppUtil;
@@ -124,25 +125,50 @@
     @Override
     public ApiTokenVo find() {
         User user = this.webAppUtil.getLoginUserObject();
-        List<ApiToken> apiTokens = this.apiTokenRepository.findByUserId(user.getId());
-        if (apiTokens != null && apiTokens.size() >0 ) {
-            return ConvertUtil.copyProperties(apiTokens.get(0), ApiTokenVo.class);
+        return this.find(user.getId());
+    }
+
+    private ApiTokenVo find(Long userId) {
+        if (userId != null) {
+            List<ApiToken> apiTokens = this.apiTokenRepository.findByUserId(userId);
+            if (apiTokens != null && apiTokens.size() > 0) {
+                return ConvertUtil.copyProperties(apiTokens.get(0), ApiTokenVo.class);
+            }
         }
         return null;
     }
 
-    // �넗�겙 �궗�슜�옄 �씤利�
+    // �넗�겙 �궗�슜�옄 �씤利�, �씤利앺썑 �궗�슜�옄 媛��졇�삤湲�
     @Override
     public UserVo certification(String token) {
          UserVo userVo = this.getUserVo(token);
-         if (userVo != null){
+         if (userVo != null && containsToken(userVo, token))
+         {
              return userVo;
          } else  {
-             throw new OwlRuntimeException(
+             throw new ApiAuthException(
                      this.messageAccessor.getMessage(MsgConstants.ERROR_TOKEN));
          }
     }
 
+    // �넗�겙�쑝濡� 李얘린
+    private ApiToken find(String token) {
+        List<ApiToken> apiTokens = this.apiTokenRepository.findByToken(token);
+        if (apiTokens != null && apiTokens.size() > 0) {
+            return apiTokens.get(0);
+        }
+        return null;
+    }
+
+    // �넗�겙 媛믪씠 db�뿉 議댁옱�븯�뒗吏� �솗�씤
+    private boolean containsToken(UserVo userVo, String token) {
+        List<ApiToken> apiTokens = this.apiTokenRepository.findByUserId(userVo.getId());
+        if (apiTokens != null && apiTokens.size() > 0) {
+            return apiTokens.get(0).getToken().equals(token);
+        }
+        return false;
+    }
+
     // �넗�겙 �궘�젣
     @Override
     public void remove(ApiTokenForm apiTokenForm) {

--
Gitblit v1.8.0