revisions complete

This commit is contained in:
2023-10-15 19:14:07 +03:00
parent 1faac31372
commit 8d3e8373c0
16 changed files with 288 additions and 218 deletions
+6 -22
View File
@@ -4,38 +4,22 @@ namespace Lucent\Http\Controller;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Lucent\Account\Auth;
use Lucent\Channel\ChannelContext;
use Lucent\Record\RecordRepo;
use Lucent\Revision\RevisionRepo;
use Lucent\Schema\SchemaRepo;
use Lucent\Revision\RevisionService;
use function Lucent\Response\fail;
use function Lucent\Response\ok;
class RevisionController extends Controller
{
public function __construct(
public RevisionService $revisionService
){}
public function index(Request $request)
{
$revisions = RevisionRepo::getByRecordId($request->route("rid"));
return ok($revisions);
$revisions = $this->revisionService->getByRecordId($request->route("rid"));
return ok($revisions->toArray());
}
public function rollback(Request $request)
{
$schemas = SchemaRepo::all();
$revision = RevisionRepo::getByRecordIdAndVersion($request->route("rid"), (int)$request->route("version"));
try {
RecordRepo::replaceMany($schemas, [$revision->toDB()], Auth::currentUserId());
} catch (\Lucent\Schema\Validator\ValidatorException $th) {
return fail($th->getFirstValidatorError());
} catch (\Lucent\LucentException $th) {
return fail($th);
} catch (\Throwable $th) {
return fail($th);
}
return ok();
}
}