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
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