mirror of
https://codeberg.org/shroff/phylum.git
synced 2026-01-07 12:10:26 -06:00
[client] Fix schema migration
This commit is contained in:
@@ -24,7 +24,7 @@ class AppDatabase extends _$AppDatabase {
|
||||
AppDatabase.fromExecutor({required this.accountId, required QueryExecutor executor}) : super(executor);
|
||||
|
||||
@override
|
||||
int get schemaVersion => 4;
|
||||
int get schemaVersion => 5;
|
||||
|
||||
@override
|
||||
MigrationStrategy get migration => MigrationStrategy(
|
||||
@@ -33,17 +33,22 @@ class AppDatabase extends _$AppDatabase {
|
||||
},
|
||||
onUpgrade: (m, from, to) async {
|
||||
if (from < 2) {
|
||||
m.drop(orderedBookmarks);
|
||||
m.drop(bookmarks);
|
||||
m.create(bookmarks);
|
||||
m.create(orderedBookmarks);
|
||||
await m.drop(orderedBookmarks);
|
||||
await m.drop(bookmarks);
|
||||
await m.create(bookmarks);
|
||||
await m.create(orderedBookmarks);
|
||||
}
|
||||
if (from < 3) {
|
||||
m.drop(resources);
|
||||
m.create(resources);
|
||||
await m.drop(resources);
|
||||
await m.create(resources);
|
||||
}
|
||||
if (from < 4) {
|
||||
m.create(trashedResources);
|
||||
await m.create(trashedResources);
|
||||
}
|
||||
if (from < 5) {
|
||||
await m.drop(resources);
|
||||
await m.create(resources);
|
||||
await m.create(publinks);
|
||||
}
|
||||
},
|
||||
);
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
part of 'parsers.dart';
|
||||
|
||||
Iterable<Publink>? parsePublinks(List? data, String? root) {
|
||||
return data?.map((e) => parsePublink(e.cast(), root: root));
|
||||
Iterable<Publink> parsePublinks(List<Map> data, String? root) {
|
||||
return data.map((e) => parsePublink(e, root: root));
|
||||
}
|
||||
|
||||
Publink parsePublink(Map<String, dynamic> data, {String? root}) {
|
||||
Publink parsePublink(Map data, {String? root}) {
|
||||
return Publink(
|
||||
id: data['id'],
|
||||
created: data['created'] == null ? null : DateTime.fromMillisecondsSinceEpoch(data['created']),
|
||||
|
||||
@@ -29,8 +29,8 @@ FullResource parseFullResource(Map<String, dynamic> data) {
|
||||
permissions: data['permissions'].isEmpty ? null : data['permissions'],
|
||||
grants: data['grants'].isEmpty || data['grants'] == '{}' ? null : data['grants'],
|
||||
);
|
||||
final publinks = parsePublinks(data['publinks'] as List, r.id);
|
||||
return FullResource(resource: r, publinks: publinks!);
|
||||
final publinks = parsePublinks((data['publinks'] as List).cast<Map>(), r.id);
|
||||
return FullResource(resource: r, publinks: publinks);
|
||||
}
|
||||
|
||||
ResourcesCompanion parseResourceAncestor(Map<String, dynamic> data) {
|
||||
|
||||
@@ -142,7 +142,7 @@ class ResourceDetailsRow extends StatelessWidget {
|
||||
stream: context.read<PhylumAccount>().db.countPublinks(resource.id).watchSingle(),
|
||||
initialData: 0,
|
||||
builder: (context, snapshot) {
|
||||
if (snapshot.data! > 0) {
|
||||
if ((snapshot.data ?? 0) > 0) {
|
||||
return const Padding(
|
||||
padding: EdgeInsets.only(right: 6.0),
|
||||
child: Icon(Icons.public, size: _subtitleIconSize),
|
||||
|
||||
@@ -108,7 +108,7 @@ class ResourceInfoView extends StatelessWidget {
|
||||
stream: context.read<PhylumAccount>().db.selectPublinks(resource.id).map((l) => l.id).watch(),
|
||||
initialData: const [],
|
||||
builder: (context, snapshot) {
|
||||
final publinks = snapshot.data!;
|
||||
final publinks = snapshot.data ?? const [];
|
||||
return ExpansionTile(
|
||||
leading: const Icon(Icons.public),
|
||||
title: const Text('Public Shares'),
|
||||
|
||||
Reference in New Issue
Block a user