示例#1
0
def signup(param):
    name = param.get('name', None)
    email = param.get('email', None)
    password = param.get('password', None)
    c_password = param.get('cPassword', None)

    if password == c_password:
        if not db_user_data_store().get_user(email):
            db_user_data_store().create_user(
                name=name,
                email=email,
                password=password
            )
            db.session.commit()
            db_user_data_store().add_role_to_user(email, 'user')
            db.session.commit()
            return jsonify(dict(
                message=SUCCESS_MESSAGE['SIGN_UP']
            ))
        else:
            return jsonify(dict(
                message=ERROR_MESSAGE['EMAIL_ALREADY_EXISTS']
            )), 400
    else:
        return jsonify(dict(
            message=ERROR_MESSAGE['PASSWORD_NOT_MATCHED']
        )), 400
示例#2
0
def create_admin_user():
    if not db_user_data_store().get_user('*****@*****.**'):
        db_user_data_store().create_user(name='admin',
                                         email='*****@*****.**',
                                         password='******')
        db_user_data_store().add_role_to_user('*****@*****.**', 'admin')
        db.session.commit()
示例#3
0
def create_admin_user():
    if not db_user_data_store().get_user('*****@*****.**'):
        db_user_data_store().create_user(name='admin',
                                         email='*****@*****.**',
                                         password='******')
        db_user_data_store().add_role_to_user('*****@*****.**',
                                              'admin')
        db.session.commit()
示例#4
0
def auth(param):
    email = param.get('email', None)
    password = param.get('password', None)

    token = dict(access_token=generate_jwt_token(email, password))

    user = db_user_data_store().find_user(email=email)
    if user and email == user.email:
        login_user(user)
        db_user_data_store().commit()

    return token
示例#5
0
def change_password(param):
    from flask_praetorian import current_user
    from app import jwt

    password = param.get('password', None)
    new_password = param.get('new_password', None)
    new_password_confirm = param.get('new_password_confirm', None)

    if new_password != new_password_confirm:
        return jsonify(dict(
            message=ERROR_MESSAGE['PASSWORD_NOT_MATCHED']
        )), 400

    user = db_user_data_store().find_user(email=current_user().email)
    if not user or not jwt._verify_password(password, user.password):
        return jsonify(dict(
            message=ERROR_MESSAGE['INVALID_PASSWORD']
        )), 400

    user.password = new_password
    db.session.commit()

    return jsonify(dict(
        message=SUCCESS_MESSAGE['PASSWORD_CHANGED']
    ))
示例#6
0
def set_role_data():
    db_user_data_store().find_or_create_role(name='admin',
                                             description='Administrator')
    db_user_data_store().find_or_create_role(
        name='first-level', description='Only can see the proposal')
    db_user_data_store().find_or_create_role(
        name='second-level', description='Can edit and comment')
    db_user_data_store().find_or_create_role(
        name='third-level', description='Can Approve or Reject')
示例#7
0
def account_details():
    from flask_praetorian import current_user

    email = current_user().email
    user = db_user_data_store().find_user(email=email)
    if user and email == user.email:
        return user.get_security_payload()
    return handle401()
示例#8
0
def set_role_data():
    db_user_data_store().find_or_create_role(name='admin',
                                             description='Administrator')
    db_user_data_store().find_or_create_role(name='police-officer',
                                             description='Police Office')
    db_user_data_store().find_or_create_role(name='user', description='User')
示例#9
0
    def create_admin_user():
        # Create the Roles -- unless they already exist
        db_user_data_store().find_or_create_role(name='admin',
                                                 description='Administrator')
        db_user_data_store().find_or_create_role(name='police-officer',
                                                 description='Police Office')
        db_user_data_store().find_or_create_role(name='user',
                                                 description='User')

        if not db_user_data_store().get_user('*****@*****.**'):
            db_user_data_store().create_user(name='admin',
                                             email='*****@*****.**',
                                             password='******')
            db.session.commit()
            db_user_data_store().add_role_to_user('*****@*****.**', 'admin')
            db.session.commit()
示例#10
0
jwt = Praetorian()


@app.route('/')
def index():
    return jsonify({'message': 'Welcome to Lost Car Portal!'})


with app.app_context():
    # DB init
    db.init_app(app)
    load_model()
    db.create_all()

    # Security
    security = Security(app, db_user_data_store())

    # Background Celery
    celery = make_celery(app)

    # Mail
    mail = Mail(app)

    # REST API
    api_manager = APIManager(app, flask_sqlalchemy_db=db)

    # Load all the modules
    load_http()
    load_utils()
    load_security()
    load_exception()
示例#11
0
    def create_admin_user():
        # Create the Roles -- unless they already exist
        db_user_data_store().find_or_create_role(name='admin',
                                                 description='Administrator')
        db_user_data_store().find_or_create_role(
            name='first-level', description='Only can see the proposal')
        db_user_data_store().find_or_create_role(
            name='second-level', description='Can edit and comment')
        db_user_data_store().find_or_create_role(
            name='third-level', description='Can Approve or Reject')

        # Create Category
        # project_category = ProjectCategory(name="IT", description='IT related projects')
        # db.session.add(project_category)
        # db.session.commit()

        if not db_user_data_store().get_user('*****@*****.**'):
            db_user_data_store().create_user(name='admin',
                                             email='*****@*****.**',
                                             password='******')
            db.session.commit()
            db_user_data_store().add_role_to_user('*****@*****.**',
                                                  'admin')
            db.session.commit()