mirror of
https://github.com/GopeedLab/gopeed.git
synced 2026-11-09 10:00:27 +00:00
feat(tasks): group extension folder downloads (#1594)
This commit is contained in:
1 parent
fc0a1e0ef9
commit
1e36599d52
84 files changed
+6690
-881
No files matched your search
@@ -10,7 +10,10 @@ class CreateTaskBatch {
|
||||
List<CreateTaskBatchItem>? reqs;
|
||||
Options? opts;
|
||||
|
||||
CreateTaskBatch({this.reqs, this.opts});
|
||||
bool group;
|
||||
String groupName;
|
||||
|
||||
CreateTaskBatch({this.reqs, this.opts, this.group = false, this.groupName = ''});
|
||||
|
||||
factory CreateTaskBatch.fromJson(Map<String, dynamic> json) => _$CreateTaskBatchFromJson(json);
|
||||
|
||||
@@ -19,11 +22,23 @@ class CreateTaskBatch {
|
||||
|
||||
@JsonSerializable()
|
||||
class CreateTaskBatchItem {
|
||||
String? rid;
|
||||
Request? req;
|
||||
Options? opts;
|
||||
|
||||
CreateTaskBatchItem({this.req, this.opts});
|
||||
CreateTaskBatchItem({this.rid, this.req, this.opts});
|
||||
|
||||
factory CreateTaskBatchItem.fromJson(Map<String, dynamic> json) => _$CreateTaskBatchItemFromJson(json);
|
||||
Map<String, dynamic> toJson() => _$CreateTaskBatchItemToJson(this);
|
||||
}
|
||||
|
||||
@JsonSerializable()
|
||||
class CreateTaskBatchResult {
|
||||
final List<String> taskIds;
|
||||
final String? parentId;
|
||||
|
||||
CreateTaskBatchResult({required this.taskIds, this.parentId});
|
||||
|
||||
factory CreateTaskBatchResult.fromJson(Map<String, dynamic> json) => _$CreateTaskBatchResultFromJson(json);
|
||||
Map<String, dynamic> toJson() => _$CreateTaskBatchResultToJson(this);
|
||||
}
|
||||
@@ -6,22 +6,55 @@ part of 'create_task_batch.dart';
|
||||
// JsonSerializableGenerator
|
||||
// **************************************************************************
|
||||
|
||||
CreateTaskBatch _$CreateTaskBatchFromJson(Map<String, dynamic> json) => CreateTaskBatch(
|
||||
reqs: (json['reqs'] as List<dynamic>?)?.map((e) => CreateTaskBatchItem.fromJson(e as Map<String, dynamic>)).toList(),
|
||||
opts: json['opts'] == null ? null : Options.fromJson(json['opts'] as Map<String, dynamic>),
|
||||
);
|
||||
CreateTaskBatch _$CreateTaskBatchFromJson(Map<String, dynamic> json) =>
|
||||
CreateTaskBatch(
|
||||
reqs: (json['reqs'] as List<dynamic>?)
|
||||
?.map((e) => CreateTaskBatchItem.fromJson(e as Map<String, dynamic>))
|
||||
.toList(),
|
||||
opts: json['opts'] == null
|
||||
? null
|
||||
: Options.fromJson(json['opts'] as Map<String, dynamic>),
|
||||
group: json['group'] as bool? ?? false,
|
||||
groupName: json['groupName'] as String? ?? '',
|
||||
);
|
||||
|
||||
Map<String, dynamic> _$CreateTaskBatchToJson(CreateTaskBatch instance) => <String, dynamic>{
|
||||
'reqs': ?instance.reqs?.map((e) => e.toJson()).toList(),
|
||||
'opts': ?instance.opts?.toJson(),
|
||||
};
|
||||
Map<String, dynamic> _$CreateTaskBatchToJson(CreateTaskBatch instance) =>
|
||||
<String, dynamic>{
|
||||
'reqs': ?instance.reqs?.map((e) => e.toJson()).toList(),
|
||||
'opts': ?instance.opts?.toJson(),
|
||||
'group': instance.group,
|
||||
'groupName': instance.groupName,
|
||||
};
|
||||
|
||||
CreateTaskBatchItem _$CreateTaskBatchItemFromJson(Map<String, dynamic> json) => CreateTaskBatchItem(
|
||||
req: json['req'] == null ? null : Request.fromJson(json['req'] as Map<String, dynamic>),
|
||||
opts: json['opts'] == null ? null : Options.fromJson(json['opts'] as Map<String, dynamic>),
|
||||
);
|
||||
CreateTaskBatchItem _$CreateTaskBatchItemFromJson(Map<String, dynamic> json) =>
|
||||
CreateTaskBatchItem(
|
||||
rid: json['rid'] as String?,
|
||||
req: json['req'] == null
|
||||
? null
|
||||
: Request.fromJson(json['req'] as Map<String, dynamic>),
|
||||
opts: json['opts'] == null
|
||||
? null
|
||||
: Options.fromJson(json['opts'] as Map<String, dynamic>),
|
||||
);
|
||||
|
||||
Map<String, dynamic> _$CreateTaskBatchItemToJson(CreateTaskBatchItem instance) => <String, dynamic>{
|
||||
Map<String, dynamic> _$CreateTaskBatchItemToJson(
|
||||
CreateTaskBatchItem instance,
|
||||
) => <String, dynamic>{
|
||||
'rid': ?instance.rid,
|
||||
'req': ?instance.req,
|
||||
'opts': ?instance.opts,
|
||||
};
|
||||
|
||||
CreateTaskBatchResult _$CreateTaskBatchResultFromJson(
|
||||
Map<String, dynamic> json,
|
||||
) => CreateTaskBatchResult(
|
||||
taskIds: (json['taskIds'] as List<dynamic>).map((e) => e as String).toList(),
|
||||
parentId: json['parentId'] as String?,
|
||||
);
|
||||
|
||||
Map<String, dynamic> _$CreateTaskBatchResultToJson(
|
||||
CreateTaskBatchResult instance,
|
||||
) => <String, dynamic>{
|
||||
'taskIds': instance.taskIds,
|
||||
'parentId': ?instance.parentId,
|
||||
};
|
||||
@@ -28,7 +28,10 @@ enum ExtractStatus {
|
||||
class Task {
|
||||
String id;
|
||||
String name;
|
||||
@JsonKey(unknownEnumValue: JsonKey.nullForUndefinedEnumValue)
|
||||
Protocol? protocol;
|
||||
TaskGroup? group;
|
||||
String parentId;
|
||||
Meta meta;
|
||||
Status status;
|
||||
bool uploading;
|
||||
@@ -47,6 +50,8 @@ class Task {
|
||||
required this.createdAt,
|
||||
required this.updatedAt,
|
||||
this.doneAt,
|
||||
this.group,
|
||||
this.parentId = '',
|
||||
});
|
||||
|
||||
factory Task.fromJson(Map<String, dynamic> json) => _$TaskFromJson(json);
|
||||
@@ -54,6 +59,18 @@ class Task {
|
||||
Map<String, dynamic> toJson() => _$TaskToJson(this);
|
||||
}
|
||||
|
||||
@JsonSerializable()
|
||||
class TaskGroup {
|
||||
final String id;
|
||||
final String name;
|
||||
final String path;
|
||||
final DateTime createdAt;
|
||||
|
||||
TaskGroup({required this.id, required this.name, required this.path, required this.createdAt});
|
||||
factory TaskGroup.fromJson(Map<String, dynamic> json) => _$TaskGroupFromJson(json);
|
||||
Map<String, dynamic> toJson() => _$TaskGroupToJson(this);
|
||||
}
|
||||
|
||||
@JsonSerializable()
|
||||
class Progress {
|
||||
int used;
|
||||
|
||||
@@ -16,12 +16,16 @@ Task _$TaskFromJson(Map<String, dynamic> json) => Task(
|
||||
createdAt: DateTime.parse(json['createdAt'] as String),
|
||||
updatedAt: DateTime.parse(json['updatedAt'] as String),
|
||||
doneAt: json['doneAt'] == null ? null : DateTime.parse(json['doneAt'] as String),
|
||||
)..protocol = $enumDecodeNullable(_$ProtocolEnumMap, json['protocol']);
|
||||
group: json['group'] == null ? null : TaskGroup.fromJson(json['group'] as Map<String, dynamic>),
|
||||
parentId: json['parentId'] as String? ?? '',
|
||||
)..protocol = $enumDecodeNullable(_$ProtocolEnumMap, json['protocol'], unknownValue: JsonKey.nullForUndefinedEnumValue);
|
||||
|
||||
Map<String, dynamic> _$TaskToJson(Task instance) => <String, dynamic>{
|
||||
'id': instance.id,
|
||||
'name': instance.name,
|
||||
'protocol': ?_$ProtocolEnumMap[instance.protocol],
|
||||
'group': ?instance.group?.toJson(),
|
||||
'parentId': instance.parentId,
|
||||
'meta': instance.meta.toJson(),
|
||||
'status': _$StatusEnumMap[instance.status]!,
|
||||
'uploading': instance.uploading,
|
||||
@@ -48,6 +52,20 @@ const _$ProtocolEnumMap = {
|
||||
Protocol.ftp: 'ftp',
|
||||
};
|
||||
|
||||
TaskGroup _$TaskGroupFromJson(Map<String, dynamic> json) => TaskGroup(
|
||||
id: json['id'] as String,
|
||||
name: json['name'] as String,
|
||||
path: json['path'] as String,
|
||||
createdAt: DateTime.parse(json['createdAt'] as String),
|
||||
);
|
||||
|
||||
Map<String, dynamic> _$TaskGroupToJson(TaskGroup instance) => <String, dynamic>{
|
||||
'id': instance.id,
|
||||
'name': instance.name,
|
||||
'path': instance.path,
|
||||
'createdAt': instance.createdAt.toIso8601String(),
|
||||
};
|
||||
|
||||
Progress _$ProgressFromJson(Map<String, dynamic> json) => Progress(
|
||||
used: (json['used'] as num).toInt(),
|
||||
speed: (json['speed'] as num).toInt(),
|
||||
|
||||
Reference in new issue
Block a user