def handle_signup_worker(): """ Registra un trabajador para incluirlo en la DB""" data = request.get_json() if data is None: raise APIException( "You need to specify the request body as a json object", status_code=400) new_worker = Worker( init_date=data['init_date'], Consultor=data['Consultor'], candidate=data['candidate'], cedula=data['cedula'], status=data['status'], phone_number=data['phone_number'], email=data['email'], catchment_source=data['catchment_source'], managment=data['managment'], vacant=data['vacant'], Observations=data['Observations'], interview_date=data['interview_date'], actual_charge=data['actual_charge'], company=data['company'], sector=data['sector'], coin=data['coin'], basic_salary=data['basic_salary'], variable_salary=data['variable_salary'], cesta_ticket=data['cesta_ticket'], Profit_Days=data['Profit_Days'], vacations=data['vacations'], Vacation_Bonus=data['Vacation_Bonus'], Factor=data['Factor'], Estimated_annual_package=data['Estimated_annual_package'], Production_bonus=data['Production_bonus'], Transport_bonus=data['Transport_bonus'], Savings_Bank=data['Savings_Bank'], food_bags=data['food_bags'], parking_payment=data['parking_payment'], partial_HCM_Emp_Family=data['partial_HCM_Emp_Family'], Vehicle_insurance=data['Vehicle_insurance'], life_insurance=data['life_insurance'], dinning_room=data['dinning_room'], full_HCM_Emp_Family=data['full_HCM_Emp_Family']) db.session.add(new_worker) db.session.commit() if new_worker: return new_worker.serialize(), 201
def register(): email = request.json.get('email') name = request.json.get('name') password = request.json.get('password') if not email: return jsonify({"error": "Email is required"}), 422 if not name: return jsonify({"error": "name is required"}), 422 if not password: return jsonify({"error": "Password is required"}), 422 worker = Worker.query.filter_by(email=email).first() if worker: return jsonify({"error": "This email already exist"}), 422 worker = Worker() worker.email = email worker.name = name worker.password = bcrypt.generate_password_hash(password) db.session.add(worker) db.session.commit() if bcrypt.check_password_hash(worker.password, password): access_token = create_access_token(identity=worker.email) data = {"access_token": access_token, "worker": worker.serialize()} return jsonify(data), 200