ssh key등록 및 수정 기능 개선
All checks were successful
Build And Test / build-and-push (push) Successful in 2m46s

This commit is contained in:
2025-05-20 13:57:40 +09:00
parent 293003cf1c
commit 247b6b7fe7
3 changed files with 23 additions and 3 deletions

View File

@ -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"),
]

View File

@ -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
})

View File

@ -1 +1 @@
0.0.9
0.0.9-r1