def post(self): item = request.get_json() if request.get_json() else request.form try: if item: if ClientModel().get_by_cpf(item['cpf']): return f'The CPF "{item["email"]}" is already in use.', 400 if ClientModel().get_by_email(item['email']): return f'The email "{item["email"]}" is already in use.', 400 if ClientModel().get_by_rg(item['rg_number']): return f'The RG "{item["rg_number"]}" is already in use.', 400 model = ClientModel() model.first_name = item['first_name'] model.last_name = item['last_name'] model.cpf = item['cpf'] model.rg_number = item['rg_number'] model.rg_uf = item['rg_uf'] model.email = item['email'] model.phone = item['phone'] model.active = item['active'] if 'active' in item else True model.user_id = item['user_id'] if 'user_id' in item else None model.timestamp = date.today() model.save() return 'created', 201 else: return 'not created, invalid payload', 400 except Exception as e: return f"{e}", 500
def put(cls, client_id: int): client_json = request.get_json() client = ClientModel.find_by_id(client_id) if client is None: client = ClientModel() client.name = client_json["name"] client.email = client_json["email"] client.age = client_json["age"] client.phone_number = client_json["phone_number"] client.user_id = client_json["user_id"] client.save_to_db() return client_schema.dump(client), 200