Move user management in model.

This commit is contained in:
Alexis Lahouze 2016-06-17 10:52:14 +02:00
parent 2a689f5c07
commit a0fa75a26d
2 changed files with 21 additions and 19 deletions

View File

@ -15,6 +15,8 @@
along with Accountant. If not, see <http://www.gnu.org/licenses/>. along with Accountant. If not, see <http://www.gnu.org/licenses/>.
""" """
# vim: set tw=80 ts=4 sw=4 sts=4: # vim: set tw=80 ts=4 sw=4 sts=4:
import click
from passlib.hash import sha256_crypt as crypt from passlib.hash import sha256_crypt as crypt
from itsdangerous import (URLSafeTimedSerializer as Serializer, from itsdangerous import (URLSafeTimedSerializer as Serializer,
BadSignature, SignatureExpired) BadSignature, SignatureExpired)
@ -26,6 +28,25 @@ from flask_login import UserMixin
from accountant import db from accountant import db
# Define commands to handle users.
@app.cli.group()
def user():
""" User management. """
pass
@user.command()
def add(email, password):
""" Add a new user. """
user = User()
user.email = email
user.password = User.hash_password(password)
db.session.add(user)
click.echo("User '%s' successfully added." % email)
class User(UserMixin, db.Model): class User(UserMixin, db.Model):
id = db.Column(db.Integer, primary_key=True) id = db.Column(db.Integer, primary_key=True)
email = db.Column(db.String(200), nullable=False, unique=True, index=True) email = db.Column(db.String(200), nullable=False, unique=True, index=True)

View File

@ -19,8 +19,6 @@ import arrow
from functools import wraps from functools import wraps
import click
from flask import request, g from flask import request, g
from flask_restplus import Resource, marshal_with_field from flask_restplus import Resource, marshal_with_field
@ -32,23 +30,6 @@ from ..models.users import User
from .models import user_model, token_model, login_model from .models import user_model, token_model, login_model
# Define commands to handle users.
@app.cli.group()
def user():
""" User management. """
pass
@user.command()
def add(email, password):
""" Add a new user. """
user = User()
user.email = email
user.password = User.hash_password(password)
db.session.add(user)
click.echo("User '%s' successfully added." % email)
def load_user_from_token(token): def load_user_from_token(token):
return User.verify_auth_token(token) return User.verify_auth_token(token)