Ejemplo n.º 1
0
async def get_user(db_engine, email, clear_password):
    salted_pwd = hash_password(clear_password)
    async with db_engine.acquire() as conn:
        t_user = app_db.user
        query = t_user.select().where((t_user.c.email == email)
                                      & (t_user.c.password == salted_pwd))
        # user = await conn.scalar(query)
        for row in await conn.execute(query):
            return row
Ejemplo n.º 2
0
 async def post(self):
     data = await self.request.post()
     async with self.request.app.db_engine.acquire() as conn:
         insert_args = dict(data)
         insert_args['password'] = hash_password(data['password'])
         # strip vals from form
         # TODO: validate through self.fields.validators
         insert_args = dict((k, v.strip) for k, v in insert_args.items())
         uid = await conn.scalar(app_db.user.insert().values(**insert_args))
     return {'result': 'success! user_id={0}'.format(uid)}
Ejemplo n.º 3
0
async def _check_users(app: Application):
    if not os.path.isfile('users.json'):
        return

    async with AIOFile('users.json', 'r') as f:
        users = json.loads(await f.read())

    for user in users:
        if not await app['models']['users'].get_user(user['login']):
            user['password'] = hash_password(user['password'])
            await app['models']['users'].create_user(user)
Ejemplo n.º 4
0
async def create_user(request):
    response = {'success': False, 'message': 'Пользователь не был добавлен'}
    data = await request.json()
    data['password'] = hash_password(data['password'])

    if await request.app['models']['users'].get_user(data['login']):
        response['message'] = 'Пользователь уже существует с таким логином'
        web.json_response(response)

    user = await request.app['models']['users'].create_user(data)

    if user.acknowledged:
        response = {'success': True}

    return web.json_response(response)
Ejemplo n.º 5
0
 async def create_admin(self, login, password):
     data = {
         'login': login,
         'password': hash_password(password)
     }
     await self.collection.insert_one(data)
Ejemplo n.º 6
0
logger = settings.get_logger(__name__)

user_fixture_t = namedtuple('user_fixture', [
    'id', 'name', 'birthdate', 'password', 'email', 'phone', 'role_id',
    'supervisor_id'
])

sched_fixture_t = namedtuple('sched_fixture',
                             ['user_id', 'start_time', 'end_time'])

fixtures = (
    user_fixture_t(id=-1,
                   name='root',
                   birthdate='1992-08-10',
                   password=hash_password('123456'),
                   email='*****@*****.**',
                   phone='79995656900',
                   role_id=constants.Roles.SUPERVISOR,
                   supervisor_id=None),
    user_fixture_t(id=4,
                   name='first driver',
                   birthdate='1980-08-10',
                   password=hash_password('driver_first'),
                   email='*****@*****.**',
                   phone='79221234567',
                   role_id=constants.Roles.DRIVER,
                   supervisor_id=-1),
    user_fixture_t(id=5,
                   name='second driver',
                   birthdate='1977-01-11',