mirror of
https://github.com/nextcloud/passman.git
synced 2026-01-06 23:57:12 +08:00
Getting vaults works
This commit is contained in:
parent
2ee6df3ef0
commit
086a4879d4
3 changed files with 48 additions and 4 deletions
20
lib/Db/EntityJSONSerializer.php
Normal file
20
lib/Db/EntityJSONSerializer.php
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
<?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\Db;
|
||||
trait EntityJSONSerializer {
|
||||
public function serializeFields($properties) {
|
||||
$result = [];
|
||||
foreach($properties as $property) {
|
||||
$result[$property] = $this->$property;
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
|
|
@ -28,7 +28,9 @@ use \OCP\AppFramework\Db\Entity;
|
|||
*/
|
||||
|
||||
|
||||
class Vault extends Entity {
|
||||
class Vault extends Entity implements \JsonSerializable{
|
||||
|
||||
use EntityJSONSerializer;
|
||||
|
||||
protected $guid;
|
||||
protected $name;
|
||||
|
|
@ -41,4 +43,27 @@ class Vault extends Entity {
|
|||
$this->addType('created', 'integer');
|
||||
$this->addType('lastAccess', 'integer');
|
||||
}
|
||||
|
||||
public static function fromRow($row){
|
||||
$vault = new Vault();
|
||||
$vault->setId($row['id']);
|
||||
$vault->setGuid($row['guid']);
|
||||
$vault->setName($row['name']);
|
||||
$vault->setCreated($row['created']);
|
||||
$vault->setlastAccess($row['last_access']);
|
||||
return $vault;
|
||||
}
|
||||
|
||||
/**
|
||||
* Turns entitie attributes into an array
|
||||
*/
|
||||
public function jsonSerialize() {
|
||||
return [
|
||||
'id' => $this->getId(),
|
||||
'guid' => $this->getGuid(),
|
||||
'name' => $this->getName(),
|
||||
'created' => $this->getCreated(),
|
||||
'last_access' => $this->getlastAccess(),
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
@ -11,10 +11,9 @@
|
|||
namespace OCA\Passman\Db;
|
||||
|
||||
use OCA\Passman\Utility\Utils;
|
||||
|
||||
use OCP\IDBConnection;
|
||||
use OCP\AppFramework\Db\Mapper;
|
||||
//use OCA\Passman\Db\Vault;
|
||||
|
||||
class VaultMapper extends Mapper {
|
||||
private $utils;
|
||||
public function __construct(IDBConnection $db, Utils $utils) {
|
||||
|
|
@ -34,7 +33,7 @@ class VaultMapper extends Mapper {
|
|||
}
|
||||
|
||||
public function findVaultsFromUser($userId){
|
||||
$sql = 'SELECT * FROM `*PREFIX*passman_vaults` ' .
|
||||
$sql = 'SELECT id, name, created, guid, last_access FROM `*PREFIX*passman_vaults` ' .
|
||||
'WHERE `user_id` = ? ';
|
||||
$params = [$userId];
|
||||
return $this->findEntities($sql, $params);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue