def get(cluster_id): cluc = ClusterController() cluster = cluc.get(id=cluster_id) if cluster.user_id != current_identity.id: raise Forbidden() code = 200 if not cluster.read: cluc.update({'id': cluster_id}, {'read': True, 'read_reason': ReadReason.read}) READ.labels(reason=ReadReason.read.value).inc() cluster.read = True cluster.read_reason = ReadReason.read code = 226 return cluster, code
def put(cluster_id): cctrl = ClusterController(current_identity.id) attrs = parse_meaningful_params(cluster_parser) if 'read_reason' in attrs: pass # not overriding given read reason elif 'read' in attrs and attrs.get('read'): attrs['read_reason'] = ReadReason.marked READ.labels(reason=ReadReason.marked.value).inc() elif 'read' in attrs and not attrs.get('read'): attrs['read_reason'] = None changed = cctrl.update({'id': cluster_id}, attrs) if not changed: cctrl.assert_right_ok(cluster_id) return None, 204