コード例 #1
0
ファイル: models.py プロジェクト: Rohan-ss/Flask_backend
class Total_leaves(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    employee_id = db.Column(db.Integer, db.ForeignKey('employee.id'))
    total_leaves = db.Column(db.Integer)
    taken_leaves = db.Column(db.Integer)

    def __init__(self, id, employee_id, total_leaves, taken_leaves):
        self.id = id
        self.total_leaves = total_leaves
        self.taken_leaves = taken_leaves
コード例 #2
0
class Telemetry(db.Model):
    __tablename__ = 'telemetry'
    datetime = db.Column(db.DateTime,
                         default=datetime.utcnow,
                         primary_key=True)
    machineID = db.Column(db.Integer, db.ForeignKey('machines.machineID'))
    volt = db.Column(db.Float, nullable=False)
    rotate = db.Column(db.Float, nullable=False)
    pressure = db.Column(db.Float, nullable=False)
    vibration = db.Column(db.Float, nullable=False)
コード例 #3
0
class Ideas(db.Model):
    __tablename__ = "ideas"
    id = db.Column(db.Integer, primary_key=True)
    content = db.Column(db.Text)
    author = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False)
    users_who_liked = db.relationship('Users', secondary=likes)

    @classmethod
    def post_validation(cls, user_info):
        is_valid = True
        if len(user_info['idea']) < 1:
            is_valid = False
            flash("Please enter a post before submitting!", "danger")
        elif len(user_info['idea']) < 10:
            is_valid = False
            flash("Please enter at least 10 characters.", "danger")
        return is_valid

    @classmethod
    def add_post(cls, user_info):
        flash("Idea posted!", "success")
        new_post = cls(content=user_info['idea'], author=session['userid'])
        db.session.add(new_post)
        db.session.commit()

    @classmethod
    def like(cls, id):
        idea_count = 0
        all_users = Users.query.all()
        current_idea = cls.query.get(int(id))
        current_user = Users.query.get(session['userid'])
        for user in all_users:
            for liked_idea in user.liked_ideas:
                if liked_idea == current_idea:
                    idea_count += 1
        if current_user in current_idea.users_who_liked:
            current_idea.users_who_liked.remove(current_user)
            db.session.commit()
            flash("Idea unliked.", "info")
        else:
            current_idea.users_who_liked.append(current_user)
            db.session.commit()
            flash("Idea liked!", "success")

    @classmethod
    def delete(cls, id):
        all_users = Users.query.all()
        current_idea = cls.query.get(int(id))
        for user in all_users:
            for idea in user.liked_ideas:
                if idea == current_idea:
                    current_idea.users_who_liked.remove(user)
        db.session.delete(current_idea)
        db.session.commit()
        flash("Idea deleted.", "info")
