Python backend for a Slack's kudos plugin.
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat: wip models

+34
+8
kefi/models/kefinect/helpers.py
··· 1 + # import datetime 2 + 3 + # from sqlmodel import Session, func, or_, select 4 + 5 + 6 + # def get_or_create_current_meeting_session(session: Session): 7 + # now = datetime.datetime.now() 8 + # query = select(MeetingSession).filter(MeetingSession.date == command.user_id)
+26
kefi/models/kefinect/models.py
··· 1 + import datetime 1 2 from typing import TYPE_CHECKING, Optional 2 3 3 4 from sqlalchemy import Column, String 4 5 from sqlmodel import Field, Relationship, SQLModel 5 6 6 7 if TYPE_CHECKING: 8 + from kefi.models.core.models import User 7 9 from kefi.models.kudos.models import Action 10 + 11 + 12 + class MeetingSession(SQLModel, table=True): 13 + """A meeting session that represents a moment scheduled to create a group call with 14 + the different groups of attendees.""" 15 + 16 + date = datetime.datetime # When the meetings are going to be created 17 + 18 + 19 + class Attendance(SQLModel, table=True): 20 + """An attendance is a user who has spent kefis to be part of a meetings session.""" 21 + 22 + # Meeting session that the attendance makes reference 23 + meeting_session_id: int = Field(default=None, foreign_key="meeting_session.id") 24 + meeting_session: MeetingSession = Relationship( 25 + back_populates="attendances", 26 + sa_relationship_kwargs=dict(foreign_keys="[Attendance.meeting_session_id]"), 27 + ) 28 + # User who is going to attend to the meeting session 29 + user_id: int = Field(foreign_key="user.id") 30 + user: User = Relationship( 31 + back_populates="attendances", 32 + sa_relationship_kwargs=dict(foreign_keys="[Attendance.user_id]"), 33 + )