Esempio n. 1
0
    def post(self, *_args, **_kwargs):
        _params = self.check_auth(2)
        if not _params:
            return

        args = self.parse_json_arguments(
            article_id=ENFORCED,
            title=OPTIONAL,
            content=OPTIONAL,
            category_id=OPTIONAL)

        if args.title or args.category_id:
            check_list = ('title', 'category_id')
            update_dict = dict((arg, args.get(arg)) for arg in args.arguments
                               if arg in check_list)

            update_result = tasks.update_article(
                article_id=args.article_id, **update_dict)
            if not update_result['result']:
                return self.fail(5003)

        if args.content:
            update_result = self.article_content.update_one(
                {
                    'article_id': args.article_id
                }, {'$set': {
                    'content': args.content
                }},
                upsert=True)
            if not update_result:
                return self.fail(5003)

        query_result = tasks.query_article(article_id=args.article_id)

        self.success(data=dict(query_result, content=args.content))
Esempio n. 2
0
    def get(self, *_args, **_kwargs):
        args = self.parse_form_arguments(article_id=ENFORCED)

        query_result = tasks.query_article(article_id=args.article_id)
        if not query_result:
            return self.fail(4004)

        article_content = self.article_content.find_one(
            dict(article_id=args.article_id))

        self.success(
            data=dict(query_result, content=article_content['content']))
Esempio n. 3
0
    def get(self, *_args, **_kwargs):
        _params = self.check_auth(2)
        if not _params:
            return

        args = self.parse_form_arguments(article_id=ENFORCED)

        query_result = tasks.query_article(article_id=args.article_id)

        if not query_result:
            return self.fail(4004)
        if _params.user_id != query_result['user_id']:
            return self.fail(4005)

        self.success()
Esempio n. 4
0
    def delete(self, *_args, **_kwargs):
        _params = self.check_auth(2)
        if not _params:
            return

        args = self.parse_form_arguments(article_id=ENFORCED)

        query_result = tasks.query_article(article_id=args.article_id)
        if not query_result:
            return self.fail(4004)
        if query_result['user_id'] != _params.user_id:
            return self.fail(4005)

        tasks.delete_article(article_id=args.article_id)
        self.article_content.delete_one({'article_id': args.article_id})

        self.success()