Example #1
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)
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
Example #3
0
class Officials(UserMixin, db.Model):
    OfficialUId = db.Column(UUID(as_uuid=True), unique=True, primary_key=True)
    FirstName = db.Column(db.String(50), nullable=False)
    Surname = db.Column(db.String(50), nullable=False)
    email = db.Column(db.String(255), unique=True, nullable=False)
    PwdHash = db.Column(db.String(255), nullable=False)
    IsAdmin = db.Column(TINYINT(1), default=0)

    @property
    def password(self):
        raise AttributeError('password is not a readable attribute')

    def get_id(self):
        try:
            return text_type(self.OfficialUId)
        except AttributeError:
            raise NotImplementedError(
                'No `UserUId` attribute - override `get_id`')

    def verify_password(self, password):
        return self.PwdHash == password

    def check_admin_status(self):
        if IsAdmin == 1:
            return True
        else:
            return False

    @login_manager.user_loader
    def load_user(OfficialUId):
        return Officials.query.get(str(OfficialUId))

    def __repr__(self):
        return f"User('{self.FirstName}','{self.Surname}', '{self.Email}', '{self.PwdHash}', '{self.IsAdmin}')"
class OveralStatus(db.Model):
    """ Define the model of Sensors for the engineering database

    Args:
        Form: Inherits the db.Model library

    Returns:
        None

    Attributes:
        __bind_key__ - Contains name of the database
        id - Primary key, must be an integer
        fire - String, up to 30 characters
        electrical - String, up to 30 characters
        temperature - String, up to 30 characters
        oxygen - String, up to 30 characters

    """
    __bind_key__ = 'engineering_db'
    id = db.Column(db.Integer, primary_key=True)
    fire = db.Column(db.String(30))
    electrical = db.Column(db.String(30))
    temperature = db.Column(db.String(30))
    oxygen = db.Column(db.String(30))

    #method returning string as representation of the object
    def __repr__(self):
        return '<Overal_Status %r>' % self.fire
class Admin(db.Model):
    """ Define the model of Admin for database

    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
        
    """
    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)

    #Method returning string as representation of the object
    def __repr__(self):
        return '<Admin %r>' % self.username
Example #6
0
class User(db.Model, UserMixin):
	id = db.Column(db.Integer, primary_key=True)
	username = db.Column(db.String(20), unique=True, nullable=False)
	email = db.Column(db.String(120), unique=True, nullable=False)
	password = db.Column(db.String(60), nullable=False)
	#character/game details not changeable by user
	energy = db.Column(db.Integer, nullable=False, default=100)
	sanity = db.Column(db.Integer, nullable=False, default=100)
	grades = db.Column(db.Integer, nullable=False, default=100)
	progress = db.Column(db.String(2), nullable=False, default='a1')

	def get_reset_token(self, expires_sec=1800):
		s = Serializer(application.config['SECRET_KEY'], expires_sec)
		return s.dumps({'user_id': self.id}).decode('utf-8')

	@staticmethod
	def verify_reset_token(token):
		s = Serializer(application.config['SECRET_KEY'])
		try:
			user_id = s.loads(token)['user_id']
		except:
			return None
		return User.query.get(user_id)

	def is_dead(self):
		return self.energy <= 0

	def __repr__(self):
		return f"User('{self.username}','{self.progress}', '{self.energy}', '{self.sanity}', '{self.grades}')"
Example #7
0
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())
    confirmed_at = db.Column(db.DateTime())
    roles = db.relationship('Role',
                            secondary=roles_users,
                            backref=db.backref('users', lazy='dynamic'))
Example #8
0
class User(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(20), unique=True, nullable=False)
    firstName = db.Column(db.String(60), nullable=False)
    address = db.Column(db.String(100), nullable=False)
    email = db.Column(db.String(120), unique=True, nullable=False)

    password = db.Column(db.String(60), nullable=False)

    def __repr__(self):
        return f"User('{self.username}', '{self.email}',)"
Example #9
0
class Users(UserMixin, db.Model):
    UserUId = db.Column(UUID(as_uuid=True),
                        unique=True,
                        primary_key=True,
                        default=db.text("uuid()"))
    EligibleToVote = db.Column(TINYINT(1), default=0)
    email = db.Column(db.String(255), unique=True, nullable=False)
    PwdHash = db.Column(db.String(255), nullable=False)
    HasVoted = db.Column(TINYINT(1), default=0)

    def __repr__(self):
        return f"User('{self.EligibleToVote}', '{self.Email}')"
Example #10
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
            ])
