@@ -164,8 +164,20 @@ class Subscriber(HasSoftDelete, Base):
164164 external_connections = relationship ('ExternalConnections' , cascade = 'all,delete' , back_populates = 'owner' )
165165
166166 # FIXME: Invite will be deleted if either the owner or the invited subscriber is deleted.
167- invite : Mapped ['Invite' ] = relationship ('Invite' , cascade = 'all,delete' , back_populates = 'subscriber' , uselist = False , foreign_keys = 'Invite.subscriber_id' )
168- owned_invites : Mapped [list ['Invite' ]] = relationship ('Invite' , cascade = 'all,delete' , back_populates = 'owner' , foreign_keys = '[Invite.owner_id]' )
167+ invite : Mapped ['Invite' ] = relationship (
168+ 'Invite' ,
169+ cascade = 'all,delete' ,
170+ back_populates = 'subscriber' ,
171+ uselist = False ,
172+ foreign_keys = 'Invite.subscriber_id'
173+ )
174+
175+ owned_invites : Mapped [list ['Invite' ]] = relationship (
176+ 'Invite' ,
177+ cascade = 'all,delete' ,
178+ back_populates = 'owner' ,
179+ foreign_keys = '[Invite.owner_id]'
180+ )
169181
170182 def get_external_connection (self , type : ExternalConnectionType ) -> 'ExternalConnections' :
171183 """Retrieves the first found external connection by type or returns None if not found"""
@@ -242,7 +254,12 @@ class Appointment(Base):
242254 )
243255
244256 calendar : Mapped [Calendar ] = relationship ('Calendar' , back_populates = 'appointments' )
245- slots : Mapped [list ['Slot' ]] = relationship ('Slot' , cascade = 'all,delete' , back_populates = 'appointment' , lazy = 'joined' )
257+ slots : Mapped [list ['Slot' ]] = relationship (
258+ 'Slot' ,
259+ cascade = 'all,delete' ,
260+ back_populates = 'appointment' ,
261+ lazy = 'joined'
262+ )
246263
247264
248265class Attendee (Base ):
@@ -305,7 +322,7 @@ class Schedule(Base):
305322 weekdays : str | dict = Column (JSON , default = '[1,2,3,4,5]' ) # list of ISO weekdays, Mo-Su => 1-7
306323 slot_duration : int = Column (Integer , default = 30 ) # defaults to 30 minutes
307324 booking_confirmation : bool = Column (Boolean , index = True , nullable = False , default = True )
308- timezone : str = Column (encrypted_type (String ), index = True , nullable = True ) # Not used right now but will be in the future
325+ timezone : str = Column (encrypted_type (String ), index = True , nullable = True ) # Not used now but will be in the future
309326
310327 # What (if any) meeting link will we generate once the meeting is booked
311328 meeting_link_provider : MeetingLinkProviderType = Column (
@@ -385,9 +402,26 @@ class Invite(Base):
385402 code = Column (encrypted_type (String ), index = False )
386403 status = Column (Enum (InviteStatus ), index = True )
387404
388- owner : Mapped ['Subscriber' ] = relationship ('Subscriber' , back_populates = 'invite' , single_parent = True , foreign_keys = [owner_id ])
389- subscriber : Mapped ['Subscriber' ] = relationship ('Subscriber' , back_populates = 'invite' , single_parent = True , foreign_keys = [subscriber_id ])
390- waiting_list : Mapped ['WaitingList' ] = relationship ('WaitingList' , cascade = 'all,delete' , back_populates = 'invite' , uselist = False )
405+ owner : Mapped ['Subscriber' ] = relationship (
406+ 'Subscriber' ,
407+ back_populates = 'invite' ,
408+ single_parent = True ,
409+ foreign_keys = [owner_id ]
410+ )
411+
412+ subscriber : Mapped ['Subscriber' ] = relationship (
413+ 'Subscriber' ,
414+ back_populates = 'invite' ,
415+ single_parent = True ,
416+ foreign_keys = [subscriber_id ]
417+ )
418+
419+ waiting_list : Mapped ['WaitingList' ] = relationship (
420+ 'WaitingList' ,
421+ cascade = 'all,delete' ,
422+ back_populates = 'invite' ,
423+ uselist = False
424+ )
391425
392426 @property
393427 def is_used (self ) -> bool :
0 commit comments