Page MenuHomePhorge

SignupCodeObserver.php
No OneTemporary

Authored By
Unknown
Size
965 B
Referenced Files
None
Subscribers
None

SignupCodeObserver.php

<?php
namespace App\Observers;
use App\SignupCode;
use Carbon\Carbon;
class SignupCodeObserver
{
/**
* Handle the "creating" event.
*
* Ensure that the code entry is created with a random code/short_code.
*
* @param \App\SignupCode $code The code being created.
*
* @return void
*/
public function creating(SignupCode $code): void
{
$code_length = SignupCode::CODE_LENGTH;
$exp_hours = env('SIGNUP_CODE_EXPIRY', SignupCode::CODE_EXP_HOURS);
if (empty($code->code)) {
$code->short_code = SignupCode::generateShortCode();
// FIXME: Replace this with something race-condition free
while (true) {
$code->code = str_random($code_length);
if (!SignupCode::find($code->code)) {
break;
}
}
}
$code->expires_at = Carbon::now()->addHours($exp_hours);
}
}

File Metadata

Mime Type
text/x-php
Expires
Sun, Apr 5, 10:28 PM (2 w, 3 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
18804252
Default Alt Text
SignupCodeObserver.php (965 B)

Event Timeline