- need TMDB_API_KEY as environment variable - mount /cache for data persistence Signed-off-by: Peter Siegmund <developer@mars3142.org>
40 lines
1.2 KiB
Dart
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),
|
|
),
|
|
);
|
|
}
|