def setup_function(function): db.drop_all_tables(with_all_data=True) db.create_tables() ph = PasswordHasher() with db_session: editor = Group(id=3, name="Editor") moderator = Group(id=2, name="Moderator") admin = Group(id=1, name="Admin") User( id=1, nickname="Leader", email="*****@*****.**", password=ph.hash("test1"), groups=[admin], ) User( id=2, nickname="Mary", email="*****@*****.**", password=ph.hash("test2"), groups=[moderator], ) User( id=3, nickname="Jürgen", email="*****@*****.**", password=ph.hash("test3"), groups=[editor], )
def register_user(): """ Route for creating a new user """ data = request.get_json() username = data.get('username') password = data.get('password') if not username or not password: return jsonify({ 'status': 400, 'status_message': 'Invalid or incomplete request data' }) try: encrypted_password = bcrypt.hashpw(bytes(password, 'utf-8'), bcrypt.gensalt()) newUser = User(public_id=str(uuid.uuid4()), username=username, password=encrypted_password, date_created=datetime.datetime.now()) db.session.add(newUser) db.session.commit() return jsonify({ 'status': 200, 'status_message': 'New user successfuly created' }) except Exception as error: return jsonify({'status': 400, 'status_message': 'Duplicate Entry'})
def create_user(self, username, password): response = Response("register") if username.strip() == "" or password.strip() == "": self.socket.request.sendall( response(False, err="username or password cannot be empty")) return user = User(username=username, password=password) self.db.add(user) try: self.db.commit() self.socket.request.sendall(response(username=user.username)) except Exception as e: self.db.rollback() self.socket.request.sendall(response(False, err=str(e)))
def register(): req = request.get_json() if not exists(u.id for u in User if u.username == req['display_name']): now = datetime.datetime.now() User(username=req['display_name'], gender=req['gender'], avatar=req['avatar'], age=req['age'], user_id=now, password=req['password'], created_at=now) user = User.get(username=req['display_name']) return jsonify( success=True, user=user.describe(), access_token=create_access_token(identity=user.describe())) else: return jsonify(success=False, err='INVAILD_USERNAME')
def add_user(self, username, email, password): session = self.make_session() user_object = User(username=username, email=email, password=password) session.add(user_object) session.commit()