Exemple #1
0
    def post(self):
        username = request.json.get('username', None)
        password = request.json.get('password', None)

        user = UsuarioModel.find_by_email(username)
        if user and user.confirmado == 1 and safe_str_cmp(
                user.password, password):
            access_token = create_access_token(identity=user)
            UsuarioModel.update_last_login(user.usuario_id)
            return {'access_token': access_token}, 200

        return {"message": "Usuário ou senha incorretos"}, 401
Exemple #2
0
    def post(self):
        dados = _ARGUMENTOS.parse_args()
        if UsuarioModel.find_by_login(dados.get('login')) is not None:
            return errors._EXISTENT, server_code.BAD_REQUEST
        if UsuarioModel.find_by_email(dados.get('email')) is not None:
            return errors._EXISTENT, server_code.BAD_REQUEST

        user = UsuarioModel(**dados)
        user.ativado = False
        try:
            user.save()
            user.send_confirmation_email()
        except Exception as e:
            user.delete()
            traceback.print_exc()
            return errors._SAVE_ERROR, server_code.INTERNAL_SERVER_ERROR
        return user.json(), server_code.OK
Exemple #3
0
    def post(self):
        parser = reqparse.RequestParser()
        parser.add_argument("nome",
                            type=str,
                            required=True,
                            help="O campo 'nome' é obrigatório")
        parser.add_argument("telefone", type=str)
        parser.add_argument("email",
                            type=str,
                            required=True,
                            help="O campo 'email' é obrigatório")
        parser.add_argument("password",
                            type=str,
                            required=True,
                            help="O campo 'password' é obrigatório")
        parser.add_argument("perfil_id",
                            type=int,
                            required=True,
                            help="O campo 'perfil_id' é obrigatório")
        parser.add_argument("valor_hora", type=float)
        parser.add_argument("timezone",
                            type=str,
                            required=True,
                            help="O campo 'timezone' é obrigatório")

        data = parser.parse_args()
        if UsuarioModel.find_by_email(data["email"]):
            return {
                'message':
                "Um usuário com o email '{}' já existe.".format(data["email"])
            }, 400

        usuario = UsuarioModel(
            None, data["nome"], data["telefone"], data["email"],
            data["password"], data["perfil_id"], data["valor_hora"],
            data["timezone"], None, 0, data["email"],
            datetime.datetime.utcnow().strftime('%Y-%m-%d %H:%M:%S'),
            data["email"],
            datetime.datetime.utcnow().strftime('%Y-%m-%d %H:%M:%S'), 1)
        try:
            usuario.save_to_db()
        except:
            return {"mensagem": "Um erro ocorreu inserindo o usuario."}, 500
        return usuario.json(), 201
Exemple #4
0
    def post(self):
        dados = atributos.parse_args()

        if not dados['email'] or dados['email'] is None:
            return {"message": "The field 'email' cannot be left blank."}, 422    

        if UsuarioModel.find_by_email(dados['email']):
            return {'message': 'The email "{}" already exists.'.format(dados['email'])}, 422

        if UsuarioModel.find_by_login(dados['login']):
            return {'message': 'The login "{}" already exists.'.format(dados['login'])}, 422

        user = UsuarioModel(**dados)
        try:
            user.save()
            user.send_confirmacao_email()
        except:
            user.delete()
            traceback.print_exc()
            return {"message":"An internal error ocurred trying registry 'User'."}, 500

        return {'message':'User created!'}, 201