ssh key등록 및 수정 기능 개선
All checks were successful
Build And Test / build-and-push (push) Successful in 2m46s
All checks were successful
Build And Test / build-and-push (push) Successful in 2m46s
This commit is contained in:
@ -1,5 +1,5 @@
|
||||
from django.urls import path
|
||||
from .views import RegisterView, MeView, CustomTokenObtainPairView, SSHKeyUploadView
|
||||
from .views import RegisterView, MeView, CustomTokenObtainPairView, SSHKeyUploadView, SSHKeyInfoView
|
||||
from rest_framework_simplejwt.views import TokenObtainPairView, TokenRefreshView, TokenVerifyView
|
||||
|
||||
urlpatterns = [
|
||||
@ -10,4 +10,5 @@ urlpatterns = [
|
||||
path('verify/', TokenVerifyView.as_view(), name='token_verify'),
|
||||
path('me/', MeView.as_view(), name='me'),
|
||||
path("ssh-key/", SSHKeyUploadView.as_view(), name="ssh_key_upload"),
|
||||
path("ssh-key/info/", SSHKeyInfoView.as_view(), name="ssh_key_info"),
|
||||
]
|
||||
|
@ -53,4 +53,23 @@ class SSHKeyUploadView(APIView):
|
||||
user.save(update_fields=["encrypted_private_key", "encrypted_private_key_name"])
|
||||
return Response({"message": "SSH key 저장 완료."})
|
||||
except Exception as e:
|
||||
return Response({"error": str(e)}, status=500)
|
||||
return Response({"error": str(e)}, status=500)
|
||||
|
||||
def delete(self, request):
|
||||
user = request.user
|
||||
user.encrypted_private_key = None
|
||||
user.encrypted_private_key_name = None
|
||||
user.last_used_at = None
|
||||
user.save(update_fields=["encrypted_private_key", "encrypted_private_key_name", "last_used_at"])
|
||||
return Response({"message": "SSH key deleted."}, status=200)
|
||||
|
||||
class SSHKeyInfoView(APIView):
|
||||
permission_classes = [IsAuthenticated]
|
||||
|
||||
def get(self, request):
|
||||
user = request.user
|
||||
return Response({
|
||||
"has_key": bool(user.encrypted_private_key),
|
||||
"encrypted_private_key_name": user.encrypted_private_key_name,
|
||||
"last_used_at": user.last_used_at
|
||||
})
|
Reference in New Issue
Block a user