def process_request(self, request: Request) -> GeneratedWindow: """ :param request: :return: """ if not request or not isinstance(request, Request): raise ValueError("Invalid argument request") if not request.identifier: raise ValueError("identifier cannot be null") if not request.command: raise ValueError("command cannot be null") if not request.phone: raise ValueError("phone cannot be null") session = self.__session_provider.get(identifier=request.identifier, phone=request.phone) if not session: session = Session(identifier=request.identifier, phone=request.phone, current_window=None) lottus_context = LottusContext(self.__initial_processor, current_session=session, processors=self.__processors) window = lottus_context.process_command(request.command) session.current_window = window self.__session_provider.save(session) self.__window_manager.save(window) return window
def get_comments(): session = Session() comments_objects = session.query(Comment).all() schema = CommentSchema(many=True) comments = schema.dump(comments_objects) session.close() return comments
def get_book(title): session = Session() book_objects = session.query(Book).filter_by(title=title) schema = BookSchema(many=True) books = schema.dump(book_objects) session.close() return books
def get_users(): session = Session() users_objects = session.query(User).all() schema = UserSchema(many=True) users = schema.dump(users_objects) session.close() return users
def get_books(): session = Session() books_objects = session.query(Book).all() schema = BookSchema(many=True) books = schema.dump(books_objects) session.close() return books
def get_user(username): session = Session() user_objects = session.query(User).filter_by(username=username).limit(1) schema = UserSchema(many=True) user = schema.dump(user_objects) session.close() return user
def create_comment_platform(data): posted_comment = CommentSchema(only=('text', 'id_book', 'id_user')) \ .load(data) comment = Comment(**posted_comment) session = Session() session.add(comment) session.commit() new_comment = CommentSchema().dump(comment) session.close() return {'info': 'Save comment in DB'}
def create_book_platform(data): data['publication_date'] = str( datetime.strptime(data['publication_date'], "%Y-%m-%d")) posted_book = BookSchema(only=('title', 'publication_date')) \ .load(data) book = Book(**posted_book) session = Session() session.add(book) session.commit() new_book = BookSchema().dump(book) session.close() return {'info': 'Save book in DB'}
def authenticate(username, password): if not username: return None # fetching from the database session = Session() user_objects = session.query(User).filter_by(username=username).limit(1) schema = UserSchema(many=True) user = schema.dump(user_objects) session.close() if not user: return None user_internal = User(**user[0]) if user_internal.check_password(password): flask_login.login_user(user_internal) return user[0]
def create_user_platform(data): posted_user = UserSchema(only=('username', 'password', 'first_name', 'last_name'))\ .load(data) user = User(**posted_user) user.set_password(data['password']) session = Session() user_objects = session.query(User).filter_by( username=data['username']).limit(1) schema = UserSchema(many=True) user_old = schema.dump(user_objects) if user_old: return session.add(user) session.commit() new_user = UserSchema().dump(user) session.close() return {'info': 'Save user in DB'}
def __init__(self): Base.metadata.create_all(engine) self.session = Session()