designtopack/public/site/config/routes/toggle-favorite.php
2024-09-11 07:32:34 +02:00

33 lines
No EOL
797 B
PHP

<?php
return [
'pattern' => '(:all)toggle-favorite.json',
'method' => 'post',
'action' => function () {
$json = file_get_contents('php://input');
$data = json_decode($json);
$fileName = $data->fileName;
$page = page($data->inspirationUri);
$file = $page->files()->find($fileName);
$user = Find::user($data->userUuid);
$favoriteForUsers = $file->favoriteForUsers()->toUsers();
if ($favoriteForUsers->has($user)) {
$favoriteForUsers->remove($user);
} else {
$favoriteForUsers->add($user);
}
$array = $favoriteForUsers->toArray();
$yaml = Data::encode($array, 'yaml');
$file->update([
'favoriteForUsers' => $yaml
]);
return $favoriteForUsers->toJson();
}
];