Add file uploads for photos and family icons

This commit is contained in:
kihong.kim
2026-01-24 22:31:38 +09:00
parent 29881aa442
commit 9e6a265a7a
15 changed files with 761 additions and 133 deletions

View File

@@ -1,3 +1,5 @@
import "dart:typed_data";
import "../config/api_config.dart";
import "../models/family_member.dart";
import "api_client.dart";
@@ -23,6 +25,7 @@ class FamilyService {
final created = FamilyMember(
id: "family-${DateTime.now().millisecondsSinceEpoch}",
name: member.name,
iconUrl: member.iconUrl,
emoji: member.emoji,
color: member.color,
order: member.order,
@@ -51,6 +54,22 @@ class FamilyService {
return FamilyMember.fromJson(data);
}
Future<String> uploadFamilyIcon({
required Uint8List bytes,
required String filename,
}) async {
if (ApiConfig.useMockData) {
return "mock://$filename";
}
final data = await _client.postMultipart(
"${ApiConfig.family}/upload-icon",
fieldName: "file",
bytes: bytes,
filename: filename,
);
return data["url"] as String? ?? "";
}
Future<void> deleteFamilyMember(String id) async {
if (ApiConfig.useMockData) {
MockDataStore.familyMembers.removeWhere((item) => item.id == id);