Exemplo n.º 1
0
    def post(self) -> Response:

        user_service: UserService = UserService()

        email: str = self.form_data['email']
        user: user_service.model = user_service.get_user(email)

        if not user:
            return jsonify({
                'form_error': 'BAD_EMAIL'
            })

        if self.verify_password(user.password, self.form_data['password']):
            return jsonify({
                'access_token': create_access_token(identity=email),
                'refresh_token': create_refresh_token(identity=email),
                'favourite_articles': user.favourite_articles,
                'favourite_services': user.favourite_services,
                'has_been_initialized': user.has_been_initialized,
                'show_fav_as_default': user.show_fav_as_default,
            })
        else:
            return jsonify({
                'form_error': 'BAD_PASSWORD'
            })
Exemplo n.º 2
0
    def get(self) -> Response:
        user_service: UserService = UserService()

        return jsonify({
            'favourite_articles': user_service.get_fav_articles(),
            'favourite_services': user_service.get_fav_services(),
        })
Exemplo n.º 3
0
    def post(self) -> Response:
        user_service: UserService = UserService()
        user: user_service.model = user_service.get_logged_user()

        if user and self.form_data.get('is_confirmed'):
            user.delete_user()
            return jsonify(deleted=True)
        return jsonify(error=True)
Exemplo n.º 4
0
 def get(self) -> Response:
     user_service: UserService = UserService()
     favourite_services: list = user_service.get_fav_services()
     return jsonify([
         ScrapperNames.parse_scrapper(
             getattr(ScrapperNames, service.upper()).value)
         for service in favourite_services
     ])
Exemplo n.º 5
0
    def post(self) -> Response:

        user_service: UserService = UserService()
        email: str = self.form_data['email']
        if user_service.get_user(email):
            return jsonify({'user_exists': True})

        hashed_password: str = self.hash_password(self.form_data['password'])
        return jsonify(
            {'created': user_service.create_user(email, hashed_password)})
Exemplo n.º 6
0
    def post(self) -> Response:
        article_service: ArticleService = ArticleService()
        user_service: UserService = UserService()

        try:
            user: user_service.model = user_service.get_logged_user()
            favourite_articles: list = user.favourite_articles
            articles: list = article_service.get_items(
                self.form_data['page'],
                article_service.get_articles_by_ids(favourite_articles))
            return jsonify([article.get_article() for article in articles])
        except NotFound:
            return jsonify([])
Exemplo n.º 7
0
    def post(self) -> Response:
        article_id: int = self.form_data['article_id']
        user_service: UserService = UserService()
        user: user_service.model = user_service.get_logged_user()

        if user and article_id in user.favourite_articles:
            user_service.remove_fav_articles(article_id)
            return jsonify({
                'success': True,
                'user_fav_articles': user_service.get_fav_articles()
            })
        return jsonify({
            'error': True
        })
Exemplo n.º 8
0
    def post(self) -> Response:
        service_name: str = self.form_data['service_name']
        user_service: UserService = UserService()
        user: user_service.model = user_service.get_logged_user()

        if user and service_name not in user.favourite_services:
            user_service.add_fav_services(service_name)
            return jsonify({
                'success': True,
                'user_fav_services': user.favourite_services
            })
        return jsonify({
            'error': True
        })
Exemplo n.º 9
0
 def post(self) -> Response:
     user_service: UserService = UserService()
     user_service.initialize_user(self.form_data.get('selected_services'),
                                  self.form_data.get('show_fav_as_default'))
     return jsonify({'success': True})