Skip to content

Commit 25f110c

Browse files
committed
fix: subtitle default and forced flags are not exposed
1 parent 7ca0150 commit 25f110c

6 files changed

Lines changed: 16 additions & 3 deletions

File tree

app/Http/Controllers/Api/V1/FolderController.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use App\Http\Resources\FolderResource;
88
use App\Models\Category;
99
use App\Models\Folder;
10+
use App\Models\Subtitle;
1011
use App\Traits\HttpResponses;
1112
use Illuminate\Support\Facades\Auth;
1213

@@ -46,7 +47,7 @@ public function getFrom(FolderCollectionRequest $request) {
4647
*/
4748
public function show(Folder $folder) {
4849
$folder->load(['videos.metadata.videoTags.tag', 'series.folderTags.tag', 'videos.metadata.subtitles' => function ($q) {
49-
$q->select('id', 'track_id', 'metadata_uuid', 'language', 'codec');
50+
$q->select(Subtitle::getVisibleFields());
5051
}, ]);
5152

5253
return new FolderResource($folder);

app/Http/Controllers/Api/V1/VideoController.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
use App\Http\Requests\VideoCollectionRequest;
77
use App\Http\Resources\VideoResource;
88
use App\Models\Record;
9+
use App\Models\Subtitle;
910
use App\Models\Video;
1011
use App\Traits\HttpResponses;
1112
use Illuminate\Http\Request;
@@ -47,7 +48,7 @@ public function watch(Request $request, Video $video) {
4748
return $this->success(new VideoResource($video->load([
4849
'metadata.videoTags.tag',
4950
'metadata.subtitles' => function ($q) {
50-
$q->select('id', 'track_id', 'metadata_uuid', 'language', 'codec');
51+
$q->select(Subtitle::getVisibleFields());
5152
},
5253
])));
5354
}

app/Http/Controllers/DirectoryController.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
use App\Http\Resources\FolderResource;
66
use App\Models\Category;
77
use App\Models\Folder;
8+
use App\Models\Subtitle;
89
use App\Services\PathResolverService;
910
use App\Services\TaskService;
1011
use App\Traits\HttpResponses;
@@ -100,7 +101,7 @@ private function loadFolderData(array $data, FolderResource $folder): array {
100101
'series.folderTags.tag',
101102
'videos.metadata.videoTags.tag',
102103
'videos.metadata.subtitles' => function ($q) {
103-
$q->select('id', 'track_id', 'metadata_uuid', 'language', 'codec');
104+
$q->select(Subtitle::getVisibleFields());
104105
},
105106
]);
106107

app/Http/Resources/SubtitleResource.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ public function toArray(Request $request): array {
1818
'metadata_uuid' => $this->metadata_uuid,
1919
'language' => $this->language,
2020
'codec' => $this->codec,
21+
'is_default' => $this->is_default,
22+
'is_forced' => $this->is_forced,
2123
];
2224
}
2325
}

app/Models/Subtitle.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ class Subtitle extends Model {
1616
'codec',
1717
'format',
1818
'path',
19+
'is_default',
20+
'is_forced',
1921
];
2022

2123
public function metadata(): BelongsTo {
@@ -29,4 +31,8 @@ public function getDirectoryPath(): string {
2931
public function getFilePath(string $format): string {
3032
return SubtitlePath::file($this->metadata_uuid, $this->track_id, $format);
3133
}
34+
35+
public static function getVisibleFields(): array {
36+
return ['id', 'track_id', 'metadata_uuid', 'language', 'codec', 'is_default', 'is_forced'];
37+
}
3238
}

resources/js/types/resources.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,8 @@ export interface SubtitleResource {
146146
metadata_uuid: string;
147147
language?: string;
148148
codec?: string;
149+
is_default: boolean;
150+
is_forced: boolean;
149151
}
150152

151153
export interface VideoTagResource {

0 commit comments

Comments
 (0)