Example #11
0
class Users(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    first_name = db.Column(db.String(30), nullable=False)
    last_name = db.Column(db.String(30), nullable=False)
    email = db.Column(db.String(100), nullable=False, unique=True)
    password = db.Column(db.String(500), nullable=False)
    posts = db.relationship("Posts", backref="author", lazy=True)

    def __repr__(self):
        return "".join(["UserID: ", str(self.id), "\r\n", 
        "Email: ", self.email, "\r\n",
        "Name: ", self.first_name, " ", self.last_name
        ])
Example #12
0
class Client(db.Model):
    __tablename__ = "Clients"

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

    name = db.Column(db.String(100), nullable=False)
    street = db.Column(db.String(256), nullable=False)
    street_number = db.Column(db.String(6), nullable=False)
    postal_code = db.Column(db.Integer, nullable=False)
    city = db.Column(db.String(256), nullable=False)

    firm = db.Column(db.Boolean, nullable=True)
    vat_number = db.Column(db.String(20), nullable=True)
Example #13
0
class FormModel(db.Model):

    __tablename__ = 'Example'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(50), nullable=False, unique=True)

    def __repr__(self):
        return '<Example {}>'.format(self.name)
class Official(db.Model, UserMixin):
    officialuid = db.Column(db.Integer, primary_key=True)
    firstname = db.Column(db.String(50), nullable=False)
    surname = db.Column(db.String(50), nullable=False)
    email = db.Column(db.String(240), unique=True, nullable=False)
    password = db.Column(db.String(255), nullable=False)

    def get_id(self):
        try:
            return str(self.officialuid)
        except AttributeError:
            raise NotImplementedError('No `UId` attribute - override `get_id`')

    def __repr__(self):
        return f"User('{self.email}')"

    def verify_password(self, password):
        return self.password == password
Example #15
0
class User(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(20), unique=True, nullable=False)
    email = db.Column(db.String(120), unique=True, nullable=False)
    password = db.Column(db.String(60), nullable=False)
    games_won = db.Column(db.Integer(), nullable=False, default=0)
    friend_list = db.relationship("User",
                                  secondary=friends,
                                  primaryjoin=(friends.c.self_id == id),
                                  secondaryjoin=(friends.c.friend_id == id),
                                  backref=db.backref('friends',
                                                     lazy='dynamic'),
                                  lazy='dynamic')
    games = db.relationship("Game",
                            secondary=game_table,
                            backref=db.backref('games', lazy='dynamic'))

    def add_friend(self, user):  # allows user to add a friend and updates db
        if not self.is_friends(user) and self.id != user.id:
            self.friend_list.append(user)
            user.friend_list.append(self)

    def is_friends(self, user):  # checks if users are already friends
        return self.friend_list.filter(
            friends.c.friend_id == user.id).count() > 0

    def get_reset_token(self, expires_sec=1800):  # for resetting password
        s = Serializer(application.config['SECRET_KEY'], expires_sec)
        return s.dumps({'user_id': self.id}).decode('utf-8')

    @staticmethod
    def verify_reset_token(token):  # verifies correct token for reset password
        s = Serializer(application.config['SECRET_KEY'])
        try:
            user_id = s.loads(token)['user_id']
        except:
            return None
        return User.query.get(user_id)

    def __repr__(self):
        return f"User('{self.username}'')"
Example #16
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)
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)
Example #18
0
class User(db.Model, UserMixin):
	id = db.Column(db.Integer, primary_key=True)
	username = db.Column(db.String(20), unique=True, nullable=False)
	email = db.Column(db.String(120), unique=True, nullable=False)
	password = db.Column(db.String(60), nullable=False)
	posts = db.relationship('Task', backref='author', lazy=True)

	def get_reset_token(self, expires_sec=1800):
		s = Serializer(application.config['SECRET_KEY'], expires_sec)
		return s.dumps({'user_id': self.id}).decode('utf-8')

	@staticmethod
	def verify_reset_token(token):
		s = Serializer(application.config['SECRET_KEY'])
		try:
			user_id = s.loads(token)['user_id']
		except:
			return None
		return User.query.get(user_id)

	def __repr__(self):
		return f"User('{self.username}')"
class User(db.Model):
    __tablename__ = "Users"

    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(40), nullable=False, unique=False)
    email = db.Column(db.String(40), unique=True, nullable=False)
    password = db.Column(db.String(200), unique=False, nullable=False)
    created_on = db.Column(db.DateTime,
                           index=False,
                           unique=False,
                           nullable=True)
    admin = db.Column(db.Boolean, nullable=False, unique=False)

    def set_password(self, password):
        """Create hashed password."""
        self.password = generate_password_hash(password, method="sha256")

    def check_password(self, password):
        """Check hashed password."""
        return check_password_hash(self.password, password)

    def __repr__(self):
        return "<User {}>".format(self.username)
Example #20
0
class PuzzleType(db.Model):
    __tablename__ = 'PuzzleTypes'

    type_id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    description = db.Column(db.String(100), nullable=False)
Example #21
0
class PoliticalParty(db.Model):
    UId = db.Column(UUID(as_uuid=True), unique=True, primary_key=True)
    Name = db.Column(db.String(255), nullable=False)

    def __repr__(self):
        return f"PoliticalParty('{self.Name}')"
Example #22
0
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 Election(db.Model, UserMixin):
    title = db.Column(db.String(255), nullable=False, primary_key=True)
    election_date = db.Column(db.DATE, nullable=False)
    start_time = db.Column(db.TIME, nullable=False)
    end_time = db.Column(db.TIME, nullable=False)
class Candidates(db.Model, UserMixin):
    title = db.Column(db.String(60), primary_key=True)