Company::orderBy('name')->get(), 'licenses' => LicenseKey::with('company')->latest()->paginate(20), 'plainKey' => session('plain_license_key'), ]); } /** * Issue a new licence key. */ public function store(Request $request) { $data = $request->validate([ 'company_id' => ['required', 'exists:companies,id'], 'label' => ['required', 'string', 'max:255'], 'plan' => ['required', 'in:standard,professional,enterprise'], 'max_users' => ['required', 'integer', 'min:1', 'max:10000'], ]); $company = Company::findOrFail($data['company_id']); $plainKey = LicenseKey::issueFor($company, $data['label'], $data['plan'], (int) $data['max_users']); return back()->with('plain_license_key', $plainKey)->with('status', 'Licence key issued. Copy it now.'); } }