first commit structure of app
This commit is contained in:
@@ -0,0 +1,91 @@
|
||||
import 'package:get/get.dart';
|
||||
import 'package:get_storage/get_storage.dart';
|
||||
|
||||
class GetStorageService extends GetxService {
|
||||
final GetStorage _box = GetStorage();
|
||||
|
||||
// CREATE / UPDATE
|
||||
Future<void> save<T>(String key, T value) async {
|
||||
await _box.write(key, value);
|
||||
}
|
||||
|
||||
// READ
|
||||
T? get<T>(String key) {
|
||||
return _box.read<T>(key);
|
||||
}
|
||||
|
||||
// READ mit Defaultwert
|
||||
T getOrDefault<T>(String key, T defaultValue) {
|
||||
return get<T>(key) ?? defaultValue;
|
||||
}
|
||||
|
||||
// DELETE
|
||||
Future<void> delete(String key) async {
|
||||
await _box.remove(key);
|
||||
}
|
||||
|
||||
// EXISTS
|
||||
bool exists(String key) {
|
||||
return _box.hasData(key);
|
||||
}
|
||||
|
||||
// CLEAR ALL
|
||||
Future<void> clear() async {
|
||||
await _box.erase();
|
||||
}
|
||||
|
||||
// READ LIST
|
||||
List<T> getList<T>(String key) {
|
||||
final data = _box.read<List<dynamic>>(key);
|
||||
return data?.cast<T>() ?? <T>[];
|
||||
}
|
||||
|
||||
// SAVE LIST
|
||||
Future<void> saveList<T>(String key, List<T> items) async {
|
||||
await _box.write(key, items);
|
||||
}
|
||||
|
||||
// ADD ITEM
|
||||
Future<void> addItem<T>(String key, T item) async {
|
||||
final items = getList<T>(key);
|
||||
items.add(item);
|
||||
await saveList<T>(key, items);
|
||||
}
|
||||
|
||||
// UPDATE ITEM
|
||||
Future<void> updateItem<T>(String key, int index, T item) async {
|
||||
final items = getList<T>(key);
|
||||
|
||||
if (index < 0 || index >= items.length) {
|
||||
throw RangeError.index(index, items);
|
||||
}
|
||||
|
||||
items[index] = item;
|
||||
await saveList<T>(key, items);
|
||||
}
|
||||
|
||||
// DELETE ITEM
|
||||
Future<void> deleteItem<T>(String key, int index) async {
|
||||
final items = getList<T>(key);
|
||||
|
||||
if (index < 0 || index >= items.length) {
|
||||
throw RangeError.index(index, items);
|
||||
}
|
||||
|
||||
items.removeAt(index);
|
||||
await saveList<T>(key, items);
|
||||
}
|
||||
|
||||
Future<void> saveModelList(
|
||||
String key,
|
||||
List<Map<String, dynamic>> items,
|
||||
) async {
|
||||
await _box.write(key, items);
|
||||
}
|
||||
|
||||
List<Map<String, dynamic>> getModelList(String key) {
|
||||
final data = _box.read<List<dynamic>>(key) ?? [];
|
||||
|
||||
return data.map((item) => Map<String, dynamic>.from(item as Map)).toList();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user