import 'package:freezed_annotation/freezed_annotation.dart'; part 'file_pool.freezed.dart'; part 'file_pool.g.dart'; @freezed sealed class SnFilePool with _$SnFilePool { const factory SnFilePool({ required String id, required String name, String? description, Map? storageConfig, Map? billingConfig, Map? policyConfig, bool? isHidden, String? accountId, String? resourceIdentifier, DateTime? createdAt, DateTime? updatedAt, DateTime? deletedAt, }) = _SnFilePool; factory SnFilePool.fromJson(Map json) => _$SnFilePoolFromJson(json); } extension SnFilePoolList on SnFilePool { static List listFromResponse(dynamic data) { if (data is List) { return data .whereType>() .map(SnFilePool.fromJson) .toList(); } throw ArgumentError('Unexpected response format: $data'); } }