fix(my-agents): scope instance list to current user

GET /instances returned all tenant instances for admin accounts,
causing cross-user agent visibility. Changed to
GET /instances/user/:userId so each user only sees their own agents.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
hailin 2026-03-09 23:44:09 -07:00
parent c9ee93fffd
commit 0e4159c2fd
1 changed files with 4 additions and 1 deletions

View File

@ -13,6 +13,7 @@ import '../../../../core/theme/app_colors.dart';
import '../../../../core/utils/date_formatter.dart'; import '../../../../core/utils/date_formatter.dart';
import '../../../../core/widgets/error_view.dart'; import '../../../../core/widgets/error_view.dart';
import '../../../agent_instance_chat/presentation/pages/agent_instance_chat_page.dart'; import '../../../agent_instance_chat/presentation/pages/agent_instance_chat_page.dart';
import '../../../auth/data/providers/auth_provider.dart';
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// Model // Model
@ -66,8 +67,10 @@ class AgentInstance {
final myInstancesProvider = FutureProvider<List<AgentInstance>>((ref) async { final myInstancesProvider = FutureProvider<List<AgentInstance>>((ref) async {
final dio = ref.watch(dioClientProvider); final dio = ref.watch(dioClientProvider);
final userId = ref.watch(authStateProvider).user?.id;
if (userId == null) return [];
try { try {
final res = await dio.get(ApiEndpoints.agentInstances); final res = await dio.get('${ApiEndpoints.agentInstances}/user/$userId');
final data = res.data; final data = res.data;
if (data is List) { if (data is List) {
return data return data