feature(core):save

This commit is contained in:
2025-10-29 10:13:34 +03:00
parent e791f08eef
commit 6d04c0ada0
12 changed files with 351 additions and 20 deletions

View File

@@ -1,6 +1,9 @@
// Package imports:
import 'dart:io';
import 'package:drift/drift.dart';
import 'package:remever/common/functions.dart';
import 'package:remever/common/typedef.dart';
import 'package:remever/database/database.dart';
import 'package:remever/database/tables.dart';
import 'package:remever/models/crud_collection_dto.dart';
@@ -56,6 +59,33 @@ class CollectionsDao extends DatabaseAccessor<AppDatabase>
}
}
/// Синхронизация коллекций
Future<void> syncCollectionFromApi(List<Json> data) async {
for (final item in data) {
try {
await db.managers.collections.create(
(o) => o(
// id: Value<String>(item['id'].toString()),
title: item['title'],
desc: item['description'],
isPublic: Value<bool>(item['is_public']),
image: Value<String?>(null),
createdAt: Value<DateTime>(DateTime.parse(item['created_at'])),
updatedAt: Value<DateTime>(DateTime.parse(item['updated_at'])),
),
);
} catch (e, st) {
logger.logError(
'Не смог добавить колекцию в методе syncCollectionFromApi',
e,
st,
);
continue;
}
}
}
/// Обновление коллекции
Future<void> updateCollection(CrudCollectionDto dto, String id) async {
try {