Skip to content

Commit d94129b

Browse files
author
epriestley
committed
Migrate "PhabricatorOwnersPackageCommitRelationship" to "PhabricatorRepositoryAuditRequest"
Summary: - Move table to Repository, since we have no Owners joins in the application anymore but would like to do a Repository join. - Rename "packagePHID" to "auditorPHID", since this column may contain package, project, or user PHIDs. Test Plan: - Browsed Owners, Audit, and Differential interfaces to the Audit tool. - Made comments and state changes. - Ran "reparse.php --herald --owners" on several commits. Reviewers: btrahan, jungejason Reviewed By: btrahan CC: aran, epriestley, nh, vrana Maniphest Tasks: T904 Differential Revision: https://secure.phabricator.com/D1787
1 parent 3a251f9 commit d94129b

19 files changed

+109
-90
lines changed
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
CREATE TABLE phabricator_repository.repository_auditrequest (
2+
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
3+
auditorPHID varchar(64) BINARY NOT NULL,
4+
commitPHID varchar(64) BINARY NOT NULL,
5+
auditStatus varchar(64) NOT NULL,
6+
auditReasons LONGBLOB NOT NULL,
7+
KEY (commitPHID),
8+
KEY (auditorPHID, auditStatus)
9+
) ENGINE=InnoDB;
10+
11+
INSERT INTO phabricator_repository.repository_auditrequest
12+
(auditorPHID, commitPHID, auditStatus, auditReasons)
13+
SELECT packagePHID, commitPHID, auditStatus, auditReasons
14+
FROM phabricator_owners.owners_packagecommitrelationship;
15+
16+
DROP TABLE phabricator_owners.owners_packagecommitrelationship;

src/__phutil_library_map__.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -666,7 +666,6 @@
666666
'PhabricatorOwnersListController' => 'applications/owners/controller/list',
667667
'PhabricatorOwnersOwner' => 'applications/owners/storage/owner',
668668
'PhabricatorOwnersPackage' => 'applications/owners/storage/package',
669-
'PhabricatorOwnersPackageCommitRelationship' => 'applications/owners/storage/packagecommitrelationship',
670669
'PhabricatorOwnersPath' => 'applications/owners/storage/path',
671670
'PhabricatorPHID' => 'applications/phid/storage/phid',
672671
'PhabricatorPHIDConstants' => 'applications/phid/constants',
@@ -722,6 +721,7 @@
722721
'PhabricatorRepository' => 'applications/repository/storage/repository',
723722
'PhabricatorRepositoryArcanistProject' => 'applications/repository/storage/arcanistproject',
724723
'PhabricatorRepositoryArcanistProjectEditController' => 'applications/repository/controller/arcansistprojectedit',
724+
'PhabricatorRepositoryAuditRequest' => 'applications/repository/storage/auditrequest',
725725
'PhabricatorRepositoryCommit' => 'applications/repository/storage/commit',
726726
'PhabricatorRepositoryCommitChangeParserWorker' => 'applications/repository/worker/commitchangeparser/base',
727727
'PhabricatorRepositoryCommitData' => 'applications/repository/storage/commitdata',
@@ -1424,7 +1424,6 @@
14241424
'PhabricatorOwnersListController' => 'PhabricatorOwnersController',
14251425
'PhabricatorOwnersOwner' => 'PhabricatorOwnersDAO',
14261426
'PhabricatorOwnersPackage' => 'PhabricatorOwnersDAO',
1427-
'PhabricatorOwnersPackageCommitRelationship' => 'PhabricatorOwnersDAO',
14281427
'PhabricatorOwnersPath' => 'PhabricatorOwnersDAO',
14291428
'PhabricatorPHID' => 'PhabricatorPHIDDAO',
14301429
'PhabricatorPHIDController' => 'PhabricatorController',
@@ -1473,6 +1472,7 @@
14731472
'PhabricatorRepository' => 'PhabricatorRepositoryDAO',
14741473
'PhabricatorRepositoryArcanistProject' => 'PhabricatorRepositoryDAO',
14751474
'PhabricatorRepositoryArcanistProjectEditController' => 'PhabricatorRepositoryController',
1475+
'PhabricatorRepositoryAuditRequest' => 'PhabricatorRepositoryDAO',
14761476
'PhabricatorRepositoryCommit' => 'PhabricatorRepositoryDAO',
14771477
'PhabricatorRepositoryCommitChangeParserWorker' => 'PhabricatorRepositoryCommitParserWorker',
14781478
'PhabricatorRepositoryCommitData' => 'PhabricatorRepositoryDAO',

