diff options
| author | David T. Sadler <davidtsadler@googlemail.com> | 2021-11-02 20:30:56 +0000 |
|---|---|---|
| committer | David T. Sadler <davidtsadler@googlemail.com> | 2021-11-02 20:30:56 +0000 |
| commit | 5add8d18e6f984e0e3296a7e092a6a1ef061668f (patch) | |
| tree | 01680a014934f6bf8be9f0d2432a3ff6a1eac765 | |
| parent | 558959d4d7dcceff000fd5861f2f46451ebbd8a9 (diff) | |
Remove id from file
| -rw-r--r-- | public/store/index.php | 1 | ||||
| -rw-r--r-- | src/DTS/Bookmark.php | 2 | ||||
| -rw-r--r-- | src/DTS/BookmarkRepository.php | 40 |
3 files changed, 13 insertions, 30 deletions
diff --git a/public/store/index.php b/public/store/index.php index 804702a..a25d6f3 100644 --- a/public/store/index.php +++ b/public/store/index.php @@ -39,7 +39,6 @@ $bookmarks = new BookmarkRepository($config['path_to_repository']); $bookmark = new Bookmark(); -$bookmark->id = bin2hex(random_bytes(32)); $bookmark->url = $validated->url; $bookmark->title = $validated->title; $bookmark->tag = $validated->tag; diff --git a/src/DTS/Bookmark.php b/src/DTS/Bookmark.php index 479b575..ef14826 100644 --- a/src/DTS/Bookmark.php +++ b/src/DTS/Bookmark.php @@ -6,7 +6,7 @@ namespace DTS; class Bookmark { - public string $id; + public int $id; public string $url = ''; diff --git a/src/DTS/BookmarkRepository.php b/src/DTS/BookmarkRepository.php index a2d80cd..01f6de4 100644 --- a/src/DTS/BookmarkRepository.php +++ b/src/DTS/BookmarkRepository.php @@ -43,9 +43,7 @@ class BookmarkRepository implements \Iterator public function find(string $id): ?Bookmark { - $index = $this->findBookmarkIndex($id); - - return $this->repository[$index] ?? null; + return $this->repository[$id] ?? null; } public function add(Bookmark $bookmark): bool @@ -57,10 +55,8 @@ class BookmarkRepository implements \Iterator public function update(Bookmark $bookmark): bool { - $index = $this->findBookmarkIndex($bookmark->id); - - if ($index !== null) { - $this->repository[$index] = $bookmark; + if (array_key_exists($bookmark->id, $this->repository)) { + $this->repository[$bookmark->id] = $bookmark; return $this->save(); } @@ -70,10 +66,8 @@ class BookmarkRepository implements \Iterator public function delete(Bookmark $bookmark): bool { - $index = $this->findBookmarkIndex($bookmark->id); - - if ($index !== null) { - unset($this->repository[$index]); + if (array_key_exists($bookmark->id, $this->repository)) { + unset($this->repository[$bookmark->id]); return $this->save(); } @@ -106,17 +100,6 @@ class BookmarkRepository implements \Iterator return isset($this->repository[$this->position]); } - private function findBookmarkIndex(string $id): ?int - { - foreach ($this->repository as $index => $bookmark) { - if ($bookmark->id == $id) { - return $index; - } - } - - return null; - } - private function load(): void { if (!is_file($this->pathToRepository) || !is_readable($this->pathToRepository)) { @@ -127,14 +110,16 @@ class BookmarkRepository implements \Iterator throw new \Exception("Unable to read from repository {$this->pathToRepository}"); } + $id = 0; + while (($data = fgetcsv($fp)) !== FALSE) { $bookmark = new Bookmark(); - $bookmark->id = $data[0]; - $bookmark->url = $data[1]; - $bookmark->title = $data[2]; - $bookmark->tag = $data[3]; - $bookmark->addedAt = $data[4]; + $bookmark->id = $id++; + $bookmark->url = $data[0]; + $bookmark->title = $data[1]; + $bookmark->tag = $data[2]; + $bookmark->addedAt = $data[3]; $this->repository[] = $bookmark; } @@ -152,7 +137,6 @@ class BookmarkRepository implements \Iterator foreach ($this->repository as $bookmark) { $success = $success && fputcsv($fp, [ - $bookmark->id, $bookmark->url, $bookmark->title, $bookmark->tag, |
