54 lines
1.5 KiB
Dart
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);
|
|
}
|