Use beginning of UUID for server uuidShort
This commit is contained in:
parent
85e75a2808
commit
36837df0a6
5 changed files with 63 additions and 4 deletions
|
@ -210,10 +210,12 @@ class ServerCreationService
|
|||
*/
|
||||
private function createModel(array $data): Server
|
||||
{
|
||||
$uuid = $this->generateUniqueUuidCombo();
|
||||
|
||||
return $this->repository->create([
|
||||
'external_id' => array_get($data, 'external_id'),
|
||||
'uuid' => Uuid::uuid4()->toString(),
|
||||
'uuidShort' => str_random(8),
|
||||
'uuid' => $uuid,
|
||||
'uuidShort' => substr($uuid, 0, 8),
|
||||
'node_id' => array_get($data, 'node_id'),
|
||||
'name' => array_get($data, 'name'),
|
||||
'description' => array_get($data, 'description') ?? '',
|
||||
|
@ -289,4 +291,20 @@ class ServerCreationService
|
|||
|
||||
return $allocation->node_id;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a unique UUID and UUID-Short combo for a server.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
private function generateUniqueUuidCombo(): string
|
||||
{
|
||||
$uuid = Uuid::uuid4()->toString();
|
||||
|
||||
if (! $this->repository->isUniqueUuidCombo($uuid, substr($uuid, 0, 8))) {
|
||||
return $this->generateUniqueUuidCombo();
|
||||
}
|
||||
|
||||
return $uuid;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue