add session key to reuse last used node instead of latest node

This commit is contained in:
Charles 2025-11-07 08:18:02 -05:00
parent 49f24e37b6
commit ccb61382d0

View File

@ -116,6 +116,14 @@ class CreateServer extends CreateRecord
->prefixIcon('tabler-server-2')
->selectablePlaceholder(false)
->default(function () {
$lastUsedNode = session()->get('lastUsedNode');
if ($lastUsedNode && user()?->accessibleNodes()->where('id', $lastUsedNode)->exists()) {
$this->node = Node::find($lastUsedNode);
return $this->node?->id;
}
/** @var ?Node $latestNode */
$latestNode = user()?->accessibleNodes()->latest()->first();
$this->node = $latestNode;
@ -254,7 +262,7 @@ class CreateServer extends CreateRecord
->required(),
];
})
->createOptionUsing(function (array $data, Get $get, AssignmentService $assignmentService): int {
->createOptionUsing(function (array $data, Get $get, AssignmentService $assignmentService): \Closure {
return collect(
$assignmentService->handle(Node::find($get('node_id')), $data)
)->first();
@ -829,6 +837,8 @@ class CreateServer extends CreateRecord
$data['allocation_additional'] = collect($allocation_additional)->filter()->all();
}
session()->put('lastUsedNode', $data['node_id']);
try {
return $this->serverCreationService->handle($data);
} catch (Exception $exception) {