feat: api to add torrent hash to blacklist

This commit is contained in:
Simon Ding
2024-10-10 00:49:32 +08:00
parent 7e4d907ef6
commit 5daeca0bd9
28 changed files with 1122 additions and 1137 deletions

View File

@@ -138,7 +138,7 @@ class _ActivityPageState extends ConsumerState<ActivityPage>
trailing: selectedTab == 0
? IconButton(
tooltip: "删除任务",
onPressed: () => onDelete()(ac.id!.toString()),
onPressed: () => onDelete()(ac.id!),
icon: const Icon(Icons.delete))
: const Text("-"),
),
@@ -155,7 +155,7 @@ class _ActivityPageState extends ConsumerState<ActivityPage>
);
}
Function(String) onDelete() {
Function(int) onDelete() {
return (id) {
final f = ref
.read(activitiesDataProvider("active").notifier)

View File

@@ -30,6 +30,7 @@ class APIs {
static final logoutUrl = "$_baseUrl/api/v1/setting/logout";
static final loginSettingUrl = "$_baseUrl/api/v1/setting/auth";
static final activityUrl = "$_baseUrl/api/v1/activity/";
static final activityDeleteUrl = "$_baseUrl/api/v1/activity/delete";
static final activityMediaUrl = "$_baseUrl/api/v1/activity/media/";
static final imagesUrl = "$_baseUrl/api/v1/img";
static final logsBaseUrl = "$_baseUrl/api/v1/logs/";

View File

@@ -4,9 +4,8 @@ import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:ui/providers/APIs.dart';
import 'package:ui/providers/server_response.dart';
var activitiesDataProvider =
AsyncNotifierProvider.autoDispose.family<ActivityData, List<Activity>, String>(
ActivityData.new);
var activitiesDataProvider = AsyncNotifierProvider.autoDispose
.family<ActivityData, List<Activity>, String>(ActivityData.new);
var mediaHistoryDataProvider = FutureProvider.autoDispose.family(
(ref, arg) async {
@@ -24,7 +23,8 @@ var mediaHistoryDataProvider = FutureProvider.autoDispose.family(
},
);
class ActivityData extends AutoDisposeFamilyAsyncNotifier<List<Activity>, String> {
class ActivityData
extends AutoDisposeFamilyAsyncNotifier<List<Activity>, String> {
@override
FutureOr<List<Activity>> build(String arg) async {
if (arg == "active") {
@@ -47,9 +47,12 @@ class ActivityData extends AutoDisposeFamilyAsyncNotifier<List<Activity>, String
return activities;
}
Future<void> deleteActivity(String id) async {
final dio = await APIs.getDio();
var resp = await dio.delete("${APIs.activityUrl}$id");
Future<void> deleteActivity(int id) async {
final dio = APIs.getDio();
var resp = await dio.post(APIs.activityDeleteUrl, data: {
"id": id,
"add_2_blacklist": false,
});
final sp = ServerResponse.fromJson(resp.data);
if (sp.code != 0) {
throw sp.message;