add pool fetching service and provider

- define FilePool model
- implement PoolService with /drive/pools endpoint
- add Riverpod providers (poolServiceProvider, poolsProvider)

Signed-off-by: Texas0295 <kimura@texas0295.top>
This commit is contained in:
Texas0295
2025-09-21 14:54:16 +08:00
parent 269a64cabb
commit b638343f02
3 changed files with 69 additions and 0 deletions

36
lib/models/file_pool.dart Normal file
View File

@@ -0,0 +1,36 @@
class FilePool {
final String id;
final String name;
final String? description;
final Map<String, dynamic> storageConfig;
final Map<String, dynamic> billingConfig;
final Map<String, dynamic> policyConfig;
final bool isHidden;
FilePool({
required this.id,
required this.name,
this.description,
required this.storageConfig,
required this.billingConfig,
required this.policyConfig,
required this.isHidden,
});
factory FilePool.fromJson(Map<String, dynamic> json) {
return FilePool(
id: json['id'] as String,
name: json['name'] as String,
description: json['description'] as String?,
storageConfig: json['storage_config'] as Map<String, dynamic>,
billingConfig: json['billing_config'] as Map<String, dynamic>,
policyConfig: json['policy_config'] as Map<String, dynamic>,
isHidden: json['is_hidden'] as bool,
);
}
static List<FilePool> listFromResponse(dynamic data) {
final parsed = data as List<dynamic>;
return parsed.map((e) => FilePool.fromJson(e)).toList();
}
}