def domain_acquire(self, request): user = self.authenticate(request) validator = Validator(request) user_domain = validator.new_user_domain() device_mac_address = validator.device_mac_address() device_name = validator.string('device_name', required=True) device_title = validator.string('device_title', required=True) check_validator(validator) with self.create_storage() as storage: domain = storage.get_domain_by_name(user_domain) if domain and domain.user_id != user.id: raise servicesexceptions.parameter_error( 'user_domain', 'User domain name is already in use') update_token = util.create_token() if not domain: domain = Domain(user_domain, device_mac_address, device_name, device_title, update_token=update_token) domain.user = user storage.add(domain) else: domain.update_token = update_token domain.device_mac_address = device_mac_address domain.device_name = device_name domain.device_title = device_title return domain
def domain_acquire(self, request): user = self.authenticate(request) validator = Validator(request) user_domain = validator.new_user_domain() device_mac_address = validator.device_mac_address() device_name = validator.string('device_name', required=True) device_title = validator.string('device_title', required=True) check_validator(validator) with self.create_storage() as storage: domain = storage.get_domain_by_name(user_domain) if domain and domain.user_id != user.id: raise servicesexceptions.parameter_error('user_domain', 'User domain name is already in use') update_token = util.create_token() if not domain: domain = Domain(user_domain, device_mac_address, device_name, device_title, update_token=update_token) domain.user = user storage.add(domain) else: domain.update_token = update_token domain.device_mac_address = device_mac_address domain.device_name = device_name domain.device_title = device_title return domain
def enable_action(self, type): token = util.create_token() action = self.action(type) if action: action.token = token else: action = Action(token, type) self.actions.append(action) return action
def get_login_token(username, password): user = query_db_one('''select id, password from user where name = %s''', [username], one=True) if user is None: return None print('''[user] ==>''', user) if user[1] == password: login_timestamp = int(time.time()) return util.create_token(user[0], login_timestamp)
def login(): try: data = dict(request.get_json()) if util.Check_all(data.keys(), ['email', 'password']): user = db.get_user(data['email'], None) if util.encrypt(data['password']) == user['password']: return jsonify({ 'token': util.create_token(user['email'], str(user['_id']), app.config['JWT_SECRET_KEY']) }) raise ValidationError('Invalid username or Password!!') except ValidationError as err: return dict(message=err.messages)
def credit_balance(bot, update) -> None: conn = create_connection() user = get_user(conn, bot.message.chat.id) present_toke = user[6] pending = emojize('⌛', use_aliases=True) search = emojize('🔎', use_aliases=True) cancel = emojize('🧨', use_aliases=True) if present_toke != 0: inl_keyboard = InlineKeyboardMarkup( [[ InlineKeyboardButton(text=f"Получить новый токен {cancel}", callback_data='68') ], [ InlineKeyboardButton(text=f"Проверить оплату {search}", callback_data='69') ]]) bot.message.reply_text( f'У вас имеется <b>токен</b>: <b><code>{present_toke}</code></b> для пополнения вашего счета.\n\n' f'Если по какой либо причине вам необходим <b>новый токен</b> для пополнения счета выберите ' f'<b>Получить новый токен {cancel}</b>\n\n' f'Учтите, если вы получите <b>новый токен</b>, все неподтвержденые Qiwi переводы ' f'содержащие ваш нынешний токен <code>{present_toke}</code> зачислены <b>не будут</b>.', parse_mode=ParseMode.HTML, reply_markup=inl_keyboard) else: token = create_token() inl_keyboard = InlineKeyboardMarkup([[ InlineKeyboardButton(text=f"Проверить оплату {search}", callback_data='69') ]]) qiwi_params = get_qiwi_params(conn) print(qiwi_params) bot.message.reply_text( f"<b>Пополнение счета</b>\n\n<b>Дата</b>: " f"{datetime.now().replace(second=0, microsecond=0)}\n" f"<b>Статус</b>: Не подтверждено {pending}\n\n" f"Пополните свой счет на любую сумму по номеру <b>QIWI</b>:\n" f"<code>{qiwi_params[1]}</code>\n" f"Или совершите перевод на карту <b>VISA</b>:\n" f"<code>{qiwi_params[3]}</code>\n" f"Действует до: <code>{qiwi_params[4]}</code>\n\n" f"<b>В комментарий</b> к платежу укажите:\n" f"<code>{token}</code>", parse_mode=ParseMode.HTML) bot.message.reply_text( 'После перевода на <b>QIWI</b> кошелек нажмите на <b>кнопку</b>', reply_markup=inl_keyboard, parse_mode=ParseMode.HTML) update_user_token(conn, bot.message.chat.id, token)
def create_new_user(self, request): validator = Validator(request) email = validator.email() password = validator.password() user_domain = validator.new_user_domain(error_if_missing=False) errors = validator.errors if errors: message = ", ".join(errors) raise servicesexceptions.bad_request(message) user = None action = None with self.create_storage() as storage: by_email = storage.get_user_by_email(email) if by_email and by_email.email == email: raise servicesexceptions.conflict('Email is already registered') if user_domain: by_domain = storage.get_domain_by_name(user_domain) if by_domain and by_domain.user_domain == user_domain: raise servicesexceptions.conflict('User domain name is already in use') update_token = util.create_token() user = User(email, util.hash(password), not self.activate_by_email) if user_domain: domain = Domain(user_domain, None, update_token) domain.user = user user.domains.append(domain) storage.add(domain) if self.activate_by_email: action = user.enable_action(ActionType.ACTIVATE) storage.add(user) if self.activate_by_email: self.mail.send_activate(self.main_domain, user.email, action.token) return user
def domain_acquire(self, request): user = self.authenticate(request) validator = Validator(request) user_domain = validator.new_user_domain() with self.create_storage() as storage: domain = storage.get_domain_by_name(user_domain) if domain and domain.user_id != user.id: raise servicesexceptions.conflict('User domain name is already in use') update_token = util.create_token() if not domain: domain = Domain(user_domain, None, update_token) domain.user = user storage.add(domain) else: domain.update_token = update_token return domain
def login_handler(): login = request.json.get('login') groupId = request.json.get('groupId') # Check if there is user with the same name select = db.prepare("SELECT * FROM users WHERE name=$1") user = select(login) if user: return "Username is already in use", 401 token = create_token(login) insert = db.prepare("INSERT INTO users VALUES (DEFAULT, $1, $2, $3, $4)") insert(login, True, groupId, token) user = select(login)[0] answer = { 'id': user[0], 'username': user[1], 'online': user[2], 'token': user[4] } return json.dumps(answer), 200
def get_user_by_email(self, email): user = self.session.query(User).filter(User.email == email).first() if user and not user.update_token: user.update_token = util.create_token() return user
def __init__(self, email, password_hash, active): self.email = email self.password_hash = password_hash self.active = active self.unsubscribed = False self.update_token = util.create_token()