)]}'
{"freezer_api/api/v2/actions.py":[{"author":{"_account_id":27068,"name":"Trinh Nguyen","email":"dangtrinhnt@gmail.com","username":"dangtrinhnt"},"change_message_id":"4c4bf27436abe7a13c8d63c3951223c2866ad36a","unresolved":false,"context_lines":[{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    @policy.enforce(\u0027actions:get\u0027)"},{"line_number":68,"context_line":"    def on_get(self, req, resp, project_id, action_id):"},{"line_number":69,"context_line":"        # GET /v2/{project_id}/actions/{action_id}     retrieves the specified action"},{"line_number":70,"context_line":"        # search in body"},{"line_number":71,"context_line":"        user_id \u003d req.get_header(\u0027X-User-ID\u0027) or \u0027\u0027"},{"line_number":72,"context_line":"        obj \u003d self.db.get_action(project_id\u003dproject_id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_5a81d14c","line":69,"range":{"start_line":69,"start_character":0,"end_line":69,"end_character":85},"updated":"2018-09-27 12:34:20.000000000","message":"Comment has more than 80 chars.","commit_id":"0a4d2e7bbdefca02378bef6b7e44c2393a4ffcb3"},{"author":{"_account_id":27068,"name":"Trinh Nguyen","email":"dangtrinhnt@gmail.com","username":"dangtrinhnt"},"change_message_id":"4c4bf27436abe7a13c8d63c3951223c2866ad36a","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    @policy.enforce(\u0027actions:delete\u0027)"},{"line_number":81,"context_line":"    def on_delete(self, req, resp, project_id, action_id):"},{"line_number":82,"context_line":"        # DELETE /v2/{project_id}/actions/{action_id}     Deletes the specified action"},{"line_number":83,"context_line":"        user_id \u003d req.get_header(\u0027X-User-ID\u0027)"},{"line_number":84,"context_line":"        self.db.delete_action(project_id\u003dproject_id,"},{"line_number":85,"context_line":"                              user_id\u003duser_id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_7a84cd5d","line":82,"range":{"start_line":82,"start_character":0,"end_line":82,"end_character":86},"updated":"2018-09-27 12:34:20.000000000","message":"ditto","commit_id":"0a4d2e7bbdefca02378bef6b7e44c2393a4ffcb3"},{"author":{"_account_id":27068,"name":"Trinh Nguyen","email":"dangtrinhnt@gmail.com","username":"dangtrinhnt"},"change_message_id":"4c4bf27436abe7a13c8d63c3951223c2866ad36a","unresolved":false,"context_lines":[{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    @policy.enforce(\u0027actions:update\u0027)"},{"line_number":91,"context_line":"    def on_patch(self, req, resp, project_id, action_id):"},{"line_number":92,"context_line":"        # PATCH /v2/{project_id}/actions/{action_id}     updates the specified action"},{"line_number":93,"context_line":"        user_id \u003d req.get_header(\u0027X-User-ID\u0027) or \u0027\u0027"},{"line_number":94,"context_line":"        doc \u003d self.json_body(req)"},{"line_number":95,"context_line":"        new_version \u003d self.db.update_action(project_id\u003dproject_id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_1a7b597b","line":92,"range":{"start_line":92,"start_character":0,"end_line":92,"end_character":85},"updated":"2018-09-27 12:34:20.000000000","message":"ditto","commit_id":"0a4d2e7bbdefca02378bef6b7e44c2393a4ffcb3"},{"author":{"_account_id":27068,"name":"Trinh Nguyen","email":"dangtrinhnt@gmail.com","username":"dangtrinhnt"},"change_message_id":"4c4bf27436abe7a13c8d63c3951223c2866ad36a","unresolved":false,"context_lines":[{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    @policy.enforce(\u0027actions:replace\u0027)"},{"line_number":102,"context_line":"    def on_post(self, req, resp, project_id, action_id):"},{"line_number":103,"context_line":"        # PUT /v2/{project_id}/actions/{action_id}    creates/replaces the specified action"},{"line_number":104,"context_line":"        user_id \u003d req.get_header(\u0027X-User-ID\u0027) or \u0027\u0027"},{"line_number":105,"context_line":"        doc \u003d self.json_body(req)"},{"line_number":106,"context_line":"        new_version \u003d self.db.replace_action(project_id\u003dproject_id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_3a7e556a","line":103,"range":{"start_line":103,"start_character":0,"end_line":103,"end_character":91},"updated":"2018-09-27 12:34:20.000000000","message":"ditto","commit_id":"0a4d2e7bbdefca02378bef6b7e44c2393a4ffcb3"}],"freezer_api/api/v2/backups.py":[{"author":{"_account_id":27068,"name":"Trinh Nguyen","email":"dangtrinhnt@gmail.com","username":"dangtrinhnt"},"change_message_id":"4c4bf27436abe7a13c8d63c3951223c2866ad36a","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    @policy.enforce(\u0027backups:delete\u0027)"},{"line_number":81,"context_line":"    def on_delete(self, req, resp, project_id, backup_id):"},{"line_number":82,"context_line":"        # DELETE /v2/{project_id}/backups/{backup_id}     Deletes the specified backup"},{"line_number":83,"context_line":"        user_id \u003d req.get_header(\u0027X-User-ID\u0027)"},{"line_number":84,"context_line":"        self.db.delete_backup(project_id\u003dproject_id,"},{"line_number":85,"context_line":"                              user_id\u003duser_id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_7ae92d17","line":82,"range":{"start_line":82,"start_character":0,"end_line":82,"end_character":86},"updated":"2018-09-27 12:34:20.000000000","message":"Comment has more than 80 chars.","commit_id":"0a4d2e7bbdefca02378bef6b7e44c2393a4ffcb3"}],"freezer_api/api/v2/clients.py":[{"author":{"_account_id":27068,"name":"Trinh Nguyen","email":"dangtrinhnt@gmail.com","username":"dangtrinhnt"},"change_message_id":"4c4bf27436abe7a13c8d63c3951223c2866ad36a","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    @policy.enforce(\u0027clients:delete\u0027)"},{"line_number":81,"context_line":"    def on_delete(self, req, resp, project_id, client_id):"},{"line_number":82,"context_line":"        # DELETE /v2/{project_id}/clients/{client_id}     Deletes the specified backup"},{"line_number":83,"context_line":"        user_id \u003d req.get_header(\u0027X-User-ID\u0027)"},{"line_number":84,"context_line":"        self.db.delete_client(project_id\u003dproject_id,"},{"line_number":85,"context_line":"                              user_id\u003duser_id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_dad96184","line":82,"range":{"start_line":82,"start_character":0,"end_line":82,"end_character":86},"updated":"2018-09-27 12:34:20.000000000","message":"Comment has more than 80 chars.","commit_id":"0a4d2e7bbdefca02378bef6b7e44c2393a4ffcb3"}],"freezer_api/api/v2/jobs.py":[{"author":{"_account_id":27068,"name":"Trinh Nguyen","email":"dangtrinhnt@gmail.com","username":"dangtrinhnt"},"change_message_id":"4c4bf27436abe7a13c8d63c3951223c2866ad36a","unresolved":false,"context_lines":[{"line_number":141,"context_line":""},{"line_number":142,"context_line":"    @policy.enforce(\u0027jobs:create\u0027)"},{"line_number":143,"context_line":"    def on_post(self, req, resp, project_id, job_id):"},{"line_number":144,"context_line":"        # PUT /v2/{project_id}/jobs/{job_id}     creates/replaces the specified job"},{"line_number":145,"context_line":"        user_id \u003d req.get_header(\u0027X-User-ID\u0027) or \u0027\u0027"},{"line_number":146,"context_line":"        job \u003d Job(self.json_body(req))"},{"line_number":147,"context_line":"        self.update_actions_in_job(project_id, user_id, job.doc)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_bab7c521","line":144,"range":{"start_line":144,"start_character":0,"end_line":144,"end_character":83},"updated":"2018-09-27 12:34:20.000000000","message":"Comment has more than 80 chars.","commit_id":"0a4d2e7bbdefca02378bef6b7e44c2393a4ffcb3"}],"freezer_api/api/v2/sessions.py":[{"author":{"_account_id":27068,"name":"Trinh Nguyen","email":"dangtrinhnt@gmail.com","username":"dangtrinhnt"},"change_message_id":"4c4bf27436abe7a13c8d63c3951223c2866ad36a","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    @policy.enforce(\u0027sessions:get\u0027)"},{"line_number":69,"context_line":"    def on_get(self, req, resp, project_id, session_id):"},{"line_number":70,"context_line":"        # GET /v2/{project_id}/sessions/{session_id}     retrieves the specified session"},{"line_number":71,"context_line":"        # search in body"},{"line_number":72,"context_line":"        user_id \u003d req.get_header(\u0027X-User-ID\u0027) or \u0027\u0027"},{"line_number":73,"context_line":"        obj \u003d self.db.get_session(project_id\u003dproject_id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_9a51a9dc","line":70,"range":{"start_line":70,"start_character":0,"end_line":70,"end_character":88},"updated":"2018-09-27 12:34:20.000000000","message":"Comment has more than 80 chars.","commit_id":"0a4d2e7bbdefca02378bef6b7e44c2393a4ffcb3"},{"author":{"_account_id":27068,"name":"Trinh Nguyen","email":"dangtrinhnt@gmail.com","username":"dangtrinhnt"},"change_message_id":"4c4bf27436abe7a13c8d63c3951223c2866ad36a","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    @policy.enforce(\u0027sessions:delete\u0027)"},{"line_number":81,"context_line":"    def on_delete(self, req, resp, project_id, session_id):"},{"line_number":82,"context_line":"        # DELETE /v2/{project_id}/sessions/{session_id}     Deletes the specified session"},{"line_number":83,"context_line":"        user_id \u003d req.get_header(\u0027X-User-ID\u0027)"},{"line_number":84,"context_line":"        self.db.delete_session(project_id\u003dproject_id,"},{"line_number":85,"context_line":"                               user_id\u003duser_id, session_id\u003dsession_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_ba4ca53f","line":82,"range":{"start_line":82,"start_character":0,"end_line":82,"end_character":89},"updated":"2018-09-27 12:34:20.000000000","message":"ditto","commit_id":"0a4d2e7bbdefca02378bef6b7e44c2393a4ffcb3"},{"author":{"_account_id":27068,"name":"Trinh Nguyen","email":"dangtrinhnt@gmail.com","username":"dangtrinhnt"},"change_message_id":"4c4bf27436abe7a13c8d63c3951223c2866ad36a","unresolved":false,"context_lines":[{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    @policy.enforce(\u0027sessions:update\u0027)"},{"line_number":90,"context_line":"    def on_patch(self, req, resp, project_id, session_id):"},{"line_number":91,"context_line":"        # PATCH /v2/{project_id}/sessions/{session_id}     updates the specified session"},{"line_number":92,"context_line":"        user_id \u003d req.get_header(\u0027X-User-ID\u0027) or \u0027\u0027"},{"line_number":93,"context_line":"        doc \u003d self.json_body(req)"},{"line_number":94,"context_line":"        new_version \u003d self.db.update_session(project_id\u003dproject_id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_7a604da5","line":91,"range":{"start_line":91,"start_character":0,"end_line":91,"end_character":88},"updated":"2018-09-27 12:34:20.000000000","message":"ditto","commit_id":"0a4d2e7bbdefca02378bef6b7e44c2393a4ffcb3"},{"author":{"_account_id":27068,"name":"Trinh Nguyen","email":"dangtrinhnt@gmail.com","username":"dangtrinhnt"},"change_message_id":"4c4bf27436abe7a13c8d63c3951223c2866ad36a","unresolved":false,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    @policy.enforce(\u0027sessions:replace\u0027)"},{"line_number":101,"context_line":"    def on_post(self, req, resp, project_id, session_id):"},{"line_number":102,"context_line":"        # PUT /v2/{project_id}/sessions/{session_id} creates/replaces the specified session"},{"line_number":103,"context_line":"        user_id \u003d req.get_header(\u0027X-User-ID\u0027) or \u0027\u0027"},{"line_number":104,"context_line":"        doc \u003d self.json_body(req)"},{"line_number":105,"context_line":"        if not doc:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_1a57d9cc","line":102,"range":{"start_line":102,"start_character":0,"end_line":102,"end_character":91},"updated":"2018-09-27 12:34:20.000000000","message":"ditto","commit_id":"0a4d2e7bbdefca02378bef6b7e44c2393a4ffcb3"}]}