src/applications/audit/editor/comment/PhabricatorAuditCommentEditor.php

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public function addComment(PhabricatorAuditComment $comment) {
5454
$audit_phids = self::loadAuditPHIDsForUser($this->user);
5555
$audit_phids = array_fill_keys($audit_phids, true);
5656

57-
$relationships = id(new PhabricatorOwnersPackageCommitRelationship())
57+
$requests = id(new PhabricatorRepositoryAuditRequest())
5858
->loadAllWhere(
5959
'commitPHID = %s',
6060
$commit->getPHID());
@@ -65,34 +65,34 @@ public function addComment(PhabricatorAuditComment $comment) {
6565

6666
// Status may be empty for updates which don't affect status, like
6767
// "comment".
68-
$have_any_relationship = false;
69-
foreach ($relationships as $relationship) {
70-
if (empty($audit_phids[$relationship->getPackagePHID()])) {
68+
$have_any_requests = false;
69+
foreach ($requests as $request) {
70+
if (empty($audit_phids[$request->getAuditorPHID()])) {
7171
continue;
7272
}
73-
$have_any_relationship = true;
73+
$have_any_requests = true;
7474
if ($status) {
75-
$relationship->setAuditStatus($status);
76-
$relationship->save();
75+
$request->setAuditStatus($status);
76+
$request->save();
7777
}
7878
}
7979

80-
if (!$have_any_relationship) {
80+
if (!$have_any_requests) {
8181
// If the user has no current authority over any audit trigger, make a
8282
// new one to represent their audit state.
83-
$relationship = id(new PhabricatorOwnersPackageCommitRelationship())
83+
$request = id(new PhabricatorRepositoryAuditRequest())
8484
->setCommitPHID($commit->getPHID())
85-
->setPackagePHID($user->getPHID())
85+
->setAuditorPHID($user->getPHID())
8686
->setAuditStatus(
8787
$status
8888
? $status
8989
: PhabricatorAuditStatusConstants::AUDIT_NOT_REQUIRED)
9090
->setAuditReasons(array("Voluntary Participant"))
9191
->save();
92-
$relationships[] = $relationship;
92+
$requests[] = $request;
9393
}
9494

95-
$commit->updateAuditStatus($relationships);
95+
$commit->updateAuditStatus($requests);
9696
$commit->save();
9797

9898
$this->publishFeedStory($comment, array_keys($audit_phids));

src/applications/audit/editor/comment/__init__.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,16 @@
77

88

99
phutil_require_module('phabricator', 'applications/audit/constants/action');
10-
phutil_require_module('phabricator', 'applications/feed/constants/story');
11-
phutil_require_module('phabricator', 'applications/feed/publisher');
1210
phutil_require_module('phabricator', 'applications/audit/constants/status');
1311
phutil_require_module('phabricator', 'applications/audit/storage/auditcomment');
12+
phutil_require_module('phabricator', 'applications/feed/constants/story');
13+
phutil_require_module('phabricator', 'applications/feed/publisher');
1414
phutil_require_module('phabricator', 'applications/metamta/storage/mail');
1515
phutil_require_module('phabricator', 'applications/owners/storage/owner');
1616
phutil_require_module('phabricator', 'applications/owners/storage/package');
17-
phutil_require_module('phabricator', 'applications/owners/storage/packagecommitrelationship');
1817
phutil_require_module('phabricator', 'applications/phid/handle/data');
1918
phutil_require_module('phabricator', 'applications/project/query/project');
19+
phutil_require_module('phabricator', 'applications/repository/storage/auditrequest');
2020
phutil_require_module('phabricator', 'applications/search/index/indexer/repository');
2121
phutil_require_module('phabricator', 'infrastructure/env');
2222

src/applications/audit/query/audit/PhabricatorAuditQuery.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public function setLimit($limit) {
5454
}
5555

5656
public function execute() {
57-
$table = new PhabricatorOwnersPackageCommitRelationship();
57+
$table = new PhabricatorRepositoryAuditRequest();
5858
$conn_r = $table->establishConnection('r');
5959

6060
$where = $this->buildWhereClause($conn_r);
@@ -85,7 +85,7 @@ private function buildWhereClause($conn_r) {
8585
if ($this->auditorPHIDs) {
8686
$where[] = qsprintf(
8787
$conn_r,
88-
'packagePHID IN (%Ls)',
88+
'auditorPHID IN (%Ls)',
8989
$this->auditorPHIDs);
9090
}
9191

src/applications/audit/query/audit/__init__.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88

99
phutil_require_module('phabricator', 'applications/audit/constants/status');
10-
phutil_require_module('phabricator', 'applications/owners/storage/packagecommitrelationship');
10+
phutil_require_module('phabricator', 'applications/repository/storage/auditrequest');
1111
phutil_require_module('phabricator', 'storage/qsprintf');
1212
phutil_require_module('phabricator', 'storage/queryfx');
1313

src/applications/audit/query/commit/PhabricatorAuditCommitQuery.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,11 +69,13 @@ public function execute() {
6969
// on the same database as the commits. Once they're migrated we can
7070
// resolve this via JOIN.
7171

72-
$table = new PhabricatorOwnersPackageCommitRelationship();
72+
// TODO: Clean this up now that we've moved the table.
73+
74+
$table = new PhabricatorRepositoryAuditRequest();
7375
$conn_r = $table->establishConnection('r');
7476
$phids = queryfx_all(
7577
$conn_r,
76-
'SELECT DISTINCT commitPHID FROM %T WHERE packagePHID IN (%Ls)
78+
'SELECT DISTINCT commitPHID FROM %T WHERE auditorPHID IN (%Ls)
7779
ORDER BY id DESC %Q',
7880
$table->getTableName(),
7981
$this->packagePHIDs,

src/applications/audit/query/commit/__init__.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88

99
phutil_require_module('phabricator', 'applications/audit/constants/commitstatus');
10-
phutil_require_module('phabricator', 'applications/owners/storage/packagecommitrelationship');
10+
phutil_require_module('phabricator', 'applications/repository/storage/auditrequest');
1111
phutil_require_module('phabricator', 'applications/repository/storage/commit');
1212
phutil_require_module('phabricator', 'applications/repository/storage/commitdata');
1313
phutil_require_module('phabricator', 'storage/qsprintf');

src/applications/audit/view/list/PhabricatorAuditListView.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public function getRequiredHandlePHIDs() {
5151
$phids = array();
5252
foreach ($this->audits as $audit) {
5353
$phids[$audit->getCommitPHID()] = true;
54-
$phids[$audit->getPackagePHID()] = true;
54+
$phids[$audit->getAuditorPHID()] = true;
5555
}
5656
return array_keys($phids);
5757
}
@@ -90,15 +90,15 @@ public function render() {
9090
$status_code = $audit->getAuditStatus();
9191
$status = PhabricatorAuditStatusConstants::getStatusName($status_code);
9292

93-
$auditor_handle = $this->getHandle($audit->getPackagePHID());
93+
$auditor_handle = $this->getHandle($audit->getAuditorPHID());
9494
$rows[] = array(
9595
$commit_name,
9696
$auditor_handle->renderLink(),
9797
phutil_escape_html($status),
9898
$reasons,
9999
);
100100

101-
if (empty($authority[$audit->getPackagePHID()])) {
101+
if (empty($authority[$audit->getAuditorPHID()])) {
102102
$rowc[] = null;
103103
} else {
104104
$rowc[] = 'highlighted';

src/applications/herald/adapter/commit/HeraldCommitAdapter.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -87,17 +87,17 @@ public function loadAffectedPackages() {
8787

8888
public function loadAuditNeededPackage() {
8989
if ($this->auditNeededPackages === null) {
90-
$status_arr = array (
90+
$status_arr = array(
9191
PhabricatorAuditStatusConstants::AUDIT_REQUIRED,
92-
PhabricatorAuditStatusConstants::CONCERNED,
93-
);
94-
$relationships = id(new PhabricatorOwnersPackageCommitRelationship())
92+
PhabricatorAuditStatusConstants::CONCERNED,
93+
);
94+
$requests = id(new PhabricatorRepositoryAuditRequest())
9595
->loadAllWhere(
9696
"commitPHID = %s AND auditStatus IN (%Ls)",
9797
$this->commit->getPHID(),
9898
$status_arr);
9999

100-
$packages = mpull($relationships, 'getPackagePHID');
100+
$packages = mpull($requests, 'getAuditorPHID');
101101
$this->auditNeededPackages = $packages;
102102
}
103103
return $this->auditNeededPackages;

src/applications/herald/adapter/commit/__init__.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
phutil_require_module('phabricator', 'applications/owners/query/path');
1717
phutil_require_module('phabricator', 'applications/owners/storage/owner');
1818
phutil_require_module('phabricator', 'applications/owners/storage/package');
19-
phutil_require_module('phabricator', 'applications/owners/storage/packagecommitrelationship');
19+
phutil_require_module('phabricator', 'applications/repository/storage/auditrequest');
2020

2121
phutil_require_module('phutil', 'utils');
2222

src/applications/owners/storage/packagecommitrelationship/__init__.php

Lines changed: 0 additions & 12 deletions
This file was deleted.
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?php
22

33
/*
4-
* Copyright 2011 Facebook, Inc.
4+
* Copyright 2012 Facebook, Inc.
55
*
66
* Licensed under the Apache License, Version 2.0 (the "License");
77
* you may not use this file except in compliance with the License.
@@ -16,9 +16,9 @@
1616
* limitations under the License.
1717
*/
1818

19-
class PhabricatorOwnersPackageCommitRelationship extends PhabricatorOwnersDAO {
19+
final class PhabricatorRepositoryAuditRequest extends PhabricatorRepositoryDAO {
2020

21-
protected $packagePHID;
21+
protected $auditorPHID;
2222
protected $commitPHID;
2323
protected $auditReasons = array();
2424
protected $auditStatus;
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<?php
2+
/**
3+
* This file is automatically generated. Lint this module to rebuild it.
4+
* @generated
5+
*/
6+
7+
8+
9+
phutil_require_module('phabricator', 'applications/repository/storage/base');
10+
11+
12+
phutil_require_source('PhabricatorRepositoryAuditRequest.php');

src/applications/repository/storage/commit/PhabricatorRepositoryCommit.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,13 +85,13 @@ public function delete() {
8585
* Synchronize a commit's overall audit status with the individual audit
8686
* triggers.
8787
*/
88-
public function updateAuditStatus(array $rships) {
88+
public function updateAuditStatus(array $requests) {
8989
$any_concern = false;
9090
$any_accept = false;
9191
$any_need = false;
9292

93-
foreach ($rships as $rship) {
94-
switch ($rship->getAuditStatus()) {
93+
foreach ($requests as $request) {
94+
switch ($request->getAuditStatus()) {
9595
case PhabricatorAuditStatusConstants::AUDIT_REQUIRED:
9696
$any_need = true;
9797
break;

src/applications/repository/worker/herald/PhabricatorRepositoryCommitHeraldWorker.php

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -173,16 +173,16 @@ private function createAudits(
173173
array $map,
174174
array $rules) {
175175

176-
$table = new PhabricatorOwnersPackageCommitRelationship();
177-
$rships = $table->loadAllWhere(
176+
$table = new PhabricatorRepositoryAuditRequest();
177+
$requests = $table->loadAllWhere(
178178
'commitPHID = %s',
179179
$commit->getPHID());
180-
$rships = mpull($rships, null, 'getPackagePHID');
180+
$requests = mpull($requests, null, 'getAuditorPHID');
181181

182182
$rules = mpull($rules, null, 'getID');
183183
foreach ($map as $phid => $rule_ids) {
184-
$rship = idx($rships, $phid);
185-
if ($rship) {
184+
$request = idx($requests, $phid);
185+
if ($request) {
186186
continue;
187187
}
188188
$reasons = array();
@@ -194,15 +194,15 @@ private function createAudits(
194194
$reasons[] = 'Herald Rule #'.$id.' "'.$rule_name.'" Triggered Audit';
195195
}
196196

197-
$rship = new PhabricatorOwnersPackageCommitRelationship();
198-
$rship->setCommitPHID($commit->getPHID());
199-
$rship->setPackagePHID($phid);
200-
$rship->setAuditStatus(PhabricatorAuditStatusConstants::AUDIT_REQUIRED);
201-
$rship->setAuditReasons($reasons);
202-
$rship->save();
197+
$request = new PhabricatorRepositoryAuditRequest();
198+
$request->setCommitPHID($commit->getPHID());
199+
$request->setAuditorPHID($phid);
200+
$request->setAuditStatus(PhabricatorAuditStatusConstants::AUDIT_REQUIRED);
201+
$request->setAuditReasons($reasons);
202+
$request->save();
203203
}
204204

205-
$commit->updateAuditStatus($rships);
205+
$commit->updateAuditStatus($requests);
206206
$commit->save();
207207
}
208208
}

src/applications/repository/worker/herald/__init__.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313
phutil_require_module('phabricator', 'applications/herald/engine/engine');
1414
phutil_require_module('phabricator', 'applications/herald/storage/rule');
1515
phutil_require_module('phabricator', 'applications/metamta/storage/mail');
16-
phutil_require_module('phabricator', 'applications/owners/storage/packagecommitrelationship');
1716
phutil_require_module('phabricator', 'applications/phid/handle/data');
17+
phutil_require_module('phabricator', 'applications/repository/storage/auditrequest');
1818
phutil_require_module('phabricator', 'applications/repository/storage/commitdata');
1919
phutil_require_module('phabricator', 'applications/repository/worker/base');
2020
phutil_require_module('phabricator', 'infrastructure/env');

0 commit comments

Comments
 (0)