Пример #1
0
class BankAccount(db.Model):
    bank_account_no = db.Column(db.String(20),primary_key=True)
    routing_number = db.Column(db.String(20),nullable=False)
    user_id = db.Column(db.Integer,db.ForeignKey('user.id'),nullable=False)
    amount = db.Column(db.Integer,nullable=False)
    def __repr__(self):
        return f"BankAccount('{self.bank_account_no}','{self.user_id}')"
Пример #2
0
class User(db.Model, UserMixin):
    __tablename__ = "login_user"

    id = db.Column(db.Integer(), primary_key=True)
    username = db.Column(db.String(length=30), nullable=False, unique=True)
    email = db.Column(db.String(length=50), nullable=False, unique=True)
    password = db.Column(db.String(length=100), nullable=False)

    def __repr__(self):
        return f"{self.username}"

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

    def check_password(self, password):
        return check_password_hash(self.password, password)

    def save(self):
        if not self.id:
            db.session.add(self)
        db.session.commit()

    @staticmethod
    def get_by_id(id):
        return User.query.get(id)

    @staticmethod
    def get_by_email(email):
        return User.query.filter_by(email=email).first()
Пример #3
0
class User(UserMixin, db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(80), unique=True, nullable=False)
    password = db.Column(db.String(120), unique=False, nullable=False)

    def __repr__(self) -> str:
        return f"User {self.username}"
Пример #4
0
class Post(db.Model):
    id = db.Column(db.Integer,primary_key=True)
    name = db.Column(db.String(20),nullable=False)
    author = db.Column(db.String(20),nullable=False)
    user_id = db.Column(db.Integer,db.ForeignKey('user.id'),nullable=False) 
    def __repr__(self):
        return f"Post('{self.name}','{self.author}')"
Пример #5
0
class User(UserMixin, db.Model):

    __tablename__ = 'users'

    id = db.Column(db.Integer, primary_key=True)
    email = db.Column(db.String(60), unique=True, index=True)
    username = db.Column(db.String(30), index=True)
    password = db.Column(db.String(30))

    def __init__(self, email, username, password):
        self.email = email
        self.username = username
        self.password = generate_password_hash(password)

    def validate_password(self, password):
        return check_password_hash(self.password, password)

    def add_user(self):
        with db.session.begin(subtransactions=True):
            db.session.add(self)
        db.session.commit()

    @classmethod
    def select_by_email(cls, email):
        return cls.query.filter_by(email=email).first()
Пример #6
0
class User(db.Model, UserMixin):
    id = db.Column(db.Integer(), nullable=False, primary_key=True)
    username = db.Column(db.String(), nullable=False, unique=True)
    email = db.Column(db.String(80), nullable=False)
    password = db.Column(db.String(255), nullable=False)

    def __repr__(self):
        return 'user {}'.format(self.username)
Пример #7
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)

    def __repr__(self):
        # fは,formatを簡単に実現できるもの
        return f"User('{self.username}', '{self.email}', {self.password})"
Пример #8
0
class TableModel(db.Model):

    __tablename__ = "tabletypes"

    Id = db.Column(db.Integer,
                   primary_key=True)
    TableType = db.Column(db.String(100),
                     nullable=False,
                     unique=True)
Пример #9
0
class phd_students(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(40))
    father = db.Column(db.String(40))
    email = db.Column(db.String(40))
    phone = db.Column(db.String(20))
    dob = db.Column(db.String(10))
    score = db.Column(db.Integer)
    gate = db.Column(db.Integer)
    disc = db.Column(db.String)
    comments = db.Column(db.String, nullable=True)
Пример #10
0
class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(80), unique=True, nullable=False)
    email = db.Column(db.String(120), unique=True, nullable=False)
    #use a salted hash for password storage instead of plaintext
    pw_hash = db.Column(db.String(160), nullable=False)

    #defines what is returned when User table is queried
    def __repr__(self):
        return "User: %s" % self.username + ', ' + self.email

    #compares salted hash pw to password, returns T/F
    def check_password(self, password):
        return check_password_hash(self.pw_hash, password)
Пример #11
0
class User(db.Model):
    __tablename__ = 'flasklogin-users'

    id = db.Column(db.Integer,
                   primary_key=True)
    name = db.Column(db.String(100),
                     nullable=False,
                     unique=False)
    email = db.Column(db.String(40),
                      unique=True,
                      nullable=False)
    password = db.Column(db.String(200),
                         primary_key=False,
                         unique=False,
                         nullable=True)

    def __init__(self,data):
        self.id = data.get('id')
        self.name = data.get('name')
        self.email = data.get('email')
        self.password = data.get('password')

    def save_user(self) -> None:
        self.set_password(self.password)
        db.session.add(self)
        db.session.commit()

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

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

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

    @classmethod
    def find_by_mail_id(cls, mail: str) -> "User":
        return cls.query.filter_by(email=mail).first()

    @classmethod
    def find_by_id(cls, _id: int) -> "User":
        return cls.query.filter_by(id=_id).first()

    def delete_from_db(self) -> None:
        db.session.delete(self)
        db.session.commit()
