Ejemplo n.º 1
0
class User(UserMixin, db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(64), index=True, unique=True)
    email = db.Column(db.String(120), index=True, unique=True)
    password_hash = db.Column(db.String(128))
    posts = db.relationship('Post', backref='author', lazy='dynamic')
    about_me = db.Column(db.String(140))

    def __repr__(self):
        """
		Returns the User as an account on the application.
		"""
        return '<User {}>'.format(self.username)

    def set_password(self, password):
        """
		Generates a hash to track the pasword for 'self' aka the user.
		"""
        self.password_hash = generate_password_hash(password)

    def check_password(self, password):
        """
		Checks the hash corresponding to the pasword for 'self' aka the user.
		"""
        return check_password_hash(self.password_hash, password)
Ejemplo n.º 2
0
class Meetings(UserMixin, db.Model):
	id = db.Column(db.Integer, primary_key=True)
	length = db.Column(db.String(7), index=True, default=datetime.utcnow)
	user_id = db.Column(db.Integer, db.ForeignKey('user.id'))

	def __repr__(self):
		return '<Meetings length {}>'.format(self.length)
Ejemplo n.º 3
0
class Users(db.Model, UserMixin):

    # __tablename__ = 'User'

    id = db.Column(db.Integer, primary_key=True)
    login = db.Column(db.String(120), nullable=False, unique=True)
    password = db.Column(db.String(255), nullable=False)
Ejemplo n.º 4
0
class UserCache(db.Model):
    """
    DB Model that holds member IDs in cached. Relationship with User (1) to many
    """
    __tablename__ = "usercache"
    cache_id = db.Column(db.String(16), primary_key=True)
    active = db.Column(db.Boolean, default=False)
    friendly_id = db.Column(db.Text)
    # We want a backref here so that any updates to user as well as UserCache are reflected on both ends
    user_id = db.Column(db.Integer, db.ForeignKey('users.id'))
    profiles = db.relationship('LinkedInRecord', secondary=Cache_Records, lazy=True,
                               backref=db.backref('caches', lazy=True))
    created = db.Column(db.DateTime, default=datetime.now())

    def __init__(self):
        self.cache_id = self.generate_string

    @property
    def generate_string(self):
        """

        :return: Random ascii letters (string)
        """
        l = ascii_letters
        holder = []
        for i in range(16):
            holder.append(l[random.randrange(0, len(l))])
        return ''.join(holder)
Ejemplo n.º 5
0
class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(64), index=True, unique=True)
    email = db.Column(db.String(128), index=True, unique=True)
    password_hash = db.Column(db.String(128))

    def set_password(self, password):
        self.password_hash = generate_password_hash(password)
Ejemplo n.º 6
0
class Tag(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    text = db.Column(db.String(32), nullable=False)

    message_id = db.Column(db.Integer,
                           db.ForeignKey('message.id'),
                           nullable=False)
    message = db.relationship('Message', backref=db.backref('tags', lazy=True))
Ejemplo n.º 7
0
class Post(UserMixin, db.Model):
    id = db.Column(db.Integer, primary_key=True)
    body = db.Column(db.String(256))
    timestamp = db.Column(db.DateTime, index=True, default=datetime.utcnow)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))

    def __repr__(self):
        return '<Posts {}>'.format(self.body)
Ejemplo n.º 8
0
class Summary(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    date = db.Column(db.Date, nullable=False)
    total_calories = db.Column(db.Integer, nullable=False)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)

    def __repr__(self):
        return f"Food('{self.date}', '{self.total_calories}')"
Ejemplo n.º 9
0
class Availability(UserMixin, db.Model):
    """
       Creates variable for user availability. 
    """
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(64), unique=True)
    time_Range = db.Column(db.String(128))
    meeting_Length = db.Column(db.String(128))
Ejemplo n.º 10
0
class Post(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    date_posted = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
    sentiment = db.Column(db.Float, nullable=False)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)

    def __repr__(self):
        return f"Post('{self.title}', '{self.date_posted}')"
Ejemplo n.º 11
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('Post', backref='author', lazy=True)

    def __repr__(self):
        return f"User('{self.username}')"
Ejemplo n.º 12
0
class Message(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    userMessage = db.Column(db.String(512), index=True)
    username = db.Column(db.String(64), index=True)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    userFrom = db.Column(db.String(64), index=True)

    def __repr__(self):
        return '<User {}>'.format(self.username)
Ejemplo n.º 13
0
class User(UserMixin, db.Model):
    """
        Creates the ID, username, email, and password_hash variables for each user. 
    """
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(64), index=True, unique=True)
    email = db.Column(db.String(128), index=True, unique=True)
    password_hash = db.Column(db.String(128))

    def set_password(self, password):
        self.password_hash = generate_password_hash(password, method='sha256')
