Example #1
0
class ServiceProvider(User):
    __tablename__ = 'service_provider'
    id = db.Column(db.Integer, db.ForeignKey('user.id'), primary_key=True)
    projects = db.relationship('AssociationServiceProviderProject',
                               back_populates='service_provider')
    proposals = db.relationship('AssociationServiceProviderProposal',
                                back_populates='service_provider')
    skills = db.Column(db.String(100), nullable=False)
    curriculum = db.Column(db.String(1000), nullable=False)
    proposal_id = db.Column(db.Integer, db.ForeignKey('proposal.id'))
    cost_per_project = db.Column(db.Float, nullable=False)
    __mapper_args__ = {
        'polymorphic_identity': 'service_provider',
    }

    def __init__(self, name, email, password, skills, curriculum,
                 cost_per_project):
        User.__init__(self, name, email, password)
        self.skills = skills
        self.curriculum = curriculum
        self.cost_per_project = cost_per_project

    def __repr__(self):
        return "Service Provider('{}', '{}', '{}', '{}', '{}', '{}', '{}')".format(
            self.id, self.name, self.skills, self.type, self.projects,
            self.cost_per_project, self.proposals)
Example #2
0
class UserRoles(db.Model):
    __tablename__ = 'user_roles'
    id = db.Column(db.Integer(), primary_key=True)
    user_id = db.Column(db.Integer(),
                        db.ForeignKey('users.id', ondelete='CASCADE'))
    role_id = db.Column(db.Integer(),
                        db.ForeignKey('roles.id', ondelete='CASCADE'))
Example #3
0
class Project(Base):
    __tablename__ = 'project'
    id = db.Column(db.Integer, primary_key=True, nullable=False)
    cost = db.Column(db.Float, nullable=False)
    final_date = db.Column(db.Date, nullable=False)
    spending = db.Column(db.Float, nullable=False)
    tasks_completed = db.Column(db.Integer, nullable=True)
    finalized = db.Column(db.Boolean, unique=False, default=False)
    # Relationships
    client_id = db.Column(db.Integer,
                          db.ForeignKey('client.id'),
                          nullable=False)
    service_providers = db.relationship('AssociationServiceProviderProject',
                                        back_populates='project')
    demand_id = db.Column(db.Integer,
                          db.ForeignKey('demand.id'),
                          nullable=False)
    origin_demand = db.relationship('Demand', foreign_keys=[demand_id])

    # team
    # demand = db.relationship('Demand', uselist=False)
    # problems_solved
    # tasks_completed

    def __repr__(self):
        return "Project('{}', '{}', '{}', '{}', '{}', '{}', '{}')".format(
            self.id, self.cost, self.final_date, self.spending, self.client_id,
            self.service_providers, self.origin_demand)
Example #4
0
class Message(db.Model):
    __tablename__ = 'messages'

    id = db.Column(db.Integer, primary_key=True)
    content = db.Column(db.Text, nullable=False)
    time_date = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
    is_read = db.Column(db.Boolean, nullable=False, default=False)
    user_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False)
    chat_id = db.Column(db.Integer, db.ForeignKey('chats.id'), nullable=False)

    def __repr__(self):
        return f"<Message {self.content} {self.time_date}>"
Example #5
0
class ProductMovement(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    date = db.Column(db.String(15), nullable=False)
    fromLocationId = db.Column(db.Integer, db.ForeignKey(Location.id))
    toLocationId = db.Column(db.Integer, db.ForeignKey(Location.id))
    productId = db.Column(db.Integer, db.ForeignKey(Product.id))
    fromLocation = db.relationship(Location, foreign_keys=[fromLocationId])
    toLocation = db.relationship(Location, foreign_keys=[toLocationId])
    productName = db.relationship(Product, foreign_keys=[productId])
    productQuantity = db.Column(db.Integer,
                                db.CheckConstraint('productQuantity > 0'))

    def __repr__(self):
        return f'{self.date}\t{self.fromLocation}\t{self.toLocation}\t{self.productName}\t{self.productQuantity}'
Example #6
0
class Ticket_Info(db.Model):
    __tablename__ = 'ticket_info'
    ticket_id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False)
    flight_id = db.Column(db.Integer, db.ForeignKey('flight.flight_id'))
    flight_departure_date = db.Column(
        db.String(120), db.ForeignKey('flight_details.flight_departure_date'))
    status = db.Column(db.String(20), nullable=False)
    idNo = db.Column(db.String(20), nullable=True)
    name = db.Column(db.String(120), nullable=True)
    lastname = db.Column(db.String(120), nullable=True)
    birthday = db.Column(db.String(120), nullable=True)
    mail = db.Column(db.String(120), nullable=True)
    phone = db.Column(db.String(120), nullable=True)
