Allow apps to overwrite the maximum length when reading from database

Signed-off-by: Joas Schilling <coding@schilljs.com>
This commit is contained in:
Joas Schilling 2019-07-01 15:48:26 +02:00
parent 1074e9838b
commit c15c2e440f
No known key found for this signature in database
GPG Key ID: 7076EA9751AACDDA
1 changed files with 16 additions and 6 deletions

View File

@ -98,6 +98,15 @@ class Manager implements ICommentsManager {
return $data; return $data;
} }
/**
* @param array $data
* @return IComment
*/
public function getCommentFromData(array $data): IComment {
return new Comment($this->normalizeDatabaseData($data));
}
/** /**
* prepares a comment for an insert or update operation after making sure * prepares a comment for an insert or update operation after making sure
* all necessary fields have a value assigned. * all necessary fields have a value assigned.
@ -253,7 +262,8 @@ class Manager implements ICommentsManager {
throw new NotFoundException(); throw new NotFoundException();
} }
$comment = new Comment($this->normalizeDatabaseData($data));
$comment = $this->getCommentFromData($data);
$this->cache($comment); $this->cache($comment);
return $comment; return $comment;
} }
@ -308,7 +318,7 @@ class Manager implements ICommentsManager {
$resultStatement = $query->execute(); $resultStatement = $query->execute();
while ($data = $resultStatement->fetch()) { while ($data = $resultStatement->fetch()) {
$comment = new Comment($this->normalizeDatabaseData($data)); $comment = $this->getCommentFromData($data);
$this->cache($comment); $this->cache($comment);
$tree['replies'][] = [ $tree['replies'][] = [
'comment' => $comment, 'comment' => $comment,
@ -367,7 +377,7 @@ class Manager implements ICommentsManager {
$resultStatement = $query->execute(); $resultStatement = $query->execute();
while ($data = $resultStatement->fetch()) { while ($data = $resultStatement->fetch()) {
$comment = new Comment($this->normalizeDatabaseData($data)); $comment = $this->getCommentFromData($data);
$this->cache($comment); $this->cache($comment);
$comments[] = $comment; $comments[] = $comment;
} }
@ -455,7 +465,7 @@ class Manager implements ICommentsManager {
$resultStatement = $query->execute(); $resultStatement = $query->execute();
while ($data = $resultStatement->fetch()) { while ($data = $resultStatement->fetch()) {
$comment = new Comment($this->normalizeDatabaseData($data)); $comment = $this->getCommentFromData($data);
$this->cache($comment); $this->cache($comment);
$comments[] = $comment; $comments[] = $comment;
} }
@ -485,7 +495,7 @@ class Manager implements ICommentsManager {
$result->closeCursor(); $result->closeCursor();
if ($row) { if ($row) {
$comment = new Comment($this->normalizeDatabaseData($row)); $comment = $this->getCommentFromData($row);
$this->cache($comment); $this->cache($comment);
return $comment; return $comment;
} }
@ -532,7 +542,7 @@ class Manager implements ICommentsManager {
$comments = []; $comments = [];
$result = $query->execute(); $result = $query->execute();
while ($data = $result->fetch()) { while ($data = $result->fetch()) {
$comment = new Comment($this->normalizeDatabaseData($data)); $comment = $this->getCommentFromData($data);
$this->cache($comment); $this->cache($comment);
$comments[] = $comment; $comments[] = $comment;
} }