예제 #1
0
class VenueUser(db.Model, SerializerMixin):
    __tablename__ = "venue_user"

    venue_id = db.Column(db.Integer(),
                         db.ForeignKey("venue.id"),
                         primary_key=True)
    user_id = db.Column(db.Integer(),
                        db.ForeignKey("user.id"),
                        primary_key=True)
    is_admin = db.Column(db.Boolean())
예제 #2
0
class User(db.Model, SerializerMixin):
    __tablename__ = "user"

    # id
    id = db.Column(db.Integer(), primary_key=True)
    # details
    # username = db.Column(db.String(30), unique=True, nullable=False)
    contact_number = db.Column(db.String(30))
    email = db.Column(db.String(80), unique=True, nullable=False)
    # DO NOT INCLUDE THIS IN JSON SERIALIZATION (please)
    password = db.Column(db.String(200), nullable=False)

    token_register = db.Column(db.String(128))
    token_password_reset = db.Column(db.String(128))

    def to_dict(self):
        is_registered = True if self.token_register is None else False
        d = super(User, self).to_dict()
        del d["token_register"]
        del d["token_password_reset"]
        d["is_registered"] = is_registered
        return d

    @staticmethod
    def authedto_venue(user_id, venue_id):
        return bool(
            User.query.filter_by(
                id=user_id).join(VenueUser).join(Venue).filter(
                    Venue.id == venue_id).first())
예제 #3
0
class Venue(db.Model, SerializerMixin):
    __tablename__ = "venue"

    id = db.Column(db.Integer(), primary_key=True)
    name = db.Column(db.String(256), nullable=False)
    address = db.Column(db.String(800))
    timezone = db.Column(db.String(64), nullable=False)
예제 #4
0
class Visit(db.Model, SerializerMixin):
    __tablename__ = "visit"

    # id's
    clustered_id = db.Column(
        db.Integer(),
        primary_key=True)  # this only exists for performance reasons
    id = db.Column(db.String(64), nullable=False, default=uuid.uuid4)
    # visit stuff
    in_dttm = db.Column(db.DateTime(), nullable=False)
    out_dttm = db.Column(db.DateTime())
    approved_in = db.Column(db.Boolean())
    approved_out = db.Column(db.Boolean())
    # venue code
    venue_code_id = db.Column(db.String(64),
                              db.ForeignKey("venue_code.id"),
                              nullable=True)
    # venue id - only used if created by venue
    venue_id = db.Column(db.Integer, db.ForeignKey("venue.id"), nullable=True)
    # customer info
    given_name = db.Column(db.String(60), nullable=False)
    surname = db.Column(db.String(60), nullable=False)
    phone = db.Column(db.String(30), nullable=False)
    email = db.Column(db.String(80), nullable=False)
    address = db.Column(db.String(200), nullable=False)
    # meta info
    meta_info = db.Column(db.String(1024))  # device info
예제 #5
0
class VenueCodeTemplate(db.Model, SerializerMixin):
    __tablename__ = "venue_code_template"

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