def users(): """Get, Post and Delete Users""" if request.method == 'POST': username = request.headers.get('username') password = request.headers.get('password') if username == "admin": return jsonify({'error': 'Can not modify admin'}), 404 elif username and password: return jsonify( Database.update_user( Models.User( username=username, password=calc_hash(password)))) else: return jsonify({'error': 'Headers not provided'}), 404 elif request.method == 'DELETE': username = request.headers.get('username') if username == "admin": return jsonify({'error': 'Can not modify admin'}), 404 elif username: return jsonify( Database.delete_user( Models.User( username=username))) else: return jsonify({'error': 'Headers not provided'}), 404 else: users = [] [users.append(u.username) for u in Database.get_users() if u.username != "admin"] return jsonify(users)
async def make_new_user(* , db : Session = Depends(get_db) , new_user : schemas.User = Body(...)): new_hashed_password = get_password_hash(new_user.password) db_user = models.User(username = new_user.username , hashed_password=new_hashed_password) db.add(db_user) db.commit() db.refresh(db_user) return "account created successfully"
async def add_password(*, db: Session = Depends(get_db), user: schemas.AdminDetail): db_user = models.User(username=user.username, password=get_password_hash(user.password)) db.add(db_user) db.commit() db.refresh(db_user) return "username and password is updated"
def setUp(self): self.db_fd, self.db_path = tempfile.mkstemp() app.app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + self.db_path app.app.config['WTF_CSRF_ENABLED'] = False app.app.config['TESTING'] = True self.app = app.app.test_client() app.db.create_all() admin = models.User(username='******', email='*****@*****.**', password='******', active=True, is_admin=True) user = models.User(username='******', email='*****@*****.**', password='******', active=True, is_admin=False) app.db.session.add(admin) app.db.session.add(user) app.db.session.commit()
def configure_admin(self, password): import modules.database as Database import modules.models as Models from modules.tools import calc_hash Database.update_user((Models.User(username='******', password=calc_hash(password))))