@@ -41,6 +41,10 @@ public function backup(): BackupDto
4141 $ zipper ->encrypt ($ password );
4242 }
4343
44+ $ zipper ->addMeta ('created_at ' , now ()->toIso8601String ());
45+
46+ $ zipMeta = $ this ->resolveMetaFromZip ($ zipper );
47+
4448 $ zipper ->close ();
4549
4650 $ backup = $ this ->repository ->add ($ temp_zip_path );
@@ -51,10 +55,8 @@ public function backup(): BackupDto
5155 $ metadata ->setCreatedBy ($ user );
5256 }
5357
54- $ zipper ->getMeta ()->each (function ($ meta , $ key ) use ($ metadata ) {
55- if (isset ($ meta ['skipped ' ])) {
56- $ metadata ->addSkippedPipe ($ key , $ meta ['skipped ' ]);
57- }
58+ $ zipMeta ->each (fn ($ meta , $ key ) => match ($ key ) {
59+ 'skipped ' => $ meta ->each (fn (string $ reason , string $ pipe ) => $ metadata ->addSkippedPipe ($ pipe , $ reason )),
5860 });
5961
6062 event (new BackupCreated ($ backup ));
@@ -75,6 +77,21 @@ public function backup(): BackupDto
7577 }
7678 }
7779
80+ private function resolveMetaFromZip (Zipper $ zip )
81+ {
82+ $ metadata = collect ([
83+ 'skipped ' => collect (),
84+ ]);
85+
86+ $ zip ->getMeta ()->each (function ($ meta , $ key ) use ($ metadata ) {
87+ if (isset ($ meta ['skipped ' ])) {
88+ $ metadata ->get ('skipped ' )->put ($ key , $ meta ['skipped ' ]);
89+ }
90+ });
91+
92+ return $ metadata ;
93+ }
94+
7895 /**
7996 * Remove oldest backups when max backups is exceeded if it's present.
8097 */
0 commit comments