Beispiel #1
0
class Game(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    player1 = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
    score1 = db.Column(db.Integer, unique=False, nullable=False, default=0)
    player2 = db.Column(db.Integer, db.ForeignKey('user.id'),
                        nullable=False)  # need to take a look at this
    score2 = db.Column(db.Integer, unique=False, nullable=False, default=0)
    done = db.Column(db.Boolean, unique=False, nullable=False, default=False)
    over = db.Column(db.Boolean, unique=False, nullable=False, default=False)
Beispiel #2
0
class Connection(db.Model):
    __tablename__ = "Connection"
    conn_id = db.Column(db.Integer, primary_key=True)
    dev_id = db.Column(db.Integer, db.ForeignKey("Device.dev_id"))
    service_id = db.Column(db.Integer, db.ForeignKey("Service.service_id"))
    gateway_id = db.Column(db.Integer, db.ForeignKey("Gateway.gateway_id"))
    rssi = db.Column(db.Float)
    snr = db.Column(db.Float)

    devices = db.relationship("Device", foreign_keys=dev_id)
    services = db.relationship("Service", foreign_keys=service_id)
    gateways = db.relationship("Gateway", foreign_keys=gateway_id)

    def __repr__(self) -> str:
        return f"<Connection {self.conn_id}>"
class Astronaut(db.Model):
    """ Define the model of Astronaut user

    Args:
        Form: Inherits the db.Model library

    Returns:
        None

    Attributes:
        id - Primary key, must be an integer
        name - Must be string of max length 30
        username - Can't be null, can be only one in the database, up to 80 characters
        email - Must be unique, can't be null and it's string of max 120 characters
        password - Password is a string of max 180 characters, can't be null
        admin_id - Integer which is an ID of admin, who created current user

    """
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(30))
    username = db.Column(db.String(80), unique=True, nullable=False)
    email = db.Column(db.String(120), unique=True, nullable=False)
    password = db.Column(db.String(180), unique=False, nullable=False)

    admin_id = db.Column(db.Integer, db.ForeignKey('admin.id'), nullable=False)
    # astronauts need to have the admin ID's that created them
    admin = db.relationship('Admin', backref=db.backref('admins'))

    #Method returning string as representation of the object
    def __repr__(self):
        return '<Astronaut %r>' % self.username
Beispiel #4
0
class Task(db.Model):
	id = db.Column(db.Integer, primary_key=True)
	title = db.Column(db.String(30))
	description = db.Column(db.String(200))
	complete = db.Column(db.Boolean, nullable=False, default=False)
	due = db.Column(db.DateTime, nullable=True)
	user = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
Beispiel #5
0
class Vote(db.Model):
    VoteId = db.Column(UUID(as_uuid=True), unique=True, primary_key=True)
    PoliticalPartyID = db.Column(db.CHAR(38),
                                 db.ForeignKey('party.UId'),
                                 nullable=False)
    VoteStatus = db.Column(TINYINT(1), default=0)
    VoteTimestamp = db.Column(db.DATETIME(), nullable=False)

    def __repr__(self):
        return f"Vote('{self.VoteStatus}')"
Beispiel #6
0
class Posts(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(100), nullable=False, unique=True)
    content = db.Column(db.String(500), nullable=False)
    date_posted = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
    user_id = db.Column(db.Integer, db.ForeignKey("users.id"), nullable=False)

    def __repr__(self):
        return "".join([
            "User ID: ", self.user_id, "\r\n",
            "Title: ", self.title, "\r\n", self.content
            ])
Beispiel #7
0
class Device(db.Model):
    __tablename__ = "Device"
    dev_id = db.Column(db.Integer, primary_key=True)
    device_name = db.Column(db.String)
    latitude = db.Column(db.Float)
    longitude = db.Column(db.Float)
    altitude = db.Column(db.Float)
    location = db.Column(db.String)
    user_id = db.Column(db.Integer, db.ForeignKey("TTN_User.user_id"))
    users = db.relationship("TTN_User", foreign_keys=user_id)

    def __repr__(self) -> str:
        return f"<Device {self.dev_id}>"
class Bill(db.Model):
    __tablename__ = "Bills"

    id = db.Column(db.Integer, primary_key=True)

    client_id = db.Column(db.Integer, db.ForeignKey(Client.id))

    subject = db.Column(db.String(256), nullable=False)
    date = db.Column(db.Date, nullable=False)
    expiration = db.Column(db.Date, nullable=False)
    price = db.Column(db.Float(precision=2), nullable=False)
    cash = db.Column(db.Boolean, nullable=False)
    paid = db.Column(db.Boolean, nullable=False)
Beispiel #9
0
class Service(db.Model):
    __tablename__ = "Service"
    service_id = db.Column(db.Integer, primary_key=True)
    time = db.Column(db.String)
    status = db.Column(db.Integer)
    water_ml = db.Column(db.Integer)
    countdown_timer = db.Column(db.Integer)
    water_counter = db.Column(db.Integer)
    voltage_max = db.Column(db.Float)
    voltage_min = db.Column(db.Float)
    current_max = db.Column(db.Float)
    current_min = db.Column(db.Float)
    dev_id = db.Column(db.Integer, db.ForeignKey("Device.dev_id"))
    devices = db.relationship("Device", foreign_keys=dev_id)

    def __repr__(self) -> str:
        return f"<Service {self.service_id}>"
