srs/lib/core/api.dart
Aswin Biju 125f4d3e86
All checks were successful
deploy / deploy (push) Successful in 5m18s
feat: loading skeletons, pull-to-refresh and reload bar on list screens
2026-11-05 08:04:55 +05:30

54 lines
1.5 KiB
Dart

import 'models.dart';
class ApiException implements Exception {
ApiException(this.message);
final String message;
@override
String toString() => message;
}
abstract class Api {
DateTime get now;
Stream<void> get sessionEnded;
Future<DateTime> latestDrawDate();
Future<AppUser> login(String username, String password);
Future<AppUser?> restore();
void logout();
Future<List<DrawInfo>> month(int year, int month);
Future<DrawResults> results(DateTime date);
Future<List<ShopDay>> shops(DateTime date);
Future<ShopDetail> shopDetail(int shopId, DateTime date);
Future<List<Shop>> activeShops();
Future<Shop> createShop(String name, String code);
Future<void> renameShop(int shopId, String name);
Future<void> setShopActive(int shopId, bool active);
Future<List<Order>> orders(DateTime date);
Future<Order> order(int orderId);
Future<void> setLineQty(int orderId, String ending, int qty);
Future<void> removeLine(int orderId, String ending);
Future<void> cancelOrder(int orderId);
Future<List<AppUser>> users();
Future<AppUser> user(int id);
Future<AppUser> createUser({
required String username,
String? phone,
required String password,
required List<int> shopIds,
});
Future<void> updateUser(
int id, {
String? username,
String? phone,
bool clearPhone = false,
String? password,
bool? active,
bool? sendResults,
});
Future<void> setUserShops(int id, List<int> shopIds);
Future<void> deleteUser(int id);
}