コード例 #4
0
ファイル: event.py プロジェクト: paulminhdai/backEndFall2020
class Event(db.Model):
    __tablename__ = 'Event'
    event_id = db.Column(UUID(as_uuid=True),
                         default=uuid.uuid4,
                         primary_key=True)
    creator_id = db.Column(UUID(as_uuid=True),
                           db.ForeignKey('User.user_id'),
                           nullable=False)
    organization_id = db.Column(UUID(as_uuid=True),
                                db.ForeignKey('Organization.organization_id'),
                                nullable=False)
    event_name = db.Column(db.String(250), nullable=False)
    start_date = db.Column(db.DateTime,
                           default=datetime.utcnow,
                           nullable=False)
    end_date = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
    theme = db.Column(db.String(250), nullable=False)
    perks = db.Column(db.String(250), nullable=False)
    categories = db.Column(db.String(250), nullable=False)
    info = db.Column(db.String(2500), nullable=False)
    phase = db.Column(db.Enum(EventPhase), nullable=False)
    contact_id = db.Column(UUID(as_uuid=True),
                           db.ForeignKey('Contact.contact_id'),
                           nullable=False)
    image_url = db.Column(db.String(255))

    creator = db.relationship('User', lazy=True)
    organization = db.relationship('Organization', lazy=True)
    contact = db.relationship('Contact', lazy=True)
    '''def __init__(self, creator_id, organization_id, event_name, start_date, end_date, theme, perks, categories, info, phase, contact_id):
        self.creator_id = creator_id
        self.organization_id = organization_id
        self.event_name = event_name
        self.start_date = start_date
        self.end_date = end_date
        self.theme = theme
        self.perks = perks
        self.categories = categories
        self.info = info
        self.phase = phase
        self.contact_id = contact_id'''
    '''
コード例 #5
0
class Animal(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    nome_animal = db.Column(db.String(40), nullable=False)
    familia = db.Column(db.String(40), nullable=False)
    altura_media = db.Column(db.Float, nullable=False)
    peso_medio = db.Column(db.Float, nullable=False)
    habitat = db.Column(db.String(40), nullable=False)
    conteudo = db.Column(db.Text, nullable=False)
    imagem_postagem = db.Column(db.String(40),
                                nullable=False,
                                default='imagens/logo.png')
    cuidadorid = db.Column(db.Integer,
                           db.ForeignKey(Cuidador.id),
                           nullable=False)
    cuidadores = db.relationship("Cuidador")
    zoologicoanimalid = db.Column(db.Integer,
                                  db.ForeignKey(Zoologico.id),
                                  nullable=False)
    zoologicoanimal = db.relationship("Zoologico")

    def __str__(self):
        return self.id + str(
            self.nome_animal
        ) + " ," + self.familia + " ," + self.altura_media + " ," + self.peso_medio + " ," + self.habitat + " ," + self.conteudo + " ," + self.imagem_postagem + " ," + str(
            self.cuidadorid) + ", " + self.cuidadores + ", " + str(
                self.zoologicoanimalid) + ", " + self.zoologicoanimal

    def json(self):
        return {
            "id": self.id,
            "nome_animal": self.nome_animal,
            "familia": self.familia,
            "altura_media": self.altura_media,
            "peso_medio": self.peso_medio,
            "habitat": self.habitat,
            "conteudo": self.conteudo,
            "imagem_postagem": self.imagem_postagem,
            "cuidadorid": self.cuidadorid,
            "cuidadores": self.cuidadores.json(),
            "zoologicoanimalid": self.zoologicoanimalid,
            "zoologicoanimal": self.zoologicoanimal.json()
        }
コード例 #6
0
class Daily_intake(db.Model):  #Суточная доза
    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    date = db.Column(db.DateTime, default=datetime.utcnow)
    calorie = db.Column(db.Integer)
    proteins = db.Column(db.Integer)
    fats = db.Column(db.Integer)
    carbohydrates = db.Column(db.Integer)

    def __repr__(self):
        return '<Daily_intake {}>'.format(self.username)
コード例 #7
0
class User(UserMixin, db.Model):
    id = db.Column(db.Integer, primary_key=True) # primary keys are required by SQLAlchemy
    organization = db.Column(db.Integer, db.ForeignKey('organization.id'))# add foreign key 
    email = db.Column(db.String(100), unique=True)
    password = db.Column(db.String(100))
    name = db.Column(db.String(1000))
    tn_api_key = db.Column(db.String(50))
    role = db.Column(db.String(50), default='user')
    created_at = db.Column(db.DateTime(timezone=True), server_default=db.func.now()) 
    updated_at = db.Column(db.DateTime(timezone=True), server_default=db.func.now(), onupdate=db.func.now())  
    new_user = db.Column(db.Boolean, default=True)
コード例 #8
0
class interfaces(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    linecard_id = db.Column(db.Integer, db.ForeignKey('linecards.id'))
    interface_type_id = db.Column(db.Integer,
                                  db.ForeignKey('interface_types.id'))
    int_profile_type_id = db.Column(db.Integer,
                                    db.ForeignKey('int_profile_types.id'))
    linecard_port_num = db.Column(db.Integer)
    ip_address_v4 = db.Column(db.String(15))
    ip_snm_v4 = db.Column(db.String(15))
    comment = db.Column(db.String(255))
    installed_in_linecards = db.relationship(
        'linecards',
        back_populates='interfaces_installed')  # bidirectionally confirmed
    int_profile = db.relationship(
        'int_profile_types',
        back_populates='interfaces_with_profile')  # bidirectionally confirmed
    interface_type = db.relationship(
        'interface_types',
        back_populates='interfaces_with_type')  # bidirectionally confirmed
コード例 #9
0
class Event(db.Model):
    __Tablename__ = "events"
    id = db.Column(db.Integer, primary_key=True)
    event_title = db.Column(db.String(100))
    date = db.Column(db.String(8))
    time = db.Column(db.String(12))
    location = db.Column(db.String(100))
    information = db.Column(db.TEXT)
    creator_id = db.Column(db.Integer, db.ForeignKey("user.id"), nullable=False)
    author = db.relationship('User', foreign_keys=[creator_id], backref="user_messages", cascade="all")
    events_that_have_attendees = db.relationship('User', lazy = 'dynamic', secondary = attendees_table)
コード例 #10
0
ファイル: models.py プロジェクト: ElisaMehta/Neighborly
class Event(db.Model):
    __tablename__ = "events"
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(100))
    description = db.Column(db.String(255))
    date = db.Column(db.String(45))
    time = db.Column(db.String(45))
    user_id = db.Column(db.Integer,
                        db.ForeignKey('users.id', ondelete='cascade'))
    user = db.relationship('User', foreign_keys=[user_id])
    location_id = db.Column(
        db.Integer, db.ForeignKey('event_locations.id', ondelete='cascade'))
    location = db.relationship('Event_location', foreign_keys=[location_id])
    all_comment = db.relationship('Event_comment',
                                  back_populates="event",
                                  cascade="all, delete, delete-orphan")
    created_at = db.Column(db.DateTime, server_default=func.now())
    updated_at = db.Column(db.DateTime,
                           server_default=func.now(),
                           onupdate=func.now())
コード例 #11
0
ファイル: models.py プロジェクト: hirish/trolley
class Eatlist(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    recipe_id = db.Column(db.Integer, db.ForeignKey('recipe.id'))
    date_last_added = db.Column(db.DateTime)
    date_last_bought = db.Column(db.DateTime)

    def __init__(self, user, recipe):
        if isinstance(user, User):
            self.user = user
        else:
            self.user_id = user
        if isinstance(recipe, Recipe):
            self.recipe = recipe
        else:
            self.recipe_id = recipe

    def __repr__(self):
        return '<Eatlist - ({},{})>'.format(str(self.user_id),
                                            str(self.recipe_id))
コード例 #12
0
class Regla(db.Model):
    __tablename__ = "reglas"
    id_regla = db.Column(db.Integer, primary_key=True)
    city = db.Column(db.String(60), nullable=False)
    country = db.Column(db.String(50), nullable=False)
    sku = db.Column(db.String(50),
                    db.ForeignKey('descripciones.sku'),
                    nullable=False)
    min_condition = db.Column(db.Integer, nullable=False)
    max_condition = db.Column(db.Integer, nullable=False)
    variation = db.Column(db.Float, nullable=False)
コード例 #13
0
ファイル: model.py プロジェクト: smanjil/vinn-asterisk
class IncomingLog(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    org_id = db.Column(db.Integer, db.ForeignKey('organization.id'))
    service = db.Column(db.String(100))
    call_start_time = db.Column(db.DateTime)
    call_end_time = db.Column(db.DateTime)
    call_duration = db.Column(db.Float)
    complete = db.Column(db.Boolean)
    incoming_number = db.Column(db.Integer)
    extension = db.Column(db.Integer)
    status = db.Column(db.String(100))
    generalized_data_incoming = db.Column(
        db.Integer, db.ForeignKey('generalized_data_incoming.id'))

    org_ids = relationship('Organization', foreign_keys='IncomingLog.org_id')
    generalized_data_incomings = relationship(
        'GeneralizedDataIncoming',
        foreign_keys='IncomingLog.generalized_data_incoming')
    comments = relationship('Comment',
                            backref=backref("IncomingLog", lazy="joined"))
コード例 #14
0
class Recipe(db.Model):
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.String(100), nullable=False)
    description = db.Column(db.Text, nullable=False)
    ingredients = db.Column(db.Text(), nullable=False)
    instructions = db.Column(db.Text, nullable=False)
    under30 = db.Column(db.String(3), default="Yes", nullable=False)
    author_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
    author = db.relationship('User', foreign_keys=[
                             author_id], backref='recipes', lazy=True)
    users_who_like_this_recipe = db.relationship('User', secondary=likes_table)
コード例 #15
0
ファイル: module.py プロジェクト: ZhangTongLe/auto_ceshi_web
class subProject(db.Model):
    __tablename__ = 'sub_project'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.String(50))
    parent_project_id = db.Column(db.Integer,
                                  db.ForeignKey('parent_project.id'))
    parent_project = db.relationship('parentProject',
                                     backref=db.backref('sub_project',
                                                        lazy='dynamic'))
    last_update = db.Column(db.DATETIME, default=datetime.datetime.now())
    is_deleted = db.Column(db.BOOLEAN, default=False)
コード例 #16
0
class Tweet(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    content = db.Column(db.String(240))
    author_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
    author = db.relationship('User',
                             foreign_keys=[author_id],
                             backref="user_tweets")
    created_at = db.Column(db.DateTime, server_default=func.now())
    updated_at = db.Column(db.DateTime,
                           server_default=func.now(),
                           onupdate=func.now())
コード例 #17
0
ファイル: models.py プロジェクト: kethansarma/Poll-API
class Answers(db.Model):
    __tablename__ = "answertable"
    answerid = db.Column(db.Integer, primary_key=True, autoincrement=True)
    responseid = db.Column(db.Integer,
                           db.ForeignKey("responsetable.responseid"))
    questionumber = db.Column(db.Integer)
    response1 = db.Column(db.Integer, nullable=True)
    response2 = db.Column(db.Integer, nullable=True)
    response3 = db.Column(db.Integer, nullable=True)
    response4 = db.Column(db.Integer, nullable=True)
    response5 = db.Column(db.Integer, nullable=True)
コード例 #18
0
class Todos(db.Model):
    __tablename__ = 'todos'
    task_id = db.Column(db.Integer, primary_key=True)
    task = db.Column(db.String(200))
    completed = db.Column(db.Boolean)
    timestamp = db.Column(db.DateTime,
                          default=datetime.utcnow,
                          onupdate=datetime.utcnow)
    person_hash = db.Column(db.Integer,
                            db.ForeignKey('guard.hash_id'),
                            nullable=False)
コード例 #19
0
class Picture(db.Model):
    __tablename__ = "pictures"
    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False)
    name = db.Column(db.String(255))
    description = db.Column(db.Text)
    file_path = db.Column(db.String(255))
    created_at = db.Column(db.DateTime, server_default=func.now())
    updated_at = db.Column(db.DateTime,
                           server_default=func.now(),
                           onupdate=func.now())
    in_albums = db.relationship('Album', secondary=album_has_pictures)
    user = db.relationship('User',
                           foreign_keys=[user_id],
                           backref=db.backref("pictures",
                                              cascade="all,delete-orphan"))

    def delete_from_disk(self):
        if os.path.exists('UserFiles/' + self.file_path):
            os.remove('UserFiles/' + self.file_path)
            if os.path.exists('UserFiles/thumbnails' + self.file_path):
                os.remove('UserFiles/thumbnails/' + self.file_path)
            print("delete success: ", self)
        else:
            print("delete fail: ", self)

    @classmethod
    def new(cls, user_id, file_path, name):
        """
        Add a new file to the Picture table.
        new(user_id,file_path,name)
        """
        new_pic = Picture(user_id=user_id,
                          name=name,
                          description="",
                          file_path=file_path)
        db.session.add(new_pic)
        db.session.commit()
        return new_pic

    @classmethod
    def delete(cls, picture_id):
        pic = Picture.query.get(picture_id)
        db.session.delete(pic)
        db.session.commit()

    @classmethod
    def update_info(cls, picture_info):
        pic = Picture.query.get(picture_info['picture_id'])
        if "picture_description" in picture_info.keys():
            pic.description = picture_info['picture_description']
        if "picture_name" in picture_info.keys():
            pic.name = picture_info['picture_name']
        db.session.commit()
コード例 #20
0
class Person(db.Model):
    __tablename__ = 'person'
    id = db.Column(db.Integer, primary_key=True) 
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
    lname = db.Column(db.String(32), index=True)
    fname = db.Column(db.String(32))
    cell = db.Column(db.String(13))
    occupation = db.Column(db.String(32))
    location = db.Column(db.String(32))
    email = db.Column(db.String(32),nullable=True) 
    timestamp = db.Column(db.DateTime, default=datetime.utcnow, onupdate=datetime.utcnow)
コード例 #21
0
class EventSizeRestriction(db.Model):
    __tablename__ = "size_restrictions"
    id = db.Column(db.Integer, primary_key=True)
    event_id = db.Column(db.Integer, db.ForeignKey('events.id'), nullable=False)
    size_id = db.Column(db.Integer, db.ForeignKey('dog_sizes.id'), nullable=False)
    size = db.relationship('DogSize', backref=backref("event_restrictions", cascade="all, delete-orphan"))

    @classmethod
    def add_restriction(cls, data):
        restriction = EventSizeRestriction(event_id=data['event_id'], size_id=data['restriction'])
        db.session.add(restriction)
        db.session.commit()
        return restriction

    @classmethod
    def remove_restriction(cls, data):
        restriction = EventSizeRestriction.query.filter_by(event_id=data['event'], size_id=data['size_id']).first()
        db.session.delete(restriction)
        db.session.commit()
        return
コード例 #22
0
ファイル: model.py プロジェクト: smanjil/vinn-asterisk
class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    org_id = db.Column(db.Integer, db.ForeignKey('organization.id'))
    name = db.Column(db.String(100))
    username = db.Column(db.String(100))
    password = db.Column(db.String(100))
    phone = db.Column(db.Integer)
    email = db.Column(db.String(100))
    created = db.Column(db.DateTime)

    org_ids = relationship('Organization', foreign_keys='User.org_id')
コード例 #23
0
class Notification(db.Model):
    __tablename__ = 'notifications'
    id = db.Column(db.Integer, primary_key=True)
    listing_id = db.Column(db.Integer,
                           db.ForeignKey("listings.id",
                                         ondelete="cascade",
                                         onupdate='cascade'),
                           nullable=False)
    receiver_id = db.Column(db.Integer,
                            db.ForeignKey("users.id",
                                          ondelete="cascade",
                                          onupdate='cascade'),
                            nullable=False)
    sender_id = db.Column(db.Integer)
    listing = db.relationship("Listing",
                              foreign_keys=[listing_id],
                              backref="notif_listings")
    receiver = db.relationship("User",
                               foreign_keys=[receiver_id],
                               backref="notif_users")
コード例 #24
0
class Estate(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    id_owner = db.Column(db.Integer, db.ForeignKey("user.id"))
    name = db.Column(db.Text)
    description = db.Column(db.Text)
    re_type = db.Column(db.Text)
    city = db.Column(db.Text)
    rooms = db.relationship('Room',
                            back_populates="estate_parent",
                            cascade="all, delete-orphan",
                            lazy='dynamic')
コード例 #25
0
ファイル: service.py プロジェクト: daespinel/intersite
class L2AllocationPool(db.Model):
    __tablename__ = "l2allocationpool"
    l2allocationpool_id = db.Column(db.Integer, primary_key=True)
    l2allocationpool_first_ip = db.Column(db.String(64))
    l2allocationpool_last_ip = db.Column(db.String(64))
    l2allocationpool_site = db.Column(db.String(64))
    lmaster_id = db.Column(db.Integer, db.ForeignKey('lmaster.lmaster_id'))

    def get_string_allocation_pool(self):
        answer = self.l2allocationpool_first_ip + "-" + self.l2allocationpool_last_ip
        return answer
コード例 #26
0
class Message(db.Model):
    __tablename__ = "messages"
    id = db.Column(db.Integer, primary_key=True)
    message = db.Column(db.String(255))
    player_id = db.Column(db.Integer,
                          db.ForeignKey("players.player_id"),
                          nullable=True)
    player = db.relationship("Player",
                             foreign_keys=[player_id],
                             back_populates="messages")
    game_id = db.Column(
        db.Integer, db.ForeignKey("games.id"),
        nullable=True)  # is null if not in a game while sending message
    game = db.relationship("Game",
                           foreign_keys=[game_id],
                           backref="game_messages")
    created_at = db.Column(db.DateTime, server_default=func.now())
    updated_at = db.Column(db.DateTime,
                           server_default=func.now(),
                           onupdate=func.now())
コード例 #27
0
class GeneOntology(db.Model):
    __tablename__ = "gene_ontology"
    gene_ontology_ID = db.Column(db.Integer, primary_key=True)

    gene_ID = db.Column(db.Integer,
                        db.ForeignKey('gene.gene_ID'),
                        nullable=False)
    gene = relationship("Gene", foreign_keys=[gene_ID])

    gene_ontology_symbol = db.Column(db.String(32))
    description = db.Column(db.String(32))
コード例 #28
0
class Comment(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    commenter = db.Column(db.String(80))
    body = db.Column(db.Text)
    post_id = db.Column(db.Integer, db.ForeignKey('post.id'))
    post = db.relationship('Post', backref=db.backref('comments', lazy='dynamic'))

    def __init__(self, commenter, body, post_id):
        self.commenter = commenter
        self.body = body
        self.post_id = post_id
コード例 #29
0
class FavoriteSpot(db.Model):
    __tablename__ = 'FavoriteSpots'

    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey('Users.id'), nullable=False)
    spot_id = db.Column(db.Integer, db.ForeignKey('Spots.id'), nullable=False)
    created_time = db.Column(db.TIMESTAMP(timezone=True),
                             nullable=False,
                             server_default=func.now())

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

    def to_dict(self):
        return dict(
            user_id=self.user_id,
            spot_id=self.spot_id,
            created_time=self.created_time,
        )
コード例 #30
0
class Requests(db.Model):
    __tablename__ = "requests"
    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer,
                        db.ForeignKey("users.id", ondelete="cascade"),
                        nullable=False)
    user = db.relationship("Users",
                           foreign_keys=[user_id],
                           backref="requests",
                           cascade="all")
    item_id = db.Column(db.Integer,
                        db.ForeignKey("items.id", ondelete="cascade"),
                        nullable=False)
    item = db.relationship("Items",
                           foreign_keys=[item_id],
                           backref="requests",
                           cascade="all")
    message = db.Column(db.String(255))

    @classmethod
    def submit_request(cls, data):
        valid = True
        if int(data["item_id"]) < 1:
            valid = False
            flash("an item must be selected to make request!")
        if len(data["message"]) > 255:
            valid = False
            flash("message length must be under 255 characters!")
        return valid

    @classmethod
    def add_request(cls, data):
        new_request = cls(user_id=data["user_id"],
                          item_id=data["item_id"],
                          message=data["message"])
        db.session.add(new_request)
        db.session.commit()

    @classmethod
    def delete_request(cls, data):
        pass