Added Email Capability

This commit is contained in:
2026-07-07 20:59:05 +10:00
parent c6065577af
commit 6d0ecb19c9
40 changed files with 1153 additions and 128 deletions
+18
View File
@@ -7,6 +7,7 @@ use Illuminate\Database\Eloquent\Relations\HasMany;
class Alliance extends Model
{
protected $table = 'alliances';
protected $fillable = [
@@ -18,8 +19,25 @@ class Alliance extends Model
'internal_name' => 'string',
];
const ALLIANCE_CHALLENGES = [
'star_alliance' => 'airlines_alliances.all_star_alliance',
'oneworld' => 'airlines_alliances.all_oneworld',
'vanilla_alliance' => 'airlines_alliances.all_vanilla_alliance',
'skyteam' => 'airlines_alliances.all_skyteam',
];
public function airlines(): HasMany
{
return $this->hasMany(Airline::class);
}
public static function recalculateChallengeThresholds() : void {
$alliances = Alliance::all();
foreach ($alliances as $alliance) {
$airlineCount = $alliance->airlines()->count();
$challenge = self::ALLIANCE_CHALLENGES[$alliance->internal_name];
Achievement::where('internal_name', $challenge)->update(['threshold' => $airlineCount]);
}
}
}