Пример #12
0
class BlogPost(db.Model):

    __tablename__ = "posts"

    id = db.Column(db.Integer,primary_key=True)
    title = db.Column(db.String,nullable=False)
    description = db.Column(db.String,nullable=False)


    def __init__(self, title, description):
        self.title = title
        self.description = description
    
    def __repr__(self):
        return '<{}-{}>'.format(self.title, self.description)
Пример #13
0
class RestaurantModel(db.Model):
    __tablename__ = 'restaurants'

    Id = db.Column(db.Integer,
                   primary_key=True)
    Name = db.Column(db.String(100),
                     nullable=False,
                     unique=True)
    Location = db.Column(db.String(100),
                         primary_key=False,
                         unique=False,
                         nullable=False)
    Contact = db.Column(db.String(13),
                        unique=True,
                        nullable=False)

    def __init__(self,data):
        self.Id = data.get('Id')
        self.Name = data.get('Name')
        self.Location = data.get('Location')
        self.Contact = data.get('Contact')

    def create_restaurant(self) -> None:
        db.session.add(self)
        db.session.commit()

    def delete_restaurant(self) -> None:
        db.session.remove(self)
        db.session.commit()

    def __repr__(self):
        return '<Restaurant {}>'.format(self.Name)

    @classmethod
    def show_all_restaurants(cls)-> list:
        records = RestaurantModel.query.all()
        print(records)
        return records
Пример #14
0
class User(db.Model,UserMixin):
    id = db.Column(db.Integer,primary_key=True)
    username = db.Column(db.String(20),unique=True,nullable=False)
    address = db.Column(db.String(50),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='user',lazy=True)
    image_file = db.Column(db.String(20),nullable=False, default='default.jpg')
    
    def get_reset_token(self,expires_sec=1800):
        s = Serializer(current_app.config['SECRET_KEY'],expires_sec)
        return s.dumps({'user_id':self.id}).decode('utf-8')

    @staticmethod
    def verify_reset_token(token):
        s = Serializer(current_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}')"
Пример #15
0
class RestTableMapModel(db.Model):

    __tablename__ = "restauranttabletypemapping"

    Id = db.Column(db.Integer,
                   primary_key=True)
    RestaurantId = db.Column(db.Integer(),
                     db.ForeignKey('restaurants.Id'))
    TableTypeId = db.Column(db.Integer(),
                             db.ForeignKey('tabletypes.Id'))
    TableCount = db.Column(db.Integer(),
                           nullable=False,
                           unique=False)
    BookingCharges = db.Column(db.Integer(), nullable=False, unique=False)

    def __init__(self,data):
        self.Id = data.get("Id")
        self.RestaurantId = data.get("RestaurantId")
        self.TableTypeId = data.get("TableTypeId")
        self.BookingCharges= data.get("BookingCharges")

    def update_table_count(self):
        self.TableCount -= 1
        db.session.commit()

    @classmethod
    def book_table(cls,data,userId):
        """data = {"Name":"",
                "TableType":""}"""
        result = db.session.query(RestaurantModel.Name,
                                   RestaurantModel.Location,
                                   RestaurantModel.Contact,
                                   TableModel.TableType,
                                   RestTableMapModel.TableCount,
                                   RestTableMapModel.BookingCharges,
                                   RestTableMapModel.Id). \
            join(RestTableMapModel, RestaurantModel.Id == RestTableMapModel.RestaurantId). \
            join(TableModel, TableModel.Id == RestTableMapModel.TableTypeId). \
            filter(RestaurantModel.Name == data["Name"]).\
            filter(TableModel.TableType==int(data["TableType"])).first()

        record ={"Name": getattr(result, "Name"),
                        "Location": getattr(result, "Location"),
                        "Contact": getattr(result, "Contact"),
                        "TableType": getattr(result, "TableType") + "seater",
                        "BookingCharges": getattr(result, "BookingCharges"),
                        }

        if result.TableCount<=0:
            return None

        map_obj = RestTableMapModel.query.filter(RestTableMapModel.Id==result.Id).first()
        map_obj.update_table_count()
        bill = Bookings(MapId=map_obj.Id, UserId=userId)
        bill.create_booking()
        return record


    @classmethod
    def show_table(cls, restaurantName)->list:

        results = db.session.query(RestaurantModel.Name,
                                  RestaurantModel.Location,
                                  RestaurantModel.Contact,
                                  TableModel.TableType,
                                  RestTableMapModel.TableCount,
                                   RestTableMapModel.BookingCharges).\
            join(RestTableMapModel,RestaurantModel.Id==RestTableMapModel.RestaurantId).\
            join(TableModel, TableModel.Id==RestTableMapModel.TableTypeId).\
            filter(RestaurantModel.Name==restaurantName).all()

        records = list()
        for result in results:
            records.append({"Name":getattr(result,"Name"),
                            "Location": getattr(result,"Location"),
                            "Contact":getattr(result,"Contact"),
                            "TableType":getattr(result,"TableType")+"seater",
                            "TableCount":getattr(result,"TableCount"),
                            "BookingCharges":getattr(result, "BookingCharges")})
        return records
