Exemplo n.º 1
0
class User(db.Model):
    __tablename__ = "users"

    user_id = db.Column(db.Integer(), primary_key=True)
    firstname = db.Column(db.String(), nullable=False)
    lastname = db.Column(db.String(), nullable=False)
    score = db.Column(db.Integer(), nullable=False)
Exemplo n.º 2
0
class Question(db.Model):
    __tablename__ = "question"
    id = db.Column(db.Integer, primary_key=True)
    content = db.Column(db.String)
    correct_answer = db.Column(db.String)
    score = db.Column(db.Integer)
    theme_id = db.Column(db.Integer, db.ForeignKey("theme.id"))
Exemplo n.º 3
0
class UserSession(db.Model):
    __tablename__ = "user_session"

    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey("user.user_id"))
    session_id = db.Column(db.Integer, db.ForeignKey("session.id"))
    score = db.Column(db.Integer, default=0)
Exemplo n.º 4
0
class TicketFlight(db.Model, DCConverter):
    __tablename__ = "ticket_flights"

    ticket_no = db.Column(db.String(13), nullable=False)
    flight_id = db.Column(db.Integer(), nullable=False)
    fare_conditions = db.Column(db.String(10), nullable=False)
    amount = db.Column(db.Numeric(), nullable=False)
Exemplo n.º 5
0
class Ticket(db.Model, DCConverter):
    __tablename__ = "tickets"

    ticket_no = db.Column(db.String(13), primary_key=True)
    book_ref = db.Column(db.String(6), nullable=False)
    passenger_id = db.Column(db.String(20), nullable=False, index=True)
    passenger_name = db.Column(db.Text(), nullable=False)
    contact_data = db.Column(JSONB)
Exemplo n.º 6
0
class GameSession(db.Model):
    __tablename__ = "game_sessions"

    id = db.Column(db.Integer(), primary_key=True)
    chat_id = db.Column(db.Integer(), nullable=False)
    questions = db.Column(ARRAY(db.Integer()), nullable=False)
    last_question_id = db.Column(db.Integer(), nullable=False)
    is_finished = db.Column(db.Boolean(),
                            nullable=False)  # todo: add constraint
Exemplo n.º 7
0
class Answer(db.Model):
    __tablename__ = "answers"

    id = db.Column(db.Integer(), primary_key=True)
    question_id = db.Column(db.Integer(),
                            db.ForeignKey("questions.id"),
                            nullable=False)
    title = db.Column(db.String(), nullable=False)
    is_right = db.Column(db.Boolean(), nullable=False)
Exemplo n.º 8
0
class Session(db.Model):
    __tablename__ = "session"
    id = db.Column(db.Integer, primary_key=True)
    chat_id = db.Column(db.Integer)
    status = db.Column(
        db.Enum(SessionStatus),
        nullable=False,
        default=SessionStatus.active,
    )
Exemplo n.º 9
0
class Round(db.Model):
    __tablename__ = "round"
    id = db.Column(db.Integer, primary_key=True)
    session_id = db.Column(db.Integer, db.ForeignKey("session.id"))
    number = db.Column(db.Integer)
    status = db.Column(
        db.Enum(RoundStatus),
        nullable=False,
        default=RoundStatus.active,
    )
Exemplo n.º 10
0
class Answer(db.Model):
    __tablename__ = "answer"
    id = db.Column(db.Integer, primary_key=True)
    status = db.Column(
        db.Enum(AnswerStatus),
        nullable=False,
        default=AnswerStatus.correct,
    )
    rq_id = db.Column(db.Integer, db.ForeignKey(RoundQuestion.id))
    user_id = db.Column(db.Integer, db.ForeignKey(User.user_id))
    created_at = db.Column(db.DateTime, default=datetime.datetime.now)
Exemplo n.º 11
0
class RoundQuestion(db.Model):
    __tablename__ = "round_question"
    id = db.Column(db.Integer, primary_key=True)
    status = db.Column(
        db.Enum(RoundQuestionStatus),
        nullable=False,
        default=RoundQuestionStatus.active,
    )
    round_id = db.Column(db.Integer, db.ForeignKey("round.id"))
    question_id = db.Column(db.Integer, db.ForeignKey("question.id"))
    created_at = db.Column(db.DateTime)
