Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions makourse/course/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ class Schedule(models.Model): # 일정(코스)
meet_date_third = models.DateTimeField(null=True , blank= True)
course_name = models.CharField(max_length=20, null=True, blank= True)
meet_place = models.CharField(max_length=50, null=True, blank= True)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

여기 "일정 이름을 정해주세요" 로 default값을 수정했슴다!

address = models.CharField(null=True, blank = True, max_length=150)
latitude = models.FloatField(default=0.0) # 만나는 장소의 위도
longitude = models.FloatField(default=0.0) # 만나는 장소의 경도
created_at = models.DateField(auto_now_add=True)
Expand Down
17 changes: 7 additions & 10 deletions makourse/course/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,21 +25,18 @@ class Meta:
model = ScheduleEntry
fields = '__all__'

class CreateCourseSerializser(serializers.ModelSerializer):
user_id = serializers.CharField(write_only=True) # 요청에서 유저 ID (id 필드) 처리

class CreateCourseSerializer(serializers.ModelSerializer):
class Meta:
model = Schedule
fields = '__all__'
# [
# 'meet_date_first', 'meet_date_second', 'meet_date_third',
# 'course_name', 'meet_place', 'latitude', 'longitude', 'user_id'
# ]
fields = '__all__' # 모든 필드 포함

def create(self, validated_data):
# user_id로 User 객체 가져오기
user_id = validated_data.pop('user_id') # 요청 데이터에서 user_id 추출
user = get_object_or_404(CustomUser, id=user_id) # User 모델의 id 필드로 조회
request = self.context.get('request')
if not request or not request.user:
raise serializers.ValidationError("유효한 사용자 정보를 찾을 수 없습니다.")

user = request.user # request.user 사용

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

여기서 http body로 user_id로 받던거 수정했습니다!

# 일정 생성
schedule = Schedule.objects.create(**validated_data)
Expand Down
14 changes: 7 additions & 7 deletions makourse/course/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -273,12 +273,12 @@ class ScheduleUpdateView(APIView):
@swagger_auto_schema(
tags=["일정(코스)"],
operation_summary="일정(코스) 생성",
request_body=CreateCourseSerializser,
responses={201: CreateCourseSerializser, 400: "Validation Error"}
request_body=CreateCourseSerializer,
responses={201: CreateCourseSerializer, 400: "Validation Error"}
)
def post(self, request, *args, **kwargs):

serializer = CreateCourseSerializser(data=request.data, context={'request': request})
serializer = CreateCourseSerializer(data=request.data, context={'request': request})

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

시리얼라이저 오타가 있길래 그것도 수정해줬어요!

if serializer.is_valid():
serializer.save()
Expand All @@ -294,12 +294,12 @@ class ScheduleDetailView(APIView):
@swagger_auto_schema(
tags=["일정(코스)"],
operation_summary="일정 수정",
request_body=CreateCourseSerializser,
responses={200: CreateCourseSerializser, 400: "Validation Error"}
request_body=CreateCourseSerializer,
responses={200: CreateCourseSerializer, 400: "Validation Error"}
)
def patch(self, request, schedule_id, *args, **kwargs):
schedule = get_object_or_404(Schedule, pk=schedule_id)
serializer = CreateCourseSerializser(schedule, data=request.data, partial=True, context={'request': request})
serializer = CreateCourseSerializer(schedule, data=request.data, partial=True, context={'request': request})

if serializer.is_valid():
serializer.save()
Expand All @@ -317,7 +317,7 @@ def patch(self, request, schedule_id, *args, **kwargs):
def get(self, request, schedule_id, *args, **kwargs):
# 특정일정 상세조회
schedule = get_object_or_404(Schedule, pk=schedule_id)
serializer = CreateCourseSerializser(schedule)
serializer = CreateCourseSerializer(schedule)

schedule_entry = ScheduleEntry.objects.filter(schedule=schedule_id)
entry_serializer = ScheduleEntrySerializer(schedule_entry, many=True)
Expand Down
2 changes: 1 addition & 1 deletion makourse/makourse/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ def get_secret(setting,secrets_dict = secrets):

SIMPLE_JWT = {
'SIGNING_KEY': 'hellomakourse',
'ACCESS_TOKEN_LIFETIME': timedelta(hours=1),
'ACCESS_TOKEN_LIFETIME': timedelta(days=30),
'REFRESH_TOKEN_LIFETIME': timedelta(days=7),
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Accesstoken 기한 30일로 변경해서 개발하는데 편리하게 해줬습니다!

'ROTATE_REFRESH_TOKENS': True,
'BLACKLIST_AFTER_ROTATION': True,
Expand Down