Ejemplo n.º 14
0
class Message(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    text = db.Column(db.String(1024), nullable=False)
    create_date = db.Column(db.DateTime,
                            nullable=False,
                            default=datetime.utcnow)

    # date = db.Column(db.DateTime, onupdate=datetime.utcnow)

    def __init__(self, text, tags):  #, date):
        self.text = text.strip()
        self.tags = [Tag(text=tag.strip()) for tag in tags.split(',')]
Ejemplo n.º 15
0
class Appointments(db.Model):
    """
       Creates the variables for user appointments. 
    """
    id = db.Column(db.Integer, primary_key=True)
    creator = db.Column(db.String(64))
    name = db.Column(db.String(64))
    email = db.Column(db.String(64))
    time = db.Column(db.String(16))

    def __repr__(self):
        return '<Appointments: {}>'.format(self.body)
Ejemplo n.º 16
0
class Post(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    body = db.Column(db.String(256))
    timestamp = db.Column(db.DateTime, index=True, default=datetime.utcnow)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))

    def __repr__(self):
        ''' This function formats post.

            Returns:
                Will return a format.
        '''
        return '<Posts {}>'.format(self.body)
Ejemplo n.º 17
0
class Appointment(db.Model):
    __tablename__ = 'appointment'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String, index=True)
    phonenumber = db.Column(db.String, index=True)
    time = db.Column(db.Integer, index=True)
    timelength = db.Column(db.Integer, index=True)

    def __init__(self, name, phonenumber, time, timelength):
        self.name = name
        self.phonenumber = phonenumber
        self.time = time
        self.timelength = timelength
Ejemplo n.º 18
0
class User(db.Model):
    """ Build in function to modify

        Returns:
            print variable in string

        Changelog:
            4/19 Ali
            
            5/3 Dylan: Added events relationship
            5/10 Dylan: Added salt
        """
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(64), index=True, unique=True)
    email = db.Column(db.String(128), index=True, unique=True)
    salt = db.Column(db.String(32))
    password_hash = db.Column(db.String(256), default = 'fatal-error')
    start_time = db.Column(db.Time, default=datetime.time(9, 0))
    end_time = db.Column(db.Time, default=datetime.time(22, 0))
    meeting_length = db.Column(db.Integer, default=30)


    events = db.relationship('Event', backref='creator', lazy='dynamic')
    
    def __repr__(self):
        return '<User {}>'.format(self.username)
Ejemplo n.º 19
0
class User(UserMixin, db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(64), index=True, unique=True)
    family = db.Column(db.String(64), nullable=False)
    password_hash = db.Column(db.String(128))
    messages = db.relationship("Message", uselist=False, backref="user")

    def __repr__(self):
        return '<User {}>'.format(self.username)

    def set_password(self, password):
        self.password_hash = generate_password_hash(password)

    def check_password(self, password):
        return check_password_hash(self.password_hash, password)
Ejemplo n.º 20
0
class Food(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(100), nullable=False)
    date = db.Column(db.Date, nullable=False)
    quantity = db.Column(db.Integer, nullable=False)
    calories = db.Column(db.Integer, nullable=False)
    carbon = protein = db.Column(db.Integer, nullable=True)
    protein = db.Column(db.Integer, nullable=True)
    fat = db.Column(db.Integer, nullable=True)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)

    def __repr__(self):
        return f"Food('{self.name}', '{self.date}','{self.calories}','{self.quantity}')"
Ejemplo n.º 21
0
class Event(db.Model):
    '''
    Event database
    @id unique id required for database
    @user_id user's id that the event is for
    @datetime date and time of the meeting
    @guest_name name input by the person requesting the meeting
    @description description of the meeting

    Changelog:
        5/3 Dylan: Initial Implementation
    '''

    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), index=True)
    datetime = db.Column(db.DateTime(), index=True)
    guest_name = db.Column(db.String(64), index=True)
    description = db.Column(db.String(256), default = '')

    def __repr(self):
        return f'<Datetime: {datetime}, Guest: {guest_name}>'
Ejemplo n.º 22
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('Post', backref='author', lazy=True)

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

    @staticmethod
    def verify_reset_token(token):
        s = Serializer(app.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}', '{self.email}', '{self.image_file}')"
