PluginProbe
Disk Usage Insights / trunk
Disk Usage Insights vtrunk
trunk 1.0 1.10 1.11 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9
disk-usage-insights / src / Domain / SnapshotRepository.php

SnapshotRepository.php in Disk Usage Insights trunk, at src/Domain/SnapshotRepository.php

36 lines 1.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Mgleis\DiskUsageInsights\Domain;
4
5 use Mgleis\PhpSqliteKeyValueStore\KeyValueStore;
6 use PDO;
7
8 class SnapshotRepository {
9
10 private KeyValueStore $kvstore;
11
12 public function __construct(PDO $pdo) {
13 $this->kvstore = new KeyValueStore($pdo);
14 }
15
16 public function load(): Snapshot {
17 $s = new Snapshot();
18 $s->version = $this->kvstore->get('snapshot-version', Snapshot::CURRENT_VERSION);
19 $s->root = $this->kvstore->get('snapshot-root', '');
20 $s->phase = (int) $this->kvstore->get('snapshot-phase', 0);
21 $s->wpcorefiles = $this->kvstore->get('snapshot-wpcorefiles', []);
22 $s->collectPhaseFinished = $this->kvstore->get('snapshot-collectPhaseFinished', 0);
23
24 return $s;
25 }
26
27 public function save(Snapshot $snapshot) {
28 $this->kvstore->set('snapshot-version', $snapshot->version);
29 $this->kvstore->set('snapshot-root', $snapshot->root);
30 $this->kvstore->set('snapshot-phase', $snapshot->phase);
31 $this->kvstore->set('snapshot-wpcorefiles', $snapshot->wpcorefiles);
32 $this->kvstore->set('snapshot-collectPhaseFinished', $snapshot->collectPhaseFinished);
33 }
34
35 }
36