def togglewatch_post(**kwargs): '''View for toggling watch mode for a node.''' # TODO: refactor this, watch_post, unwatch_post (@mambocab) node = kwargs['node'] or kwargs['project'] user = kwargs['auth'].user watch_config = WatchConfig( node=node, digest=request.json.get('digest', False), immediate=request.json.get('immediate', False) ) try: if user.is_watching(node): user.unwatch(watch_config) else: user.watch(watch_config) except ValueError: raise HTTPError(http.BAD_REQUEST) user.save() return { 'status': 'success', 'watchCount': len(node.watchconfig__watched), 'watched': user.is_watching(node) }
def unwatch_post(auth, node, **kwargs): user = auth.user watch_config = WatchConfig(node=node, digest=request.json.get('digest', False), immediate=request.json.get('immediate', False)) try: user.unwatch(watch_config) except ValueError: # Node isn't being watched raise HTTPError(http.BAD_REQUEST) return {'status': 'success', 'watchCount': len(node.watchconfig__watched)}
def watch_post(auth, node, **kwargs): user = auth.user watch_config = WatchConfig(node=node, digest=request.json.get('digest', False), immediate=request.json.get('immediate', False)) try: user.watch(watch_config) except ValueError: # Node is already being watched raise HTTPError(http.BAD_REQUEST) user.save() return {'status': 'success', 'watchCount': node.watches.count()}
def watch_post(**kwargs): node = kwargs['node'] or kwargs['project'] user = kwargs['auth'].user watch_config = WatchConfig(node=node, digest=request.json.get('digest', False), immediate=request.json.get('immediate', False)) try: user.watch(watch_config) except ValueError: # Node is already being watched raise HTTPError(http.BAD_REQUEST) user.save() return {'status': 'success', 'watchCount': len(node.watchconfig__watched)}