Files
cinema-display/server/cinema/lib/common/dio_module.dart
Peter Siegmund 4ce471599b load trending images from tmdb at startup
- need TMDB_API_KEY as environment variable
- mount /cache for data persistence

Signed-off-by: Peter Siegmund <developer@mars3142.org>
2025-11-17 23:21:01 +01:00

40 lines
1.2 KiB
Dart

import 'dart:io';
import 'package:cinema/feature/version/version.dart';
import 'package:dio/dio.dart';
import 'package:injectable/injectable.dart';
const dioAPI = 'api';
const dioIMAGES = 'images';
@module
abstract class DioModule {
@Named(dioAPI)
@lazySingleton
Dio get apiDio =>
Dio( // Der Getter selbst wird annotiert und gibt die Instanz zurück
BaseOptions(
baseUrl: 'https://api.themoviedb.org/3',
connectTimeout: const Duration(seconds: 10),
receiveTimeout: const Duration(seconds: 10),
headers: {
'Authorization': 'Bearer ${Platform.environment['TMDB_API_KEY']}',
'Content-Type': 'application/json',
'Accept': 'application/json',
'User-Agent': 'Cinema Service (v${Version().appVersion})'
},
),
);
@Named(dioIMAGES)
@lazySingleton
Dio get imagesDio =>
Dio( // Der Getter selbst wird annotiert und gibt die Instanz zurück
BaseOptions(
baseUrl: 'https://image.tmdb.org/t/p/original',
connectTimeout: const Duration(seconds: 10),
receiveTimeout: const Duration(seconds: 10),
),
);
}