Exemplo n.º 12
0
class SessionScores(db.Model):
    __tablename__ = "session_scores"

    id = db.Column(db.Integer(), primary_key=True)
    session_id = db.Column(db.Integer(),
                           db.ForeignKey("game_sessions.id",
                                         ondelete='CASCADE'),
                           nullable=False)
    user_id = db.Column(db.Integer(),
                        db.ForeignKey("users.user_id", ondelete='CASCADE'),
                        nullable=False)
    score = db.Column(db.Integer(), nullable=False)
Exemplo n.º 13
0
class Airport(db.Model, DCConverter):
    __tablename__ = "airports"

    airport_code = db.Column(db.String(3), primary_key=True)
    airport_name = db.Column(db.Text(), nullable=False)
    city = db.Column(db.Text(), nullable=False)
    longitude = db.Column(db.Float(), nullable=False)
    latitude = db.Column(db.Float(), nullable=False)
    timezone = db.Column(db.Text(), nullable=False)

    def to_dc(self) -> "AirportDC":
        from app.avia.schemas import AirportDC

        a = 5

        return AirportDC.Schema().load(self.__values__)
Exemplo n.º 14
0
class User(db.Model):
    __tablename__ = "user"
    user_id = db.Column(db.Integer, primary_key=True)
Exemplo n.º 15
0
class Flight(db.Model, DCConverter):
    __tablename__ = "flights"

    flight_id = db.Column(db.Integer(), primary_key=True)
    flight_no = db.Column(db.String(6), nullable=False)
    scheduled_departure = db.Column(db.DateTime(timezone=True), nullable=False)
    scheduled_arrival = db.Column(db.DateTime(timezone=True), nullable=False)
    departure_airport = db.Column(db.String(3),
                                  db.ForeignKey("airports.airport_code"),
                                  nullable=False)
    arrival_airport = db.Column(db.String(3),
                                db.ForeignKey("airports.airport_code"),
                                nullable=False)
    status = db.Column(db.String(20), nullable=False)
    aircraft_code = db.Column(db.String(3), nullable=False)
    actual_departure = db.Column(db.DateTime(timezone=True), nullable=True)
    actual_arrival = db.Column(db.DateTime(timezone=True), nullable=True)

    def __init__(self, **kw):
        super().__init__(**kw)
        self._departure_airport_info: Optional[Airport] = None
        self._arrival_airport_info: Optional[Airport] = None

    def to_dc(self) -> "FlightDC":
        from app.avia.schemas import FlightDC

        flight = FlightDC.Schema().load({
            **self.__values__,
            "scheduled_departure":
            self.scheduled_departure.isoformat(),
            "scheduled_arrival":
            self.scheduled_arrival.isoformat(),
            "actual_departure":
            None if self.scheduled_arrival is None else
            self.actual_departure.isoformat(),
            "actual_arrival":
            None if self.actual_arrival is None else
            self.actual_arrival.isoformat(),
            "departure_airport_info":
            None if self._departure_airport_info is None else
            self._departure_airport_info.__values__,
            "arrival_airport_info":
            None if self._arrival_airport_info is None else
            self._arrival_airport_info.__values__,
        })
        return flight

    @property
    def departure_airport_info(self) -> Optional[Airport]:
        return self

    @departure_airport_info.setter
    def departure_airport_info(self, airport: Optional[Airport]):
        self._departure_airport_info = airport

    @property
    def arrival_airport_info(self) -> Optional[Airport]:
        return self

    @arrival_airport_info.setter
    def arrival_airport_info(self, airport: Optional[Airport]):
        self._arrival_airport_info = airport
Exemplo n.º 16
0
class Question(db.Model):
    __tablename__ = "questions"

    id = db.Column(db.Integer(), primary_key=True)
    theme = db.Column(db.String(50), nullable=False)
    title = db.Column(db.String(), nullable=False)
Exemplo n.º 17
0
class UserSession(db.Model):
    __tablename__ = "user_session"
    user_id = db.Column(db.Integer, db.ForeignKey("user.user_id"))
    session_id = db.Column(db.Integer, db.ForeignKey("session.id"))
    score = db.Column(db.Integer)
Exemplo n.º 18
0
class ThemeRound(db.Model):
    __tablename__ = "theme_round"
    theme_id = db.Column(db.Integer, db.ForeignKey("theme.id"))
    round_id = db.Column(db.Integer, db.ForeignKey("round.id"))
Exemplo n.º 19
0
class Theme(db.Model):
    __tablename__ = "theme"
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String)
Exemplo n.º 20
0
class Session(db.Model):
    __tablename__ = "session"
    id = db.Column(db.Integer, primary_key=True)
    chat_id = db.Column(db.Integer)
    status = db.Column(db.Integer)