Example #1
0
    def post(self):
        """
			New Subscription
			@param username: str
			@param subreddit: str
			#return {}
		"""
        a = parser.parse_args()
        s_username, s_subreddit = \
         a['username'], a['subreddit']
        if not s_username \
         or not s_subreddit:
            return {'message': 'all fields required'}, 400, cors

        try:
            s_user = User.objects(username=s_username).get()
        except DoesNotExist:
            return {'message': 'user does not exist'}, 400, cors

        try:
            s_subreddit = Subreddit.objects(name=s_subreddit).get()
        except DoesNotExist:
            return {'message': 'user does not exist'}, 400, cors

        try:
            Subscription.objects(Q(user=s_user)
                                 & Q(subreddit=s_subreddit)).get()
        except DoesNotExist:
            pass
        else:
            return {'message': 'already subscribed'}, 400, cors

        Subscription(user=s_user, subreddit=s_subreddit).save()

        return {}, 200, cors
Example #2
0
    def get(self):
        """
			@param username: str
			@returns list({'name'})
		"""
        a = parser.parse_args()
        s_username = a['username']
        if not s_username:
            return {'message': 'all fields required'}, 400, cors

        try:
            s_user = User.objects(username=s_username).get()
        except DoesNotExist:
            return {'message': 'user does not exist'}, 400, cors

        subs = Subscription.objects(user=s_user)

        subs = [{'name': loads(i.json())['subreddit']} for i in subs]

        return subs, 200, cors