Skip to content

Commit 2031c6d

Browse files
authored
Merge pull request #25 from dmsnback/feature/logging
logging
2 parents aa23455 + c616acd commit 2031c6d

2 files changed

Lines changed: 104 additions & 2 deletions

File tree

backend/api/v1/serializers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ class RoomImageReadSerializer(serializers.ModelSerializer):
3333

3434
class Meta:
3535
model = RoomImage
36-
fields = ("room", "image")
36+
fields = ("id", "room", "image")
3737
read_only_fields = ("id",)
3838

3939

backend/api/v1/views.py

Lines changed: 103 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,31 @@ def get_queryset(self):
4141
logger.debug(f"Ошибка при получении типов номеров: {error}", exc_info=True)
4242
return RoomType.objects.none()
4343

44+
def perform_create(self, serializer):
45+
try:
46+
serializer.save()
47+
logger.info(f"Создан новый тип номера: {serializer.instance.name}")
48+
except Exception as error:
49+
logger.error(f"Ошибка при создании типа номера: {error}", exc_info=True)
50+
raise serializers.ValidationError({"error": "Не удалось создать тип номера"})
51+
52+
def perform_update(self, serializer):
53+
try:
54+
serializer.save()
55+
logger.info(f"Обновлеен тип номера: {serializer.instance.name}")
56+
except Exception as error:
57+
logger.error(f"Ошибка при обновлении типа номера: {error}", exc_info=True)
58+
raise serializers.ValidationError({"error": "Не удалось обновить тип номера"})
59+
60+
def perform_destroy(self, instance):
61+
try:
62+
room_type_name = instance.name
63+
instance.delete()
64+
logger.info(f"Удален тип номера: {room_type_name}")
65+
except Exception as error:
66+
logger.error(f"Ошибка при удалении типа номера: {error}", exc_info=True)
67+
raise serializers.ValidationError({"error": "Не удалось удалить тип номера"})
68+
4469

4570
@extend_schema(tags=["RoomImage"])
4671
class RoomImageViewSet(viewsets.ModelViewSet):
@@ -65,6 +90,35 @@ def get_serializer_class(self):
6590
)
6691
return RoomImageWriteSerializer
6792

93+
def perform_create(self, serializer):
94+
try:
95+
serializer.save()
96+
logger.info(
97+
f"Загружена новая фотография id = {serializer.instance.id} для номера {serializer.instance.room}"
98+
)
99+
except Exception as error:
100+
logger.error(f"Ошибка при загрузке фотогрвфии: {error}", exc_info=True)
101+
raise serializers.ValidationError(
102+
{"error": "Не удалось загрузить фотографию"}
103+
)
104+
105+
def perform_update(self, serializer):
106+
try:
107+
serializer.save()
108+
logger.info(f"Фотография обновлена id = {serializer.instance.id}")
109+
except Exception as error:
110+
logger.error(f"Ошибка при обновлении фотографии: {error}", exc_info=True)
111+
raise serializers.ValidationError({"error": "Не удалось обновить фотографию"})
112+
113+
def perform_destroy(self, instance):
114+
try:
115+
image_name = instance.image
116+
instance.delete()
117+
logger.info(f"Фотография удалена: {image_name}")
118+
except Exception as error:
119+
logger.error(f"Ошибка при удалении фотографии: {error}", exc_info=True)
120+
raise serializers.ValidationError({"error": "Не удалось удалить фотографию"})
121+
68122

69123
@extend_schema(
70124
tags=["Room"],
@@ -117,6 +171,31 @@ def get_queryset(self):
117171
logger.error(f"Ошибка при получении списка номеров: {error}", exc_info=True)
118172
return Room.objects.none()
119173

174+
def perform_create(self, serializer):
175+
try:
176+
serializer.save()
177+
logger.info(f"Добавлен новый номер: {serializer.instance.title}")
178+
except Exception as error:
179+
logger.error(f"Ошибка при добавлении номера: {error}", exc_info=True)
180+
raise serializers.ValidationError({"error": "Не удалось добавить номер"})
181+
182+
def perform_update(self, serializer):
183+
try:
184+
serializer.save()
185+
logger.info(f"Номер обновлен {serializer.instance.title}")
186+
except Exception as error:
187+
logger.error(f"Ошибка при обновлении номера: {error}", exc_info=True)
188+
raise serializers.ValidationError({"error": "Не удалось обновить номер"})
189+
190+
def perform_destroy(self, instance):
191+
try:
192+
room_name = instance.title
193+
instance.delete()
194+
logger.info(f"Номер {room_name} удален")
195+
except Exception as error:
196+
logger.error(f"Ошибка при удалении номера: {error}", exc_info=True)
197+
raise serializers.ValidationError({"error": "Не удалось удалить номер"})
198+
120199

121200
@extend_schema(tags=["Booking"], summary="Работа с бронированиями")
122201
class BookingViewSet(viewsets.ModelViewSet):
@@ -170,10 +249,33 @@ def perform_create(self, serializer):
170249
try:
171250
serializer.save(user=self.request.user)
172251
logger.info(
173-
f"Пользователь {self.request.user} создал бронирование для номера {serializer.instance.room}"
252+
f"Пользователь {self.request.user} создал бронирование для номера: {serializer.instance.room}"
174253
)
175254
except Exception as error:
176255
logger.error(f"Не удалось создать бронирование: {error}", exc_info=True)
177256
raise serializers.ValidationError(
178257
{"error": "Не Удалось создать бронирование"}
179258
)
259+
260+
def perform_update(self, serializer):
261+
try:
262+
serializer.save(user=self.request.user)
263+
logger.info(
264+
f"Пользователь {self.request.user} обновил бронирование для номера: {serializer.instance.room}"
265+
)
266+
except Exception as error:
267+
logger.error(f"Ошибка при обновлении бронирования: {error}", exc_info=True)
268+
raise serializers.ValidationError(
269+
{"error": "Не удалось обновить бронирование"}
270+
)
271+
272+
def perform_destroy(self, instance):
273+
try:
274+
booking_for_room = instance.room
275+
instance.delete()
276+
logger.info(f"Бронирование для номера {booking_for_room} удалено")
277+
except Exception as error:
278+
logger.error(f"Ошибка при удалении бронирования: {error}", exc_info=True)
279+
raise serializers.ValidationError(
280+
{"error": "Не удалось удалить бронирование"}
281+
)

0 commit comments

Comments
 (0)