Example #7
0
class Demand(Base):
    __tablename__ = 'demand'
    id = db.Column(db.Integer, primary_key=True, nullable=False)
    name = db.Column(db.String(100), nullable=False)
    description = db.Column(db.String(1000), nullable=False)
    funcionalities = db.Column(db.String(300), nullable=False)
    platform = db.Column(db.String(100), nullable=False)
    final_date = db.Column(db.Date, nullable=False)
    proposals = db.relationship('Proposal', backref='demand', lazy=True)
    project = db.relationship('Project', backref='demand', lazy=True)
    client_id = db.Column(db.Integer,
                          db.ForeignKey('client.id'),
                          nullable=False)

    # project = db.relationship('Project', uselist=False)
    # project_id = db.Column(db.Integer, db.ForeignKey('project.id'))

    def __init__(self, name, description, funcionalities, platform, final_date,
                 client_id):
        self.name = name
        self.description = description
        self.funcionalities = funcionalities
        self.platform = platform
        self.final_date = final_date
        self.client_id = client_id

    def __repr__(self):
        return "Demand('{}', '{}', '{}', '{}', '{}', '{}', '{}')".format(
            self.id, self.name, self.description, self.funcionalities,
            self.platform, self.final_date, self.client_id)
Example #8
0
class Integrator(User):
    __tablename__ = 'integrator'
    id = db.Column(db.Integer, db.ForeignKey('user.id'), primary_key=True)

    __mapper_args__ = {
        'polymorphic_identity': 'integrator',
    }
Example #9
0
class User(db.Model):
	id = db.Column(db.Integer, primary_key=True)
	nickname = db.Column(db.String(120), index=True, unique=True)
	password = db.Column(db.String(255))
	## 1>n relationship to class File, allow file to backref user
	files = db.relationship('File',backref='user',lazy='dynamic')
	rank_id = db.Column(db.Integer, db.ForeignKey('rank.id'))
	mb_used = db.Column(db.Integer)

	########## uses flask_login extension
	@property
	def is_authenticated(self):
		return True
	@property
	def is_active(self):
		return True
	@property
	def is_anonymous(self):
		return False

	def get_id(self):
		return str(self.id)

	def __repr__(self):
		return 'User %r' % (self.nickname)
Example #10
0
class AssociationServiceProviderProject(Base):
    __tablename__ = 'association-service_provider-project'
    service_provider_id = db.Column(db.Integer, db.ForeignKey('service_provider.id'), primary_key=True)
    project_id = db.Column(db.Integer, db.ForeignKey('project.id'), primary_key=True)
    service_provider = db.relationship('ServiceProvider', back_populates='projects')
    project = db.relationship('Project', back_populates='service_providers')

    def __init__(self, project, service_provider):
        self.project = project
        self.project_id = project.id
        self.service_provider = service_provider
        self.service_provider_id = service_provider.id

    def __repr__(self):
        return "Association: ServiceProvider-Project('{}', '{}')".format(
            self.service_provider_id, self.project_id)
Example #11
0
class Post(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    body = db.Column(db.String(200))
    timestamp = db.Column(db.DateTime, index=True, default=datetime.utcnow)
    ## this is part of the foreign
    ## part two add here
    ## thats why we need the foreign key
    ## and the name will be 'user' not 'User'
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
Example #12
0
class Post(db.Model):
	id = db.Column(db.Integer, primary_key=True)
	title = db.Column(db.String(100), nullable=False)
	date_posted = db.Column(db.DateTime, nullable=False,default=datetime.utcnow)
	content = db.Column(db.Text, 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}')"
Example #13
0
class UserPermission(db.Model):  # type: ignore
    """ Class to map available permissions to a user. """

    __tablename__ = "UserPermission"

    UserId = db.Column(db.Integer, db.ForeignKey('User.ID'), primary_key=True)

    PermissionId = db.Column(db.Integer,
                             db.ForeignKey('Permission.ID'),
                             primary_key=True)

    user_details = db.relationship('User', backref='permission', lazy="select")

    permission_details = db.relationship('Permission',
                                         backref='user',
                                         lazy="select")

    def __repr__(self):
        return f"User: {self.user_details.username}, Permission {self.permission_details.name}"
Example #14
0
class Post(db.Model):
	id = db.Column(db.Integer, primary_key=True)
	username = db.Column(db.String(40), nullable=False)
	userID = db.Column(db.String(20), unique=True, nullable=False)
	D_o_B = db.Column(db.String(40), nullable=False, default=datetime.utcnow)
	address = db.Column(db.Text, nullable=False)
	password = db.Column(db.String(60), nullable=False)
	user_id = db.Column(db.String(20), db.ForeignKey('user.username'), nullable=False)

	def __repr__(self):
		return (self.username)
Example #15
0
class Post(db.Model):
	id = db.Column(db.Integer, primary_key=True)
	title = db.Column(db.String(100), nullable=False)
	date_posted = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
	content = db.Column(db.Text, nullable=False)
	# user_id = id for the user who made this specific post
	user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)


	# Defines the default manner in which our object will be printed out
	def __repr__(self):
		return f"Post('{self.title}', '{self.date_posted}')"
