UI to associate bugs with an analysis task is crappy
[WebKit-https.git] / Websites / perf.webkit.org / public / privileged-api / associate-bug.php
1 <?php
2
3 require_once('../include/json-header.php');
4
5 function main() {
6     $data = ensure_privileged_api_data_and_token();
7
8     $analysis_task_id = array_get($data, 'task');
9     $bug_tracker_id = array_get($data, 'bugTracker');
10     $bug_number = array_get($data, 'number');
11     $bug_id = array_get($data, 'bugToDelete');
12
13     $db = connect();
14     $db->begin_transaction();
15
16     if ($bug_id) {
17         require_format('BugToDelete', $bug_id, '/^\d+$/');
18         $count = $db->query_and_get_affected_rows("DELETE FROM bugs WHERE bug_id = $1", array($bug_id));
19         if ($count != 1) {
20             $db->rollback_transaction();
21             exit_with_error('UnexpectedNumberOfAffectedRows', array('affectedRows' => $count));
22         }
23     } else {
24         require_format('AnalysisTask', $analysis_task_id, '/^\d+$/');
25         require_format('BugTracker', $bug_tracker_id, '/^\d+$/');
26         require_format('BugNumber', $bug_number, '/^\d+$/');
27         $bug_id = $db->insert_row('bugs', 'bug', array('task' => $analysis_task_id, 'tracker' => $bug_tracker_id, 'number' => $bug_number));
28     }
29     $db->commit_transaction();
30
31     exit_with_success(array('bugId' => $bug_id));
32 }
33
34 main();
35
36 ?>