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:
parent
4cb561d54f
commit
17aead2e21
2 changed files with 41 additions and 12 deletions
|
|
@ -39,3 +39,28 @@ class AvailabilityRepository:
|
|||
await self.db.execute(
|
||||
delete(Availability).where(Availability.date == target_date)
|
||||
)
|
||||
|
||||
async def create(self, availability: Availability) -> Availability:
|
||||
"""
|
||||
Create a new availability record.
|
||||
|
||||
Args:
|
||||
availability: Availability instance to persist
|
||||
|
||||
Returns:
|
||||
Created Availability record (flushed to get ID)
|
||||
"""
|
||||
self.db.add(availability)
|
||||
await self.db.flush()
|
||||
return availability
|
||||
|
||||
async def create_multiple(self, availabilities: list[Availability]) -> None:
|
||||
"""
|
||||
Create multiple availability records in a single transaction.
|
||||
|
||||
Args:
|
||||
availabilities: List of Availability instances to persist
|
||||
"""
|
||||
for availability in availabilities:
|
||||
self.db.add(availability)
|
||||
await self.db.flush()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue