mirror of
https://github.com/nextcloud/passman.git
synced 2025-11-17 14:19:45 +08:00
Merge branch 'nc27'
Signed-off-by: binsky <timo@binsky.org>
This commit is contained in:
commit
727a07d5f3
32 changed files with 168 additions and 219 deletions
|
|
@ -1,14 +0,0 @@
|
||||||
<?php
|
|
||||||
/**
|
|
||||||
* Nextcloud - passman
|
|
||||||
*
|
|
||||||
* This file is licensed under the Affero General Public License version 3 or
|
|
||||||
* later. See the COPYING file.
|
|
||||||
*
|
|
||||||
* @author Sander Brand <brantje@gmail.com>
|
|
||||||
* @copyright Sander Brand 2016
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace OCA\Passman\AppInfo;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -37,12 +37,12 @@ For an demo of this app visit [https://demo.passman.cc](https://demo.passman.cc)
|
||||||
<screenshot small-thumbnail="https://img.passman.cc/thumbs/share_credential.png">https://img.passman.cc/share_credential.png</screenshot>
|
<screenshot small-thumbnail="https://img.passman.cc/thumbs/share_credential.png">https://img.passman.cc/share_credential.png</screenshot>
|
||||||
<screenshot small-thumbnail="https://img.passman.cc/thumbs/password_audit.png">https://img.passman.cc/password_audit.png</screenshot>
|
<screenshot small-thumbnail="https://img.passman.cc/thumbs/password_audit.png">https://img.passman.cc/password_audit.png</screenshot>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<php min-version="7.4"/>
|
<php min-version="8.0"/>
|
||||||
<database>sqlite</database>
|
<database>sqlite</database>
|
||||||
<database>pgsql</database>
|
<database>pgsql</database>
|
||||||
<database min-version="5.5">mysql</database>
|
<database min-version="5.5">mysql</database>
|
||||||
<lib>openssl</lib>
|
<lib>openssl</lib>
|
||||||
<nextcloud min-version="20" max-version="26"/>
|
<nextcloud min-version="26" max-version="27"/>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<background-jobs>
|
<background-jobs>
|
||||||
|
|
@ -55,6 +55,14 @@ For an demo of this app visit [https://demo.passman.cc](https://demo.passman.cc)
|
||||||
</post-migration>
|
</post-migration>
|
||||||
</repair-steps>
|
</repair-steps>
|
||||||
|
|
||||||
|
<navigations>
|
||||||
|
<navigation>
|
||||||
|
<name>Passwords</name>
|
||||||
|
<route>passman.Page.index</route>
|
||||||
|
<order>10</order>
|
||||||
|
</navigation>
|
||||||
|
</navigations>
|
||||||
|
|
||||||
<settings>
|
<settings>
|
||||||
<admin>OCA\Passman\Settings\Admin</admin>
|
<admin>OCA\Passman\Settings\Admin</admin>
|
||||||
</settings>
|
</settings>
|
||||||
|
|
|
||||||
|
|
@ -19,88 +19,88 @@
|
||||||
*/
|
*/
|
||||||
return [
|
return [
|
||||||
'routes' => [
|
'routes' => [
|
||||||
['name' => 'page#index', 'url' => '/', 'verb' => 'GET'],
|
['name' => 'Page#index', 'url' => '/', 'verb' => 'GET'],
|
||||||
['name' => 'page#bookmarklet', 'url' => '/bookmarklet', 'verb' => 'GET'],
|
['name' => 'Page#bookmarklet', 'url' => '/bookmarklet', 'verb' => 'GET'],
|
||||||
['name' => 'page#publicSharePage', 'url' => '/share/public', 'verb' => 'GET'],
|
['name' => 'Page#publicSharePage', 'url' => '/share/public', 'verb' => 'GET'],
|
||||||
|
|
||||||
//Vault
|
//Vault
|
||||||
['name' => 'vault#listVaults', 'url' => '/api/v2/vaults', 'verb' => 'GET'],
|
['name' => 'Vault#listVaults', 'url' => '/api/v2/vaults', 'verb' => 'GET'],
|
||||||
['name' => 'vault#create', 'url' => '/api/v2/vaults', 'verb' => 'POST'],
|
['name' => 'Vault#create', 'url' => '/api/v2/vaults', 'verb' => 'POST'],
|
||||||
['name' => 'vault#get', 'url' => '/api/v2/vaults/{vault_guid}', 'verb' => 'GET'],
|
['name' => 'Vault#get', 'url' => '/api/v2/vaults/{vault_guid}', 'verb' => 'GET'],
|
||||||
['name' => 'vault#update', 'url' => '/api/v2/vaults/{vault_guid}', 'verb' => 'PATCH'],
|
['name' => 'Vault#update', 'url' => '/api/v2/vaults/{vault_guid}', 'verb' => 'PATCH'],
|
||||||
['name' => 'vault#delete', 'url' => '/api/v2/vaults/{vault_guid}', 'verb' => 'DELETE'],
|
['name' => 'Vault#delete', 'url' => '/api/v2/vaults/{vault_guid}', 'verb' => 'DELETE'],
|
||||||
//@TODO make frontend use PATCH
|
//@TODO make frontend use PATCH
|
||||||
['name' => 'vault#updateSharingKeys', 'url' => '/api/v2/vaults/{vault_guid}/sharing-keys', 'verb' => 'POST'],
|
['name' => 'Vault#updateSharingKeys', 'url' => '/api/v2/vaults/{vault_guid}/sharing-keys', 'verb' => 'POST'],
|
||||||
|
|
||||||
//Credential
|
//Credential
|
||||||
['name' => 'credential#createCredential', 'url' => '/api/v2/credentials', 'verb' => 'POST'],
|
['name' => 'Credential#createCredential', 'url' => '/api/v2/credentials', 'verb' => 'POST'],
|
||||||
['name' => 'credential#getCredential', 'url' => '/api/v2/credentials/{credential_guid}', 'verb' => 'GET'],
|
['name' => 'Credential#getCredential', 'url' => '/api/v2/credentials/{credential_guid}', 'verb' => 'GET'],
|
||||||
['name' => 'credential#updateCredential', 'url' => '/api/v2/credentials/{credential_guid}', 'verb' => 'PATCH'],
|
['name' => 'Credential#updateCredential', 'url' => '/api/v2/credentials/{credential_guid}', 'verb' => 'PATCH'],
|
||||||
['name' => 'credential#deleteCredential', 'url' => '/api/v2/credentials/{credential_guid}', 'verb' => 'DELETE'],
|
['name' => 'Credential#deleteCredential', 'url' => '/api/v2/credentials/{credential_guid}', 'verb' => 'DELETE'],
|
||||||
|
|
||||||
//Revisions
|
//Revisions
|
||||||
['name' => 'credential#getRevision', 'url' => '/api/v2/credentials/{credential_guid}/revision', 'verb' => 'GET'],
|
['name' => 'Credential#getRevision', 'url' => '/api/v2/credentials/{credential_guid}/revision', 'verb' => 'GET'],
|
||||||
['name' => 'credential#deleteRevision', 'url' => '/api/v2/credentials/{credential_guid}/revision/{revision_id}', 'verb' => 'DELETE'],
|
['name' => 'Credential#deleteRevision', 'url' => '/api/v2/credentials/{credential_guid}/revision/{revision_id}', 'verb' => 'DELETE'],
|
||||||
['name' => 'credential#updateRevision', 'url' => '/api/v2/credentials/{credential_guid}/revision/{revision_id}', 'verb' => 'PATCH'],
|
['name' => 'Credential#updateRevision', 'url' => '/api/v2/credentials/{credential_guid}/revision/{revision_id}', 'verb' => 'PATCH'],
|
||||||
|
|
||||||
//File stuff
|
//File stuff
|
||||||
['name' => 'file#uploadFile', 'url' => '/api/v2/file', 'verb' => 'POST'],
|
['name' => 'File#uploadFile', 'url' => '/api/v2/file', 'verb' => 'POST'],
|
||||||
['name' => 'file#getFile', 'url' => '/api/v2/file/{file_id}', 'verb' => 'GET'],
|
['name' => 'File#getFile', 'url' => '/api/v2/file/{file_id}', 'verb' => 'GET'],
|
||||||
['name' => 'file#deleteFile', 'url' => '/api/v2/file/{file_id}', 'verb' => 'DELETE'],
|
['name' => 'File#deleteFile', 'url' => '/api/v2/file/{file_id}', 'verb' => 'DELETE'],
|
||||||
['name' => 'file#deleteFiles', 'url' => '/api/v2/files/delete', 'verb' => 'POST'],
|
['name' => 'File#deleteFiles', 'url' => '/api/v2/files/delete', 'verb' => 'POST'],
|
||||||
['name' => 'file#updateFile', 'url' => '/api/v2/file/{file_id}', 'verb' => 'PATCH'],
|
['name' => 'File#updateFile', 'url' => '/api/v2/file/{file_id}', 'verb' => 'PATCH'],
|
||||||
|
|
||||||
//Sharing stuff
|
//Sharing stuff
|
||||||
['name' => 'share#search', 'url' => '/api/v2/sharing/search', 'verb' => 'POST'],
|
['name' => 'Share#search', 'url' => '/api/v2/sharing/search', 'verb' => 'POST'],
|
||||||
['name' => 'share#getVaultsByUser', 'url' => '/api/v2/sharing/vaults/{user_id}', 'verb' => 'GET'],
|
['name' => 'Share#getVaultsByUser', 'url' => '/api/v2/sharing/vaults/{user_id}', 'verb' => 'GET'],
|
||||||
['name' => 'share#applyIntermediateShare', 'url' => '/api/v2/sharing/share', 'verb' => 'POST'],
|
['name' => 'Share#applyIntermediateShare', 'url' => '/api/v2/sharing/share', 'verb' => 'POST'],
|
||||||
['name' => 'share#savePendingRequest', 'url' => '/api/v2/sharing/save', 'verb' => 'POST'],
|
['name' => 'Share#savePendingRequest', 'url' => '/api/v2/sharing/save', 'verb' => 'POST'],
|
||||||
['name' => 'share#getPendingRequests', 'url' => '/api/v2/sharing/pending', 'verb' => 'GET'],
|
['name' => 'Share#getPendingRequests', 'url' => '/api/v2/sharing/pending', 'verb' => 'GET'],
|
||||||
['name' => 'share#deleteShareRequest', 'url' => '/api/v2/sharing/decline/{share_request_id}', 'verb' => 'DELETE'],
|
['name' => 'Share#deleteShareRequest', 'url' => '/api/v2/sharing/decline/{share_request_id}', 'verb' => 'DELETE'],
|
||||||
['name' => 'share#getVaultItems', 'url' => '/api/v2/sharing/vault/{vault_guid}/get', 'verb' => 'GET'],
|
['name' => 'Share#getVaultItems', 'url' => '/api/v2/sharing/vault/{vault_guid}/get', 'verb' => 'GET'],
|
||||||
['name' => 'share#getVaultAclEntries', 'url' => '/api/v2/sharing/vault/{vault_guid}/acl', 'verb' => 'GET'],
|
['name' => 'Share#getVaultAclEntries', 'url' => '/api/v2/sharing/vault/{vault_guid}/acl', 'verb' => 'GET'],
|
||||||
['name' => 'share#createPublicShare', 'url' => '/api/v2/sharing/public', 'verb' => 'POST'],
|
['name' => 'Share#createPublicShare', 'url' => '/api/v2/sharing/public', 'verb' => 'POST'],
|
||||||
['name' => 'share#getPublicCredentialData', 'url' => '/api/v2/sharing/credential/{credential_guid}/public', 'verb' => 'GET'],
|
['name' => 'Share#getPublicCredentialData', 'url' => '/api/v2/sharing/credential/{credential_guid}/public', 'verb' => 'GET'],
|
||||||
['name' => 'share#unshareCredential', 'url' => '/api/v2/sharing/credential/{item_guid}', 'verb' => 'DELETE'],
|
['name' => 'Share#unshareCredential', 'url' => '/api/v2/sharing/credential/{item_guid}', 'verb' => 'DELETE'],
|
||||||
['name' => 'share#unshareCredentialFromUser', 'url' => '/api/v2/sharing/credential/{item_guid}/{user_id}', 'verb' => 'DELETE'],
|
['name' => 'Share#unshareCredentialFromUser', 'url' => '/api/v2/sharing/credential/{item_guid}/{user_id}', 'verb' => 'DELETE'],
|
||||||
['name' => 'share#getRevisions', 'url' => '/api/v2/sharing/credential/{item_guid}/revisions', 'verb' => 'GET'],
|
['name' => 'Share#getRevisions', 'url' => '/api/v2/sharing/credential/{item_guid}/revisions', 'verb' => 'GET'],
|
||||||
['name' => 'share#getItemAcl', 'url' => '/api/v2/sharing/credential/{item_guid}/acl', 'verb' => 'GET'],
|
['name' => 'Share#getItemAcl', 'url' => '/api/v2/sharing/credential/{item_guid}/acl', 'verb' => 'GET'],
|
||||||
['name' => 'share#uploadFile', 'url' => '/api/v2/sharing/credential/{item_guid}/file', 'verb' => 'POST'],
|
['name' => 'Share#uploadFile', 'url' => '/api/v2/sharing/credential/{item_guid}/file', 'verb' => 'POST'],
|
||||||
['name' => 'share#getFile', 'url' => '/api/v2/sharing/credential/{item_guid}/file/{file_guid}', 'verb' => 'GET'],
|
['name' => 'Share#getFile', 'url' => '/api/v2/sharing/credential/{item_guid}/file/{file_guid}', 'verb' => 'GET'],
|
||||||
['name' => 'share#updateSharedCredentialACL', 'url' => '/api/v2/sharing/credential/{item_guid}/acl', 'verb' => 'PATCH'],
|
['name' => 'Share#updateSharedCredentialACL', 'url' => '/api/v2/sharing/credential/{item_guid}/acl', 'verb' => 'PATCH'],
|
||||||
['name' => 'share#updateSharedCredentialACLSharedKey', 'url' => '/api/v2/sharing/credential/{item_guid}/acl/shared_key', 'verb' => 'PATCH'],
|
['name' => 'Share#updateSharedCredentialACLSharedKey', 'url' => '/api/v2/sharing/credential/{item_guid}/acl/shared_key', 'verb' => 'PATCH'],
|
||||||
['name' => 'internal#getAppVersion', 'url' => '/api/v2/version', 'verb' => 'GET'],
|
['name' => 'Internal#getAppVersion', 'url' => '/api/v2/version', 'verb' => 'GET'],
|
||||||
|
|
||||||
//Settings
|
//Settings
|
||||||
['name' => 'settings#getSettings', 'url' => '/api/v2/settings', 'verb' => 'GET'],
|
['name' => 'Settings#getSettings', 'url' => '/api/v2/settings', 'verb' => 'GET'],
|
||||||
['name' => 'settings#saveUserSetting', 'url' => '/api/v2/settings/{key}/{value}', 'verb' => 'POST'],
|
['name' => 'Settings#saveUserSetting', 'url' => '/api/v2/settings/{key}/{value}', 'verb' => 'POST'],
|
||||||
['name' => 'settings#saveAdminSetting', 'url' => '/api/v2/settings/{key}/{value}/admin1/admin2', 'verb' => 'POST'],
|
['name' => 'Settings#saveAdminSetting', 'url' => '/api/v2/settings/{key}/{value}/admin1/admin2', 'verb' => 'POST'],
|
||||||
|
|
||||||
|
|
||||||
//Translations
|
//Translations
|
||||||
['name' => 'translation#getLanguageStrings', 'url' => '/api/v2/language', 'verb' => 'GET'],
|
['name' => 'Translation#getLanguageStrings', 'url' => '/api/v2/language', 'verb' => 'GET'],
|
||||||
|
|
||||||
|
|
||||||
#Icons
|
#Icons
|
||||||
['name' => 'icon#getSingleIcon', 'url' => '/api/v2/geticon/{base64Url}', 'verb' => 'GET'],
|
['name' => 'Icon#getSingleIcon', 'url' => '/api/v2/geticon/{base64Url}', 'verb' => 'GET'],
|
||||||
['name' => 'icon#getIcon', 'url' => '/api/v2/icon/{base64Url}', 'verb' => 'GET'],
|
['name' => 'Icon#getIcon', 'url' => '/api/v2/icon/{base64Url}', 'verb' => 'GET'],
|
||||||
['name' => 'icon#getIcon', 'url' => '/api/v2/icon/{base64Url}/{credentialId}', 'verb' => 'GET'],
|
['name' => 'Icon#getIcon', 'url' => '/api/v2/icon/{base64Url}/{credentialId}', 'verb' => 'GET'],
|
||||||
['name' => 'icon#getLocalIconList', 'url' => '/api/v2/icon/list', 'verb' => 'GET'],
|
['name' => 'Icon#getLocalIconList', 'url' => '/api/v2/icon/list', 'verb' => 'GET'],
|
||||||
|
|
||||||
//
|
//
|
||||||
['name' => 'vault#preflighted_cors', 'url' => '/api/v2/{path}', 'verb' => 'OPTIONS', 'requirements' => array('path' => '.+')],
|
['name' => 'Vault#preflighted_cors', 'url' => '/api/v2/{path}', 'verb' => 'OPTIONS', 'requirements' => array('path' => '.+')],
|
||||||
//Internal API
|
//Internal API
|
||||||
['name' => 'internal#remind', 'url' => '/api/internal/notifications/remind/{credential_id}', 'verb' => 'POST'],
|
['name' => 'Internal#remind', 'url' => '/api/internal/notifications/remind/{credential_id}', 'verb' => 'POST'],
|
||||||
['name' => 'internal#read', 'url' => '/api/internal/notifications/read/{credential_id}', 'verb' => 'DELETE'],
|
['name' => 'Internal#read', 'url' => '/api/internal/notifications/read/{credential_id}', 'verb' => 'DELETE'],
|
||||||
['name' => 'internal#getAppVersion', 'url' => '/api/internal/version', 'verb' => 'GET'],
|
['name' => 'Internal#getAppVersion', 'url' => '/api/internal/version', 'verb' => 'GET'],
|
||||||
['name' => 'internal#generatePerson', 'url' => '/api/internal/generate_person', 'verb' => 'GET'],
|
['name' => 'Internal#generatePerson', 'url' => '/api/internal/generate_person', 'verb' => 'GET'],
|
||||||
|
|
||||||
//Admin routes
|
//Admin routes
|
||||||
['name' => 'admin#searchUser', 'url' => '/admin/search', 'verb' => 'GET'],
|
['name' => 'Admin#searchUser', 'url' => '/admin/search', 'verb' => 'GET'],
|
||||||
['name' => 'admin#moveCredentials', 'url' => '/admin/move', 'verb' => 'POST'],
|
['name' => 'Admin#moveCredentials', 'url' => '/admin/move', 'verb' => 'POST'],
|
||||||
['name' => 'admin#requestDeletion', 'url' => '/admin/request-deletion/{vault_guid}', 'verb' => 'POST'],
|
['name' => 'Admin#requestDeletion', 'url' => '/admin/request-deletion/{vault_guid}', 'verb' => 'POST'],
|
||||||
['name' => 'admin#deleteRequestDeletion', 'url' => '/admin/request-deletion/{vault_guid}', 'verb' => 'DELETE'],
|
['name' => 'Admin#deleteRequestDeletion', 'url' => '/admin/request-deletion/{vault_guid}', 'verb' => 'DELETE'],
|
||||||
['name' => 'admin#listRequests', 'url' => '/admin/delete-requests', 'verb' => 'GET'],
|
['name' => 'Admin#listRequests', 'url' => '/admin/delete-requests', 'verb' => 'GET'],
|
||||||
['name' => 'admin#acceptRequestDeletion', 'url' => '/admin/accept-delete-request', 'verb' => 'POST'],
|
['name' => 'Admin#acceptRequestDeletion', 'url' => '/admin/accept-delete-request', 'verb' => 'POST'],
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -46,9 +46,6 @@ use OCP\AppFramework\Bootstrap\IBootstrap;
|
||||||
use OCP\AppFramework\Bootstrap\IRegistrationContext;
|
use OCP\AppFramework\Bootstrap\IRegistrationContext;
|
||||||
use OCP\IDBConnection;
|
use OCP\IDBConnection;
|
||||||
use OCP\IGroupManager;
|
use OCP\IGroupManager;
|
||||||
use OCP\IL10N;
|
|
||||||
use OCP\INavigationManager;
|
|
||||||
use OCP\IURLGenerator;
|
|
||||||
use OCP\IUserManager;
|
use OCP\IUserManager;
|
||||||
use OCP\IUserSession;
|
use OCP\IUserSession;
|
||||||
use OCP\Notification\IManager;
|
use OCP\Notification\IManager;
|
||||||
|
|
@ -127,32 +124,9 @@ class Application extends App implements IBootstrap {
|
||||||
|
|
||||||
public function boot(IBootContext $context): void {
|
public function boot(IBootContext $context): void {
|
||||||
/** @var IManager $manager */
|
/** @var IManager $manager */
|
||||||
$manager = $context->getAppContainer()->get(IManager::class);
|
$manager = $context->getAppContainer()->query(IManager::class);
|
||||||
$manager->registerNotifierService(Notifier::class);
|
$manager->registerNotifierService(Notifier::class);
|
||||||
|
|
||||||
Util::addTranslations(self::APP_ID);
|
Util::addTranslations(self::APP_ID);
|
||||||
$this->registerNavigationEntry();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Register the navigation entry
|
|
||||||
*/
|
|
||||||
public function registerNavigationEntry() {
|
|
||||||
$c = $this->getContainer();
|
|
||||||
/** @var INavigationManager $navigationManager */
|
|
||||||
$navigationManager = $c->get(INavigationManager::class);
|
|
||||||
|
|
||||||
$navigationEntry = function () use ($c) {
|
|
||||||
/** @var IURLGenerator $urlGenerator */
|
|
||||||
$urlGenerator = $c->get(IURLGenerator::class);
|
|
||||||
return [
|
|
||||||
'id' => $c->getAppName(),
|
|
||||||
'order' => 10,
|
|
||||||
'name' => $c->get(IL10N::class)->t('Passwords'),
|
|
||||||
'href' => $urlGenerator->linkToRoute('passman.page.index'),
|
|
||||||
'icon' => $urlGenerator->imagePath($c->getAppName(), 'app.svg'),
|
|
||||||
];
|
|
||||||
};
|
|
||||||
$navigationManager->add($navigationEntry);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -23,8 +23,9 @@
|
||||||
|
|
||||||
namespace OCA\Passman\BackgroundJob;
|
namespace OCA\Passman\BackgroundJob;
|
||||||
|
|
||||||
use OC\BackgroundJob\TimedJob;
|
|
||||||
use OCA\Passman\Service\CronService;
|
use OCA\Passman\Service\CronService;
|
||||||
|
use OCP\AppFramework\Utility\ITimeFactory;
|
||||||
|
use OCP\BackgroundJob\TimedJob;
|
||||||
use OCP\IConfig;
|
use OCP\IConfig;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -34,22 +35,21 @@ use OCP\IConfig;
|
||||||
*/
|
*/
|
||||||
class ExpireCredentials extends TimedJob {
|
class ExpireCredentials extends TimedJob {
|
||||||
|
|
||||||
protected IConfig $config;
|
/**
|
||||||
private CronService $cronService;
|
* ExpireCredentials constructor.
|
||||||
|
*
|
||||||
|
* @param ITimeFactory $timeFactory
|
||||||
|
* @param IConfig $config
|
||||||
|
* @param CronService $cronService
|
||||||
|
*/
|
||||||
|
public function __construct(ITimeFactory $timeFactory, protected IConfig $config, private CronService $cronService) {
|
||||||
|
parent::__construct($timeFactory);
|
||||||
|
|
||||||
/**
|
|
||||||
* ExpireCredentials constructor.
|
|
||||||
* @param IConfig $config
|
|
||||||
* @param CronService $cronService
|
|
||||||
*/
|
|
||||||
public function __construct(IConfig $config, CronService $cronService) {
|
|
||||||
// Run once per minute
|
// Run once per minute
|
||||||
$this->setInterval(60);
|
$this->setInterval(60);
|
||||||
$this->config = $config;
|
|
||||||
$this->cronService = $cronService;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function run($argument) {
|
protected function run($argument): void {
|
||||||
$this->cronService->expireCredentials();
|
$this->cronService->expireCredentials();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -15,15 +15,15 @@ use OCA\Passman\Db\Credential;
|
||||||
use OCA\Passman\Db\CredentialRevision;
|
use OCA\Passman\Db\CredentialRevision;
|
||||||
use OCA\Passman\Db\DeleteVaultRequest;
|
use OCA\Passman\Db\DeleteVaultRequest;
|
||||||
use OCA\Passman\Service\CredentialRevisionService;
|
use OCA\Passman\Service\CredentialRevisionService;
|
||||||
|
use OCA\Passman\Service\CredentialService;
|
||||||
use OCA\Passman\Service\DeleteVaultRequestService;
|
use OCA\Passman\Service\DeleteVaultRequestService;
|
||||||
use OCA\Passman\Service\FileService;
|
use OCA\Passman\Service\FileService;
|
||||||
use OCA\Passman\Service\VaultService;
|
use OCA\Passman\Service\VaultService;
|
||||||
use OCA\Passman\Utility\Utils;
|
use OCA\Passman\Utility\Utils;
|
||||||
|
use OCP\AppFramework\ApiController;
|
||||||
|
use OCP\AppFramework\Http\JSONResponse;
|
||||||
use OCP\IConfig;
|
use OCP\IConfig;
|
||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
use OCP\AppFramework\Http\JSONResponse;
|
|
||||||
use OCP\AppFramework\ApiController;
|
|
||||||
use OCA\Passman\Service\CredentialService;
|
|
||||||
use OCP\IUserManager;
|
use OCP\IUserManager;
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -13,7 +13,6 @@ namespace OCA\Passman\Controller;
|
||||||
|
|
||||||
use OCA\Passman\Service\FileService;
|
use OCA\Passman\Service\FileService;
|
||||||
use OCP\AppFramework\ApiController;
|
use OCP\AppFramework\ApiController;
|
||||||
use OCP\AppFramework\Db\DoesNotExistException;
|
|
||||||
use OCP\AppFramework\Http\JSONResponse;
|
use OCP\AppFramework\Http\JSONResponse;
|
||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
use Psr\Log\LoggerInterface;
|
use Psr\Log\LoggerInterface;
|
||||||
|
|
@ -11,20 +11,17 @@
|
||||||
|
|
||||||
namespace OCA\Passman\Controller;
|
namespace OCA\Passman\Controller;
|
||||||
|
|
||||||
use OCP\IRequest;
|
use OCA\Passman\AppInfo\Application;
|
||||||
use OCP\AppFramework\Http\TemplateResponse;
|
|
||||||
use OCP\AppFramework\Http\DataResponse;
|
|
||||||
use OCP\AppFramework\Controller;
|
use OCP\AppFramework\Controller;
|
||||||
|
use OCP\AppFramework\Http\TemplateResponse;
|
||||||
|
use OCP\IRequest;
|
||||||
|
use OCP\Util;
|
||||||
|
|
||||||
class PageController extends Controller {
|
class PageController extends Controller {
|
||||||
|
|
||||||
|
public function __construct(IRequest $request) {
|
||||||
private $userId;
|
parent::__construct(Application::APP_ID, $request);
|
||||||
|
}
|
||||||
public function __construct($AppName, IRequest $request, $UserId){
|
|
||||||
parent::__construct($AppName, $request);
|
|
||||||
$this->userId = $UserId;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* CAUTION: the @Stuff turns off security checks; for this page no admin is
|
* CAUTION: the @Stuff turns off security checks; for this page no admin is
|
||||||
|
|
@ -37,8 +34,7 @@ class PageController extends Controller {
|
||||||
* @NoCSRFRequired
|
* @NoCSRFRequired
|
||||||
*/
|
*/
|
||||||
public function index() {
|
public function index() {
|
||||||
$params = ['user' => $this->userId];
|
return new TemplateResponse($this->appName, 'main'); // templates/main.php
|
||||||
return new TemplateResponse('passman', 'main', $params); // templates/main.php
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -46,9 +42,9 @@ class PageController extends Controller {
|
||||||
* @NoAdminRequired
|
* @NoAdminRequired
|
||||||
* @NoCSRFRequired
|
* @NoCSRFRequired
|
||||||
*/
|
*/
|
||||||
public function bookmarklet($url='',$title='') {
|
public function bookmarklet($url='', $title='') {
|
||||||
$params = array('url' => $url, 'title' => $title);
|
$params = array('url' => $url, 'title' => $title);
|
||||||
return new TemplateResponse('passman', 'bookmarklet', $params);
|
return new TemplateResponse($this->appName, 'bookmarklet', $params);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -57,7 +53,7 @@ class PageController extends Controller {
|
||||||
* @PublicPage
|
* @PublicPage
|
||||||
*/
|
*/
|
||||||
public function publicSharePage() {
|
public function publicSharePage() {
|
||||||
return new TemplateResponse('passman', 'public_share');
|
return new TemplateResponse($this->appName, 'public_share');
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -11,13 +11,12 @@
|
||||||
|
|
||||||
namespace OCA\Passman\Controller;
|
namespace OCA\Passman\Controller;
|
||||||
|
|
||||||
use OCP\IL10N;
|
|
||||||
use OCP\Settings\ISettings;
|
|
||||||
use OCP\AppFramework\Http\TemplateResponse;
|
|
||||||
use OCP\AppFramework\Http\JSONResponse;
|
|
||||||
use OCP\AppFramework\ApiController;
|
|
||||||
use OCP\IRequest;
|
|
||||||
use OCA\Passman\Service\SettingsService;
|
use OCA\Passman\Service\SettingsService;
|
||||||
|
use OCP\AppFramework\ApiController;
|
||||||
|
use OCP\AppFramework\Http\JSONResponse;
|
||||||
|
use OCP\AppFramework\Http\TemplateResponse;
|
||||||
|
use OCP\IL10N;
|
||||||
|
use OCP\IRequest;
|
||||||
|
|
||||||
class SettingsController extends ApiController {
|
class SettingsController extends ApiController {
|
||||||
private $userId;
|
private $userId;
|
||||||
|
|
@ -98,4 +97,4 @@ class SettingsController extends ApiController {
|
||||||
return new JSONResponse('OK');
|
return new JSONResponse('OK');
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -11,10 +11,10 @@
|
||||||
|
|
||||||
namespace OCA\Passman\Controller;
|
namespace OCA\Passman\Controller;
|
||||||
|
|
||||||
use OCP\IRequest;
|
|
||||||
use OCP\AppFramework\Http\JSONResponse;
|
|
||||||
use OCP\AppFramework\ApiController;
|
use OCP\AppFramework\ApiController;
|
||||||
|
use OCP\AppFramework\Http\JSONResponse;
|
||||||
use OCP\IL10N;
|
use OCP\IL10N;
|
||||||
|
use OCP\IRequest;
|
||||||
|
|
||||||
class TranslationController extends ApiController {
|
class TranslationController extends ApiController {
|
||||||
private $trans;
|
private $trans;
|
||||||
|
|
@ -19,7 +19,6 @@ use OCA\Passman\Service\SettingsService;
|
||||||
use OCA\Passman\Service\VaultService;
|
use OCA\Passman\Service\VaultService;
|
||||||
use OCA\Passman\Utility\NotFoundJSONResponse;
|
use OCA\Passman\Utility\NotFoundJSONResponse;
|
||||||
use OCP\AppFramework\ApiController;
|
use OCP\AppFramework\ApiController;
|
||||||
use OCP\AppFramework\Db\DoesNotExistException;
|
|
||||||
use OCP\AppFramework\Http\JSONResponse;
|
use OCP\AppFramework\Http\JSONResponse;
|
||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
use Psr\Log\LoggerInterface;
|
use Psr\Log\LoggerInterface;
|
||||||
|
|
@ -4,7 +4,7 @@ namespace OCA\Passman\Middleware;
|
||||||
|
|
||||||
use OCP\AppFramework\Http\JSONResponse;
|
use OCP\AppFramework\Http\JSONResponse;
|
||||||
use OCP\AppFramework\Http\Response;
|
use OCP\AppFramework\Http\Response;
|
||||||
use \OCP\AppFramework\Middleware;
|
use OCP\AppFramework\Middleware;
|
||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
|
|
||||||
class APIMiddleware extends Middleware {
|
class APIMiddleware extends Middleware {
|
||||||
|
|
@ -19,7 +19,9 @@ class APIMiddleware extends Middleware {
|
||||||
if($response instanceof JSONResponse){
|
if($response instanceof JSONResponse){
|
||||||
if(isset($this->request->server['HTTP_ORIGIN'])) {
|
if(isset($this->request->server['HTTP_ORIGIN'])) {
|
||||||
$response->addHeader('Access-Control-Allow-Origin', $this->request->server['HTTP_ORIGIN']);
|
$response->addHeader('Access-Control-Allow-Origin', $this->request->server['HTTP_ORIGIN']);
|
||||||
}
|
} else {
|
||||||
|
$response->addHeader('Access-Control-Allow-Origin', '*');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return parent::afterController($controller, $methodName, $response);
|
return parent::afterController($controller, $methodName, $response);
|
||||||
}
|
}
|
||||||
|
|
@ -4,9 +4,9 @@ namespace OCA\Passman\Middleware;
|
||||||
|
|
||||||
use OCA\Passman\Controller\ShareController;
|
use OCA\Passman\Controller\ShareController;
|
||||||
use OCA\Passman\Service\SettingsService;
|
use OCA\Passman\Service\SettingsService;
|
||||||
use OCP\AppFramework\Http\JSONResponse;
|
|
||||||
use \OCP\AppFramework\Middleware;
|
|
||||||
use OCP\AppFramework\Http;
|
use OCP\AppFramework\Http;
|
||||||
|
use OCP\AppFramework\Http\JSONResponse;
|
||||||
|
use OCP\AppFramework\Middleware;
|
||||||
|
|
||||||
class ShareMiddleware extends Middleware {
|
class ShareMiddleware extends Middleware {
|
||||||
|
|
||||||
|
|
@ -90,7 +90,7 @@ class Provider implements IProvider {
|
||||||
$this->urlGenerator->imagePath(Application::APP_ID, 'app.svg'),
|
$this->urlGenerator->imagePath(Application::APP_ID, 'app.svg'),
|
||||||
$Credential->getLabel(),
|
$Credential->getLabel(),
|
||||||
\sprintf("Part of Passman vault %s", $Vault->getName()),
|
\sprintf("Part of Passman vault %s", $Vault->getName()),
|
||||||
$this->urlGenerator->linkToRoute('passman.page.index') . "#/vault/" . $Vault->getGuid() . "?show=" . $Credential->getGuid()
|
$this->urlGenerator->linkToRoute('passman.Page.index') . "#/vault/" . $Vault->getGuid() . "?show=" . $Credential->getGuid()
|
||||||
);
|
);
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Javascripts
|
* Javascripts
|
||||||
*/
|
*/
|
||||||
|
|
@ -104,7 +105,6 @@ script('passman', 'exporters/exporter-csv');
|
||||||
script('passman', 'exporters/exporter-json');
|
script('passman', 'exporters/exporter-json');
|
||||||
/*build-js-end*/
|
/*build-js-end*/
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Styles
|
* Styles
|
||||||
*/
|
*/
|
||||||
|
|
@ -137,7 +137,7 @@ style('passman', 'app');
|
||||||
<button class="collapse" ng-click="tagCollapsibleClicked()"></button>
|
<button class="collapse" ng-click="tagCollapsibleClicked()"></button>
|
||||||
<a href="" class="icon-tag" ng-click="tagCollapsibleClicked()">{{ 'navigation.tags' | translate }}</a>
|
<a href="" class="icon-tag" ng-click="tagCollapsibleClicked()">{{ 'navigation.tags' | translate }}</a>
|
||||||
<ul>
|
<ul>
|
||||||
<li class="taginput">
|
<li class="taginput">
|
||||||
<a class="icon-search taginput">
|
<a class="icon-search taginput">
|
||||||
<form ng-submit="tagClickedString(taginput); clearForm();">
|
<form ng-submit="tagClickedString(taginput); clearForm();">
|
||||||
<input id="tagsearch" list="tags" ng-model="taginput" placeholder="{{ 'navigation.tags.search' | translate }}" />
|
<input id="tagsearch" list="tags" ng-model="taginput" placeholder="{{ 'navigation.tags.search' | translate }}" />
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,18 @@
|
||||||
<div class="main_list credential-revisions" off-click-filter="'.download-js-link, .sidebar-shown, #app-sidebar'">
|
<div class="main_list credential-revisions" off-click-filter="'.download-js-link, .sidebar-shown, #app-sidebar'">
|
||||||
<div id="passman-controls">
|
<div id="passman-controls">
|
||||||
<div class="actions creatable">
|
<div class="actions creatable">
|
||||||
<div class="breadcrumb">
|
<ul class="breadcrumb">
|
||||||
<div class="crumb svg crumbhome">
|
<li class="crumb svg crumbhome">
|
||||||
<a ng-click="logout()" class="icon-home">Home</a>
|
<a ng-click="logout()" class="icon-home">Home</a>
|
||||||
<span style="display: none;"></span>
|
<span style="display: none;"></span>
|
||||||
</div>
|
</li>
|
||||||
<div class="crumb svg">
|
<li class="crumb svg">
|
||||||
<a ng-click="cancelRevision()">{{active_vault.name}}</a>
|
<a ng-click="cancelRevision()">{{active_vault.name}}</a>
|
||||||
</div>
|
</li>
|
||||||
<div class="crumb svg last">
|
<li class="crumb svg last">
|
||||||
<a ng-if="storedCredential.credential_id">{{ 'showing.revisions' | translate}} "{{storedCredential.label}}"</a>
|
<a ng-if="storedCredential.credential_id">{{ 'showing.revisions' | translate}} "{{storedCredential.label}}"</a>
|
||||||
</div>
|
</li>
|
||||||
</div>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<table class="credential-table" ng-init="menuOpen = false;">
|
<table class="credential-table" ng-init="menuOpen = false;">
|
||||||
|
|
|
||||||
|
|
@ -1,19 +1,19 @@
|
||||||
<div id="passman-controls">
|
<div id="passman-controls">
|
||||||
<div class="breadcrumb">
|
<div class="breadcrumb">
|
||||||
<div class="breadcrumb">
|
<ul class="breadcrumb">
|
||||||
<div class="crumb svg crumbhome">
|
<li class="crumb svg crumbhome">
|
||||||
<a ng-click="logout()" class="icon-home">Home</a>
|
<a ng-click="logout()" class="icon-home">Home</a>
|
||||||
<span style="display: none;"></span>
|
<span style="display: none;"></span>
|
||||||
</div>
|
</li>
|
||||||
<div class="crumb svg" data-dir="/Test">
|
<li class="crumb svg" data-dir="/Test">
|
||||||
<a ng-click="cancel()">{{ active_vault.name }}</a>
|
<a ng-click="cancel()">{{ active_vault.name }}</a>
|
||||||
</div>
|
</li>
|
||||||
<div class="crumb svg last" data-dir="/Test">
|
<li class="crumb svg last" data-dir="/Test">
|
||||||
<a ng-if="storedCredential.credential_id">{{ 'edit.credential' | translate }}
|
<a ng-if="storedCredential.credential_id">{{ 'edit.credential' | translate }}
|
||||||
"{{ storedCredential.label }}"</a>
|
"{{ storedCredential.label }}"</a>
|
||||||
<a ng-if="!storedCredential.credential_id">{{ 'create.credential' | translate }}</a>
|
<a ng-if="!storedCredential.credential_id">{{ 'create.credential' | translate }}</a>
|
||||||
</div>
|
</li>
|
||||||
</div>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -1,17 +1,17 @@
|
||||||
<div id="passman-controls">
|
<div id="passman-controls">
|
||||||
<div class="breadcrumb">
|
<div class="breadcrumb">
|
||||||
<div class="breadcrumb">
|
<ul class="breadcrumb">
|
||||||
<div class="crumb svg crumbhome">
|
<li class="crumb svg crumbhome">
|
||||||
<a ng-click="logout()" class="icon-home">Home</a>
|
<a ng-click="logout()" class="icon-home">Home</a>
|
||||||
<span style="display: none;"></span>
|
<span style="display: none;"></span>
|
||||||
</div>
|
</li>
|
||||||
<div class="crumb svg">
|
<li class="crumb svg">
|
||||||
<a ng-click="cancel()">{{ active_vault.name }}</a>
|
<a ng-click="cancel()">{{ active_vault.name }}</a>
|
||||||
</div>
|
</li>
|
||||||
<div class="crumb svg last">
|
<li class="crumb svg last">
|
||||||
<a>{{ 'settings' | translate }}</a>
|
<a>{{ 'settings' | translate }}</a>
|
||||||
</div>
|
</li>
|
||||||
</div>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,19 +1,19 @@
|
||||||
<div id="passman-controls">
|
<div id="passman-controls">
|
||||||
<div class="actions creatable">
|
<div class="actions creatable">
|
||||||
<div class="breadcrumb">
|
<ul class="breadcrumb">
|
||||||
<div class="crumb svg crumbhome">
|
<li class="crumb svg crumbhome">
|
||||||
<a ng-click="logout()" class="icon-home">Home</a>
|
<a ng-click="logout()" class="icon-home">Home</a>
|
||||||
<span style="display: none;"></span>
|
<span style="display: none;"></span>
|
||||||
</div>
|
</li>
|
||||||
<div class="crumb svg" data-dir="/Test">
|
<li class="crumb svg" data-dir="/Test">
|
||||||
<a ng-click="cancel()">{{ active_vault.name }}</a>
|
<a ng-click="cancel()">{{ active_vault.name }}</a>
|
||||||
</div>
|
</li>
|
||||||
<div class="crumb svg last" data-dir="/Test">
|
<li class="crumb svg last" data-dir="/Test">
|
||||||
<a ng-if="storedCredential.credential_id">
|
<a ng-if="storedCredential.credential_id">
|
||||||
{{ 'share.credential' | translate }} {{ storedCredential.label }}
|
{{ 'share.credential' | translate }} {{ storedCredential.label }}
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</li>
|
||||||
</div>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="app-sidebar-tabs">
|
<div class="app-sidebar-tabs">
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,15 @@
|
||||||
<div class="main_list" off-click-filter="'.download-js-link, .sidebar-shown, #app-sidebar'">
|
<div class="main_list" off-click-filter="'.download-js-link, .sidebar-shown, #app-sidebar'">
|
||||||
<div id="passman-controls" ng-class="{ 'sidebar-shown': selectedCredential }">
|
<div id="passman-controls" ng-class="{ 'sidebar-shown': selectedCredential }">
|
||||||
<div class="breadcrumb">
|
<div class="breadcrumb">
|
||||||
<div class="breadcrumb">
|
<ul class="breadcrumb">
|
||||||
<div class="crumb svg crumbhome">
|
<li class="crumb svg crumbhome">
|
||||||
<a ng-click="logout()" class="icon-home">Home</a>
|
<a ng-click="logout()" class="icon-home">Home</a>
|
||||||
<span style="display: none;"></span>
|
<span style="display: none;"></span>
|
||||||
</div>
|
</li>
|
||||||
<div class="crumb svg" ng-click="clearState()">
|
<li class="crumb svg" ng-click="clearState()">
|
||||||
<a>{{active_vault.name}}</a>
|
<a>{{active_vault.name}}</a>
|
||||||
</div>
|
</li>
|
||||||
</div>
|
</ul>
|
||||||
<div class="addCredential" ng-hide="delete_time>0">
|
<div class="addCredential" ng-hide="delete_time>0">
|
||||||
<button ng-click="addCredential()"><i class="fa fa-plus"></i></button>
|
<button ng-click="addCredential()"><i class="fa fa-plus"></i></button>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -23,19 +23,9 @@
|
||||||
|
|
||||||
namespace OCA\Passman\Controller;
|
namespace OCA\Passman\Controller;
|
||||||
|
|
||||||
use OCA\Comments\Activity\Setting;
|
|
||||||
use OCA\Passman\Service\ActivityService;
|
|
||||||
use OCA\Passman\Service\CredentialService;
|
|
||||||
use OCA\Passman\Service\FileService;
|
use OCA\Passman\Service\FileService;
|
||||||
use OCA\Passman\Service\NotificationService;
|
|
||||||
use OCA\Passman\Service\SettingsService;
|
|
||||||
use OCA\Passman\Service\ShareService;
|
|
||||||
use OCA\Passman\Service\VaultService;
|
|
||||||
use OCP\IGroupManager;
|
|
||||||
use OCP\IUserManager;
|
|
||||||
use PHPUnit_Framework_TestCase;
|
|
||||||
|
|
||||||
use OCP\AppFramework\Http\JSONResponse;
|
use OCP\AppFramework\Http\JSONResponse;
|
||||||
|
use PHPUnit_Framework_TestCase;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class FileControllerTest
|
* Class FileControllerTest
|
||||||
|
|
@ -96,4 +86,4 @@ class FileControllerTest extends PHPUnit_Framework_TestCase {
|
||||||
$this->controller->updateFile('6AD30804-BFFC-4EFC-97F8-20A126FA1709', '0' , '0.jpg');
|
$this->controller->updateFile('6AD30804-BFFC-4EFC-97F8-20A126FA1709', '0' , '0.jpg');
|
||||||
$this->assertTrue(true);
|
$this->assertTrue(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -23,9 +23,8 @@
|
||||||
|
|
||||||
namespace OCA\Passman\Controller;
|
namespace OCA\Passman\Controller;
|
||||||
|
|
||||||
use PHPUnit_Framework_TestCase;
|
|
||||||
|
|
||||||
use OCP\AppFramework\Http\JSONResponse;
|
use OCP\AppFramework\Http\JSONResponse;
|
||||||
|
use PHPUnit_Framework_TestCase;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class InternalControllerTest
|
* Class InternalControllerTest
|
||||||
|
|
@ -97,4 +96,4 @@ class InternalControllerTest extends PHPUnit_Framework_TestCase {
|
||||||
$this->assertTrue(true);
|
$this->assertTrue(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -23,9 +23,8 @@
|
||||||
|
|
||||||
namespace OCA\Passman\Controller;
|
namespace OCA\Passman\Controller;
|
||||||
|
|
||||||
use PHPUnit_Framework_TestCase;
|
|
||||||
|
|
||||||
use OCP\AppFramework\Http\TemplateResponse;
|
use OCP\AppFramework\Http\TemplateResponse;
|
||||||
|
use PHPUnit_Framework_TestCase;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class PageControllerTest
|
* Class PageControllerTest
|
||||||
|
|
@ -74,4 +73,4 @@ class PageControllerTest extends PHPUnit_Framework_TestCase {
|
||||||
$this->assertEquals('public_share', $result->getTemplateName());
|
$this->assertEquals('public_share', $result->getTemplateName());
|
||||||
$this->assertTrue($result instanceof TemplateResponse);
|
$this->assertTrue($result instanceof TemplateResponse);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -23,11 +23,10 @@
|
||||||
|
|
||||||
namespace OCA\Passman\Controller;
|
namespace OCA\Passman\Controller;
|
||||||
|
|
||||||
|
use OCA\Passman\Service\SettingsService;
|
||||||
use OCP\AppFramework\Http\JSONResponse;
|
use OCP\AppFramework\Http\JSONResponse;
|
||||||
use OCP\AppFramework\Http\TemplateResponse;
|
use OCP\AppFramework\Http\TemplateResponse;
|
||||||
use OCP\IConfig;
|
|
||||||
use PHPUnit_Framework_TestCase;
|
use PHPUnit_Framework_TestCase;
|
||||||
use OCA\Passman\Service\SettingsService;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class SettingsControllerTest
|
* Class SettingsControllerTest
|
||||||
|
|
@ -97,4 +96,4 @@ class SettingsControllerTest extends PHPUnit_Framework_TestCase {
|
||||||
$result = $this->controller->saveAdminSetting('admin', 'value');
|
$result = $this->controller->saveAdminSetting('admin', 'value');
|
||||||
$this->assertTrue($result instanceof JSONResponse);
|
$this->assertTrue($result instanceof JSONResponse);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -53,4 +53,4 @@ class TranslationControllerTest extends PHPUnit_Framework_TestCase {
|
||||||
$result = $this->controller->getLanguageStrings(null);
|
$result = $this->controller->getLanguageStrings(null);
|
||||||
$this->assertTrue($result instanceof JSONResponse);
|
$this->assertTrue($result instanceof JSONResponse);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,9 +27,8 @@ use OCA\Passman\Service\CredentialService;
|
||||||
use OCA\Passman\Service\DeleteVaultRequestService;
|
use OCA\Passman\Service\DeleteVaultRequestService;
|
||||||
use OCA\Passman\Service\SettingsService;
|
use OCA\Passman\Service\SettingsService;
|
||||||
use OCA\Passman\Service\VaultService;
|
use OCA\Passman\Service\VaultService;
|
||||||
use PHPUnit_Framework_TestCase;
|
|
||||||
|
|
||||||
use OCP\AppFramework\Http\JSONResponse;
|
use OCP\AppFramework\Http\JSONResponse;
|
||||||
|
use PHPUnit_Framework_TestCase;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class VaultControllerTest
|
* Class VaultControllerTest
|
||||||
|
|
@ -110,4 +109,4 @@ class VaultControllerTest extends PHPUnit_Framework_TestCase {
|
||||||
$result = $this->controller->delete('');
|
$result = $this->controller->delete('');
|
||||||
$this->assertTrue($result instanceof JSONResponse);
|
$this->assertTrue($result instanceof JSONResponse);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue