def post(self): if request.json is None: abort(400, message=u"Пустые параметры") from services.userservice import UserService login = request.json.get('login') email = request.json.get('email') password = request.json.get('password') retypepassword = request.json.get('retypepassword') if login is None or email is None or password is None or \ retypepassword is None: abort(400, message=u"Недостаточно данных") if password != retypepassword: abort(400, message=u"Пароли не совпадают") if not UserService.check_duplicate(login, email): abort(400, message=u"Дупликат") user = UserService.registration(login, email, password) db.session.add(user) db.session.commit() return jsonify({ 'token': user.generate_auth_token().decode('ascii') })
def __initialize(self): """ Инициализация БД. Нужен как минимум один пользователь. """ from services.userservice import UserService with self.application.app_context(): user = UserService.registration('I', '*****@*****.**', 'I') self.db.session.add(user) self.db.session.commit()
def create_superuser(): from services.userservice import UserService with app.app_context(): if UserService.check_duplicate('admin'): user = UserService.registration( 'admin', '*****@*****.**', 'admin', is_superuser=True, first_name='Админов', last_name='Админ', role=['admin']) db.session.add(user) db.session.commit() else: debug(u'Error - has admin.') raise Exception(u"Has admin.")
def save_model(self, obj): if obj.id is None: return UserService.registration( obj.login, obj.email, obj.password, obj.is_superuser, obj.first_name, obj.last_name, obj._roles) _roles = [role.name for role in obj.roles] for rol in list(set(_roles).difference(obj._roles)): user_datastore.remove_role_from_user(obj, rol) for rol in list(set(obj._roles).difference(_roles)): user_datastore.add_role_to_user(obj, rol) db.session.add(obj) return obj