diff --git a/resources/sql/patches/20130613.authdb.sql b/resources/sql/patches/20130613.authdb.sql new file mode 100644 index 0000000000..f1e8eb7600 --- /dev/null +++ b/resources/sql/patches/20130613.authdb.sql @@ -0,0 +1,40 @@ +CREATE TABLE {$NAMESPACE}_auth.auth_providerconfig ( + id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, + phid VARCHAR(64) NOT NULL COLLATE utf8_bin, + providerClass VARCHAR(128) NOT NULL COLLATE utf8_bin, + providerType VARCHAR(64) NOT NULL COLLATE utf8_bin, + providerDomain VARCHAR(128) NOT NULL COLLATE utf8_bin, + isEnabled BOOL NOT NULL, + shouldAllowLogin BOOL NOT NULL, + shouldAllowRegistration BOOL NOT NULL, + shouldAllowLink BOOL NOT NULL, + shouldAllowUnlink BOOL NOT NULL, + properties LONGTEXT NOT NULL COLLATE utf8_bin, + dateCreated INT UNSIGNED NOT NULL, + dateModified INT UNSIGNED NOT NULL, + UNIQUE KEY `key_phid` (phid), + KEY `key_class` (providerClass), + UNIQUE KEY `key_provider` (providerType, providerDomain) +) ENGINE=InnoDB, COLLATE utf8_general_ci; + +CREATE TABLE {$NAMESPACE}_auth.auth_providerconfigtransaction ( + id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, + phid VARCHAR(64) NOT NULL COLLATE utf8_bin, + authorPHID VARCHAR(64) NOT NULL COLLATE utf8_bin, + objectPHID VARCHAR(64) NOT NULL COLLATE utf8_bin, + viewPolicy VARCHAR(64) NOT NULL COLLATE utf8_bin, + editPolicy VARCHAR(64) NOT NULL COLLATE utf8_bin, + commentPHID VARCHAR(64) COLLATE utf8_bin, + commentVersion INT UNSIGNED NOT NULL, + transactionType VARCHAR(32) NOT NULL COLLATE utf8_bin, + oldValue LONGTEXT NOT NULL COLLATE utf8_bin, + newValue LONGTEXT NOT NULL COLLATE utf8_bin, + metadata LONGTEXT NOT NULL COLLATE utf8_bin, + contentSource LONGTEXT NOT NULL COLLATE utf8_bin, + dateCreated INT UNSIGNED NOT NULL, + dateModified INT UNSIGNED NOT NULL, + + UNIQUE KEY `key_phid` (phid), + KEY `key_object` (objectPHID) + +) ENGINE=InnoDB, COLLATE utf8_general_ci; diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php index 3082838d1f..f36f09ee20 100644 --- a/src/__phutil_library_map__.php +++ b/src/__phutil_library_map__.php @@ -817,9 +817,12 @@ phutil_register_library_map(array( 'PhabricatorAuthAccountView' => 'applications/auth/view/PhabricatorAuthAccountView.php', 'PhabricatorAuthConfirmLinkController' => 'applications/auth/controller/PhabricatorAuthConfirmLinkController.php', 'PhabricatorAuthController' => 'applications/auth/controller/PhabricatorAuthController.php', + 'PhabricatorAuthDAO' => 'applications/auth/storage/PhabricatorAuthDAO.php', 'PhabricatorAuthLinkController' => 'applications/auth/controller/PhabricatorAuthLinkController.php', 'PhabricatorAuthLoginController' => 'applications/auth/controller/PhabricatorAuthLoginController.php', 'PhabricatorAuthProvider' => 'applications/auth/provider/PhabricatorAuthProvider.php', + 'PhabricatorAuthProviderConfig' => 'applications/auth/storage/PhabricatorAuthProviderConfig.php', + 'PhabricatorAuthProviderConfigTransaction' => 'applications/auth/storage/PhabricatorAuthProviderConfigTransaction.php', 'PhabricatorAuthProviderLDAP' => 'applications/auth/provider/PhabricatorAuthProviderLDAP.php', 'PhabricatorAuthProviderOAuth' => 'applications/auth/provider/PhabricatorAuthProviderOAuth.php', 'PhabricatorAuthProviderOAuthDisqus' => 'applications/auth/provider/PhabricatorAuthProviderOAuthDisqus.php', @@ -2682,8 +2685,11 @@ phutil_register_library_map(array( 'PhabricatorAuthAccountView' => 'AphrontView', 'PhabricatorAuthConfirmLinkController' => 'PhabricatorAuthController', 'PhabricatorAuthController' => 'PhabricatorController', + 'PhabricatorAuthDAO' => 'PhabricatorLiskDAO', 'PhabricatorAuthLinkController' => 'PhabricatorAuthController', 'PhabricatorAuthLoginController' => 'PhabricatorAuthController', + 'PhabricatorAuthProviderConfig' => 'PhabricatorAuthDAO', + 'PhabricatorAuthProviderConfigTransaction' => 'PhabricatorApplicationTransaction', 'PhabricatorAuthProviderLDAP' => 'PhabricatorAuthProvider', 'PhabricatorAuthProviderOAuth' => 'PhabricatorAuthProvider', 'PhabricatorAuthProviderOAuthDisqus' => 'PhabricatorAuthProviderOAuth', diff --git a/src/applications/auth/storage/PhabricatorAuthDAO.php b/src/applications/auth/storage/PhabricatorAuthDAO.php new file mode 100644 index 0000000000..c3a47d793a --- /dev/null +++ b/src/applications/auth/storage/PhabricatorAuthDAO.php @@ -0,0 +1,9 @@ + array( + 'properties' => self::SERIALIZATION_JSON, + ), + ) + parent::getConfiguration(); + } + + public function getProperty($key, $default = null) { + return idx($this->properties, $key, $default); + } + + public function setProperty($key, $value) { + $this->properties[$key] = $value; + return $this; + } + + +} diff --git a/src/applications/auth/storage/PhabricatorAuthProviderConfigTransaction.php b/src/applications/auth/storage/PhabricatorAuthProviderConfigTransaction.php new file mode 100644 index 0000000000..5ac5e74d23 --- /dev/null +++ b/src/applications/auth/storage/PhabricatorAuthProviderConfigTransaction.php @@ -0,0 +1,23 @@ + 'db', 'name' => 'diviner', ), + 'db.auth' => array( + 'type' => 'db', + 'name' => 'auth', + ), '0000.legacy.sql' => array( 'type' => 'sql', 'name' => $this->getPatchPath('0000.legacy.sql'), @@ -1366,6 +1370,10 @@ final class PhabricatorBuiltinPatchList extends PhabricatorSQLPatchList { 'type' => 'php', 'name' => $this->getPatchPath('20130611.nukeldap.php'), ), + '20130613.authdb.sql' => array( + 'type' => 'sql', + 'name' => $this->getPatchPath('20130613.authdb.sql'), + ), ); } }