Example #1
0
    def test_00_token_new(self):
        token = Tokens(user_id=1)
        token.save()

        OrdbogenTestCase.token = token.key
        OrdbogenTestCase.header['Authorization'] = token.key

        self.assertIsNotNone(token.key)
Example #2
0
def post_token():
    """Post token into the Pool"""
    token_name = request.args.get('token_name')
    token = db.session.query(Tokens).filter(
        Tokens.token_name == token_name).first()
    if token:
        response = Response(json.dumps({"Response":
                                        "Token name already used"}),
                            status=409,
                            mimetype='application/json')
        return response
    else:
        tokens = Tokens(token_name=token_name)
        tokens.save()
        response = Response(json.dumps({"Response": "Created Token"}),
                            status=201,
                            mimetype='application/json')
        return response
Example #3
0
    def post(self):
        """
        Create a Token for a valid User, providing e-mail and password

        :return: JSON response
        """
        validate = ['email', 'password']
        try:
            self.validate_fields(validate, request.form)
        except ValueError:
            return self.response(400, 'Required fields: ' + ' '.join(validate))

        params = self.get_form_values(validate, request.form)
        user = Users.query.filter_by(email=params['email']).first()

        if user is None:
            return self.response(400, 'Invalid user')
        if not user.check_password(params['password']):
            return self.response(401)

        old_token = Tokens.query.filter_by(user_id=user.id).first()
        if old_token is not None:
            old_token.delete()

        token = Tokens(user_id=user.id)
        token.save()

        json_response = {
            'access_key': token.key,
            'user': {
                'name': token.user.name,
                'e-mail': token.user.email,
            },
            'expiration': token.readable_expiration
        }

        return self.response(200, json_response)