diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php index e611c2353f..3a7785d2e1 100644 --- a/src/__phutil_library_map__.php +++ b/src/__phutil_library_map__.php @@ -2126,6 +2126,7 @@ phutil_register_library_map(array( 'PhabricatorAuthSessionGarbageCollector' => 'applications/auth/garbagecollector/PhabricatorAuthSessionGarbageCollector.php', 'PhabricatorAuthSessionInfo' => 'applications/auth/data/PhabricatorAuthSessionInfo.php', 'PhabricatorAuthSessionQuery' => 'applications/auth/query/PhabricatorAuthSessionQuery.php', + 'PhabricatorAuthSessionRevoker' => 'applications/auth/revoker/PhabricatorAuthSessionRevoker.php', 'PhabricatorAuthSetPasswordController' => 'applications/auth/controller/PhabricatorAuthSetPasswordController.php', 'PhabricatorAuthSetupCheck' => 'applications/config/check/PhabricatorAuthSetupCheck.php', 'PhabricatorAuthStartController' => 'applications/auth/controller/PhabricatorAuthStartController.php', @@ -7413,6 +7414,7 @@ phutil_register_library_map(array( 'PhabricatorAuthSessionGarbageCollector' => 'PhabricatorGarbageCollector', 'PhabricatorAuthSessionInfo' => 'Phobject', 'PhabricatorAuthSessionQuery' => 'PhabricatorCursorPagedPolicyAwareQuery', + 'PhabricatorAuthSessionRevoker' => 'PhabricatorAuthRevoker', 'PhabricatorAuthSetPasswordController' => 'PhabricatorAuthController', 'PhabricatorAuthSetupCheck' => 'PhabricatorSetupCheck', 'PhabricatorAuthStartController' => 'PhabricatorAuthController', diff --git a/src/applications/auth/revoker/PhabricatorAuthSessionRevoker.php b/src/applications/auth/revoker/PhabricatorAuthSessionRevoker.php new file mode 100644 index 0000000000..b5e294e6f1 --- /dev/null +++ b/src/applications/auth/revoker/PhabricatorAuthSessionRevoker.php @@ -0,0 +1,33 @@ +establishConnection('w'); + + queryfx( + $conn, + 'DELETE FROM %T', + $table->getTableName()); + + return $conn->getAffectedRows(); + } + + public function revokeCredentialsFrom($object) { + $table = new PhabricatorAuthSession(); + $conn = $table->establishConnection('w'); + + queryfx( + $conn, + 'DELETE FROM %T WHERE userPHID = %s', + $table->getTableName(), + $object->getPHID()); + + return $conn->getAffectedRows(); + } + +}