Rename all OPDS-prefixed models to generic names (Server, Feed, Entry, Link, StreamLink), expand the ServerSoftware interface to cover all server interactions, and implement a full Kavita REST API client that replaces the OPDS delegation. - Rename OPDS* models to generic names across ~60 files - Add database migrations 13 (opds_id → entry_id) and 14 (unify credentials) - Create OPDSServerSoftware wrapping existing OPDS services - Create KavitaApiClient for direct Kavita REST API calls - Create KavitaFeedMapper to convert Kavita JSON to Feed/Entry models - Rewrite KavitaServerSoftware to use native API (no OPDS delegation) - Unify server credentials (remove softwareUsername/softwarePassword) - Simplify add/edit server UI to single auth section - Add test connection button to server add/edit screens - Add progress indicator to PublicationCard using local and server data - Eliminate softwareType branching in reader screens - Add EntryProgress and fetchEntryProgress to ServerSoftware interface - Fix Entry.acquisitionLink crash on empty links - Add 59 new tests covering models, services, and providers
44 lines
1.6 KiB
Dart
44 lines
1.6 KiB
Dart
// GENERATED CODE - DO NOT MODIFY BY HAND
|
|
|
|
part of 'feed.dart';
|
|
|
|
// **************************************************************************
|
|
// JsonSerializableGenerator
|
|
// **************************************************************************
|
|
|
|
_$FeedImpl _$$FeedImplFromJson(Map<String, dynamic> json) => _$FeedImpl(
|
|
id: json['id'] as String,
|
|
title: json['title'] as String,
|
|
subtitle: json['subtitle'] as String?,
|
|
icon: json['icon'] as String?,
|
|
updated: json['updated'] == null
|
|
? null
|
|
: DateTime.parse(json['updated'] as String),
|
|
author: json['author'] as String?,
|
|
links: (json['links'] as List<dynamic>?)
|
|
?.map((e) => Link.fromJson(e as Map<String, dynamic>))
|
|
.toList() ??
|
|
const [],
|
|
entries: (json['entries'] as List<dynamic>?)
|
|
?.map((e) => Entry.fromJson(e as Map<String, dynamic>))
|
|
.toList() ??
|
|
const [],
|
|
totalResults: (json['totalResults'] as num?)?.toInt(),
|
|
itemsPerPage: (json['itemsPerPage'] as num?)?.toInt(),
|
|
startIndex: (json['startIndex'] as num?)?.toInt(),
|
|
);
|
|
|
|
Map<String, dynamic> _$$FeedImplToJson(_$FeedImpl instance) =>
|
|
<String, dynamic>{
|
|
'id': instance.id,
|
|
'title': instance.title,
|
|
'subtitle': instance.subtitle,
|
|
'icon': instance.icon,
|
|
'updated': instance.updated?.toIso8601String(),
|
|
'author': instance.author,
|
|
'links': instance.links,
|
|
'entries': instance.entries,
|
|
'totalResults': instance.totalResults,
|
|
'itemsPerPage': instance.itemsPerPage,
|
|
'startIndex': instance.startIndex,
|
|
};
|