sqlite
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
namespace App\Providers;
|
||||
|
||||
use App\Models\Setting;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
|
||||
class AppServiceProvider extends ServiceProvider
|
||||
@@ -20,6 +21,13 @@ class AppServiceProvider extends ServiceProvider
|
||||
*/
|
||||
public function boot(): void
|
||||
{
|
||||
if (config('database.default') === 'sqlite') {
|
||||
DB::statement('PRAGMA journal_mode=WAL');
|
||||
DB::statement('PRAGMA synchronous=NORMAL');
|
||||
DB::statement('PRAGMA busy_timeout=5000');
|
||||
DB::statement('PRAGMA foreign_keys=ON');
|
||||
}
|
||||
|
||||
try {
|
||||
$companyName = Setting::query()->where('key', 'company_name')->value('value');
|
||||
$timezone = Setting::query()->where('key', 'timezone')->value('value');
|
||||
|
||||
@@ -25,10 +25,13 @@ class RequestService
|
||||
{
|
||||
return DB::transaction(function () use ($data, $actor): ServiceRequest {
|
||||
$payload = $this->preparePayload($data);
|
||||
$payload['ticket_number'] = $this->generateTicketNumber();
|
||||
$payload['ticket_number'] = 'PENDING-' . uniqid('', true);
|
||||
|
||||
$request = ServiceRequest::query()->create($payload);
|
||||
|
||||
$request->ticket_number = sprintf('SRV-%04d', $request->id);
|
||||
$request->saveQuietly();
|
||||
|
||||
$this->persistAttachments($request, Arr::get($data, 'attachments', []), $actor);
|
||||
|
||||
event(new RequestCreated($request, $actor));
|
||||
@@ -111,11 +114,9 @@ class RequestService
|
||||
return $map[$request->status?->slug ?? StatusSlug::NEW->value] ?? [];
|
||||
}
|
||||
|
||||
public function generateTicketNumber(): string
|
||||
public function generateTicketNumber(int $id): string
|
||||
{
|
||||
$maxId = ServiceRequest::withTrashed()->max('id') ?? 0;
|
||||
|
||||
return sprintf('SRV-%04d', $maxId + 1);
|
||||
return sprintf('SRV-%04d', $id);
|
||||
}
|
||||
|
||||
private function preparePayload(array $data, ?ServiceRequest $request = null): array
|
||||
|
||||
Reference in New Issue
Block a user