Files
InvoiceShelf/app/Http/Requests/AdminCompanyUpdateRequest.php
Darko Gjorgjijoski 9432da467e Add super-admin Administration section and restructure global vs company settings
- Add Administration sidebar section (super-admin only) with Companies, Users, and Global Settings pages
- Add super-admin middleware, controllers, and API routes under /api/v1/super-admin/
- Allow super-admins to manage all companies and users across tenants
- Add user impersonation with short-lived tokens, audit logging, and UI banner
- Move system-level settings (Mail, PDF, Backup, Update, File Disk) from per-company to Administration > Global Settings
- Convert save_pdf_to_disk from CompanySetting to global Setting
- Add per-company mail configuration overrides (optional, falls back to global)
- Add CompanyMailConfigService to apply company mail config before sending emails
2026-04-03 10:35:40 +02:00

46 lines
1.3 KiB
PHP

<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
class AdminCompanyUpdateRequest extends FormRequest
{
public function authorize(): bool
{
return $this->user()->isSuperAdmin();
}
public function rules(): array
{
return [
'name' => [
'required',
'string',
Rule::unique('companies')->ignore($this->route('company')),
],
'owner_id' => [
'required',
'exists:users,id',
],
'vat_id' => [
'nullable',
'string',
],
'tax_id' => [
'nullable',
'string',
],
'address.name' => ['nullable', 'string'],
'address.address_street_1' => ['nullable', 'string'],
'address.address_street_2' => ['nullable', 'string'],
'address.city' => ['nullable', 'string'],
'address.state' => ['nullable', 'string'],
'address.country_id' => ['nullable', 'exists:countries,id'],
'address.zip' => ['nullable', 'string'],
'address.phone' => ['nullable', 'string'],
];
}
}