Exemple #1
0
from flask import Blueprint, jsonify, make_response
import json
from app import app
api = Blueprint('api', __name__)
from app.Models import User
from app.Views import AuthUserAPI, RegisterAPI, LoginAPI, PostAPI, CategoryAPI
from helpers import register_api

url_api_v1 = '/api/v1'

register_api(AuthUserAPI, 'auth_user_api', '/auth/user', pk='id', version='v1')
register_api(RegisterAPI,
             'register_api',
             '/auth/register',
             pk='id',
             version='v1')
register_api(LoginAPI, 'login_api', '/auth/login', pk='id', version='v1')
register_api(PostAPI, 'post_api', '/posts', pk='id', version='v1')
app.add_url_rule('%s/posts/<string:slug>' % (url_api_v1),
                 view_func=PostAPI.as_view('post_slug_api'),
                 methods=['GET'])
register_api(CategoryAPI, 'category_api', '/categories', pk='id', version='v1')

# app.add_url_rule('/users', view_func=UserAPI.as_view('users'))
# @api.route('/users')
# def index():
# 	user = user = User.query.filter_by(id=1).first()
# 	token =user.encodeAuthToken(user.id)
# 	return jsonify({
# 		'access_token': token.decode("utf-8")
# 	})
Exemple #2
0
    def collection_name(self):
        return 'users'

    def post(self):
        user = request.form.to_dict()
        # get password and hash it
        password = request.form.get('password', None)
        confirm = request.form.get('confirm', None)
        if password:
            if password == confirm:
                hashed_password = bcrypt.hashpw(password, bcrypt.gensalt())
                user['hashed_password'] = hashed_password
                del user['password']
                del user['confirm']
                # insert returns an ObjectId
                user_id = str(db.users.insert(user))
                # abstract into pre-serialize user
                del user['hashed_password']
                user['logged_in'] = True
                session['user'] = user_id
                return jsonify(user)
            else:
                # password != confirm
                return json.dumps({'error': PASSWORDS_DO_NOT_MATCH})
        else:
            # no password was entered
            return json.dumps({'error': NO_PASSWORD_PROVIDED})


register_api(UserAPI, 'user_api', '/users/')
Exemple #3
0
from helpers import BSONView, register_api


class EventAPI(BSONView):
    @property
    def collection_name(self):
        return 'events'

register_api(EventAPI, 'event_api', '/events/')