1
0
mirror of https://github.com/flextype/flextype.git synced 2025-08-11 07:34:22 +02:00

refactor(entries): Rename path to id in Entries API #453

This commit is contained in:
Awilum
2020-08-11 18:00:19 +03:00
parent aa4d181c98
commit 348a8efbe2

View File

@@ -89,7 +89,7 @@ class Entries
/**
* Fetch entry(entries)
*
* @param string $path Unique identifier of the entry(entries).
* @param string $id Unique identifier of the entry(entries).
* @param bool $collection Set `true` if collection of entries need to be fetched.
* @param array $filter Select items in collection by given conditions.
*
@@ -97,28 +97,28 @@ class Entries
*
* @access public
*/
public function fetch(string $path, bool $collection = false, $filter = []) : array
public function fetch(string $id, bool $collection = false, $filter = []) : array
{
if ($collection) {
return $this->fetchCollection($path, $filter);
return $this->fetchCollection($id, $filter);
}
return $this->fetchSingle($path);
return $this->fetchSingle($id);
}
/**
* Fetch single entry
*
* @param string $path Unique identifier of the entry(entries).
* @param string $id Unique identifier of the entry(entries).
*
* @return array The entry array data.
*
* @access public
*/
public function fetchSingle(string $path) : array
public function fetchSingle(string $id) : array
{
// Store current requested entry path
$this->entry_path = $path;
$this->entry_path = $id;
// Get Cache ID for current requested entry
$entry_cache_id = $this->getCacheID($this->entry_path);
@@ -172,20 +172,20 @@ class Entries
/**
* Fetch entries collection
*
* @param string $path Unique identifier of the entry(entries).
* @param string $id Unique identifier of the entry(entries).
* @param array $filter Select items in collection by given conditions.
*
* @return array|bool|int
*
* @access public
*/
public function fetchCollection(string $path, $filter = [])
public function fetchCollection(string $id, $filter = [])
{
// Init Entries object
$this->entries = [];
// Store current requested entries path
$this->entries_path = $this->getDirLocation($path);
$this->entries_path = $this->getDirLocation($id);
// Find entries
$entries_list = find_filter($this->entries_path, $filter);
@@ -216,20 +216,20 @@ class Entries
/**
* Rename entry
*
* @param string $path Unique identifier of the entry(entries).
* @param string $new_path New Unique identifier of the entry(entries).
* @param string $id Unique identifier of the entry(entries).
* @param string $new_id New Unique identifier of the entry(entries).
*
* @return bool True on success, false on failure.
*
* @access public
*/
public function rename(string $path, string $new_path) : bool
public function rename(string $id, string $new_id) : bool
{
if (! Filesystem::has($this->getDirLocation($new_path))) {
if (! Filesystem::has($this->getDirLocation($new_id))) {
// Run event: onEntryRename
$this->flextype['emitter']->emit('onEntryRename');
return rename($this->getDirLocation($path), $this->getDirLocation($new_path));
return rename($this->getDirLocation($id), $this->getDirLocation($new_id));
}
return false;
@@ -238,16 +238,16 @@ class Entries
/**
* Update entry
*
* @param string $path Unique identifier of the entry(entries).
* @param string $id Unique identifier of the entry(entries).
* @param array $data Data to update for the entry.
*
* @return bool True on success, false on failure.
*
* @access public
*/
public function update(string $path, array $data) : bool
public function update(string $id, array $data) : bool
{
$entry_file = $this->getFileLocation($path);
$entry_file = $this->getFileLocation($id);
if (Filesystem::has($entry_file)) {
$body = Filesystem::read($entry_file);
@@ -268,16 +268,16 @@ class Entries
/**
* Create entry
*
* @param string $path Unique identifier of the entry(entries).
* @param string $id Unique identifier of the entry(entries).
* @param array $data Data to create for the entry.
*
* @return bool True on success, false on failure.
*
* @access public
*/
public function create(string $path, array $data) : bool
public function create(string $id, array $data) : bool
{
$entry_dir = $this->getDirLocation($path);
$entry_dir = $this->getDirLocation($id);
if (! Filesystem::has($entry_dir)) {
// Try to create directory for new entry
@@ -304,97 +304,97 @@ class Entries
/**
* Delete entry
*
* @param string $path Unique identifier of the entry(entries).
* @param string $id Unique identifier of the entry(entries).
*
* @return bool True on success, false on failure.
*
* @access public
*/
public function delete(string $path) : bool
public function delete(string $id) : bool
{
// Run event: onEntryDelete
$this->flextype['emitter']->emit('onEntryDelete');
return Filesystem::deleteDir($this->getDirLocation($path));
return Filesystem::deleteDir($this->getDirLocation($id));
}
/**
* Copy entry(s)
*
* @param string $path Unique identifier of the entry(entries).
* @param string $new_path New Unique identifier of the entry(entries).
* @param bool $deep Recursive copy entries.
* @param string $id Unique identifier of the entry(entries).
* @param string $new_id New Unique identifier of the entry(entries).
* @param bool $deep Recursive copy entries.
*
* @return bool|null True on success, false on failure.
*
* @access public
*/
public function copy(string $path, string $new_path, bool $deep = false) : ?bool
public function copy(string $id, string $new_id, bool $deep = false) : ?bool
{
// Run event: onEntryRename
$this->flextype['emitter']->emit('onEntryCopy');
return Filesystem::copy($this->getDirLocation($path), $this->getDirLocation($new_path), $deep);
return Filesystem::copy($this->getDirLocation($id), $this->getDirLocation($new_id), $deep);
}
/**
* Check whether entry exists
*
* @param string $path Unique identifier of the entry(entries).
* @param string $id Unique identifier of the entry(entries).
*
* @return bool True on success, false on failure.
*
* @access public
*/
public function has(string $path) : bool
public function has(string $id) : bool
{
return Filesystem::has($this->getFileLocation($path));
return Filesystem::has($this->getFileLocation($id));
}
/**
* Get entry file location
*
* @param string $path Unique identifier of the entry(entries).
* @param string $id Unique identifier of the entry(entries).
*
* @return string entry file location
*
* @access public
*/
public function getFileLocation(string $path) : string
public function getFileLocation(string $id) : string
{
return PATH['project'] . '/entries/' . $path . '/entry' . '.' . $this->flextype->registry->get('flextype.settings.entries.extension');
return PATH['project'] . '/entries/' . $id . '/entry' . '.' . $this->flextype->registry->get('flextype.settings.entries.extension');
}
/**
* Get entry directory location
*
* @param string $path Unique identifier of the entry(entries).
* @param string $id Unique identifier of the entry(entries).
*
* @return string entry directory location
*
* @access public
*/
public function getDirLocation(string $path) : string
public function getDirLocation(string $id) : string
{
return PATH['project'] . '/entries/' . $path;
return PATH['project'] . '/entries/' . $id;
}
/**
* Get Cache ID for entry
*
* @param string $path Unique identifier of the entry(entries).
* @param string $id Unique identifier of the entry(entries).
*
* @return string Cache ID
*
* @access public
*/
public function getCacheID(string $path) : string
public function getCacheID(string $id) : string
{
if ($this->flextype['registry']->get('flextype.settings.cache.enabled') === false) {
return '';
}
$entry_file = $this->getFileLocation($path);
$entry_file = $this->getFileLocation($id);
if (Filesystem::has($entry_file)) {
return md5('entry' . $entry_file . Filesystem::getTimestamp($entry_file));