@@ -37,58 +37,58 @@ |
||
| 37 | 37 | |
| 38 | 38 | class ShareRequest extends PermissionEntity implements \JsonSerializable { |
| 39 | 39 | |
| 40 | - protected |
|
| 41 | - $itemId, |
|
| 42 | - $itemGuid, |
|
| 43 | - $targetUserId, |
|
| 44 | - $targetVaultId, |
|
| 45 | - $targetVaultGuid, |
|
| 46 | - $sharedKey, |
|
| 47 | - $permissions, |
|
| 48 | - $created, |
|
| 40 | + protected |
|
| 41 | + $itemId, |
|
| 42 | + $itemGuid, |
|
| 43 | + $targetUserId, |
|
| 44 | + $targetVaultId, |
|
| 45 | + $targetVaultGuid, |
|
| 46 | + $sharedKey, |
|
| 47 | + $permissions, |
|
| 48 | + $created, |
|
| 49 | 49 | $fromUserId; |
| 50 | 50 | |
| 51 | - public function __construct() { |
|
| 52 | - // add types in constructor |
|
| 53 | - $this->addType('itemId', 'integer'); |
|
| 54 | - $this->addType('vaultId', 'integer'); |
|
| 55 | - $this->addType('permissions', 'integer'); |
|
| 56 | - } |
|
| 51 | + public function __construct() { |
|
| 52 | + // add types in constructor |
|
| 53 | + $this->addType('itemId', 'integer'); |
|
| 54 | + $this->addType('vaultId', 'integer'); |
|
| 55 | + $this->addType('permissions', 'integer'); |
|
| 56 | + } |
|
| 57 | 57 | |
| 58 | - /** |
|
| 59 | - * Specify data which should be serialized to JSON |
|
| 60 | - * @link http://php.net/manual/en/jsonserializable.jsonserialize.php |
|
| 61 | - * @return mixed data which can be serialized by <b>json_encode</b>, |
|
| 62 | - * which is a value of any type other than a resource. |
|
| 63 | - * @since 5.4.0 |
|
| 64 | - */ |
|
| 65 | - function jsonSerialize() |
|
| 66 | - { |
|
| 67 | - return [ |
|
| 68 | - 'req_id' => $this->getId(), |
|
| 69 | - 'item_id' => $this->getItemId(), |
|
| 70 | - 'item_guid' => $this->getItemGuid(), |
|
| 71 | - 'target_user_id' => $this->getTargetUserId(), |
|
| 72 | - 'target_vault_id' => $this->getTargetVaultId(), |
|
| 73 | - 'target_vault_guid' => $this->getTargetVaultGuid(), |
|
| 74 | - 'from_user_id' => $this->getFromUserId(), |
|
| 75 | - 'shared_key' => $this->getSharedKey(), |
|
| 76 | - 'permissions' => $this->getPermissions(), |
|
| 77 | - 'created' => $this->getCreated(), |
|
| 78 | - ]; |
|
| 79 | - } |
|
| 58 | + /** |
|
| 59 | + * Specify data which should be serialized to JSON |
|
| 60 | + * @link http://php.net/manual/en/jsonserializable.jsonserialize.php |
|
| 61 | + * @return mixed data which can be serialized by <b>json_encode</b>, |
|
| 62 | + * which is a value of any type other than a resource. |
|
| 63 | + * @since 5.4.0 |
|
| 64 | + */ |
|
| 65 | + function jsonSerialize() |
|
| 66 | + { |
|
| 67 | + return [ |
|
| 68 | + 'req_id' => $this->getId(), |
|
| 69 | + 'item_id' => $this->getItemId(), |
|
| 70 | + 'item_guid' => $this->getItemGuid(), |
|
| 71 | + 'target_user_id' => $this->getTargetUserId(), |
|
| 72 | + 'target_vault_id' => $this->getTargetVaultId(), |
|
| 73 | + 'target_vault_guid' => $this->getTargetVaultGuid(), |
|
| 74 | + 'from_user_id' => $this->getFromUserId(), |
|
| 75 | + 'shared_key' => $this->getSharedKey(), |
|
| 76 | + 'permissions' => $this->getPermissions(), |
|
| 77 | + 'created' => $this->getCreated(), |
|
| 78 | + ]; |
|
| 79 | + } |
|
| 80 | 80 | |
| 81 | - function asACLJson(){ |
|
| 82 | - return [ |
|
| 83 | - 'item_id' => $this->getItemId(), |
|
| 84 | - 'item_guid' => $this->getItemGuid(), |
|
| 85 | - 'user_id' => $this->getTargetUserId(), |
|
| 86 | - 'created' => $this->getCreated(), |
|
| 87 | - 'permissions' => $this->getPermissions(), |
|
| 88 | - 'vault_id' => $this->getTargetUserId(), |
|
| 89 | - 'vault_guid' => $this->getTargetVaultGuid(), |
|
| 90 | - 'shared_key' => $this->getSharedKey(), |
|
| 91 | - 'pending' => true, |
|
| 92 | - ]; |
|
| 93 | - } |
|
| 81 | + function asACLJson(){ |
|
| 82 | + return [ |
|
| 83 | + 'item_id' => $this->getItemId(), |
|
| 84 | + 'item_guid' => $this->getItemGuid(), |
|
| 85 | + 'user_id' => $this->getTargetUserId(), |
|
| 86 | + 'created' => $this->getCreated(), |
|
| 87 | + 'permissions' => $this->getPermissions(), |
|
| 88 | + 'vault_id' => $this->getTargetUserId(), |
|
| 89 | + 'vault_guid' => $this->getTargetVaultGuid(), |
|
| 90 | + 'shared_key' => $this->getSharedKey(), |
|
| 91 | + 'pending' => true, |
|
| 92 | + ]; |
|
| 93 | + } |
|
| 94 | 94 | } |
| 95 | 95 | \ No newline at end of file |
@@ -38,7 +38,7 @@ discard block |
||
| 38 | 38 | protected $userId; |
| 39 | 39 | protected $created; |
| 40 | 40 | protected $credentialData; |
| 41 | - protected $editedBy; |
|
| 41 | + protected $editedBy; |
|
| 42 | 42 | |
| 43 | 43 | |
| 44 | 44 | public function __construct() { |
@@ -56,7 +56,7 @@ discard block |
||
| 56 | 56 | 'guid' => $this->getGuid(), |
| 57 | 57 | 'created' => $this->getCreated(), |
| 58 | 58 | 'credential_data' => json_decode(base64_decode($this->getCredentialData())), |
| 59 | - 'edited_by' => $this->getEditedBy(), |
|
| 59 | + 'edited_by' => $this->getEditedBy(), |
|
| 60 | 60 | ]; |
| 61 | 61 | } |
| 62 | 62 | } |
| 63 | 63 | \ No newline at end of file |
@@ -14,11 +14,11 @@ |
||
| 14 | 14 | |
| 15 | 15 | class NotFoundJSONResponse extends JSONResponse { |
| 16 | 16 | |
| 17 | - /** |
|
| 18 | - * Creates a new json response with a not found status code. |
|
| 19 | - * @param array $response_data |
|
| 20 | - */ |
|
| 21 | - public function __construct($response_data = []) { |
|
| 22 | - parent::__construct($response_data, Http::STATUS_NOT_FOUND); |
|
| 23 | - } |
|
| 17 | + /** |
|
| 18 | + * Creates a new json response with a not found status code. |
|
| 19 | + * @param array $response_data |
|
| 20 | + */ |
|
| 21 | + public function __construct($response_data = []) { |
|
| 22 | + parent::__construct($response_data, Http::STATUS_NOT_FOUND); |
|
| 23 | + } |
|
| 24 | 24 | } |
| 25 | 25 | \ No newline at end of file |
@@ -12,10 +12,10 @@ discard block |
||
| 12 | 12 | namespace OCA\Passman\Utility; |
| 13 | 13 | |
| 14 | 14 | class Utils { |
| 15 | - /** |
|
| 16 | - * Gets the unix epoch UTC timestamp |
|
| 17 | - * @return int |
|
| 18 | - */ |
|
| 15 | + /** |
|
| 16 | + * Gets the unix epoch UTC timestamp |
|
| 17 | + * @return int |
|
| 18 | + */ |
|
| 19 | 19 | public static function getTime() { |
| 20 | 20 | return (new \DateTime())->getTimestamp(); |
| 21 | 21 | } |
@@ -27,10 +27,10 @@ discard block |
||
| 27 | 27 | return $secs . substr($millisecs, 2, 6); |
| 28 | 28 | } |
| 29 | 29 | |
| 30 | - /** |
|
| 31 | - * Generates a Globally Unique ID |
|
| 32 | - * @return string |
|
| 33 | - */ |
|
| 30 | + /** |
|
| 31 | + * Generates a Globally Unique ID |
|
| 32 | + * @return string |
|
| 33 | + */ |
|
| 34 | 34 | public static function GUID() { |
| 35 | 35 | if (function_exists('com_create_guid') === true) |
| 36 | 36 | { |
@@ -52,19 +52,19 @@ |
||
| 52 | 52 | //Sharing stuff |
| 53 | 53 | ['name' => 'share#search', 'url' => '/api/v2/sharing/search', 'verb' => 'POST'], |
| 54 | 54 | ['name' => 'share#getVaultsByUser', 'url' => '/api/v2/sharing/vaults/{user_id}', 'verb' => 'GET'], |
| 55 | - ['name' => 'share#applyIntermediateShare', 'url' => '/api/v2/sharing/share', 'verb' => 'POST'], |
|
| 56 | - ['name' => 'share#savePendingRequest', 'url' => '/api/v2/sharing/save', 'verb' => 'POST'], |
|
| 57 | - ['name' => 'share#getPendingRequests', 'url' => '/api/v2/sharing/pending', 'verb' => 'GET'], |
|
| 58 | - ['name' => 'share#deleteShareRequest', 'url' => '/api/v2/sharing/decline/{share_request_id}', 'verb' => 'DELETE'], |
|
| 59 | - ['name' => 'share#getVaultItems', 'url' => '/api/v2/sharing/vault/{vault_guid}/get', 'verb' => 'GET'], |
|
| 60 | - ['name' => 'share#createPublicShare', 'url' => '/api/v2/sharing/public', 'verb' => 'POST'], |
|
| 61 | - ['name' => 'share#getPublicCredentialData', 'url' => '/api/v2/sharing/credential/{credential_guid}/public', 'verb' => 'GET'], |
|
| 62 | - ['name' => 'share#unshareCredential', 'url' => '/api/v2/sharing/credential/{item_guid}', 'verb' => 'DELETE'], |
|
| 63 | - ['name' => 'share#unshareCredentialFromUser', 'url' => '/api/v2/sharing/credential/{item_guid}/{user_id}', 'verb' => 'DELETE'], |
|
| 64 | - ['name' => 'share#getRevisions', 'url' => '/api/v2/sharing/credential/{item_guid}/revisions', 'verb' => 'GET'], |
|
| 65 | - ['name' => 'share#getItemAcl', 'url' => '/api/v2/sharing/credential/{item_guid}/acl', 'verb' => 'GET'], |
|
| 66 | - ['name' => 'share#getFile', 'url' => '/api/v2/sharing/credential/{item_guid}/file/{file_guid}', 'verb' => 'GET'], |
|
| 67 | - ['name' => 'share#updateSharedCredentialACL', 'url' => '/api/v2/sharing/credential/{item_guid}/acl', 'verb' => 'PATCH'], |
|
| 55 | + ['name' => 'share#applyIntermediateShare', 'url' => '/api/v2/sharing/share', 'verb' => 'POST'], |
|
| 56 | + ['name' => 'share#savePendingRequest', 'url' => '/api/v2/sharing/save', 'verb' => 'POST'], |
|
| 57 | + ['name' => 'share#getPendingRequests', 'url' => '/api/v2/sharing/pending', 'verb' => 'GET'], |
|
| 58 | + ['name' => 'share#deleteShareRequest', 'url' => '/api/v2/sharing/decline/{share_request_id}', 'verb' => 'DELETE'], |
|
| 59 | + ['name' => 'share#getVaultItems', 'url' => '/api/v2/sharing/vault/{vault_guid}/get', 'verb' => 'GET'], |
|
| 60 | + ['name' => 'share#createPublicShare', 'url' => '/api/v2/sharing/public', 'verb' => 'POST'], |
|
| 61 | + ['name' => 'share#getPublicCredentialData', 'url' => '/api/v2/sharing/credential/{credential_guid}/public', 'verb' => 'GET'], |
|
| 62 | + ['name' => 'share#unshareCredential', 'url' => '/api/v2/sharing/credential/{item_guid}', 'verb' => 'DELETE'], |
|
| 63 | + ['name' => 'share#unshareCredentialFromUser', 'url' => '/api/v2/sharing/credential/{item_guid}/{user_id}', 'verb' => 'DELETE'], |
|
| 64 | + ['name' => 'share#getRevisions', 'url' => '/api/v2/sharing/credential/{item_guid}/revisions', 'verb' => 'GET'], |
|
| 65 | + ['name' => 'share#getItemAcl', 'url' => '/api/v2/sharing/credential/{item_guid}/acl', 'verb' => 'GET'], |
|
| 66 | + ['name' => 'share#getFile', 'url' => '/api/v2/sharing/credential/{item_guid}/file/{file_guid}', 'verb' => 'GET'], |
|
| 67 | + ['name' => 'share#updateSharedCredentialACL', 'url' => '/api/v2/sharing/credential/{item_guid}/acl', 'verb' => 'PATCH'], |
|
| 68 | 68 | |
| 69 | 69 | //Internal API |
| 70 | 70 | ['name' => 'internal#remind', 'url' => '/api/internal/notifications/remind/{credential_id}', 'verb' => 'POST'], |
@@ -81,17 +81,17 @@ discard block |
||
| 81 | 81 | } |
| 82 | 82 | |
| 83 | 83 | public function getCredentialById($credential_id, $user_id) { |
| 84 | - $credential = $this->credentialMapper->getCredentialById($credential_id); |
|
| 85 | - if ($credential->getUserId() === $user_id) { |
|
| 86 | - return $credential; |
|
| 87 | - } |
|
| 88 | - else { |
|
| 89 | - $acl = $this->sharingACL->getItemACL($user_id, $credential->getGuid()); |
|
| 90 | - if ($acl->hasPermission(SharingACL::READ)); |
|
| 91 | - return $credential; |
|
| 92 | - } |
|
| 93 | - |
|
| 94 | - throw new DoesNotExistException("Did expect one result but found none when executing"); |
|
| 84 | + $credential = $this->credentialMapper->getCredentialById($credential_id); |
|
| 85 | + if ($credential->getUserId() === $user_id) { |
|
| 86 | + return $credential; |
|
| 87 | + } |
|
| 88 | + else { |
|
| 89 | + $acl = $this->sharingACL->getItemACL($user_id, $credential->getGuid()); |
|
| 90 | + if ($acl->hasPermission(SharingACL::READ)); |
|
| 91 | + return $credential; |
|
| 92 | + } |
|
| 93 | + |
|
| 94 | + throw new DoesNotExistException("Did expect one result but found none when executing"); |
|
| 95 | 95 | } |
| 96 | 96 | |
| 97 | 97 | /** |
@@ -102,6 +102,6 @@ discard block |
||
| 102 | 102 | } |
| 103 | 103 | |
| 104 | 104 | public function getCredentialByGUID($credential_guid, $user_id = null){ |
| 105 | - return $this->credentialMapper->getCredentialByGUID($credential_guid, $user_id); |
|
| 106 | - } |
|
| 105 | + return $this->credentialMapper->getCredentialByGUID($credential_guid, $user_id); |
|
| 106 | + } |
|
| 107 | 107 | } |
| 108 | 108 | \ No newline at end of file |