Beispiel #10
0
class ChessPuzzle(db.Model):
    __tablename__ = 'Puzzles'

    puzzle_id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    description = db.Column(db.String(200))
    fen = db.Column(db.String(250), nullable=False)
    solution = db.Column(db.String(250), nullable=False)
    type_id = db.Column(db.Integer, db.ForeignKey('PuzzleTypes.type_id'))

    def __eq__(self, other):
        eq_puzzle_id = self.puzzle_id == other.puzzle_id
        eq_description = self.description == other.description
        eq_fen = self.fen == other.fen
        eq_solution = self.solution == other.solution
        eq_type = self.type_id == other.type_id

        return eq_puzzle_id and eq_description and eq_fen and eq_solution and eq_type

    def __str__(self):
        return " id: %s\n descr: %s\n fen: %s\n solution: %s\n type_id: %s\n\n" \
               % (self.puzzle_id, self.description, self.fen, self.solution, self.type_id)
Beispiel #11
0
from Application import db, login_manager, application
from flask_login import UserMixin
from itsdangerous import TimedJSONWebSignatureSerializer as Serializer


@login_manager.user_loader  # loads in user
def load_user(user_id):
    return User.query.get(int(user_id))


# Association Tables
friends = db.Table(
    'friends', db.Column('self_id', db.Integer, db.ForeignKey('user.id')),
    db.Column('friend_id', db.Integer, db.ForeignKey('user.id')))
game_table = db.Table(
    'games', db.Column("user_id", db.Integer, db.ForeignKey('user.id')),
    db.Column("game_id", db.Integer, db.ForeignKey('game.id')))


# Models
class Game(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    player1 = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
    score1 = db.Column(db.Integer, unique=False, nullable=False, default=0)
    player2 = db.Column(db.Integer, db.ForeignKey('user.id'),
                        nullable=False)  # need to take a look at this
    score2 = db.Column(db.Integer, unique=False, nullable=False, default=0)
    done = db.Column(db.Boolean, unique=False, nullable=False, default=False)
    over = db.Column(db.Boolean, unique=False, nullable=False, default=False)

Beispiel #12
0
class Account(db.Model):
    __tablename__ = credentials.tablename
    id = db.Column(db.Integer, primary_key=True)
    provider = db.Column(db.String)
    username = db.Column(db.String)
    password = db.Column(db.String)
    passwordlength = db.Column(db.Integer)
    definedcharacter = db.Column(db.String)
    question = db.Column(db.String)
    answer = db.Column(db.String)
    lastmodify = db.Column(db.DateTime)
    userid = db.Column(db.ForeignKey('user.id'))

    # Get dict from Account object.
    def getDict(self, keyList):
        origin = self.__dict__
        object = dict()
        for key in keyList:
            object[key] = origin[key]

        return object

    # Get a dict object of an account with the given id (primary key).
    @staticmethod
    def getDictOf(id, keyList):
        return Account.query.get(id).getDict(keyList)

    # Get all Account objects from database as a dictionary.
    # Dictionaries get values of keyList.
    @staticmethod
    def getObjList(keyList):
        accounts = Account.query.filter_by(userid=current_user.id).all()
        list = []
        for account in accounts:
            object = account.getDict(keyList)
            list.append(object)

        return list

    # Modify a database entry
    @staticmethod
    def modifyDBAccount(accountDict):
        account = Account.query.get(accountDict['id'])
        account.lastmodify = datetime.datetime.today()
        a = account.__dict__
        for key in accountDict:
            if key in a and a[key] != accountDict[key]:
                account.__setattr__(key, accountDict[key])
        db.session.commit()

    @staticmethod
    def insertAccount(accountDict):
        accountDict['lastmodify'] = datetime.datetime.today()
        accountDict['userid'] = current_user.id
        account = Account()
        for key in accountDict:
            account.__setattr__(key, accountDict[key])
        db.session.add(account)
        db.session.commit()

        return account.id

    @staticmethod
    def deleteAccount(id):
        account = Account.query.get(id)
        db.session.delete(account)
        db.session.commit()
Beispiel #13
0
        return account.id

    @staticmethod
    def deleteAccount(id):
        account = Account.query.get(id)
        db.session.delete(account)
        db.session.commit()


# ----------------------------------------------------------------------------------------
#   Flask Security
# ----------------------------------------------------------------------------------------
roles_users = db.Table(
    'roles_users', db.Column('user_id', db.Integer(),
                             db.ForeignKey('user.id')),
    db.Column('role_id', db.Integer(), db.ForeignKey('role.id')))


class Role(db.Model, RoleMixin):
    id = db.Column(db.Integer(), primary_key=True)
    name = db.Column(db.String(80), unique=True)
    description = db.Column(db.String(255))


class User(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(50), unique=True)
    email = db.Column(db.String(255), unique=True)
    password = db.Column(db.String(255))
    active = db.Column(db.Boolean())