Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add seller parameters #12

Merged
merged 1 commit into from
Oct 5, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion model/users.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,14 @@ class UserModel(db.Model):
password = db.Column(db.String(20))
email = db.Column(db.String(40),nullable=False,unique=True)
activated = db.Column(db.Boolean,default=False) #set default as False
seller = db.Column(db.Boolean, default=False)

def __init__(self,username,password,email,activated=True):
def __init__(self,username,password,email,activated=True,seller=False):
self.username=username
self.password=password
self.email = email
self.activated = activated
self.seller = seller

def save_to_db(self):
db.session.add(self)
Expand Down
16 changes: 14 additions & 2 deletions resource/stores.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
from flask_restful import Resource
from model.store import StoreModel
from model.users import UserModel
from flask import request
from schemas.stores import StoreSchema
from flask_jwt_extended import jwt_required,fresh_jwt_required
from flask_jwt_extended import jwt_required,fresh_jwt_required, get_jwt_identity

store_schema = StoreSchema()
store_list_schema = StoreSchema(many=True)
Expand All @@ -19,10 +20,16 @@ def get(self):

@jwt_required
def post(self):
user = UserModel.find_by_id(get_jwt_identity())

if not user.seller:
return {"msg": "User is not a seller"}, 403

data=request.get_json()
name=data["name"]

store = StoreModel.find_by_name(name)

if store:
return {"msg": "Store exists already"},400

Expand All @@ -36,6 +43,11 @@ def post(self):

@fresh_jwt_required
def delete(self):
user = UserModel.find_by_id(get_jwt_identity())

if not user.seller:
return {"msg": "User is not a seller"}, 403

data=request.get_json()
name=data["name"]

Expand Down
3 changes: 2 additions & 1 deletion resource/users.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ def post(self):
username = data.username
passwd = data.password
email = data.email
seller = data.seller

print(username,passwd,email)
hashed = bcrypt.hashpw(passwd.encode('utf-8'),bcrypt.gensalt())
Expand All @@ -32,7 +33,7 @@ def post(self):
if UserModel.find_by_email(email):
return {"msg": "user with email id exists"}

user = UserModel(username,hashed,email)
user = UserModel(username,hashed,email,seller=seller)
user.save_to_db()

user.generate_mail() #send emails to new users
Expand Down