Example #16
0
class post(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    Judul = db.Column(db.String(99), nullable=False)
    Isi = db.Column(db.Text, nullable=False)
    Tanggal = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
    user_id = db.Column(
        db.Integer,
        db.ForeignKey("user.id"),
        nullable=False,
    )

    def __repr__(self):
        return f"user('{self.Judul}', '{self.Tanggal}')"
Example #17
0
class Session(db.Model):
    __tablename__ = 'sessions'

    id = db.Column(db.Text, primary_key=True)
    user_id = db.Column(db.Text, db.ForeignKey('users.id'), nullable=False)

    def __init__(self, id, user_id):
        self.id = id
        self.user_id = user_id


    def __repr__(self):
        return '<id {}>'.format(self.id)
Example #18
0
class Client(User):
    __tablename__ = 'client'
    id = db.Column(db.Integer, db.ForeignKey('user.id'), primary_key=True)
    projects = db.relationship('Project', backref='client', lazy=True)
    demands = db.relationship('Demand', backref='client', lazy=True)

    def __init__(self, name, email, password):
        User.__init__(self, name, email, password)
    
    def __repr__(self):
        return "Client('{}', '{}', '{}', '{}', '{}')".format(self.id, self.name, self.email, self.type, self.projects)
    __mapper_args__ = {
        'polymorphic_identity': 'client',
    }
Example #19
0
class Proposal(Base):
    __tablename__ = 'proposal'
    id = db.Column(db.Integer, primary_key=True, nullable=False)
    service_providers = db.relationship('AssociationServiceProviderProposal',
                                        back_populates='proposal')
    cost = db.Column(db.Float, nullable=False)
    final_date = db.Column(db.Date, nullable=False)
    client_approval = db.Column(db.Boolean, nullable=False)
    demand_id = db.Column(db.Integer, db.ForeignKey('demand.id'),
                          nullable=False)

    def __repr__(self):
        return "Proposal('{}', '{}', '{}', '{}', '{}', '{}')".format(
            self.id, self.cost, self.final_date, self.client_approval,
            self.demand_id, self.service_providers)
Example #20
0
class Action(db.Model):
    __tablename__ = 'actions'

    id = db.Column(db.Integer, primary_key=True)
    time = db.Column(db.DateTime)
    type = db.Column(db.Text)
    properties = db.Column(JSON)
    session_id = db.Column(db.Text, db.ForeignKey('sessions.id'))

    def __init__(self,time, type, properties, session_id):
        self.time = time
        self.type = type
        self.properties = properties
        self.session_id = session_id

    def __repr__(self):
        return '<id {}>'.format(self.id)
Example #21
0
class File(db.Model):
	id = db.Column(db.Integer(),primary_key=True)
	owner = db.Column(db.Integer(),db.ForeignKey('user.id'),index=True)
	name = db.Column(db.String(255),index=True)
	size = db.Column(db.Integer,index=True)
	fext = db.Column(db.String(20),index=True)
	datetime = db.Column(db.DateTime)
	public = db.Column(db.Boolean,default=False)
	public_key = db.Column(db.String(255),index=True)

	def __init__(self,owner=None,name=None,size=None,fext=None,public=None,public_key=None):
		self.datetime = datetime.utcnow()
		self.owner = owner
		self.name = name
		self.size = size
		self.fext = fext
		self.public = public
		self.public_key = public_key
Example #22
0
from datetime import datetime
from flask_login import UserMixin
from __main__ import db, login_manager

chat_user = db.Table(
    'chat_user', db.Column('chat_id', db.Integer, db.ForeignKey('chats.id')),
    db.Column('user_id', db.Integer, db.ForeignKey('users.id')))


@login_manager.user_loader
def load_user(user_id):
    return db.session.query(User).get(user_id)


class User(db.Model, UserMixin):
    __tablename__ = 'users'

    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(25), unique=True, nullable=False)
    email = db.Column(db.String(255), unique=True, nullable=False)
    password = db.Column(db.String(60), nullable=False)

    messages = db.relationship('Message', lazy=True, backref='user')
    chats = db.relationship('Chat',
                            secondary=chat_user,
                            backref=db.backref('users'))

    def __repr__(self):
        return f"<User {self.username} {self.email}>"

Example #23
0
class Flight_Details(db.Model):
    __tablename__ = 'flight_details'
    flight_id = db.Column(db.Integer, db.ForeignKey('flight.flight_id'))
    flight_departure_date = db.Column(db.String(120), primary_key=True)
    price = db.Column(db.Integer, nullable=False)
    available_seats = db.Column(db.Integer, nullable=False)
class Post(db.Model):
    id=db.Column(db.Integer, primary_key=True)
    title=db.Column(db.String(40),unique=False,nullable=False)
    content=db.Column(db.String(140),unique=False,nullable=False)
    user_id=db.Column(db.Integer, db.ForeignKey('user.id'),nullable=False)