diff --git a/core/ApiController.php b/core/ApiController.php
index ba1d98798..16db7fcff 100644
--- a/core/ApiController.php
+++ b/core/ApiController.php
@@ -42,7 +42,7 @@ public function init()
/** Return the user dao */
protected function _getUser($args)
{
- $authComponent = MidasLoader::loadComponent('Authentication', 'api');
+ $authComponent = MidasLoader::loadComponent('Authentication');
return $authComponent->getUser($args, $this->userSession->Dao);
}
diff --git a/core/controllers/components/ApiComponent.php b/core/controllers/components/ApiComponent.php
index 3ad910887..d1f97a92f 100644
--- a/core/controllers/components/ApiComponent.php
+++ b/core/controllers/components/ApiComponent.php
@@ -35,6 +35,13 @@ private function _requirePolicyScopes($scopes)
Zend_Registry::get('notifier')->callback('CALLBACK_API_REQUIRE_PERMISSIONS', array('scopes' => $scopes));
}
+ /** Return the user dao */
+ private function _getUser($args)
+ {
+ $authComponent = MidasLoader::loadComponent('Authentication');
+ return $authComponent->getUser($args, Zend_Registry::get('userSession')->Dao);
+ }
+
/**
* Pass the args and a list of required parameters.
* Will throw an exception if a required one is missing.
@@ -337,10 +344,11 @@ protected function _listResourcePermissions($policyStatus, $userPolicies, $group
* @return the sought metadata array on success,
will fail if there are no revisions or the specified revision is not found.
*/
- function itemGetmetadata($args, $userDao)
+ function itemGetmetadata($args)
{
$this->_validateParams($args, array('id'));
$this->_requirePolicyScopes(array(MIDAS_API_PERMISSION_SCOPE_READ_DATA));
+ $userDao = $this->_getUser($args);
$itemid = $args['id'];
$itemModel = MidasLoader::loadModel('Item');
@@ -374,10 +382,11 @@ function itemGetmetadata($args, $userDao)
* @return true on success,
will fail if there are no revisions or the specified revision is not found.
*/
- function itemSetmetadata($args, $userDao)
+ function itemSetmetadata($args)
{
$this->_validateParams($args, array('id', 'element', 'value'));
$this->_requirePolicyScopes(array(MIDAS_API_PERMISSION_SCOPE_WRITE_DATA));
+ $userDao = $this->_getUser($args);
$itemModel = MidasLoader::loadModel('Item');
$item = $itemModel->load($args['id']);
@@ -416,10 +425,11 @@ function itemSetmetadata($args, $userDao)
* @return true on success,
will fail if there are no revisions or the specified revision is not found.
*/
- function itemSetmultiplemetadata($args, $userDao)
+ function itemSetmultiplemetadata($args)
{
$this->_validateParams($args, array('id', 'count'));
$metadataTuples = $this->_parseMetadataTuples($args);
+ $userDao = $this->_getUser($args);
$this->_requirePolicyScopes(array(MIDAS_API_PERMISSION_SCOPE_WRITE_DATA));
@@ -454,10 +464,11 @@ function itemSetmultiplemetadata($args, $userDao)
false if the metadata was not found on the item revision,
will fail if there are no revisions or the specified revision is not found.
*/
- function itemDeletemetadata($args, $userDao)
+ function itemDeletemetadata($args)
{
$this->_validateParams($args, array('id', 'element'));
$this->_requirePolicyScopes(array(MIDAS_API_PERMISSION_SCOPE_ADMIN_DATA));
+ $userDao = $this->_getUser($args);
$itemModel = MidasLoader::loadModel('Item');
$item = $itemModel->load($args['id']);
@@ -497,10 +508,11 @@ function itemDeletemetadata($args, $userDao)
* @return true on success,
will fail if there are no revisions or the specified revision is not found.
*/
- function itemDeletemetadataAll($args, $userDao)
+ function itemDeletemetadataAll($args)
{
$this->_validateParams($args, array('id'));
$this->_requirePolicyScopes(array(MIDAS_API_PERMISSION_SCOPE_ADMIN_DATA));
+ $userDao = $this->_getUser($args);
$itemModel = MidasLoader::loadModel('Item');
$item = $itemModel->load($args['id']);
@@ -542,10 +554,11 @@ function itemDeletemetadataAll($args, $userDao)
* @param name The name of the item
* @return array('exists' => bool)
*/
- function itemExists($args, $userDao)
+ function itemExists($args)
{
$this->_validateParams($args, array('name', 'parentid'));
$this->_requirePolicyScopes(array(MIDAS_API_PERMISSION_SCOPE_READ_DATA));
+ $userDao = $this->_getUser($args);
$folderModel = MidasLoader::loadModel('Folder');
$itemModel = MidasLoader::loadModel('Item');
$folder = $folderModel->load($args['parentid']);
@@ -574,10 +587,11 @@ function itemExists($args, $userDao)
* @param name The name of the item to search by
* @return A list of all items with the given name
*/
- function itemSearchbyname($args, $userDao)
+ function itemSearchbyname($args)
{
$this->_validateParams($args, array('name'));
$this->_requirePolicyScopes(array(MIDAS_API_PERMISSION_SCOPE_READ_DATA));
+ $userDao = $this->_getUser($args);
$itemModel = MidasLoader::loadModel('Item');
$items = $itemModel->getByName($args['name']);
@@ -600,10 +614,11 @@ function itemSearchbyname($args, $userDao)
* @param head (Optional) only list the most recent revision
* @return The item object
*/
- function itemGet($args, $userDao)
+ function itemGet($args)
{
$this->_validateParams($args, array('id'));
$this->_requirePolicyScopes(array(MIDAS_API_PERMISSION_SCOPE_READ_DATA));
+ $userDao = $this->_getUser($args);
$itemid = $args['id'];
$itemModel = MidasLoader::loadModel('Item');
@@ -662,10 +677,11 @@ function itemGet($args, $userDao)
(user_id, policy, email); group will be a list of (group_id, policy, name).
policy for user and group will be a policy string [Admin|Write|Read].
*/
- public function itemListPermissions($args, $userDao)
+ public function itemListPermissions($args)
{
$this->_validateParams($args, array('id'));
$this->_requirePolicyScopes(array(MIDAS_API_PERMISSION_SCOPE_ADMIN_DATA));
+ $userDao = $this->_getUser($args);
$itempolicygroupModel = MidasLoader::loadModel('Itempolicygroup');
$itemModel = MidasLoader::loadModel('Item');
@@ -699,10 +715,11 @@ public function itemListPermissions($args, $userDao)
existed and its latest revision contains only one bitstream.
* @return The item object that was created
*/
- function itemCreate($args, $userDao)
+ function itemCreate($args)
{
$this->_validateParams($args, array('name'));
$this->_requirePolicyScopes(array(MIDAS_API_PERMISSION_SCOPE_WRITE_DATA));
+ $userDao = $this->_getUser($args);
if($userDao == false)
{
throw new Exception('Cannot create item anonymously', MIDAS_INVALID_POLICY);
@@ -805,10 +822,11 @@ function itemCreate($args, $userDao)
* @param dstfolderid The id of destination folder where the item is moved to
* @return The item object
*/
- function itemMove($args, $userDao)
+ function itemMove($args)
{
$this->_validateParams($args, array('id', 'srcfolderid', 'dstfolderid'));
$this->_requirePolicyScopes(array(MIDAS_API_PERMISSION_SCOPE_ADMIN_DATA));
+ $userDao = $this->_getUser($args);
if($userDao == false)
{
throw new Exception('Cannot move item anonymously', MIDAS_INVALID_POLICY);
@@ -856,10 +874,11 @@ function itemMove($args, $userDao)
* @param dstfolderid The id of destination folder where the item is shared to
* @return The item object
*/
- function itemShare($args, $userDao)
+ function itemShare($args)
{
$this->_validateParams($args, array('id', 'dstfolderid'));
$this->_requirePolicyScopes(array(MIDAS_API_PERMISSION_SCOPE_WRITE_DATA));
+ $userDao = $this->_getUser($args);
if($userDao == false)
{
throw new Exception('Cannot share item anonymously', MIDAS_INVALID_POLICY);
@@ -904,10 +923,11 @@ function itemShare($args, $userDao)
* @param dstfolderid The id of destination folder where the item is duplicated to
* @return The item object that was created
*/
- function itemDuplicate($args, $userDao)
+ function itemDuplicate($args)
{
$this->_validateParams($args, array('id', 'dstfolderid'));
$this->_requirePolicyScopes(array(MIDAS_API_PERMISSION_SCOPE_WRITE_DATA));
+ $userDao = $this->_getUser($args);
if($userDao == false)
{
throw new Exception('Cannot duplicate item anonymously', MIDAS_INVALID_POLICY);
@@ -939,10 +959,11 @@ function itemDuplicate($args, $userDao)
* @param policy Desired policy status, one of [Admin|Write|Read].
* @return success = true on success.
*/
- function itemAddPolicygroup($args, $userDao)
+ function itemAddPolicygroup($args)
{
$this->_validateParams($args, array('id', 'group_id', 'policy'));
$this->_requirePolicyScopes(array(MIDAS_API_PERMISSION_SCOPE_ADMIN_DATA));
+ $userDao = $this->_getUser($args);
$itemModel = MidasLoader::loadModel('Item');
$itemId = $args['id'];
@@ -978,10 +999,11 @@ function itemAddPolicygroup($args, $userDao)
* @param group_id The id of the group.
* @return success = true on success.
*/
- function itemRemovePolicygroup($args, $userDao)
+ function itemRemovePolicygroup($args)
{
$this->_validateParams($args, array('id', 'group_id'));
$this->_requirePolicyScopes(array(MIDAS_API_PERMISSION_SCOPE_ADMIN_DATA));
+ $userDao = $this->_getUser($args);
$itemModel = MidasLoader::loadModel('Item');
$itemId = $args['id'];
@@ -1021,10 +1043,11 @@ function itemRemovePolicygroup($args, $userDao)
* @param policy Desired policy status, one of [Admin|Write|Read].
* @return success = true on success.
*/
- function itemAddPolicyuser($args, $adminUser)
+ function itemAddPolicyuser($args)
{
$this->_validateParams($args, array('id', 'user_id', 'policy'));
$this->_requirePolicyScopes(array(MIDAS_API_PERMISSION_SCOPE_ADMIN_DATA));
+ $adminUser = $this->_getUser($args);
$itemModel = MidasLoader::loadModel('Item');
$itemId = $args['id'];
@@ -1061,10 +1084,11 @@ function itemAddPolicyuser($args, $adminUser)
* @param user_id The id of the target user.
* @return success = true on success.
*/
- function itemRemovePolicyuser($args, $userDao)
+ function itemRemovePolicyuser($args)
{
$this->_validateParams($args, array('id', 'user_id'));
$this->_requirePolicyScopes(array(MIDAS_API_PERMISSION_SCOPE_ADMIN_DATA));
+ $userDao = $this->_getUser($args);
$itemModel = MidasLoader::loadModel('Item');
$itemId = $args['id'];
@@ -1100,11 +1124,12 @@ function itemRemovePolicyuser($args, $userDao)
* @param token Authentication token
* @param id The id of the item
*/
- function itemDelete($args, $userDao)
+ function itemDelete($args)
{
$this->_validateParams($args, array('id'));
$this->_requirePolicyScopes(array(MIDAS_API_PERMISSION_SCOPE_ADMIN_DATA));
+ $userDao = $this->_getUser($args);
if($userDao == false)
{
throw new Exception('Unable to find user', MIDAS_INVALID_TOKEN);
@@ -1177,10 +1202,11 @@ private function _getValidCommunityCanjoinCode($canjoinStatus)
* @param canjoin (Optional) Default 'Everyone', possible values [Everyone|Invitation].
* @return The community dao that was created
*/
- function communityCreate($args, $userDao)
+ function communityCreate($args)
{
$this->_validateParams($args, array('name'));
$this->_requirePolicyScopes(array(MIDAS_API_PERMISSION_SCOPE_WRITE_DATA));
+ $userDao = $this->_getUser($args);
if($userDao == false)
{
throw new Exception('Unable to find user', MIDAS_INVALID_POLICY);
@@ -1267,12 +1293,13 @@ function communityCreate($args, $userDao)
* @param name the name of the community
* @return The community information
*/
- function communityGet($args, $userDao)
+ function communityGet($args)
{
$hasId = array_key_exists('id', $args);
$hasName = array_key_exists('name', $args);
$this->_requirePolicyScopes(array(MIDAS_API_PERMISSION_SCOPE_READ_DATA));
+ $userDao = $this->_getUser($args);
$communityModel = MidasLoader::loadModel('Community');
if($hasId)
@@ -1302,9 +1329,10 @@ function communityGet($args, $userDao)
* @param id The id of the community
* @return The folders in the community
*/
- function communityChildren($args, $userDao)
+ function communityChildren($args)
{
$this->_validateParams($args, array('id'));
+ $userDao = $this->_getUser($args);
$id = $args['id'];
@@ -1335,11 +1363,12 @@ function communityChildren($args, $userDao)
* @param token (Optional) Authentication token
* @return A list of all communities
*/
- function communityList($args, $userDao)
+ function communityList($args)
{
$this->_requirePolicyScopes(array(MIDAS_API_PERMISSION_SCOPE_READ_DATA));
$communityModel = MidasLoader::loadModel('Community');
$userModel = MidasLoader::loadModel('User');
+ $userDao = $this->_getUser($args);
if($userDao && $userDao->isAdmin())
{
@@ -1366,11 +1395,12 @@ function communityList($args, $userDao)
* @param token Authentication token
* @param id The id of the community
*/
- function communityDelete($args, $userDao)
+ function communityDelete($args)
{
$this->_validateParams($args, array('id'));
$this->_requirePolicyScopes(array(MIDAS_API_PERMISSION_SCOPE_ADMIN_DATA));
+ $userDao = $this->_getUser($args);
if($userDao == false)
{
throw new Exception('Unable to find user', MIDAS_INVALID_TOKEN);
@@ -1402,10 +1432,11 @@ function communityDelete($args, $userDao)
* @param parentid The id of the parent folder. Set this to -1 to create a top level user folder.
* @return The folder object that was created
*/
- function folderCreate($args, $userDao)
+ function folderCreate($args)
{
$this->_validateParams($args, array('name'));
$this->_requirePolicyScopes(array(MIDAS_API_PERMISSION_SCOPE_WRITE_DATA));
+ $userDao = $this->_getUser($args);
if($userDao == false)
{
throw new Exception('Cannot create folder anonymously', MIDAS_INVALID_POLICY);
@@ -1521,10 +1552,11 @@ function folderCreate($args, $userDao)
* @param dstfolderid The id of destination folder (new parent folder) where the folder is moved to
* @return The folder object
*/
- function folderMove($args, $userDao)
+ function folderMove($args)
{
$this->_validateParams($args, array('id', 'dstfolderid'));
$this->_requirePolicyScopes(array(MIDAS_API_PERMISSION_SCOPE_ADMIN_DATA));
+ $userDao = $this->_getUser($args);
$folderModel = MidasLoader::loadModel('Folder');
$id = $args['id'];
@@ -1553,10 +1585,11 @@ function folderMove($args, $userDao)
* @param id The id of the folder
* @return The folder object, including its parent object
*/
- function folderGet($args, $userDao)
+ function folderGet($args)
{
$this->_validateParams($args, array('id'));
$this->_requirePolicyScopes(array(MIDAS_API_PERMISSION_SCOPE_READ_DATA));
+ $userDao = $this->_getUser($args);
$folderModel = MidasLoader::loadModel('Folder');
@@ -1581,10 +1614,11 @@ function folderGet($args, $userDao)
(user_id, policy, email); group will be a list of (group_id, policy, name).
policy for user and group will be a policy string [Admin|Write|Read].
*/
- public function folderListPermissions($args, $userDao)
+ public function folderListPermissions($args)
{
$this->_validateParams($args, array('id'));
$this->_requirePolicyScopes(array(MIDAS_API_PERMISSION_SCOPE_ADMIN_DATA));
+ $userDao = $this->_getUser($args);
$folderpolicygroupModel = MidasLoader::loadModel('Folderpolicygroup');
$folderModel = MidasLoader::loadModel('Folder');
@@ -1611,9 +1645,10 @@ public function folderListPermissions($args, $userDao)
* @param id The id of the folder
* @return The items and folders in the given folder
*/
- function folderChildren($args, $userDao)
+ function folderChildren($args)
{
$this->_validateParams($args, array('id'));
+ $userDao = $this->_getUser($args);
$id = $args['id'];
$folderModel = MidasLoader::loadModel('Folder');
@@ -1648,10 +1683,11 @@ function folderChildren($args, $userDao)
* @return An array with keys 'success' and 'failure' indicating a count
of children resources that succeeded or failed the permission change.
*/
- function folderSetPrivacyRecursive($args, $userDao)
+ function folderSetPrivacyRecursive($args)
{
$this->_validateParams($args, array('id', 'privacy'));
$this->_requirePolicyScopes(array(MIDAS_API_PERMISSION_SCOPE_ADMIN_DATA));
+ $userDao = $this->_getUser($args);
$folderModel = MidasLoader::loadModel('Folder');
$folderId = $args['id'];
@@ -1689,10 +1725,11 @@ function folderSetPrivacyRecursive($args, $userDao)
* @return An array with keys 'success' and 'failure' indicating a count of
resources affected by the addition.
*/
- function folderAddPolicygroup($args, $userDao)
+ function folderAddPolicygroup($args)
{
$this->_validateParams($args, array('id', 'group_id', 'policy'));
$this->_requirePolicyScopes(array(MIDAS_API_PERMISSION_SCOPE_ADMIN_DATA));
+ $userDao = $this->_getUser($args);
$folderModel = MidasLoader::loadModel('Folder');
$folderId = $args['id'];
@@ -1742,10 +1779,11 @@ function folderAddPolicygroup($args, $userDao)
* @return An array with keys 'success' and 'failure' indicating a count of
resources affected by the removal.
*/
- function folderRemovePolicygroup($args, $userDao)
+ function folderRemovePolicygroup($args)
{
$this->_validateParams($args, array('id', 'group_id'));
$this->_requirePolicyScopes(array(MIDAS_API_PERMISSION_SCOPE_ADMIN_DATA));
+ $userDao = $this->_getUser($args);
$folderModel = MidasLoader::loadModel('Folder');
$folderId = $args['id'];
@@ -1799,10 +1837,11 @@ function folderRemovePolicygroup($args, $userDao)
* @return An array with keys 'success' and 'failure' indicating a count of
resources affected by the addition.
*/
- function folderAddPolicyuser($args, $adminUser)
+ function folderAddPolicyuser($args)
{
$this->_validateParams($args, array('id', 'user_id', 'policy'));
$this->_requirePolicyScopes(array(MIDAS_API_PERMISSION_SCOPE_ADMIN_DATA));
+ $adminUser = $this->_getUser($args);
$folderModel = MidasLoader::loadModel('Folder');
$folderId = $args['id'];
@@ -1853,10 +1892,11 @@ function folderAddPolicyuser($args, $adminUser)
* @return An array with keys 'success' and 'failure' indicating a count of
resources affected by the removal.
*/
- function folderRemovePolicyuser($args, $userDao)
+ function folderRemovePolicyuser($args)
{
$this->_validateParams($args, array('id', 'user_id'));
$this->_requirePolicyScopes(array(MIDAS_API_PERMISSION_SCOPE_ADMIN_DATA));
+ $userDao = $this->_getUser($args);
$folderModel = MidasLoader::loadModel('Folder');
$folderId = $args['id'];
@@ -1903,11 +1943,12 @@ function folderRemovePolicyuser($args, $userDao)
* @param token Authentication token
* @param id The id of the folder
*/
- function folderDelete($args, $userDao)
+ function folderDelete($args)
{
$this->_validateParams($args, array('id'));
$this->_requirePolicyScopes(array(MIDAS_API_PERMISSION_SCOPE_ADMIN_DATA));
+ $userDao = $this->_getUser($args);
if($userDao == false)
{
throw new Exception('Unable to find user', MIDAS_INVALID_TOKEN);
@@ -1929,9 +1970,10 @@ function folderDelete($args, $userDao)
* @param token Authentication token
* @return List of the user's top level folders
*/
- function userFolders($args, $userDao)
+ function userFolders($args)
{
$this->_requirePolicyScopes(array(MIDAS_API_PERMISSION_SCOPE_READ_DATA));
+ $userDao = $this->_getUser($args);
if($userDao == false)
{
return array();
@@ -1982,7 +2024,7 @@ function userApikeyDefault($args)
}
$userModel = MidasLoader::loadModel('User');
- $userApiModel = MidasLoader::loadModel('Userapi', 'api');
+ $userApiModel = MidasLoader::loadModel('Userapi');
if(!$authModule)
{
$userDao = $userModel->getByEmail($email);
@@ -2049,10 +2091,11 @@ function userGet($args)
* @param id The id of the bitstream
* @return Bitstream dao
*/
- function bitstreamGet($args, $userDao)
+ function bitstreamGet($args)
{
$this->_validateParams($args, array('id'));
$this->_requirePolicyScopes(array(MIDAS_API_PERMISSION_SCOPE_READ_DATA));
+ $userDao = $this->_getUser($args);
$bitstreamModel = MidasLoader::loadModel('Bitstream');
$bitstream = $bitstreamModel->load($args['id']);
@@ -2098,10 +2141,11 @@ function bitstreamGet($args, $userDao)
* @param mimetype (optional) New MIME type for the bitstream
* @return The bitstream dao
*/
- function bitstreamEdit($args, $userDao)
+ function bitstreamEdit($args)
{
$this->_validateParams($args, array('id'));
$this->_requirePolicyScopes(array(MIDAS_API_PERMISSION_SCOPE_WRITE_DATA));
+ $userDao = $this->_getUser($args);
$bitstreamModel = MidasLoader::loadModel('Bitstream');
$itemModel = MidasLoader::loadModel('Item');
@@ -2134,10 +2178,11 @@ function bitstreamEdit($args, $userDao)
* @param token Authentication token
* @param id The id of the bitstream to delete
*/
- function bitstreamDelete($args, $userDao)
+ function bitstreamDelete($args)
{
$this->_validateParams($args, array('id'));
$this->_requirePolicyScopes(array(MIDAS_API_PERMISSION_SCOPE_ADMIN_DATA));
+ $userDao = $this->_getUser($args);
$bitstreamModel = MidasLoader::loadModel('Bitstream');
$itemModel = MidasLoader::loadModel('Item');
diff --git a/modules/api/controllers/components/AuthenticationComponent.php b/core/controllers/components/AuthenticationComponent.php
similarity index 94%
rename from modules/api/controllers/components/AuthenticationComponent.php
rename to core/controllers/components/AuthenticationComponent.php
index adef4c77f..8754b9ac2 100644
--- a/modules/api/controllers/components/AuthenticationComponent.php
+++ b/core/controllers/components/AuthenticationComponent.php
@@ -19,7 +19,7 @@
=========================================================================*/
/** Web API Authentication Component */
-class Api_AuthenticationComponent extends AppComponent
+class AuthenticationComponent extends AppComponent
{
/** Constructor */
@@ -45,7 +45,7 @@ public function getUser($args, $sessionDao)
return 0;
}
$token = $args['token'];
- $userApiModel = MidasLoader::loadModel('Userapi', 'api');
+ $userApiModel = MidasLoader::loadModel('Userapi');
$userapiDao = $userApiModel->getUserapiFromToken($token);
if(!$userapiDao)
{
diff --git a/core/database/upgrade/3.2.13.php b/core/database/upgrade/3.2.13.php
new file mode 100644
index 000000000..1aa55c787
--- /dev/null
+++ b/core/database/upgrade/3.2.13.php
@@ -0,0 +1,85 @@
+db->query("CREATE TABLE IF NOT EXISTS `api_userapi` (
+ `userapi_id` bigint(20) NOT NULL AUTO_INCREMENT,
+ `user_id` bigint(20) NOT NULL,
+ `apikey` varchar(40) NOT NULL,
+ `application_name` varchar(256) NOT NULL,
+ `token_expiration_time` int(11) NOT NULL,
+ `creation_date` timestamp NULL DEFAULT NULL,
+ PRIMARY KEY (`userapi_id`)
+ )");
+ $this->db->query("RENAME TABLE `api_userapi` to `userapi`");
+
+ $this->db->query("CREATE TABLE IF NOT EXISTS `api_token` (
+ `token_id` bigint(20) NOT NULL AUTO_INCREMENT,
+ `userapi_id` bigint(20) NOT NULL,
+ `token` varchar(40) NOT NULL,
+ `expiration_date` timestamp NULL DEFAULT NULL,
+ PRIMARY KEY (`token_id`)
+ )");
+ $this->db->query("RENAME TABLE `api_token` to `token`");
+ }
+
+ public function pgsql()
+ {
+ $this->db->query("CREATE TABLE api_userapi (
+ userapi_id serial PRIMARY KEY,
+ user_id bigint NOT NULL,
+ apikey character varying(40) NOT NULL,
+ application_name character varying(256) NOT NULL,
+ token_expiration_time integer NOT NULL,
+ creation_date timestamp without time zone
+ )");
+ $this->db->query("ALTER TABLE api_userapi_userapi_id_seq RENAME TO userapi_userapi_id_seq");
+ $this->db->query("ALTER TABLE api_userapi RENAME TO userapi");
+ $this->db->query("ALTER INDEX api_userapi_pkey RENAME TO userapi_pkey");
+
+ $this->db->query("CREATE TABLE api_token (
+ token_id serial PRIMARY KEY,
+ userapi_id bigint NOT NULL,
+ token character varying(40) NOT NULL,
+ expiration_date timestamp without time zone
+ )");
+ $this->db->query("ALTER TABLE api_token_token_id_seq RENAME TO token_token_id_seq");
+ $this->db->query("ALTER TABLE api_token RENAME TO token");
+ $this->db->query("ALTER INDEX api_token_pkey RENAME TO token_pkey");
+ }
+
+ public function postUpgrade()
+ {
+ $userModel = MidasLoader::loadModel('User');
+ $userapiModel = MidasLoader::loadModel('Userapi');
+
+ //limit this to 100 users; there shouldn't be very many when api is installed
+ $users = $userModel->getAll(false, 100, 'admin');
+ foreach($users as $user)
+ {
+ $userApiDao = $userapiModel->getByAppAndEmail('Default', $user->getEmail());
+ if($userApiDao != false)
+ {
+ $userDefaultApiKey = $userApiDao->getApikey();
+ if(!empty($userDefaultApiKey))
+ {
+ continue;
+ }
+ }
+ $userapiModel->createDefaultApiKey($user);
+ }
+ }
+
+}
+?>
diff --git a/modules/api/models/base/TokenModelBase.php b/core/models/base/TokenModelBase.php
similarity index 88%
rename from modules/api/models/base/TokenModelBase.php
rename to core/models/base/TokenModelBase.php
index d84fd36cf..cea2a2343 100644
--- a/modules/api/models/base/TokenModelBase.php
+++ b/core/models/base/TokenModelBase.php
@@ -17,13 +17,13 @@
See the License for the specific language governing permissions and
limitations under the License.
=========================================================================*/
-abstract class Api_TokenModelBase extends Api_AppModel
+abstract class TokenModelBase extends AppModel
{
/** constructor */
public function __construct()
{
parent::__construct();
- $this->_name = 'api_token';
+ $this->_name = 'token';
$this->_key = 'token_id';
$this->_mainData = array(
@@ -31,7 +31,7 @@ public function __construct()
'userapi_id' => array('type' => MIDAS_DATA),
'token' => array('type' => MIDAS_DATA),
'expiration_date' => array('type' => MIDAS_DATA),
- 'userapi' => array('type' => MIDAS_MANY_TO_ONE, 'model' => 'Userapi', 'module' => 'api', 'parent_column' => 'userapi_id', 'child_column' => 'userapi_id'),
+ 'userapi' => array('type' => MIDAS_MANY_TO_ONE, 'model' => 'Userapi', 'parent_column' => 'userapi_id', 'child_column' => 'userapi_id'),
);
$this->initialize(); // required
} // end __construct()
diff --git a/modules/api/models/base/UserapiModelBase.php b/core/models/base/UserapiModelBase.php
similarity index 93%
rename from modules/api/models/base/UserapiModelBase.php
rename to core/models/base/UserapiModelBase.php
index 0ec748e4d..8e5e9e676 100644
--- a/modules/api/models/base/UserapiModelBase.php
+++ b/core/models/base/UserapiModelBase.php
@@ -17,13 +17,13 @@
See the License for the specific language governing permissions and
limitations under the License.
=========================================================================*/
-abstract class Api_UserapiModelBase extends Api_AppModel
+abstract class UserapiModelBase extends AppModel
{
/** constructor */
public function __construct()
{
parent::__construct();
- $this->_name = 'api_userapi';
+ $this->_name = 'userapi';
$this->_key = 'userapi_id';
$this->_mainData = array(
@@ -63,14 +63,14 @@ function createDefaultApiKey($userDao)
if(count($rowset)) //update existing record if we have one already
{
- $userApiDao = $this->initDao('Userapi', $rowset[0], 'api');
+ $userApiDao = $this->initDao('Userapi', $rowset[0]);
$userApiDao->setApikey($key);
$this->save($userApiDao);
return;
}
// Otherwise save new default key
- $userApiDao = MidasLoader::newDao('UserapiDao', 'api');
+ $userApiDao = MidasLoader::newDao('UserapiDao');
$userApiDao->setUserId($userDao->getKey());
$userApiDao->setApplicationName('Default');
$userApiDao->setApikey($key);
@@ -97,7 +97,7 @@ function createKey($userDao, $applicationname, $tokenexperiationtime)
$key = UtilityComponent::generateRandomString(40);
- $userApiDao = MidasLoader::newDao('UserapiDao', 'api');
+ $userApiDao = MidasLoader::newDao('UserapiDao');
$userApiDao->setUserId($userDao->getKey());
$userApiDao->setApikey($key);
$userApiDao->setApplicationName($applicationname);
diff --git a/modules/api/models/dao/TokenDao.php b/core/models/dao/TokenDao.php
similarity index 93%
rename from modules/api/models/dao/TokenDao.php
rename to core/models/dao/TokenDao.php
index 5aaa59554..0d85a0f07 100644
--- a/modules/api/models/dao/TokenDao.php
+++ b/core/models/dao/TokenDao.php
@@ -18,9 +18,8 @@
limitations under the License.
=========================================================================*/
/** Dao for the api token */
-class Api_TokenDao extends AppDao
+class TokenDao extends AppDao
{
public $_model = 'Token';
- public $_module = 'api';
}
?>
diff --git a/modules/api/models/dao/UserapiDao.php b/core/models/dao/UserapiDao.php
similarity index 93%
rename from modules/api/models/dao/UserapiDao.php
rename to core/models/dao/UserapiDao.php
index fd88a8bf9..a181003ef 100644
--- a/modules/api/models/dao/UserapiDao.php
+++ b/core/models/dao/UserapiDao.php
@@ -18,9 +18,8 @@
limitations under the License.
=========================================================================*/
/** Dao for user api key */
-class Api_UserapiDao extends AppDao
+class UserapiDao extends AppDao
{
public $_model = 'Userapi';
- public $_module = 'api';
}
?>
diff --git a/modules/api/models/pdo/TokenModel.php b/core/models/pdo/TokenModel.php
similarity index 84%
rename from modules/api/models/pdo/TokenModel.php
rename to core/models/pdo/TokenModel.php
index 6cf70da57..353b3623c 100644
--- a/modules/api/models/pdo/TokenModel.php
+++ b/core/models/pdo/TokenModel.php
@@ -18,10 +18,10 @@
limitations under the License.
=========================================================================*/
-require_once BASE_PATH.'/modules/api/models/base/TokenModelBase.php';
+require_once BASE_PATH.'/core/models/base/TokenModelBase.php';
-/** Api token model implementation */
-class Api_TokenModel extends Api_TokenModelBase
+/** Api Token model implementation */
+class TokenModel extends TokenModelBase
{
/** Remove all expired api tokens */
function cleanExpired()
@@ -30,7 +30,7 @@ function cleanExpired()
$rowset = $this->database->fetchAll($sql);
foreach($rowset as $row)
{
- $tmpDao = $this->initDao('Token', $row, 'api');
+ $tmpDao = $this->initDao('Token', $row);
parent::delete($tmpDao);
}
}
diff --git a/modules/api/models/pdo/UserapiModel.php b/core/models/pdo/UserapiModel.php
similarity index 85%
rename from modules/api/models/pdo/UserapiModel.php
rename to core/models/pdo/UserapiModel.php
index 5d1f948bb..137ed13b1 100644
--- a/modules/api/models/pdo/UserapiModel.php
+++ b/core/models/pdo/UserapiModel.php
@@ -18,16 +18,16 @@
limitations under the License.
=========================================================================*/
//App::import("Vendor",'Sanitize');
-require_once BASE_PATH.'/modules/api/models/base/UserapiModelBase.php';
+require_once BASE_PATH.'/core/models/base/UserapiModelBase.php';
/** User api key model implementation */
-class Api_UserapiModel extends Api_UserapiModelBase
+class UserapiModel extends UserapiModelBase
{
/**
* Get UserapiDao by
* @param string $appname Application Name
* @param string $email
- * @return Api_UserapiDao
+ * @return UserapiDao
*/
function getByAppAndEmail($appname, $email)
{
@@ -43,7 +43,7 @@ function getByAppAndEmail($appname, $email)
}
$row = $this->database->fetchRow($this->database->select()->where('application_name = ?', $appname)
->where('user_id = ?', $userDao->getKey()));
- $dao = $this->initDao('Userapi', $row, 'api');
+ $dao = $this->initDao('Userapi', $row);
return $dao;
} // end getByApikey
@@ -51,7 +51,7 @@ function getByAppAndEmail($appname, $email)
* Get UserapiDao by
* @param string $appname Application Name
* @param UserDao $userDao
- * @return Api_UserapiDao
+ * @return UserapiDao
*/
function getByAppAndUser($appname, $userDao)
{
@@ -61,7 +61,7 @@ function getByAppAndUser($appname, $userDao)
}
$row = $this->database->fetchRow($this->database->select()->where('application_name = ?', $appname)
->where('user_id = ?', $userDao->getKey()));
- $dao = $this->initDao('Userapi', $row, 'api');
+ $dao = $this->initDao('Userapi', $row);
return $dao;
} // end getByAppAndUser
@@ -90,8 +90,8 @@ function getToken($email, $apikey, $appname)
$sql = $this->database->select()
->setIntegrityCheck(false)
- ->from(array('t' => 'api_token'))
- ->join(array('u' => 'api_userapi'),
+ ->from(array('t' => 'token'))
+ ->join(array('u' => 'userapi'),
' u.userapi_id= t.userapi_id', array() )
->where('u.user_id = ?', $userDao->getKey())
->where('u.application_name = ?', $appname)
@@ -100,7 +100,7 @@ function getToken($email, $apikey, $appname)
$row = $this->database->fetchRow($sql);
- $tokenDao = $this->initDao('Token', $row, 'api');
+ $tokenDao = $this->initDao('Token', $row);
if(!empty($tokenDao))
{
@@ -126,25 +126,25 @@ function getToken($email, $apikey, $appname)
$sql = $this->database->select()
->setIntegrityCheck(false)
- ->from(array('u' => 'api_userapi'))
+ ->from(array('u' => 'userapi'))
->where('u.user_id = ?', $userDao->getKey())
->where('u.application_name = ?', $appname)
->where('u.apikey = ?', $apikey);
$row = $this->database->fetchRow($sql);
- $userapiDao = $this->initDao('Userapi', $row, 'api');
+ $userapiDao = $this->initDao('Userapi', $row);
if(!$userapiDao)
{
return false;
}
- $tokenDao = MidasLoader::newDao('TokenDao', 'api');
+ $tokenDao = MidasLoader::newDao('TokenDao');
$tokenDao->setUserapiId($userapiDao->getKey());
$tokenDao->setToken($token);
$tokenDao->setExpirationDate(date("c", time() + $userapiDao->getTokenExpirationTime() * 60));
- $tokenModel = MidasLoader::loadModel('Token', 'api');
+ $tokenModel = MidasLoader::loadModel('Token');
$tokenModel->save($tokenDao);
// We do some cleanup of all the other keys that have expired
@@ -165,14 +165,14 @@ function getUserapiFromToken($token)
$sql = $this->database->select()
->setIntegrityCheck(false)
- ->from(array('u' => 'api_userapi'))
- ->join(array('t' => 'api_token'),
+ ->from(array('u' => 'userapi'))
+ ->join(array('t' => 'token'),
' u.userapi_id = t.userapi_id', array() )
->where('t.expiration_date > ?', $now)
->where('t.token = ?', $token);
$row = $this->database->fetchRow($sql);
- return $this->initDao('Userapi', $row, 'api');
+ return $this->initDao('Userapi', $row);
}
/** Get the user's keys */
@@ -186,7 +186,7 @@ function getByUser($userDao)
$return = array();
foreach($rowset as $row)
{
- $return[] = $this->initDao('Userapi', $row, 'api');
+ $return[] = $this->initDao('Userapi', $row);
}
return $return;
}
diff --git a/core/tests/databaseDataset/default.xml b/core/tests/databaseDataset/default.xml
index 94f9ff425..73321bfb3 100644
--- a/core/tests/databaseDataset/default.xml
+++ b/core/tests/databaseDataset/default.xml
@@ -178,9 +178,10 @@
-
+
+
diff --git a/core/tests/databaseDataset/userapi.xml b/core/tests/databaseDataset/userapi.xml
new file mode 100644
index 000000000..0ec6c63fa
--- /dev/null
+++ b/core/tests/databaseDataset/userapi.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
diff --git a/core/tests/models/base/CMakeLists.txt b/core/tests/models/base/CMakeLists.txt
index 86da0ec6c..637862672 100644
--- a/core/tests/models/base/CMakeLists.txt
+++ b/core/tests/models/base/CMakeLists.txt
@@ -12,4 +12,3 @@ add_midas_test( ItempolicygroupModel ItempolicygroupModelTest.php )
add_midas_test( ItempolicyuserModel ItempolicyuserModelTest.php )
add_midas_test( MetadataModel MetadataModelTest.php )
add_midas_test( TreeIndices TreeIndicesTest.php )
-add_midas_test( UserModel UserModelTest.php )
diff --git a/core/tests/models/base/UserModelTest.php b/core/tests/models/base/UserModelTest.php
deleted file mode 100644
index 842e50ec0..000000000
--- a/core/tests/models/base/UserModelTest.php
+++ /dev/null
@@ -1,59 +0,0 @@
-setupDatabase(array());
- $this->_models = array('User');
- $this->_daos = array('User');
- parent::setUp();
- }
-
- /** testGetUserCommunities*/
- public function testGetUserCommunities()
- {
- $communitiesFile = $this->loadData('Community', 'default');
-
- $usersFile = $this->loadData('User', 'default');
- $userDao = $this->User->load($usersFile[0]->getKey());
- $communityDaos = $this->User->getUserCommunities($userDao);
- if(!in_array($communitiesFile[0], $communityDaos, false))
- {
- $this->fail('Unable to match community');
- }
- }
-
- /** testGetUserCommunitiesException*/
- public function testGetUserCommunitiesException()
- {
- try
- {
- $communityDaos = $this->User->getUserCommunities('test');
- }
- catch(Exception $expected)
- {
- return;
- }
- $this->fail('An expected exception has not been raised.');
- }
- }
diff --git a/modules/api/AppController.php b/modules/api/AppController.php
index d7e868017..dff323667 100644
--- a/modules/api/AppController.php
+++ b/modules/api/AppController.php
@@ -22,11 +22,5 @@
class Api_AppController extends MIDAS_GlobalModule
{
public $moduleName = 'api';
-
- /**
- * Api_Userapi Model
- * @var Api_UserapiModelBase
- */
- var $Api_Userapi;
} //end class
?>
\ No newline at end of file
diff --git a/modules/api/Notification.php b/modules/api/Notification.php
index 954cd7e20..e44e20fb9 100644
--- a/modules/api/Notification.php
+++ b/modules/api/Notification.php
@@ -24,7 +24,7 @@
class Api_Notification extends ApiEnabled_Notification
{
public $moduleName = 'api';
- public $_moduleComponents = array('Api', 'Authentication');
+ public $_moduleComponents = array('Api');
public $_models = array('User');
/** init notification process*/
@@ -55,7 +55,7 @@ public function setDefaultWebApiKey($params)
{
throw new Zend_Exception('Error: userDao parameter required');
}
- $userApiModel = MidasLoader::loadModel('Userapi', 'api');
+ $userApiModel = MidasLoader::loadModel('Userapi');
$userApiModel->createDefaultApiKey($params['userDao']);
}
@@ -69,7 +69,7 @@ public function handleUserDeleted($params)
{
throw new Zend_Exception('Error: userDao parameter required');
}
- $userApiModel = MidasLoader::loadModel('Userapi', 'api');
+ $userApiModel = MidasLoader::loadModel('Userapi');
$apiKeys = $userApiModel->getByUser($params['userDao']);
foreach($apiKeys as $apiKey)
diff --git a/modules/api/controllers/ConfigController.php b/modules/api/controllers/ConfigController.php
index 7435f6893..21742baad 100644
--- a/modules/api/controllers/ConfigController.php
+++ b/modules/api/controllers/ConfigController.php
@@ -21,10 +21,9 @@
/** api config controller */
class Api_ConfigController extends Api_AppController
{
- public $_models = array('User');
+ public $_models = array('User', 'Userapi');
public $_moduleForms = array('Config');
public $_components = array('Utility', 'Date');
- public $_moduleModels = array('Userapi');
/**
* Configuration action for a user's api keys
@@ -60,7 +59,7 @@ function usertabAction()
$this->disableView();
$applicationName = $this->_getParam('appplication_name');
$tokenExperiationTime = $this->_getParam('expiration');
- $userapiDao = $this->Api_Userapi->createKey($user, $applicationName, $tokenExperiationTime);
+ $userapiDao = $this->Userapi->createKey($user, $applicationName, $tokenExperiationTime);
if($userapiDao != false)
{
echo JsonComponent::encode(array(true, $this->t('Changes saved')));
@@ -74,11 +73,11 @@ function usertabAction()
{
$this->disableView();
$element = $this->_getParam('element');
- $userapiDao = $this->Api_Userapi->load($element);
+ $userapiDao = $this->Userapi->load($element);
// Make sure the key belongs to the user
if($userapiDao != false && ($userapiDao->getUserId() == $userId || $this->userSession->Dao->isAdmin()))
{
- $this->Api_Userapi->delete($userapiDao);
+ $this->Userapi->delete($userapiDao);
echo JsonComponent::encode(array(true, $this->t('Changes saved')));
}
else
@@ -89,7 +88,7 @@ function usertabAction()
// List the previously generated API keys
$apikeys = array();
- $userapiDaos = $this->Api_Userapi->getByUser($user);
+ $userapiDaos = $this->Userapi->getByUser($user);
$this->view->userapiDaos = $userapiDaos;
$this->view->user = $user;
}
diff --git a/modules/api/controllers/components/ApiComponent.php b/modules/api/controllers/components/ApiComponent.php
index 42b8cbc9f..740b7a4f3 100644
--- a/modules/api/controllers/components/ApiComponent.php
+++ b/modules/api/controllers/components/ApiComponent.php
@@ -62,24 +62,15 @@ private function _renameParamKey(&$args, $oldKey, $newKey, $oldKeyRequired = tru
/** Return the user dao */
private function _getUser($args)
{
- $authComponent = MidasLoader::loadComponent('Authentication', 'api');
+ $authComponent = MidasLoader::loadComponent('Authentication');
return $authComponent->getUser($args, $this->userSession->Dao);
}
/** Return the user dao */
- private function _callCoreApiMethod($args, $coreApiMethod, $hasReturn = true, $needAuth = true)
+ private function _callCoreApiMethod($args, $coreApiMethod, $hasReturn = true)
{
- $authComponent = MidasLoader::loadComponent('Authentication', 'api');
$ApiComponent = MidasLoader::loadComponent('Api');
- if($needAuth)
- {
- $userDao = $authComponent->getUser($args, $this->userSession->Dao);
- $rtn = $ApiComponent->$coreApiMethod($args, $userDao);
- }
- else
- {
- $rtn = $ApiComponent->$coreApiMethod($args);
- }
+ $rtn = $ApiComponent->$coreApiMethod($args);
if($hasReturn)
{
return $rtn;
@@ -153,8 +144,8 @@ function login($args)
$email = $args['email'];
$appname = $args['appname'];
$apikey = $args['apikey'];
- $Api_Userapi = MidasLoader::loadModel('Userapi', 'api');
- $tokenDao = $Api_Userapi->getToken($email, $apikey, $appname);
+ $Userapi = MidasLoader::loadModel('Userapi');
+ $tokenDao = $Userapi->getToken($email, $apikey, $appname);
if(empty($tokenDao))
{
throw new Exception('Unable to authenticate. Please check credentials.', MIDAS_INVALID_PARAMETER);
@@ -1225,7 +1216,7 @@ function userApikeyDefault($args)
}
$userModel = MidasLoader::loadModel('User');
- $userApiModel = MidasLoader::loadModel('Userapi', 'api');
+ $userApiModel = MidasLoader::loadModel('Userapi');
if(!$authModule)
{
$userDao = $userModel->getByEmail($email);
@@ -1258,7 +1249,7 @@ function userApikeyDefault($args)
*/
function userList($args)
{
- return $this->_callCoreApiMethod($args, 'userList', true, false);
+ return $this->_callCoreApiMethod($args, 'userList');
}
/**
@@ -1272,7 +1263,7 @@ function userList($args)
function userGet($args)
{
$this->_renameParamKey($args, 'user_id', 'id', false);
- return $this->_callCoreApiMethod($args, 'userGet', true, false);
+ return $this->_callCoreApiMethod($args, 'userGet');
}
/**
diff --git a/modules/api/database/InstallScript.php b/modules/api/database/InstallScript.php
deleted file mode 100644
index ccf64099b..000000000
--- a/modules/api/database/InstallScript.php
+++ /dev/null
@@ -1,53 +0,0 @@
-getAll(false, 100, 'admin');
- foreach($users as $user)
- {
- $userapiModel->createDefaultApiKey($user);
- }
- }
- }
-
-?>
diff --git a/modules/api/database/mysql/1.0.0.sql b/modules/api/database/mysql/1.0.0.sql
deleted file mode 100644
index 68f58644c..000000000
--- a/modules/api/database/mysql/1.0.0.sql
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-CREATE TABLE IF NOT EXISTS `api_userapi` (
- `userapi_id` bigint(20) NOT NULL AUTO_INCREMENT,
- `user_id` bigint(20) NOT NULL,
- `apikey` varchar(40) NOT NULL,
- `application_name` varchar(256) NOT NULL,
- `token_expiration_time` int(11) NOT NULL,
- `creation_date` timestamp NULL DEFAULT NULL ,
- PRIMARY KEY (`userapi_id`)
-) DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS api_token (
- token_id bigint(20) NOT NULL AUTO_INCREMENT,
- userapi_id bigint(20) NOT NULL,
- token varchar(40) NOT NULL,
- expiration_date timestamp NULL DEFAULT NULL ,
- PRIMARY KEY (`token_id`)
-) DEFAULT CHARSET=utf8;
diff --git a/modules/api/database/pgsql/1.0.0.sql b/modules/api/database/pgsql/1.0.0.sql
deleted file mode 100644
index 238436d49..000000000
--- a/modules/api/database/pgsql/1.0.0.sql
+++ /dev/null
@@ -1,18 +0,0 @@
-DROP TABLE IF EXISTS api_userapi;
-DROP TABLE IF EXISTS api_token;
-
-CREATE TABLE api_userapi (
- userapi_id serial PRIMARY KEY,
- user_id bigint NOT NULL,
- apikey character varying(40) NOT NULL,
- application_name character varying(256) NOT NULL,
- token_expiration_time integer NOT NULL,
- creation_date timestamp without time zone
-);
-
-CREATE TABLE api_token (
- token_id serial PRIMARY KEY,
- userapi_id bigint NOT NULL,
- token character varying(40) NOT NULL,
- expiration_date timestamp without time zone
-);
diff --git a/modules/api/models/AppDao.php b/modules/api/models/AppDao.php
deleted file mode 100644
index 69f550d6d..000000000
--- a/modules/api/models/AppDao.php
+++ /dev/null
@@ -1,27 +0,0 @@
-
diff --git a/modules/api/models/AppModel.php b/modules/api/models/AppModel.php
deleted file mode 100644
index 80617a706..000000000
--- a/modules/api/models/AppModel.php
+++ /dev/null
@@ -1,26 +0,0 @@
-
diff --git a/modules/api/tests/CMakeLists.txt b/modules/api/tests/CMakeLists.txt
index 4c4108e60..5bcee50f2 100644
--- a/modules/api/tests/CMakeLists.txt
+++ b/modules/api/tests/CMakeLists.txt
@@ -1,10 +1,7 @@
add_subdirectory( controllers )
-add_subdirectory( models )
# Style
add_midas_style_test( StyleApiControllers ${CMAKE_SOURCE_DIR}/modules/api/controllers )
-add_midas_style_test( StyleApiModels ${CMAKE_SOURCE_DIR}/modules/api/models )
add_midas_style_test( StyleTestsApiControllers ${CMAKE_SOURCE_DIR}/modules/api/tests/controllers )
-add_midas_style_test( StyleTestsApiModels ${CMAKE_SOURCE_DIR}/modules/api/tests/models )
add_midas_style_test(StyleApiEnabledNotification
${CMAKE_SOURCE_DIR}/modules/api/library/APIEnabledNotification.php)
diff --git a/modules/api/tests/controllers/ApiCallMethodsTest.php b/modules/api/tests/controllers/ApiCallMethodsTest.php
index e714e4f68..8fd3f587d 100644
--- a/modules/api/tests/controllers/ApiCallMethodsTest.php
+++ b/modules/api/tests/controllers/ApiCallMethodsTest.php
@@ -24,8 +24,7 @@ class ApiCallMethodsTest extends ControllerTestCase
/** set up tests */
public function setUp()
{
- $this->setupDatabase(array('default')); //core dataset
- $this->setupDatabase(array('default'), 'api'); // module dataset
+ $this->setupDatabase(array('default', 'userapi')); //core dataset
$this->enabledModules = array('api');
$this->_models = array('User', 'Folder', 'Item', 'ItemRevision', 'Assetstore', 'Bitstream', 'Itempolicyuser');
$this->_daos = array();
@@ -66,7 +65,7 @@ protected function _assertStatusFail($resp, $code, $message = false)
/** helper function to login as the passed in user. */
protected function _loginAsUser($userDao)
{
- $userApiModel = MidasLoader::loadModel('Userapi', 'api');
+ $userApiModel = MidasLoader::loadModel('Userapi');
$userApiModel->createDefaultApiKey($userDao);
$apiKey = $userApiModel->getByAppAndUser('Default', $userDao)->getApikey();
diff --git a/modules/api/tests/controllers/ApiCallUserMethodsTest.php b/modules/api/tests/controllers/ApiCallUserMethodsTest.php
index a5fb4cbcc..73e384da6 100644
--- a/modules/api/tests/controllers/ApiCallUserMethodsTest.php
+++ b/modules/api/tests/controllers/ApiCallUserMethodsTest.php
@@ -62,7 +62,7 @@ public function testUserApikeyDefault()
$userDao = $this->User->load($usersFile[0]->getKey());
// Expected API key
- $userApiModel = MidasLoader::loadModel('Userapi', 'api');
+ $userApiModel = MidasLoader::loadModel('Userapi');
$userApiModel->createDefaultApiKey($userDao);
$apiKey = $userApiModel->getByAppAndUser('Default', $userDao)->getApikey();
diff --git a/modules/api/tests/controllers/ApiKeyControllerTest.php b/modules/api/tests/controllers/ApiKeyControllerTest.php
index ecb581eb6..64fb9457e 100644
--- a/modules/api/tests/controllers/ApiKeyControllerTest.php
+++ b/modules/api/tests/controllers/ApiKeyControllerTest.php
@@ -24,8 +24,7 @@ class ApiKeyControllerTest extends ControllerTestCase
/** set up tests */
public function setUp()
{
- $this->setupDatabase(array('default')); //core dataset
- $this->setupDatabase(array('default'), 'api'); // module dataset
+ $this->setupDatabase(array('default', 'userapi')); //core dataset
$this->enabledModules = array('api');
$this->_models = array('User');
$this->_daos = array('User');
@@ -41,7 +40,7 @@ public function testChangePasswordChangesDefaultApiKey()
$this->User->changePassword($userDao, 'test');
$this->User->save($userDao);
- $userApiModel = MidasLoader::loadModel('Userapi', 'api');
+ $userApiModel = MidasLoader::loadModel('Userapi');
$userApiModel->createDefaultApiKey($userDao);
$preKey = $userApiModel->getByAppAndUser('Default', $userDao)->getApikey();
$this->assertEquals(strlen($preKey), 32);
@@ -74,27 +73,9 @@ public function testNewUserGetsDefaultApiKey()
$this->dispatchUrI($page);
// Check that their default api key was created
- $userApiModel = MidasLoader::loadModel('Userapi', 'api');
+ $userApiModel = MidasLoader::loadModel('Userapi');
$key = $userApiModel->getByAppAndEmail('Default', 'some.user@server.com')->getApikey();
$this->assertNotEmpty($key);
}
- /**
- * Make sure that existing users get a default api key
- * created for them when the web api module is installed
- */
- public function testExistingUsersGetDefaultKeysOnInstall()
- {
- $userApiModel = MidasLoader::loadModel('Userapi', 'api');
- $userApiDao = $userApiModel->getByAppAndEmail('Default', 'user1@user1.com');
-
- $this->assertTrue($userApiDao == false, 'Key should not exist before install');
- $utilityComponent = MidasLoader::loadComponent('Utility');
- $utilityComponent->installModule('api');
-
- $userApiDao = $userApiModel->getByAppAndEmail('Default', 'user1@user1.com');
-
- $this->assertTrue($userApiDao != false, 'Api key was not created for existing user');
- $this->assertNotEmpty($userApiDao->getApikey());
- }
}
diff --git a/modules/api/tests/databaseDataset/default.xml b/modules/api/tests/databaseDataset/default.xml
deleted file mode 100644
index 8ffdc35c3..000000000
--- a/modules/api/tests/databaseDataset/default.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/modules/api/tests/models/CMakeLists.txt b/modules/api/tests/models/CMakeLists.txt
deleted file mode 100644
index 8775d2733..000000000
--- a/modules/api/tests/models/CMakeLists.txt
+++ /dev/null
@@ -1 +0,0 @@
-add_subdirectory( base )
diff --git a/modules/api/tests/models/base/CMakeLists.txt b/modules/api/tests/models/base/CMakeLists.txt
deleted file mode 100644
index 86a9f1485..000000000
--- a/modules/api/tests/models/base/CMakeLists.txt
+++ /dev/null
@@ -1 +0,0 @@
-add_midas_test( ApiUserApiModel UserApiModelTest.php )
diff --git a/modules/api/tests/models/base/UserApiModelTest.php b/modules/api/tests/models/base/UserApiModelTest.php
deleted file mode 100644
index d9b74706a..000000000
--- a/modules/api/tests/models/base/UserApiModelTest.php
+++ /dev/null
@@ -1,47 +0,0 @@
-setupDatabase(array('default')); //core dataset
- $this->setupDatabase(array('default'), 'api'); // module dataset
- $this->enabledModules = array('api');
- parent::setUp();
- }
-
- /** Test that UserapiModel::createDefaultApiKey works */
- public function testDefaultApiKeyModel()
- {
- $userApiModel = MidasLoader::loadModel('Userapi', 'api');
- $userModel = MidasLoader::loadModel('User');
-
- $userDao = MidasLoader::newDao('UserDao');
- $userDao->setUserId(1);
- $userDao->setEmail('user1@user1.com');
-
- $userApiModel->createDefaultApiKey($userDao);
-
- $dao = $userApiModel->getByAppAndEmail('Default', 'user1@user1.com');
- $this->assertTrue($dao instanceof Api_UserapiDao);
- }
- }
diff --git a/modules/batchmake/controllers/components/ApiComponent.php b/modules/batchmake/controllers/components/ApiComponent.php
index 1d8495a83..38ce8b4ac 100644
--- a/modules/batchmake/controllers/components/ApiComponent.php
+++ b/modules/batchmake/controllers/components/ApiComponent.php
@@ -43,7 +43,7 @@ private function _checkKeys($keys, $values)
/** Return the user dao */
private function _getUser($args)
{
- $authComponent = MidasLoader::loadComponent('Authentication', 'api');
+ $authComponent = MidasLoader::loadComponent('Authentication');
return $authComponent->getUser($args, Zend_Registry::get('userSession')->Dao);
}
diff --git a/modules/batchmake/controllers/components/ExecuteComponent.php b/modules/batchmake/controllers/components/ExecuteComponent.php
index 3afafb080..a540f44b5 100644
--- a/modules/batchmake/controllers/components/ExecuteComponent.php
+++ b/modules/batchmake/controllers/components/ExecuteComponent.php
@@ -110,7 +110,7 @@ public function generatePythonConfigParams($taskDao, $userDao, $configPrefix = n
$email = $userDao->getEmail();
// get an api key for this user
$modelLoad = new MIDAS_ModelLoader();
- $userApiModel = $modelLoad->loadModel('Userapi', 'api');
+ $userApiModel = $modelLoad->loadModel('Userapi');
$userApiDao = $userApiModel->getByAppAndUser('Default', $userDao);
if(!$userApiDao)
{
diff --git a/modules/batchmake/tests/controllers/components/ExecuteComponentTest.php b/modules/batchmake/tests/controllers/components/ExecuteComponentTest.php
index e96a89826..e836b0738 100644
--- a/modules/batchmake/tests/controllers/components/ExecuteComponentTest.php
+++ b/modules/batchmake/tests/controllers/components/ExecuteComponentTest.php
@@ -168,7 +168,7 @@ public function testGeneratePythonConfigParams()
// need to falisfy a HTTP_HOST
$_SERVER['HTTP_HOST'] = 'localhost';
// need to create a web api-key for the user
- $userapiModel = MidasLoader::loadModel('Userapi', 'api');
+ $userapiModel = MidasLoader::loadModel('Userapi');
$userapiModel->createDefaultApiKey($userDao);
$this->executeComponent->generatePythonConfigParams($taskDao, $userDao);
diff --git a/modules/dicomextractor/controllers/components/ApiComponent.php b/modules/dicomextractor/controllers/components/ApiComponent.php
index 6e2f01925..876ecdf0d 100644
--- a/modules/dicomextractor/controllers/components/ApiComponent.php
+++ b/modules/dicomextractor/controllers/components/ApiComponent.php
@@ -39,7 +39,7 @@ function extract($args)
$itemModel = MidasLoader::loadModel("Item");
$itemRevisionModel = MidasLoader::loadModel("ItemRevision");
- $authComponent = MidasLoader::loadComponent('Authentication', 'api');
+ $authComponent = MidasLoader::loadComponent('Authentication');
$itemDao = $itemModel->load($args['item']);
$userDao = $authComponent->getUser($args,
Zend_Registry::get('userSession')->Dao);
diff --git a/modules/dicomserver/controllers/components/ApiComponent.php b/modules/dicomserver/controllers/components/ApiComponent.php
index 4c47a8eb1..ef9e38634 100644
--- a/modules/dicomserver/controllers/components/ApiComponent.php
+++ b/modules/dicomserver/controllers/components/ApiComponent.php
@@ -80,7 +80,7 @@ function start($args)
else
{
$user_email = $userDao->getEmail();
- $userApiModel = MidasLoader::loadModel('Userapi', 'api');
+ $userApiModel = MidasLoader::loadModel('Userapi');
$userApiDao = $userApiModel->getByAppAndUser('Default', $userDao);
if(!$userApiDao)
{
@@ -363,7 +363,7 @@ function register($args)
$itemModel = MidasLoader::loadModel("Item");
$itemRevisionModel = MidasLoader::loadModel("ItemRevision");
- $authComponent = MidasLoader::loadComponent('Authentication', 'api');
+ $authComponent = MidasLoader::loadComponent('Authentication');
$itemDao = $itemModel->load($args['item']);
$userDao = $authComponent->getUser($args,
Zend_Registry::get('userSession')->Dao);
@@ -390,7 +390,7 @@ function registrationStatus($args)
$this->_validateParams($args, array('item'));
$itemModel = MidasLoader::loadModel("Item");
- $authComponent = MidasLoader::loadComponent('Authentication', 'api');
+ $authComponent = MidasLoader::loadComponent('Authentication');
$itemDao = $itemModel->load($args['item']);
$userDao = $authComponent->getUser($args,
Zend_Registry::get('userSession')->Dao);
diff --git a/modules/mfa/controllers/components/ApiComponent.php b/modules/mfa/controllers/components/ApiComponent.php
index 6a39e7e1b..0bd4c339e 100644
--- a/modules/mfa/controllers/components/ApiComponent.php
+++ b/modules/mfa/controllers/components/ApiComponent.php
@@ -47,7 +47,7 @@ public function otpLogin($params)
$modelLoader = new MIDAS_ModelLoader();
$tempTokenModel = $modelLoader->loadModel('Apitoken', 'mfa');
$otpDeviceModel = $modelLoader->loadModel('Otpdevice', 'mfa');
- $apiTokenModel = $modelLoader->loadModel('Token', 'api');
+ $apiTokenModel = $modelLoader->loadModel('Token');
$tempToken = $tempTokenModel->load($params['mfaTokenId']);
if(!$tempToken)
diff --git a/modules/oai/AppController.php b/modules/oai/AppController.php
index 8e631105b..ce800cd9d 100644
--- a/modules/oai/AppController.php
+++ b/modules/oai/AppController.php
@@ -21,12 +21,5 @@
class Oai_AppController extends MIDAS_GlobalModule
{
public $moduleName='oai';
-
- /**completion eclipse*/
- /**
- * Api_Userapi Model
- * @var Api_UserapiModelBase
- */
- var $Api_Userapi;
} //end class
?>
\ No newline at end of file
diff --git a/modules/packages/controllers/components/ApiComponent.php b/modules/packages/controllers/components/ApiComponent.php
index baa19e398..7fc56913c 100644
--- a/modules/packages/controllers/components/ApiComponent.php
+++ b/modules/packages/controllers/components/ApiComponent.php
@@ -33,7 +33,7 @@ private function _checkKeys($keys, $values)
*/
private function _getUser($args)
{
- $authComponent = MidasLoader::loadComponent('Authentication', 'api');
+ $authComponent = MidasLoader::loadComponent('Authentication');
return $authComponent->getUser($args, null);
}
diff --git a/modules/remoteprocessing/controllers/components/ApiComponent.php b/modules/remoteprocessing/controllers/components/ApiComponent.php
index 00583aec7..bda5ec7ed 100644
--- a/modules/remoteprocessing/controllers/components/ApiComponent.php
+++ b/modules/remoteprocessing/controllers/components/ApiComponent.php
@@ -61,7 +61,7 @@ public function registerserver($args)
$userModel = MidasLoader::loadModel('User');
$groupModel = MidasLoader::loadModel('Group');
- $Api_UserapiModel = MidasLoader::loadModel('Userapi', 'api');
+ $UserapiModel = MidasLoader::loadModel('Userapi');
if(empty($apikey))
{
if(empty($os))
@@ -76,10 +76,10 @@ public function registerserver($args)
$serverGroup = $groupModel->load(MIDAS_GROUP_SERVER_KEY);
$groupModel->addUser($serverGroup, $userDao);
- $userapiDao = $Api_UserapiModel->getByAppAndUser('remoteprocessing', $userDao);
+ $userapiDao = $UserapiModel->getByAppAndUser('remoteprocessing', $userDao);
if($userapiDao == false)
{
- $userapiDao = $Api_UserapiModel->createKey($userDao, 'remoteprocessing', '100');
+ $userapiDao = $UserapiModel->createKey($userDao, 'remoteprocessing', '100');
}
$apikey = $userapiDao->getApikey();
@@ -87,7 +87,7 @@ public function registerserver($args)
Zend_Registry::get('notifier')->callback('CALLBACK_REMOTEPROCESSING_CREATESERVER', $userDao->toArray());
}
- $tokenDao = $Api_UserapiModel->getToken($email, $apikey, 'remoteprocessing');
+ $tokenDao = $UserapiModel->getToken($email, $apikey, 'remoteprocessing');
if(empty($tokenDao))
{
throw new Exception('Unable to authenticate. Please check credentials.', MIDAS_INVALID_PARAMETER);
@@ -106,7 +106,7 @@ public function registerserver($args)
*/
public function keepaliveserver($args)
{
- $authComponent = MidasLoader::loadComponent('Authentication', 'api');
+ $authComponent = MidasLoader::loadComponent('Authentication');
$userDao = $authComponent->getUser($args, Zend_Registry::get('userSession')->Dao);
if($userDao == false)
{
@@ -204,7 +204,7 @@ public function resultsserver($args)
throw new Exception('Should be a put request.', MIDAS_INVALID_PARAMETER);
}
- $authComponent = MidasLoader::loadComponent('Authentication', 'api');
+ $authComponent = MidasLoader::loadComponent('Authentication');
$userDao = $authComponent->getUser($args, Zend_Registry::get('userSession')->Dao);
if($userDao == false)
{
diff --git a/modules/sizequota/controllers/components/ApiComponent.php b/modules/sizequota/controllers/components/ApiComponent.php
index 20f382003..c6d5087b9 100644
--- a/modules/sizequota/controllers/components/ApiComponent.php
+++ b/modules/sizequota/controllers/components/ApiComponent.php
@@ -44,7 +44,7 @@ private function _checkKeys($keys, $values)
/** Authenticate via token or session */
private function _getUser($args)
{
- $authComponent = MidasLoader::loadComponent('Authentication', 'api');
+ $authComponent = MidasLoader::loadComponent('Authentication');
$default = $this->userSession ? $this->userSession->Dao : null;
return $authComponent->getUser($args, $default);
}
diff --git a/modules/solr/controllers/components/ApiComponent.php b/modules/solr/controllers/components/ApiComponent.php
index 1c1466893..d7303a228 100644
--- a/modules/solr/controllers/components/ApiComponent.php
+++ b/modules/solr/controllers/components/ApiComponent.php
@@ -40,7 +40,7 @@ public function searchAdvanced($args)
$componentLoader = new MIDAS_ComponentLoader();
$solrComponent = $componentLoader->loadComponent('Solr', 'solr');
- $authComponent = $componentLoader->loadComponent('Authentication', 'api');
+ $authComponent = $componentLoader->loadComponent('Authentication');
$userDao = $authComponent->getUser($args,
Zend_Registry::get('userSession')->Dao);
diff --git a/modules/thumbnailcreator/controllers/components/ApiComponent.php b/modules/thumbnailcreator/controllers/components/ApiComponent.php
index 350733462..8a57cb6eb 100644
--- a/modules/thumbnailcreator/controllers/components/ApiComponent.php
+++ b/modules/thumbnailcreator/controllers/components/ApiComponent.php
@@ -40,7 +40,7 @@ public function createBigThumbnail($args)
$this->_checkKeys(array('itemId', 'bitstreamId'), $args);
$imComponent = MidasLoader::loadComponent('Imagemagick', 'thumbnailcreator');
- $authComponent = MidasLoader::loadComponent('Authentication', 'api');
+ $authComponent = MidasLoader::loadComponent('Authentication');
$userDao = $authComponent->getUser($args,
Zend_Registry::get('userSession')->Dao);
@@ -109,7 +109,7 @@ public function createSmallThumbnail($args)
$itemId = $args['itemId'];
$imComponent = MidasLoader::loadComponent('Imagemagick', 'thumbnailcreator');
- $authComponent = MidasLoader::loadComponent('Authentication', 'api');
+ $authComponent = MidasLoader::loadComponent('Authentication');
$userDao = $authComponent->getUser($args,
Zend_Registry::get('userSession')->Dao);
diff --git a/modules/tracker/controllers/components/ApiComponent.php b/modules/tracker/controllers/components/ApiComponent.php
index 7077f8f3f..2b8781dc4 100644
--- a/modules/tracker/controllers/components/ApiComponent.php
+++ b/modules/tracker/controllers/components/ApiComponent.php
@@ -32,7 +32,7 @@ private function _checkKeys($keys, $values)
*/
private function _getUser($args)
{
- $authComponent = MidasLoader::loadComponent('Authentication', 'api');
+ $authComponent = MidasLoader::loadComponent('Authentication');
return $authComponent->getUser($args, $this->userSession->Dao);
}
diff --git a/modules/validation/controllers/components/ApiComponent.php b/modules/validation/controllers/components/ApiComponent.php
index 936057b60..e2c9312dd 100644
--- a/modules/validation/controllers/components/ApiComponent.php
+++ b/modules/validation/controllers/components/ApiComponent.php
@@ -88,7 +88,7 @@ public function createDashboard($value)
{
$this->_checkKeys(array('name', 'description'), $value);
- $authComponent = MidasLoader::loadComponent('Authentication', 'api');
+ $authComponent = MidasLoader::loadComponent('Authentication');
$userDao = $authComponent->getUser($value,
Zend_Registry::get('userSession')->Dao);
if(!$userDao || !$userDao->isAdmin())
@@ -115,7 +115,7 @@ public function setTestingFolder($value)
{
$this->_checkKeys(array('dashboard_id', 'folder_id'), $value);
- $authComponent = MidasLoader::loadComponent('Authentication', 'api');
+ $authComponent = MidasLoader::loadComponent('Authentication');
$userDao = $authComponent->getUser($value,
Zend_Registry::get('userSession')->Dao);
if(!$userDao || !$userDao->isAdmin())
@@ -148,7 +148,7 @@ public function setTruthFolder($value)
{
$this->_checkKeys(array('dashboard_id', 'folder_id'), $value);
- $authComponent = MidasLoader::loadComponent('Authentication', 'api');
+ $authComponent = MidasLoader::loadComponent('Authentication');
$userDao = $authComponent->getUser($value,
Zend_Registry::get('userSession')->Dao);
if(!$userDao || !$userDao->isAdmin())
@@ -181,7 +181,7 @@ public function setTrainingFolder($value)
{
$this->_checkKeys(array('dashboard_id', 'folder_id'), $value);
- $authComponent = MidasLoader::loadComponent('Authentication', 'api');
+ $authComponent = MidasLoader::loadComponent('Authentication');
$userDao = $authComponent->getUser($value,
Zend_Registry::get('userSession')->Dao);
if(!$userDao || !$userDao->isAdmin())
@@ -214,7 +214,7 @@ public function addResultFolder($value)
{
$this->_checkKeys(array('dashboard_id', 'folder_id'), $value);
- $authComponent = MidasLoader::loadComponent('Authentication', 'api');
+ $authComponent = MidasLoader::loadComponent('Authentication');
$userDao = $authComponent->getUser($value,
Zend_Registry::get('userSession')->Dao);
if(!$userDao)
@@ -248,7 +248,7 @@ public function removeResultFolder($value)
$this->_checkKeys(array('dashboard_id', 'folder_id'), $value);
// Verify that the user is an admin
- $authComponent = MidasLoader::loadComponent('Authentication', 'api');
+ $authComponent = MidasLoader::loadComponent('Authentication');
$userDao = $authComponent->getUser($value,
Zend_Registry::get('userSession')->Dao);
if(!$userDao || !$userDao->isAdmin())
@@ -322,7 +322,7 @@ public function setScalarResult($value)
$value);
// Verify authentication (only admins can set results)
- $authComponent = MidasLoader::loadComponent('Authentication', 'api');
+ $authComponent = MidasLoader::loadComponent('Authentication');
$userDao = $authComponent->getUser($value,
Zend_Registry::get('userSession')->Dao);
if(!$userDao || !$userDao->isAdmin())
diff --git a/modules/validation/tests/controllers/ApiComponentControllerTest.php b/modules/validation/tests/controllers/ApiComponentControllerTest.php
index 5fb4332c1..44c0d9b2a 100644
--- a/modules/validation/tests/controllers/ApiComponentControllerTest.php
+++ b/modules/validation/tests/controllers/ApiComponentControllerTest.php
@@ -18,7 +18,6 @@ class ApiControllerTest extends ControllerTestCase
public function setUp()
{
$this->setupDatabase(array('default')); //core dataset
- $this->setupDatabase(array('default'), 'api'); // module dataset
$this->setupDatabase(array('default'), 'validation'); // module dataset
$this->enabledModules = array('api', 'validation');
$this->_models = array('User', 'Folder');
@@ -57,7 +56,7 @@ private function _loginUsingApiKey()
$usersFile = $this->loadData('User', 'default');
$userDao = $this->User->load($usersFile[0]->getKey());
- $userApiModel = MidasLoader::loadModel('Userapi', 'api');
+ $userApiModel = MidasLoader::loadModel('Userapi');
$userApiModel->createDefaultApiKey($userDao);
$apiKey = $userApiModel->getByAppAndUser('Default', $userDao)->getApikey();
@@ -85,7 +84,7 @@ private function _loginUsingApiKeyAsAdmin()
$userDao->setAdmin(1);
$this->User->save($userDao);
- $userApiModel = MidasLoader::loadModel('Userapi', 'api');
+ $userApiModel = MidasLoader::loadModel('Userapi');
$userApiModel->createDefaultApiKey($userDao);
$apiKey = $userApiModel->getByAppAndUser('Default', $userDao)->getApikey();