Delegate availability persistence to AvailabilityRepository

- Add create() and create_multiple() methods to AvailabilityRepository
- Update AvailabilityService to use repository methods instead of direct db operations
This commit is contained in:
counterweight 2025-12-25 18:51:55 +01:00
parent 4cb561d54f
commit 17aead2e21
Signed by: counterweight
GPG key ID: 883EDBAA726BD96C
2 changed files with 41 additions and 12 deletions

View file

@ -109,14 +109,15 @@ class AvailabilityService:
await self.availability_repo.delete_by_date(target_date)
# Create new availability slots
for slot in slots:
availability = Availability(
availabilities = [
Availability(
date=target_date,
start_time=slot.start_time,
end_time=slot.end_time,
)
self.db.add(availability)
for slot in slots
]
await self.availability_repo.create_multiple(availabilities)
await self.db.commit()
return AvailabilityDay(date=target_date, slots=slots)
@ -165,19 +166,22 @@ class AvailabilityService:
# Copy slots
target_slots: list[TimeSlot] = []
for source_slot in source_slots:
new_availability = Availability(
new_availabilities = [
Availability(
date=target_date,
start_time=source_slot.start_time,
end_time=source_slot.end_time,
)
self.db.add(new_availability)
target_slots.append(
TimeSlot(
start_time=source_slot.start_time,
end_time=source_slot.end_time,
)
for source_slot in source_slots
]
await self.availability_repo.create_multiple(new_availabilities)
target_slots = [
TimeSlot(
start_time=slot.start_time,
end_time=slot.end_time,
)
for slot in source_slots
]
copied_days.append(
AvailabilityDay(date=target_date, slots=target_slots)