Ejemplo n.º 23
0
class User(UserMixin, db.Model):
    '''This class models a user of this application and will hold a users Username and password hash'''
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(64), index=True, unique=True)
    email = db.Column(db.String(128), index=True, unique=True)
    sendEmailConfirm = db.Column(db.String(128))
    password_hash = db.Column(db.String(128))
    availability = db.relationship("Availability", uselist=False, backref="user")
    meetings = db.relationship("Meetings", uselist=False, backref="user")
    appointments = db.relationship("listOfMeetings", uselist=False, backref="user")
    usercal = db.relationship("CustomHTMLCalendar", uselist=False, backref="user")
    posts = db.relationship('Post', backref="user")

    def __repr__(self):
        return '<User {}>'.format(self.username)

    def print_username(self):
        return '{}'.format(self.username)

    def set_password(self, password):
        ''' This functions generates a hash based on a users account password.

            Args:
                 password (String) : The password that a user chooses to associate with their account.
        '''
        self.password_hash = generate_password_hash(password)

    def check_password(self, password):
        ''' This function checks if a input password corresponds with the hash associated with the account.

            Args:
                 password (String) : The password that will be checked.

            Returns:
                    True if the password corresponds with the hash associated with the users account.
        '''
        return check_password_hash(self.password_hash, password)
Ejemplo n.º 24
0
class CustomHTMLCalendar(UserMixin, HTMLCalendar, db.Model):
    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    # It's not being linked to the other table

    username = ""
    def set_username(self, user):
        self.username = user

    def formatday(self, day, weekday):
        """This method returns a line of html that is used to create the calendar. Each date of the calendar is a link that will open a new page and redirect you to google.com
           This link can be changed to redirect to another website later on.

           Args:
                day (String): The date, such as 1, 2, 3 etc.
                weekday (String): The day of the week such as mon, tue, wed, etc.
           Returns:
                   A string corresponding to the html code that should be written for each day in the month. If the day is 0, this method will return html code to be blank.
                   If the day is within the date range of the month, the method will return the html to represent the day of the month with each day being a link.
        """
        if day == 0:
            return '<td class="noday">&nbsp;</td>' # day outside month
        else:
            return '<td class="%s"><a href="%s" target="_blank">%d</a></td>' % (self.cssclasses[weekday], "{}/{}".format(self.username, day), day)
Ejemplo n.º 25
0
class Contact(db.Model):

    __tablename__ = "contacts"

    id = db.Column(db.Integer, primary_key=True)
    is_email = db.Column(db.Boolean)
    is_website = db.Column(db.Boolean)
    is_personal = db.Column(db.Boolean)
    address = db.Column(db.Text)
    profile_id = db.Column(db.Integer, db.ForeignKey('profiles.member_id'))
Ejemplo n.º 26
0
class listOfMeetings(UserMixin, db.Model):
    id = db.Column(db.Integer, primary_key=True)
    meetingDate = db.Column(db.String)
    meetingTime = db.Column(db.String)
    descriptionOfMeeting = db.Column(db.String(150))
    participants = db.Column(db.String(64))
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))

    def __repr__(self):
        return '<Appointment with{}, on {} from {}>'.format(self.participants, self.meetingDate, self.meetingTime)
Ejemplo n.º 27
0
class UserActivity(db.Model):

    __tablename__ = "useractivity"

    id = db.Column(db.Integer, primary_key=True)
    active = db.Column(db.Boolean, default=True)
    created = db.Column(db.DateTime, default=datetime.now())
    # Tally from /profiles/
    new_records = db.Column(db.Integer, default=0)
    # Tally from /prune/
    borrowed_records = db.Column(db.Integer, default=0)
    user_id = db.Column(db.Integer, db.ForeignKey('users.id'))
Ejemplo n.º 28
0
class Event(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(64), index=True)
    eventDate = db.Column(db.String(32), index=True)
    eventTime = db.Column(db.String(32), index=True)
    militaryTime = db.Column(db.String(32), index=True)
    guestname = db.Column(db.String(64), index=True)
    description = db.Column(db.String(128), index=True)

    def __repr__(self):
        ''' This function will format username
        
            Returns:
                Will return a username.
        '''
        return '<User {}>'.format(self.username)
Ejemplo n.º 29
0
class User(UserMixin, db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(64), index=True, unique=True)
    email = db.Column(db.String(128), index=True, unique=True)
    password_hash = db.Column(db.String(128))
    emailConfirmation = db.Column(db.String(2), index=True)
    meetingLength = db.Column(db.String(32), index=True)
    availabilityStart = db.Column(db.String(32), index=True)
    availabilityEnd = db.Column(db.String(32), index=True)

    posts = db.relationship('Post', backref='author', lazy='dynamic')

    def __repr__(self):
        ''' This function will format username
        
            Returns:
                Will return a username.
        '''
        return '<User {}>'.format(self.username)

    def set_password(self, password):
        ''' This function will generate a password hash.

            Args:
                password (string) : The user's password
        '''
        self.password_hash = generate_password_hash(password)

    def check_password(self, password):
        ''' This function will check if password is valid
        
            Args:
                password (string) : The user's password

            Returns:
                Will return true or false depending on if the password is valid.
        '''
        return check_password_hash(self.password_hash, password)
Ejemplo n.º 30
0
class User(UserMixin, db.Model):
    """Contain the user details."""

    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(256), unique=True)