Billing upgrade/downgrade, inviti in app e diretta YouTube da mobile.
Upgrade Stripe con addebito immediato; downgrade programmato a fine periodo. UX billing più sobria con box info; icone piani. API inviti e OAuth YouTube per staff trasmissione; deep link join; scelta partita programmata o nuova. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -3,6 +3,7 @@ import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
|
||||
import '../core/config.dart';
|
||||
import '../providers/auth_provider.dart';
|
||||
import 'models/invite_preview.dart';
|
||||
import 'models/match.dart';
|
||||
import 'models/recording_item.dart';
|
||||
import 'models/stream_session.dart';
|
||||
@@ -86,6 +87,24 @@ class ApiClient {
|
||||
.toList();
|
||||
}
|
||||
|
||||
Future<InvitePreview> fetchInvitePreview(String token) async {
|
||||
final response = await _dio.get<Map<String, dynamic>>('/invitations/$token');
|
||||
return InvitePreview.fromJson(response.data!);
|
||||
}
|
||||
|
||||
Future<String> acceptInvitation(String token) async {
|
||||
final response = await _dio.post<Map<String, dynamic>>('/invitations/$token/accept');
|
||||
return response.data!['message'] as String? ?? 'Invito accettato';
|
||||
}
|
||||
|
||||
Future<String> youtubeAuthorizeUrl(String teamId, {bool returnApp = true}) async {
|
||||
final response = await _dio.get<Map<String, dynamic>>(
|
||||
'/teams/$teamId/youtube/authorize',
|
||||
queryParameters: returnApp ? {'return_app': '1'} : null,
|
||||
);
|
||||
return response.data!['authorization_url'] as String;
|
||||
}
|
||||
|
||||
Future<List<RecordingItem>> fetchRecordings(String teamId) async {
|
||||
final response = await _dio.get<List<dynamic>>('/teams/$teamId/recordings');
|
||||
return response.data!
|
||||
|
||||
Reference in New Issue
Block a user