class TimeDecaySolves(db.Model):
    __table_args__ = (db.UniqueConstraint('chalid', 'teamid'), {})
    id = db.Column(db.Integer, primary_key=True)
    chalid = db.Column(db.Integer, db.ForeignKey('challenges.id'))
    teamid = db.Column(db.Integer, db.ForeignKey('teams.id'))
    decayed_value = db.Column(db.Integer)

    def __init__(self, chalid, teamid, decayed_value):
        self.chalid = chalid
        self.teamid = teamid
        self.decayed_value = decayed_value

    def __repr__(self):
        return '<time-decay-solve {}, {}, {}, {}, {}, {}>'.format(self.id, self.chalid, self.teamid, self.decayed_value)
class Partialsolve(db.Model):
    __table_args__ = (db.UniqueConstraint('chalid', 'teamid'), {})
    id = db.Column(db.Integer, primary_key=True)
    chalid = db.Column(db.Integer, db.ForeignKey('challenges.id'))
    teamid = db.Column(db.Integer, db.ForeignKey('teams.id'))
    ip = db.Column(db.String(46))
    flags = db.Column(db.Text)
    date = db.Column(db.DateTime, default=datetime.datetime.utcnow)
#    team = db.relationship('Teams', foreign_keys="Solves.teamid", lazy='joined')
#    chal = db.relationship('Challenges', foreign_keys="Solves.chalid", lazy='joined')

    def __init__(self, teamid, chalid, ip, flags):
        self.ip = ip
        self.chalid = chalid
        self.teamid = teamid
        self.flags = flags

    def __repr__(self):
        return '<solve {}, {}, {}, {}>'.format(self.teamid, self.chalid, self.ip, self.flags)    
Exemplo n.º 3
0
class DiscordUser(db.Model):
    __tablename__ = "discorduser"
    __table_args__ = (db.UniqueConstraint("id"), {})

    # Core variables
    id = db.Column(db.BigInteger, primary_key=True,
                   unique=True)  # Discord ID, int64
    # Discord Username 2-32 characters
    username = db.Column(db.String(128),
                         db.ForeignKey("users.name", ondelete="CASCADE"))
    discriminator = db.Column(db.Integer)  # Discriminator ID, 4 digits
    avatar_hash = db.Column(
        db.String(256))  # Avatar hash, no known limit, 33 from samples
    mfa_enabled = db.Column(db.Boolean)
    verified = db.Column(db.Boolean)
    email = db.Column(db.String(256))

    def __init__(self, **kwargs):
        super(DiscordUser, self).__init__(**kwargs)