update position table, set selected table

This commit is contained in:
efrilm
2025-10-26 18:06:09 +07:00
parent 655902a659
commit 634b331716
15 changed files with 1195 additions and 61 deletions
@@ -1,6 +1,7 @@
import 'dart:developer';
import 'package:data_channel/data_channel.dart';
import 'package:flutter/widgets.dart';
import 'package:injectable/injectable.dart';
import '../../../common/api/api_client.dart';
@@ -42,4 +43,32 @@ class TableRemoteDataProvider {
return DC.error(TableFailure.serverError(e));
}
}
Future<DC<TableFailure, TableDto>> updatePosition({
required String id,
required Offset position,
}) async {
try {
final response = await _apiClient.put(
'${ApiPath.tables}/$id',
data: {
'position_x': position.dx.round(),
'position_y': position.dy.round(),
},
headers: getAuthorizationHeader(),
);
if (response.data['success'] == false) {
return DC.error(TableFailure.unexpectedError());
}
final table = TableDto.fromJson(
response.data['data'] as Map<String, dynamic>,
);
return DC.data(table);
} on ApiFailure catch (e, s) {
log('updatePositionTableError', name: _logName, error: e, stackTrace: s);
return DC.error(TableFailure.serverError(e));
}
}
}