speed up series update

This commit is contained in:
2025-11-10 15:05:15 +01:00
parent 0066143712
commit d3a2618dd9
7 changed files with 616 additions and 167 deletions
+33
View File
@@ -185,6 +185,39 @@ class BackendApi {
return (map['id'] as num).toInt();
}
Future<int> upsertEpisodesBulk(int seasonId, List<Map<String, dynamic>> episodes) async {
final map = await _post({
'action': 'upsert_episodes_bulk',
'season_id': seasonId,
'episodes': episodes,
});
return (map['count'] as num?)?.toInt() ?? 0;
}
Future<Map<int, int>> upsertSeasonsBulk(int showId, List<Map<String, dynamic>> seasons) async {
final map = await _post({
'action': 'upsert_seasons_bulk',
'show_id': showId,
'seasons': seasons,
});
final m = <int,int>{};
final any = map['map'];
if (any is Map) {
for (final e in any.entries) {
final k = int.tryParse(e.key.toString());
final v = (e.value as num?)?.toInt();
if (k != null && v != null) m[k] = v;
}
}
return m;
}
Future<Map<String, dynamic>> getCapabilities() async {
final map = await _post({'action': 'get_capabilities'});
final caps = map['capabilities'];
return caps is Map<String, dynamic> ? caps : (caps as Map).cast<String, dynamic>();
}
Future<int?> getShowDbIdByTmdbId(int tmdbId) async {
final map = await _post({'action': 'get_show_by_tmdb', 'tmdb_id': tmdbId});
final v = map['id'];