from app.main.data_management.data_base import *
import app.main.data_model.games.pv_pharma5.pv5_avatar
from datetime import date

from app.main.util.helpers import id_generator


class PV5Mission(Schema.base):
    __tablename__ = 'pv5_mission'

    id = Column(INTEGER(11), primary_key=True, nullable=False)
    name = Column(String(200))
    fonction = Column(String(200))
    start_date = Column(Date, nullable=True)
    finish_date = Column(Date, nullable=True)
    certificat_number = Column(String(20))

    user_id = Column(ForeignKey('user.id'), nullable=False, index=True)
    avatar_id = Column(ForeignKey('pv5_avatar.id'), nullable=False, index=True)
    game_session_id = Column(ForeignKey('game_session.id'), nullable=False, index=True)
    game_session = relationship('GameSession')
    user = relationship('User')
    avatar = relationship('PV5Avatar')


    def __init__(self, name, fonction,  game_session_id, user_id, avatar_id=1, finish_date=None):
        self.name = name
        self.fonction = fonction
        self.game_session_id = game_session_id
        self.user_id = user_id
        self.avatar_id = avatar_id
        self.finish_date = finish_date
        self.start_date = date.today()
        self.certificat_number = id_generator().upper()