Пример #16
0
class Bookings(db.Model):
    __tablename__ = "bookings"

    Id = db.Column(db.Integer,
                   primary_key=True,autoincrement=True)
    MapId = db.Column(db.Integer())
    UserId = db.Column(db.Integer())
    PaymentStatus = db.Column(db.Enum('PAID', 'NOTPAID'))
    BookingStatus = db.Column(db.Enum('BOOKED','CHECKEDIN','CANCELLED'))

    def __init__(self, MapId, UserId, paymentStatus="NOTPAID", bookingStatus="BOOKED"):
        self.MapId = MapId
        self.UserId = UserId
        self.PaymentStatus = paymentStatus
        self.BookingStatus = bookingStatus

    def create_booking(self)->None:
        """self.Id = mapped_obj.Id
        self.MapId = mapped_obj.MapId
        self.UserId = userId
        self.PaymentStatus = mapped_obj.PaymentStatus
        self.BookingStatus = mapped_obj.BookingStatus"""
        db.session.add(self)
        db.session.commit()

    @classmethod
    def get_booking_by_userId(cls, userId)->list:

        results = db.session.query(RestaurantModel.Name,
                                  RestaurantModel.Location,
                                  RestaurantModel.Contact,
                                  TableModel.TableType,
                                  RestTableMapModel.TableCount,
                                   RestTableMapModel.BookingCharges,
                                   Bookings.BookingStatus,
                                   Bookings.PaymentStatus,
                                   Bookings.Id).\
            join(RestTableMapModel,RestaurantModel.Id==RestTableMapModel.RestaurantId).\
            join(TableModel, TableModel.Id==RestTableMapModel.TableTypeId).join(cls,Bookings.MapId==RestTableMapModel.Id).\
            filter(cls.UserId==userId).all()

        return results

    @classmethod
    def unpaid_booking(cls,userId)->list:
        results = db.session.query(RestaurantModel.Name,
                                   RestaurantModel.Location,
                                   RestaurantModel.Contact,
                                   TableModel.TableType,
                                   RestTableMapModel.TableCount,
                                   RestTableMapModel.BookingCharges,
                                   Bookings.BookingStatus,
                                   Bookings.PaymentStatus,
                                   Bookings.Id). \
            join(RestTableMapModel, RestaurantModel.Id == RestTableMapModel.RestaurantId). \
            join(TableModel, TableModel.Id == RestTableMapModel.TableTypeId).join(cls,
                                                                                  Bookings.MapId == RestTableMapModel.Id). \
            filter(cls.UserId == userId).filter(cls.PaymentStatus=="NOTPAID").filter(cls.BookingStatus!="CANCELLED").all()

        return results

    @classmethod
    def change_status(cls,bookingId,status)->bool:
        booking_obj = Bookings.query.get(bookingId)
        if booking_obj:
            booking_obj.BookingStatus = status
            db.session.commit()
            return True
        else:
            return False


    @classmethod
    def get_booking_by_id(cls,bookingId:int)->"Bookings":
        booking_obj = Bookings.query.get(bookingId)
        print(booking_obj)
        return booking_obj

    @classmethod
    def get_booking_status(cls,bookingId:int)->str:
        booking_obj = Bookings.query.filter(Bookings.Id==bookingId).one()
        return booking_obj.BookingStatus
Пример #17
0
class UserStocks(db.Model):
    user_id = db.Column(db.Integer,db.ForeignKey('user.id'),primary_key=True,nullable=False)
    ticker_symbol = db.Column(db.String(20),db.ForeignKey('stock.ticker_symbol'),primary_key=True)
    no_of_stocks = db.Column(db.Integer,nullable=False)
    company_name = db.Column(db.String(20))
Пример #18
0
class SellStocks(db.Model):
    ticker_symbol = db.Column(db.String(20),db.ForeignKey('stock.ticker_symbol'),primary_key=True)
    user_id = db.Column(db.Integer,db.ForeignKey('user.id'),primary_key=True,nullable=False)
    selling_price =db.Column(db.Integer,nullable=False)
    no_of_stocks = db.Column(db.Integer,nullable=False)
    sell_date = db.Column(db.DateTime,nullable=False,default=datetime.utcnow,primary_key=True)
Пример #19
0
class admin(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(20))
    email = db.Column(db.String(40))
    password = db.Column(db.String)
Пример #20
0
class Stock(db.Model):
    ticker_symbol = db.Column(db.String(20),primary_key=True)
    company_name = db.Column(db.String(20),nullable=False)
    price = db.Column(db.Integer,nullable=False)
    def __repr__(self):
        return f"Stock('{self.ticker_symbol}','{self.company_name}','{self.price}')"
Пример #21
0
class ta_email(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    email = db.Column(db.String(40))