Skip to content

Commit 85b6719

Browse files
committed
uuid models support
1 parent 6457e56 commit 85b6719

File tree

7 files changed

+74
-22
lines changed

7 files changed

+74
-22
lines changed
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
<?php
2+
3+
use Illuminate\Database\Migrations\Migration;
4+
use Illuminate\Database\Schema\Blueprint;
5+
use Illuminate\Support\Facades\Schema;
6+
7+
return new class extends Migration
8+
{
9+
/**
10+
* Run the migrations.
11+
*
12+
* @return void
13+
*/
14+
public function up()
15+
{
16+
$connection = Schema::connection(config('activitylog.database_connection'));
17+
$tableName = config('activitylog.table_name');
18+
19+
if ($connection->hasTable($tableName)) {
20+
$connection->table(
21+
$tableName,
22+
function (Blueprint $table) use ($connection, $tableName) {
23+
if ($connection->hasColumn($tableName, 'subject_id')) {
24+
$table->string('subject_id', 36)->change();
25+
}
26+
}
27+
);
28+
}
29+
}
30+
31+
/**
32+
* Reverse the migrations.
33+
*
34+
* @return void
35+
*/
36+
public function down()
37+
{
38+
$connection = Schema::connection(config('activitylog.database_connection'));
39+
$tableName = config('activitylog.table_name');
40+
41+
if ($connection->hasTable($tableName)) {
42+
$connection->table(
43+
$tableName,
44+
function (Blueprint $table) use ($connection, $tableName) {
45+
if ($connection->hasColumn($tableName, 'subject_id')) {
46+
$table->bigInteger('subject_id')->change();
47+
}
48+
}
49+
);
50+
}
51+
}
52+
};

src/Http/Controllers/Admin/AppSettingsController.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ protected function setUpController(): void
3333
}
3434
}
3535

36-
public function update(int|TwillModelContract $id, ?int $submoduleId = null): JsonResponse
36+
public function update(int|string|TwillModelContract $id, ?int $submoduleId = null): JsonResponse
3737
{
3838
$model = AppSetting::findOrFail($id);
3939

@@ -107,7 +107,7 @@ protected function getRepositoryClass($model): string
107107
return AppSettingsRepository::class;
108108
}
109109

110-
protected function form(?int $id, ?TwillModelContract $item = null): array
110+
protected function form(int|string|null $id, ?TwillModelContract $item = null): array
111111
{
112112
$base = parent::form($id, $item);
113113

src/Http/Controllers/Admin/GroupController.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,14 +93,14 @@ protected function getBrowserItems($scopes = [])
9393
})->values();
9494
}
9595

96-
public function edit(int|TwillModelContract $id): mixed
96+
public function edit(int|string|TwillModelContract $id): mixed
9797
{
9898
$this->authorizableOptions['edit'] = 'edit-group';
9999

100100
return parent::edit($id);
101101
}
102102

103-
public function update(int|TwillModelContract $id, ?int $submoduleId = null): JsonResponse
103+
public function update(int|string|TwillModelContract $id, ?int $submoduleId = null): JsonResponse
104104
{
105105
$this->authorizableOptions['edit'] = 'edit-group';
106106

src/Http/Controllers/Admin/ModuleController.php

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1092,7 +1092,7 @@ public function store($parentModuleId = null)
10921092

10931093
/**
10941094
* @param Request $request
1095-
* @param int|$id
1095+
* @param int|string $id
10961096
* @param int|null $submoduleId
10971097
* @return \Illuminate\Http\RedirectResponse
10981098
*/
@@ -1111,14 +1111,14 @@ public function show($id, $submoduleId = null)
11111111
* id: int
11121112
* }
11131113
*/
1114-
private function itemAndIdFromRequest(TwillModelContract|int $id): array
1114+
private function itemAndIdFromRequest(TwillModelContract|int|string $id): array
11151115
{
11161116
if ($id instanceof TwillModelContract) {
11171117
$item = $id;
11181118
$id = $item->id;
11191119
} else {
11201120
$parameter = Str::singular(Str::afterLast($this->moduleName, '.'));
1121-
$id = (int) $this->request->route()->parameter($parameter, $id);
1121+
$id = $this->request->route()->parameter($parameter, $id);
11221122
$item = $this->repository->getById($id, $this->formWith, $this->formWithCount);
11231123
}
11241124

@@ -1128,7 +1128,7 @@ private function itemAndIdFromRequest(TwillModelContract|int $id): array
11281128
];
11291129
}
11301130

1131-
public function edit(TwillModelContract|int $id): mixed
1131+
public function edit(TwillModelContract|int|string $id): mixed
11321132
{
11331133
[$item, $id] = $this->itemAndIdFromRequest($id);
11341134

@@ -1205,7 +1205,7 @@ public function create(int $parentModuleId = null): JsonResponse|RedirectRespons
12051205
);
12061206
}
12071207

1208-
public function update(int|TwillModelContract $id, ?int $submoduleId = null): JsonResponse
1208+
public function update(int|string|TwillModelContract $id, ?int $submoduleId = null): JsonResponse
12091209
{
12101210
[$item, $id] = $this->itemAndIdFromRequest($id);
12111211

@@ -1295,7 +1295,7 @@ protected function performUpdate($item): void
12951295
}
12961296
}
12971297

