def user_index(): users = Users.query.all() schema = UsersSchema(many=True) #Serialize the object and return json results = schema.dump(users) return render_template('/users/index.html', users=users, results=results)
from config import SECRET_KEY, PASSWORD_RESET_EMAIL from datetime import datetime, timedelta from functools import wraps from flask import g, Blueprint, jsonify, make_response, request from flask_restful import Resource, Api import flask_restful from app.users.models import Users, UsersSchema from werkzeug.security import check_password_hash, generate_password_hash from sqlalchemy.exc import SQLAlchemyError from marshmallow import ValidationError from app.basemodels import db from flask_mail import Mail, Message login1 = Blueprint('login', __name__) api = Api(login1) schema = UsersSchema(strict=True) mail = Mail() # JWT AUTh process start def create_token(user): payload = { 'sub': user.id, 'iat': datetime.utcnow(), 'exp': datetime.utcnow() + timedelta(days=1), 'scope': user.role } token = jwt.encode(payload, SECRET_KEY) return token.decode('unicode_escape')
""" User views file """ import jwt import bcrypt from http import HTTPStatus from flask import jsonify, make_response from sqlalchemy.exc import SQLAlchemyError from flask_restplus import Namespace, Resource, reqparse, fields from app.users.models import Users, UsersSchema from app.api.database import DB from app.api.auth_type import SECERET_KEY API = Namespace('Users', description="User's RESTPlus - API") USERS_SCHEMA = UsersSchema() @API.route('s') class UsersAuth(Resource): parser = reqparse.RequestParser() parser.add_argument('user_id', required=True, type=str, help="User's ID", location='json') parser.add_argument('user_password', required=True, type=str, help="User's PW", location='json') parser.add_argument('user_email',
from flask import Blueprint, render_template, request, flash, redirect, url_for from app.users.models import Users, UsersSchema users = Blueprint('users', __name__) #http://marshmallow.readthedocs.org/en/latest/quickstart.html#declaring-schemas schema = UsersSchema() #Users @users.route('/') def user_index(): users = Users.query.all() results = schema.dump(users, many=True).data return render_template('/users/index.html', results=results) @users.route('/add', methods=['POST', 'GET']) def user_add(): if request.method == 'POST': #Validate form values by de-serializing the request, http://marshmallow.readthedocs.org/en/latest/quickstart.html#validation form_errors = schema.validate(request.form.to_dict()) if not form_errors: name = request.form['name'] email = request.form['email'] user = Users(email, name) return add(user, success_url='users.user_index', fail_url='users.user_add') else: flash(form_errors)