1298-
public function preview(int $id): IlluminateView
1298+
public function preview(int|string $id): IlluminateView
12991299
{
13001300
if ($this->request->has('revisionId')) {
13011301
$item = $this->repository->previewForRevision($id, $this->request->get('revisionId'));
@@ -1323,7 +1323,7 @@ public function preview(int $id): IlluminateView
13231323
}
13241324

13251325
/**
1326-
* @param int $id
1326+
* @param int|string $id
13271327
* @return \Illuminate\View\View
13281328
*/
13291329
public function restoreRevision($id)
@@ -1371,7 +1371,7 @@ public function publish(): JsonResponse
13711371
{
13721372
try {
13731373
$data = $this->validate($this->request, [
1374-
'id' => 'integer|required',
1374+
'id' => 'required',
13751375
'active' => 'bool|required',
13761376
]);
13771377

@@ -1435,7 +1435,7 @@ public function bulkPublish(): JsonResponse
14351435
);
14361436
}
14371437

1438-
public function duplicate(int|TwillModelContract $id, ?int $submoduleId = null): JsonResponse
1438+
public function duplicate(int|string|TwillModelContract $id, ?int $submoduleId = null): JsonResponse
14391439
{
14401440
[$item, $id] = $this->itemAndIdFromRequest($id);
14411441

@@ -1475,7 +1475,7 @@ public function duplicate(int|TwillModelContract $id, ?int $submoduleId = null):
14751475
);
14761476
}
14771477

1478-
public function destroy(int|TwillModelContract $id, ?int $submoduleId = null): JsonResponse
1478+
public function destroy(int|string|TwillModelContract $id, ?int $submoduleId = null): JsonResponse
14791479
{
14801480
[$item, $id] = $this->itemAndIdFromRequest($id);
14811481

@@ -2188,7 +2188,7 @@ protected function orderScope(): array
21882188
return $orders + $defaultOrders;
21892189
}
21902190

2191-
protected function form(?int $id, ?TwillModelContract $item = null): array
2191+
protected function form(int|string|null $id, ?TwillModelContract $item = null): array
21922192
{
21932193
if (! $item && $id) {
21942194
$item = $this->repository->getById($id, $this->formWith, $this->formWithCount);
@@ -2258,7 +2258,7 @@ protected function form(?int $id, ?TwillModelContract $item = null): array
22582258
return $form;
22592259
}
22602260

2261-
protected function modalFormData(int|TwillModelContract $modelOrId): array
2261+
protected function modalFormData(int|string|TwillModelContract $modelOrId): array
22622262
{
22632263
if ($modelOrId instanceof TwillModelContract) {
22642264
$item = $modelOrId;
@@ -2568,7 +2568,7 @@ protected function getBackLinkSessionKey()
25682568
}
25692569

25702570
/**
2571-
* @param int $id
2571+
* @param int|string $id
25722572
* @param array $params
25732573
* @return \Illuminate\Http\RedirectResponse
25742574
*/

src/Http/Controllers/Admin/RoleController.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,14 +96,14 @@ public function index(?int $parentModuleId = null): mixed
9696
return parent::index($parentModuleId);
9797
}
9898

99-
public function edit(int|TwillModelContract $id): mixed
99+
public function edit(int|string|TwillModelContract $id): mixed
100100
{
101101
$this->authorizableOptions['edit'] = 'edit-role';
102102

103103
return parent::edit($id);
104104
}
105105

106-
public function update(int|TwillModelContract $id, ?int $submoduleId = null): JsonResponse
106+
public function update(int|string|TwillModelContract $id, ?int $submoduleId = null): JsonResponse
107107
{
108108
$this->authorizableOptions['edit'] = 'edit-role';
109109

src/Http/Controllers/Admin/UserController.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -289,14 +289,14 @@ protected function indexItemData($item)
289289
return ['edit' => $canEdit ? $this->getModuleRoute($item->id, 'edit') : null];
290290
}
291291

292-
public function edit(int|TwillModelContract $id): mixed
292+
public function edit(int|string|TwillModelContract $id): mixed
293293
{
294294
$this->authorizableOptions['edit'] = 'edit-user';
295295

296296
return parent::edit($id);
297297
}
298298

299-
public function update(int|TwillModelContract $id, ?int $submoduleId = null): JsonResponse
299+
public function update(int|string|TwillModelContract $id, ?int $submoduleId = null): JsonResponse
300300
{
301301
$this->authorizableOptions['edit'] = 'edit-user';
302302

src/Repositories/ModuleRepository.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ public function getCountByStatusSlug(string $slug, array $scope = []): int
117117
/**
118118
* @throws \Illuminate\Database\Eloquent\ModelNotFoundException
119119
*/
120-
public function getById(int $id, array $with = [], array $withCount = []): TwillModelContract
120+
public function getById(int|string $id, array $with = [], array $withCount = []): TwillModelContract
121121
{
122122
return once(function () use ($id, $with, $withCount) {
123123
return $this->model->with($with)->withCount($withCount)->findOrFail($id);

0 commit comments

Comments
 (0)