mirror of
https://github.com/kodjodevf/mangayomi.git
synced 2026-01-11 18:30:34 +00:00
added mihon backup support
This commit is contained in:
parent
cc80ee3608
commit
5f33769bc1
51 changed files with 2585 additions and 60 deletions
|
|
@ -0,0 +1,243 @@
|
|||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: BackupAnime.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:core' as $core;
|
||||
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
import 'BackupEpisode.pb.dart' as $0;
|
||||
import 'BackupHistory.pb.dart' as $1;
|
||||
|
||||
class BackupAnime extends $pb.GeneratedMessage {
|
||||
factory BackupAnime({
|
||||
$core.int? source,
|
||||
$core.String? url,
|
||||
$core.String? title,
|
||||
$core.String? artist,
|
||||
$core.String? author,
|
||||
$core.String? description,
|
||||
$core.Iterable<$core.String>? genre,
|
||||
$core.int? status,
|
||||
$core.String? thumbnailUrl,
|
||||
$core.int? dateAdded,
|
||||
$core.Iterable<$0.BackupEpisode>? episodes,
|
||||
$core.Iterable<$core.int>? categories,
|
||||
$core.int? viewerFlags,
|
||||
$core.Iterable<$1.BackupHistory>? history,
|
||||
$core.int? lastModifiedAt,
|
||||
}) {
|
||||
final $result = create();
|
||||
if (source != null) {
|
||||
$result.source = source;
|
||||
}
|
||||
if (url != null) {
|
||||
$result.url = url;
|
||||
}
|
||||
if (title != null) {
|
||||
$result.title = title;
|
||||
}
|
||||
if (artist != null) {
|
||||
$result.artist = artist;
|
||||
}
|
||||
if (author != null) {
|
||||
$result.author = author;
|
||||
}
|
||||
if (description != null) {
|
||||
$result.description = description;
|
||||
}
|
||||
if (genre != null) {
|
||||
$result.genre.addAll(genre);
|
||||
}
|
||||
if (status != null) {
|
||||
$result.status = status;
|
||||
}
|
||||
if (thumbnailUrl != null) {
|
||||
$result.thumbnailUrl = thumbnailUrl;
|
||||
}
|
||||
if (dateAdded != null) {
|
||||
$result.dateAdded = dateAdded;
|
||||
}
|
||||
if (episodes != null) {
|
||||
$result.episodes.addAll(episodes);
|
||||
}
|
||||
if (categories != null) {
|
||||
$result.categories.addAll(categories);
|
||||
}
|
||||
if (viewerFlags != null) {
|
||||
$result.viewerFlags = viewerFlags;
|
||||
}
|
||||
if (history != null) {
|
||||
$result.history.addAll(history);
|
||||
}
|
||||
if (lastModifiedAt != null) {
|
||||
$result.lastModifiedAt = lastModifiedAt;
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
BackupAnime._() : super();
|
||||
factory BackupAnime.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
|
||||
factory BackupAnime.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
|
||||
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'BackupAnime', createEmptyInstance: create)
|
||||
..a<$core.int>(1, _omitFieldNames ? '' : 'source', $pb.PbFieldType.O3)
|
||||
..aOS(2, _omitFieldNames ? '' : 'url')
|
||||
..aOS(3, _omitFieldNames ? '' : 'title')
|
||||
..aOS(4, _omitFieldNames ? '' : 'artist')
|
||||
..aOS(5, _omitFieldNames ? '' : 'author')
|
||||
..aOS(6, _omitFieldNames ? '' : 'description')
|
||||
..pPS(7, _omitFieldNames ? '' : 'genre')
|
||||
..a<$core.int>(8, _omitFieldNames ? '' : 'status', $pb.PbFieldType.O3)
|
||||
..aOS(9, _omitFieldNames ? '' : 'thumbnailUrl', protoName: 'thumbnailUrl')
|
||||
..a<$core.int>(13, _omitFieldNames ? '' : 'dateAdded', $pb.PbFieldType.O3, protoName: 'dateAdded')
|
||||
..pc<$0.BackupEpisode>(16, _omitFieldNames ? '' : 'episodes', $pb.PbFieldType.PM, subBuilder: $0.BackupEpisode.create)
|
||||
..p<$core.int>(17, _omitFieldNames ? '' : 'categories', $pb.PbFieldType.K3)
|
||||
..a<$core.int>(103, _omitFieldNames ? '' : 'viewerFlags', $pb.PbFieldType.O3)
|
||||
..pc<$1.BackupHistory>(104, _omitFieldNames ? '' : 'history', $pb.PbFieldType.PM, subBuilder: $1.BackupHistory.create)
|
||||
..a<$core.int>(106, _omitFieldNames ? '' : 'lastModifiedAt', $pb.PbFieldType.O3, protoName: 'lastModifiedAt')
|
||||
..hasRequiredFields = false
|
||||
;
|
||||
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
|
||||
'Will be removed in next major version')
|
||||
BackupAnime clone() => BackupAnime()..mergeFromMessage(this);
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
|
||||
'Will be removed in next major version')
|
||||
BackupAnime copyWith(void Function(BackupAnime) updates) => super.copyWith((message) => updates(message as BackupAnime)) as BackupAnime;
|
||||
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static BackupAnime create() => BackupAnime._();
|
||||
BackupAnime createEmptyInstance() => create();
|
||||
static $pb.PbList<BackupAnime> createRepeated() => $pb.PbList<BackupAnime>();
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static BackupAnime getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<BackupAnime>(create);
|
||||
static BackupAnime? _defaultInstance;
|
||||
|
||||
@$pb.TagNumber(1)
|
||||
$core.int get source => $_getIZ(0);
|
||||
@$pb.TagNumber(1)
|
||||
set source($core.int v) { $_setSignedInt32(0, v); }
|
||||
@$pb.TagNumber(1)
|
||||
$core.bool hasSource() => $_has(0);
|
||||
@$pb.TagNumber(1)
|
||||
void clearSource() => clearField(1);
|
||||
|
||||
@$pb.TagNumber(2)
|
||||
$core.String get url => $_getSZ(1);
|
||||
@$pb.TagNumber(2)
|
||||
set url($core.String v) { $_setString(1, v); }
|
||||
@$pb.TagNumber(2)
|
||||
$core.bool hasUrl() => $_has(1);
|
||||
@$pb.TagNumber(2)
|
||||
void clearUrl() => clearField(2);
|
||||
|
||||
@$pb.TagNumber(3)
|
||||
$core.String get title => $_getSZ(2);
|
||||
@$pb.TagNumber(3)
|
||||
set title($core.String v) { $_setString(2, v); }
|
||||
@$pb.TagNumber(3)
|
||||
$core.bool hasTitle() => $_has(2);
|
||||
@$pb.TagNumber(3)
|
||||
void clearTitle() => clearField(3);
|
||||
|
||||
@$pb.TagNumber(4)
|
||||
$core.String get artist => $_getSZ(3);
|
||||
@$pb.TagNumber(4)
|
||||
set artist($core.String v) { $_setString(3, v); }
|
||||
@$pb.TagNumber(4)
|
||||
$core.bool hasArtist() => $_has(3);
|
||||
@$pb.TagNumber(4)
|
||||
void clearArtist() => clearField(4);
|
||||
|
||||
@$pb.TagNumber(5)
|
||||
$core.String get author => $_getSZ(4);
|
||||
@$pb.TagNumber(5)
|
||||
set author($core.String v) { $_setString(4, v); }
|
||||
@$pb.TagNumber(5)
|
||||
$core.bool hasAuthor() => $_has(4);
|
||||
@$pb.TagNumber(5)
|
||||
void clearAuthor() => clearField(5);
|
||||
|
||||
@$pb.TagNumber(6)
|
||||
$core.String get description => $_getSZ(5);
|
||||
@$pb.TagNumber(6)
|
||||
set description($core.String v) { $_setString(5, v); }
|
||||
@$pb.TagNumber(6)
|
||||
$core.bool hasDescription() => $_has(5);
|
||||
@$pb.TagNumber(6)
|
||||
void clearDescription() => clearField(6);
|
||||
|
||||
@$pb.TagNumber(7)
|
||||
$core.List<$core.String> get genre => $_getList(6);
|
||||
|
||||
@$pb.TagNumber(8)
|
||||
$core.int get status => $_getIZ(7);
|
||||
@$pb.TagNumber(8)
|
||||
set status($core.int v) { $_setSignedInt32(7, v); }
|
||||
@$pb.TagNumber(8)
|
||||
$core.bool hasStatus() => $_has(7);
|
||||
@$pb.TagNumber(8)
|
||||
void clearStatus() => clearField(8);
|
||||
|
||||
@$pb.TagNumber(9)
|
||||
$core.String get thumbnailUrl => $_getSZ(8);
|
||||
@$pb.TagNumber(9)
|
||||
set thumbnailUrl($core.String v) { $_setString(8, v); }
|
||||
@$pb.TagNumber(9)
|
||||
$core.bool hasThumbnailUrl() => $_has(8);
|
||||
@$pb.TagNumber(9)
|
||||
void clearThumbnailUrl() => clearField(9);
|
||||
|
||||
@$pb.TagNumber(13)
|
||||
$core.int get dateAdded => $_getIZ(9);
|
||||
@$pb.TagNumber(13)
|
||||
set dateAdded($core.int v) { $_setSignedInt32(9, v); }
|
||||
@$pb.TagNumber(13)
|
||||
$core.bool hasDateAdded() => $_has(9);
|
||||
@$pb.TagNumber(13)
|
||||
void clearDateAdded() => clearField(13);
|
||||
|
||||
@$pb.TagNumber(16)
|
||||
$core.List<$0.BackupEpisode> get episodes => $_getList(10);
|
||||
|
||||
@$pb.TagNumber(17)
|
||||
$core.List<$core.int> get categories => $_getList(11);
|
||||
|
||||
@$pb.TagNumber(103)
|
||||
$core.int get viewerFlags => $_getIZ(12);
|
||||
@$pb.TagNumber(103)
|
||||
set viewerFlags($core.int v) { $_setSignedInt32(12, v); }
|
||||
@$pb.TagNumber(103)
|
||||
$core.bool hasViewerFlags() => $_has(12);
|
||||
@$pb.TagNumber(103)
|
||||
void clearViewerFlags() => clearField(103);
|
||||
|
||||
@$pb.TagNumber(104)
|
||||
$core.List<$1.BackupHistory> get history => $_getList(13);
|
||||
|
||||
@$pb.TagNumber(106)
|
||||
$core.int get lastModifiedAt => $_getIZ(14);
|
||||
@$pb.TagNumber(106)
|
||||
set lastModifiedAt($core.int v) { $_setSignedInt32(14, v); }
|
||||
@$pb.TagNumber(106)
|
||||
$core.bool hasLastModifiedAt() => $_has(14);
|
||||
@$pb.TagNumber(106)
|
||||
void clearLastModifiedAt() => clearField(106);
|
||||
}
|
||||
|
||||
|
||||
const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names');
|
||||
const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names');
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: BackupAnime.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: BackupAnime.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:convert' as $convert;
|
||||
import 'dart:core' as $core;
|
||||
import 'dart:typed_data' as $typed_data;
|
||||
|
||||
@$core.Deprecated('Use backupAnimeDescriptor instead')
|
||||
const BackupAnime$json = {
|
||||
'1': 'BackupAnime',
|
||||
'2': [
|
||||
{'1': 'source', '3': 1, '4': 1, '5': 5, '10': 'source'},
|
||||
{'1': 'url', '3': 2, '4': 1, '5': 9, '10': 'url'},
|
||||
{'1': 'title', '3': 3, '4': 1, '5': 9, '10': 'title'},
|
||||
{'1': 'artist', '3': 4, '4': 1, '5': 9, '9': 0, '10': 'artist', '17': true},
|
||||
{'1': 'author', '3': 5, '4': 1, '5': 9, '9': 1, '10': 'author', '17': true},
|
||||
{'1': 'description', '3': 6, '4': 1, '5': 9, '9': 2, '10': 'description', '17': true},
|
||||
{'1': 'genre', '3': 7, '4': 3, '5': 9, '10': 'genre'},
|
||||
{'1': 'status', '3': 8, '4': 1, '5': 5, '10': 'status'},
|
||||
{'1': 'thumbnailUrl', '3': 9, '4': 1, '5': 9, '9': 3, '10': 'thumbnailUrl', '17': true},
|
||||
{'1': 'dateAdded', '3': 13, '4': 1, '5': 5, '10': 'dateAdded'},
|
||||
{'1': 'episodes', '3': 16, '4': 3, '5': 11, '6': '.BackupEpisode', '10': 'episodes'},
|
||||
{'1': 'categories', '3': 17, '4': 3, '5': 5, '10': 'categories'},
|
||||
{'1': 'viewer_flags', '3': 103, '4': 1, '5': 5, '9': 4, '10': 'viewerFlags', '17': true},
|
||||
{'1': 'history', '3': 104, '4': 3, '5': 11, '6': '.BackupHistory', '10': 'history'},
|
||||
{'1': 'lastModifiedAt', '3': 106, '4': 1, '5': 5, '9': 5, '10': 'lastModifiedAt', '17': true},
|
||||
],
|
||||
'8': [
|
||||
{'1': '_artist'},
|
||||
{'1': '_author'},
|
||||
{'1': '_description'},
|
||||
{'1': '_thumbnailUrl'},
|
||||
{'1': '_viewer_flags'},
|
||||
{'1': '_lastModifiedAt'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `BackupAnime`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List backupAnimeDescriptor = $convert.base64Decode(
|
||||
'CgtCYWNrdXBBbmltZRIWCgZzb3VyY2UYASABKAVSBnNvdXJjZRIQCgN1cmwYAiABKAlSA3VybB'
|
||||
'IUCgV0aXRsZRgDIAEoCVIFdGl0bGUSGwoGYXJ0aXN0GAQgASgJSABSBmFydGlzdIgBARIbCgZh'
|
||||
'dXRob3IYBSABKAlIAVIGYXV0aG9yiAEBEiUKC2Rlc2NyaXB0aW9uGAYgASgJSAJSC2Rlc2NyaX'
|
||||
'B0aW9uiAEBEhQKBWdlbnJlGAcgAygJUgVnZW5yZRIWCgZzdGF0dXMYCCABKAVSBnN0YXR1cxIn'
|
||||
'Cgx0aHVtYm5haWxVcmwYCSABKAlIA1IMdGh1bWJuYWlsVXJsiAEBEhwKCWRhdGVBZGRlZBgNIA'
|
||||
'EoBVIJZGF0ZUFkZGVkEioKCGVwaXNvZGVzGBAgAygLMg4uQmFja3VwRXBpc29kZVIIZXBpc29k'
|
||||
'ZXMSHgoKY2F0ZWdvcmllcxgRIAMoBVIKY2F0ZWdvcmllcxImCgx2aWV3ZXJfZmxhZ3MYZyABKA'
|
||||
'VIBFILdmlld2VyRmxhZ3OIAQESKAoHaGlzdG9yeRhoIAMoCzIOLkJhY2t1cEhpc3RvcnlSB2hp'
|
||||
'c3RvcnkSKwoObGFzdE1vZGlmaWVkQXQYaiABKAVIBVIObGFzdE1vZGlmaWVkQXSIAQFCCQoHX2'
|
||||
'FydGlzdEIJCgdfYXV0aG9yQg4KDF9kZXNjcmlwdGlvbkIPCg1fdGh1bWJuYWlsVXJsQg8KDV92'
|
||||
'aWV3ZXJfZmxhZ3NCEQoPX2xhc3RNb2RpZmllZEF0');
|
||||
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: BackupAnime.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names
|
||||
// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
export 'BackupAnime.pb.dart';
|
||||
|
||||
|
|
@ -0,0 +1,107 @@
|
|||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: BackupAniyomi.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:core' as $core;
|
||||
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
import 'BackupAnime.pb.dart' as $2;
|
||||
import 'BackupCategory.pb.dart' as $1;
|
||||
import 'BackupManga.pb.dart' as $0;
|
||||
import 'BackupSource.pb.dart' as $3;
|
||||
|
||||
class BackupAniyomi extends $pb.GeneratedMessage {
|
||||
factory BackupAniyomi({
|
||||
$core.Iterable<$0.BackupManga>? backupManga,
|
||||
$core.Iterable<$1.BackupCategory>? backupCategories,
|
||||
$core.Iterable<$2.BackupAnime>? backupAnime,
|
||||
$core.Iterable<$1.BackupCategory>? backupAnimeCategories,
|
||||
$core.Iterable<$3.BackupSource>? backupSources,
|
||||
$core.Iterable<$3.BackupSource>? backupAnimeSources,
|
||||
}) {
|
||||
final $result = create();
|
||||
if (backupManga != null) {
|
||||
$result.backupManga.addAll(backupManga);
|
||||
}
|
||||
if (backupCategories != null) {
|
||||
$result.backupCategories.addAll(backupCategories);
|
||||
}
|
||||
if (backupAnime != null) {
|
||||
$result.backupAnime.addAll(backupAnime);
|
||||
}
|
||||
if (backupAnimeCategories != null) {
|
||||
$result.backupAnimeCategories.addAll(backupAnimeCategories);
|
||||
}
|
||||
if (backupSources != null) {
|
||||
$result.backupSources.addAll(backupSources);
|
||||
}
|
||||
if (backupAnimeSources != null) {
|
||||
$result.backupAnimeSources.addAll(backupAnimeSources);
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
BackupAniyomi._() : super();
|
||||
factory BackupAniyomi.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
|
||||
factory BackupAniyomi.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
|
||||
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'BackupAniyomi', createEmptyInstance: create)
|
||||
..pc<$0.BackupManga>(1, _omitFieldNames ? '' : 'backupManga', $pb.PbFieldType.PM, protoName: 'backupManga', subBuilder: $0.BackupManga.create)
|
||||
..pc<$1.BackupCategory>(2, _omitFieldNames ? '' : 'backupCategories', $pb.PbFieldType.PM, protoName: 'backupCategories', subBuilder: $1.BackupCategory.create)
|
||||
..pc<$2.BackupAnime>(3, _omitFieldNames ? '' : 'backupAnime', $pb.PbFieldType.PM, protoName: 'backupAnime', subBuilder: $2.BackupAnime.create)
|
||||
..pc<$1.BackupCategory>(4, _omitFieldNames ? '' : 'backupAnimeCategories', $pb.PbFieldType.PM, protoName: 'backupAnimeCategories', subBuilder: $1.BackupCategory.create)
|
||||
..pc<$3.BackupSource>(101, _omitFieldNames ? '' : 'backupSources', $pb.PbFieldType.PM, protoName: 'backupSources', subBuilder: $3.BackupSource.create)
|
||||
..pc<$3.BackupSource>(103, _omitFieldNames ? '' : 'backupAnimeSources', $pb.PbFieldType.PM, protoName: 'backupAnimeSources', subBuilder: $3.BackupSource.create)
|
||||
..hasRequiredFields = false
|
||||
;
|
||||
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
|
||||
'Will be removed in next major version')
|
||||
BackupAniyomi clone() => BackupAniyomi()..mergeFromMessage(this);
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
|
||||
'Will be removed in next major version')
|
||||
BackupAniyomi copyWith(void Function(BackupAniyomi) updates) => super.copyWith((message) => updates(message as BackupAniyomi)) as BackupAniyomi;
|
||||
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static BackupAniyomi create() => BackupAniyomi._();
|
||||
BackupAniyomi createEmptyInstance() => create();
|
||||
static $pb.PbList<BackupAniyomi> createRepeated() => $pb.PbList<BackupAniyomi>();
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static BackupAniyomi getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<BackupAniyomi>(create);
|
||||
static BackupAniyomi? _defaultInstance;
|
||||
|
||||
@$pb.TagNumber(1)
|
||||
$core.List<$0.BackupManga> get backupManga => $_getList(0);
|
||||
|
||||
@$pb.TagNumber(2)
|
||||
$core.List<$1.BackupCategory> get backupCategories => $_getList(1);
|
||||
|
||||
@$pb.TagNumber(3)
|
||||
$core.List<$2.BackupAnime> get backupAnime => $_getList(2);
|
||||
|
||||
@$pb.TagNumber(4)
|
||||
$core.List<$1.BackupCategory> get backupAnimeCategories => $_getList(3);
|
||||
|
||||
@$pb.TagNumber(101)
|
||||
$core.List<$3.BackupSource> get backupSources => $_getList(4);
|
||||
|
||||
@$pb.TagNumber(103)
|
||||
$core.List<$3.BackupSource> get backupAnimeSources => $_getList(5);
|
||||
}
|
||||
|
||||
|
||||
const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names');
|
||||
const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names');
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: BackupAniyomi.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: BackupAniyomi.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:convert' as $convert;
|
||||
import 'dart:core' as $core;
|
||||
import 'dart:typed_data' as $typed_data;
|
||||
|
||||
@$core.Deprecated('Use backupAniyomiDescriptor instead')
|
||||
const BackupAniyomi$json = {
|
||||
'1': 'BackupAniyomi',
|
||||
'2': [
|
||||
{'1': 'backupManga', '3': 1, '4': 3, '5': 11, '6': '.BackupManga', '10': 'backupManga'},
|
||||
{'1': 'backupCategories', '3': 2, '4': 3, '5': 11, '6': '.BackupCategory', '10': 'backupCategories'},
|
||||
{'1': 'backupAnime', '3': 3, '4': 3, '5': 11, '6': '.BackupAnime', '10': 'backupAnime'},
|
||||
{'1': 'backupAnimeCategories', '3': 4, '4': 3, '5': 11, '6': '.BackupCategory', '10': 'backupAnimeCategories'},
|
||||
{'1': 'backupSources', '3': 101, '4': 3, '5': 11, '6': '.BackupSource', '10': 'backupSources'},
|
||||
{'1': 'backupAnimeSources', '3': 103, '4': 3, '5': 11, '6': '.BackupSource', '10': 'backupAnimeSources'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `BackupAniyomi`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List backupAniyomiDescriptor = $convert.base64Decode(
|
||||
'Cg1CYWNrdXBBbml5b21pEi4KC2JhY2t1cE1hbmdhGAEgAygLMgwuQmFja3VwTWFuZ2FSC2JhY2'
|
||||
't1cE1hbmdhEjsKEGJhY2t1cENhdGVnb3JpZXMYAiADKAsyDy5CYWNrdXBDYXRlZ29yeVIQYmFj'
|
||||
'a3VwQ2F0ZWdvcmllcxIuCgtiYWNrdXBBbmltZRgDIAMoCzIMLkJhY2t1cEFuaW1lUgtiYWNrdX'
|
||||
'BBbmltZRJFChViYWNrdXBBbmltZUNhdGVnb3JpZXMYBCADKAsyDy5CYWNrdXBDYXRlZ29yeVIV'
|
||||
'YmFja3VwQW5pbWVDYXRlZ29yaWVzEjMKDWJhY2t1cFNvdXJjZXMYZSADKAsyDS5CYWNrdXBTb3'
|
||||
'VyY2VSDWJhY2t1cFNvdXJjZXMSPQoSYmFja3VwQW5pbWVTb3VyY2VzGGcgAygLMg0uQmFja3Vw'
|
||||
'U291cmNlUhJiYWNrdXBBbmltZVNvdXJjZXM=');
|
||||
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: BackupAniyomi.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names
|
||||
// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
export 'BackupAniyomi.pb.dart';
|
||||
|
||||
|
|
@ -0,0 +1,96 @@
|
|||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: BackupCategory.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:core' as $core;
|
||||
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
class BackupCategory extends $pb.GeneratedMessage {
|
||||
factory BackupCategory({
|
||||
$core.String? name,
|
||||
$core.int? order,
|
||||
$core.int? flags,
|
||||
}) {
|
||||
final $result = create();
|
||||
if (name != null) {
|
||||
$result.name = name;
|
||||
}
|
||||
if (order != null) {
|
||||
$result.order = order;
|
||||
}
|
||||
if (flags != null) {
|
||||
$result.flags = flags;
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
BackupCategory._() : super();
|
||||
factory BackupCategory.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
|
||||
factory BackupCategory.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
|
||||
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'BackupCategory', createEmptyInstance: create)
|
||||
..aOS(1, _omitFieldNames ? '' : 'name')
|
||||
..a<$core.int>(2, _omitFieldNames ? '' : 'order', $pb.PbFieldType.O3)
|
||||
..a<$core.int>(100, _omitFieldNames ? '' : 'flags', $pb.PbFieldType.O3)
|
||||
..hasRequiredFields = false
|
||||
;
|
||||
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
|
||||
'Will be removed in next major version')
|
||||
BackupCategory clone() => BackupCategory()..mergeFromMessage(this);
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
|
||||
'Will be removed in next major version')
|
||||
BackupCategory copyWith(void Function(BackupCategory) updates) => super.copyWith((message) => updates(message as BackupCategory)) as BackupCategory;
|
||||
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static BackupCategory create() => BackupCategory._();
|
||||
BackupCategory createEmptyInstance() => create();
|
||||
static $pb.PbList<BackupCategory> createRepeated() => $pb.PbList<BackupCategory>();
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static BackupCategory getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<BackupCategory>(create);
|
||||
static BackupCategory? _defaultInstance;
|
||||
|
||||
@$pb.TagNumber(1)
|
||||
$core.String get name => $_getSZ(0);
|
||||
@$pb.TagNumber(1)
|
||||
set name($core.String v) { $_setString(0, v); }
|
||||
@$pb.TagNumber(1)
|
||||
$core.bool hasName() => $_has(0);
|
||||
@$pb.TagNumber(1)
|
||||
void clearName() => clearField(1);
|
||||
|
||||
@$pb.TagNumber(2)
|
||||
$core.int get order => $_getIZ(1);
|
||||
@$pb.TagNumber(2)
|
||||
set order($core.int v) { $_setSignedInt32(1, v); }
|
||||
@$pb.TagNumber(2)
|
||||
$core.bool hasOrder() => $_has(1);
|
||||
@$pb.TagNumber(2)
|
||||
void clearOrder() => clearField(2);
|
||||
|
||||
@$pb.TagNumber(100)
|
||||
$core.int get flags => $_getIZ(2);
|
||||
@$pb.TagNumber(100)
|
||||
set flags($core.int v) { $_setSignedInt32(2, v); }
|
||||
@$pb.TagNumber(100)
|
||||
$core.bool hasFlags() => $_has(2);
|
||||
@$pb.TagNumber(100)
|
||||
void clearFlags() => clearField(100);
|
||||
}
|
||||
|
||||
|
||||
const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names');
|
||||
const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names');
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: BackupCategory.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: BackupCategory.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:convert' as $convert;
|
||||
import 'dart:core' as $core;
|
||||
import 'dart:typed_data' as $typed_data;
|
||||
|
||||
@$core.Deprecated('Use backupCategoryDescriptor instead')
|
||||
const BackupCategory$json = {
|
||||
'1': 'BackupCategory',
|
||||
'2': [
|
||||
{'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'},
|
||||
{'1': 'order', '3': 2, '4': 1, '5': 5, '10': 'order'},
|
||||
{'1': 'flags', '3': 100, '4': 1, '5': 5, '10': 'flags'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `BackupCategory`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List backupCategoryDescriptor = $convert.base64Decode(
|
||||
'Cg5CYWNrdXBDYXRlZ29yeRISCgRuYW1lGAEgASgJUgRuYW1lEhQKBW9yZGVyGAIgASgFUgVvcm'
|
||||
'RlchIUCgVmbGFncxhkIAEoBVIFZmxhZ3M=');
|
||||
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: BackupCategory.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names
|
||||
// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
export 'BackupCategory.pb.dart';
|
||||
|
||||
|
|
@ -0,0 +1,222 @@
|
|||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: BackupChapter.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:core' as $core;
|
||||
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
class BackupChapter extends $pb.GeneratedMessage {
|
||||
factory BackupChapter({
|
||||
$core.String? url,
|
||||
$core.String? name,
|
||||
$core.String? scanlator,
|
||||
$core.bool? read,
|
||||
$core.bool? bookmark,
|
||||
$core.int? lastPageRead,
|
||||
$core.int? dateFetch,
|
||||
$core.int? dateUpload,
|
||||
$core.double? chapterNumber,
|
||||
$core.int? sourceOrder,
|
||||
$core.int? lastModifiedAt,
|
||||
$core.int? version,
|
||||
}) {
|
||||
final $result = create();
|
||||
if (url != null) {
|
||||
$result.url = url;
|
||||
}
|
||||
if (name != null) {
|
||||
$result.name = name;
|
||||
}
|
||||
if (scanlator != null) {
|
||||
$result.scanlator = scanlator;
|
||||
}
|
||||
if (read != null) {
|
||||
$result.read = read;
|
||||
}
|
||||
if (bookmark != null) {
|
||||
$result.bookmark = bookmark;
|
||||
}
|
||||
if (lastPageRead != null) {
|
||||
$result.lastPageRead = lastPageRead;
|
||||
}
|
||||
if (dateFetch != null) {
|
||||
$result.dateFetch = dateFetch;
|
||||
}
|
||||
if (dateUpload != null) {
|
||||
$result.dateUpload = dateUpload;
|
||||
}
|
||||
if (chapterNumber != null) {
|
||||
$result.chapterNumber = chapterNumber;
|
||||
}
|
||||
if (sourceOrder != null) {
|
||||
$result.sourceOrder = sourceOrder;
|
||||
}
|
||||
if (lastModifiedAt != null) {
|
||||
$result.lastModifiedAt = lastModifiedAt;
|
||||
}
|
||||
if (version != null) {
|
||||
$result.version = version;
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
BackupChapter._() : super();
|
||||
factory BackupChapter.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
|
||||
factory BackupChapter.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
|
||||
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'BackupChapter', createEmptyInstance: create)
|
||||
..aOS(1, _omitFieldNames ? '' : 'url')
|
||||
..aOS(2, _omitFieldNames ? '' : 'name')
|
||||
..aOS(3, _omitFieldNames ? '' : 'scanlator')
|
||||
..aOB(4, _omitFieldNames ? '' : 'read')
|
||||
..aOB(5, _omitFieldNames ? '' : 'bookmark')
|
||||
..a<$core.int>(6, _omitFieldNames ? '' : 'lastPageRead', $pb.PbFieldType.O3, protoName: 'lastPageRead')
|
||||
..a<$core.int>(7, _omitFieldNames ? '' : 'dateFetch', $pb.PbFieldType.O3, protoName: 'dateFetch')
|
||||
..a<$core.int>(8, _omitFieldNames ? '' : 'dateUpload', $pb.PbFieldType.O3, protoName: 'dateUpload')
|
||||
..a<$core.double>(9, _omitFieldNames ? '' : 'chapterNumber', $pb.PbFieldType.OF, protoName: 'chapterNumber')
|
||||
..a<$core.int>(10, _omitFieldNames ? '' : 'sourceOrder', $pb.PbFieldType.O3, protoName: 'sourceOrder')
|
||||
..a<$core.int>(11, _omitFieldNames ? '' : 'lastModifiedAt', $pb.PbFieldType.O3, protoName: 'lastModifiedAt')
|
||||
..a<$core.int>(12, _omitFieldNames ? '' : 'version', $pb.PbFieldType.O3)
|
||||
..hasRequiredFields = false
|
||||
;
|
||||
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
|
||||
'Will be removed in next major version')
|
||||
BackupChapter clone() => BackupChapter()..mergeFromMessage(this);
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
|
||||
'Will be removed in next major version')
|
||||
BackupChapter copyWith(void Function(BackupChapter) updates) => super.copyWith((message) => updates(message as BackupChapter)) as BackupChapter;
|
||||
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static BackupChapter create() => BackupChapter._();
|
||||
BackupChapter createEmptyInstance() => create();
|
||||
static $pb.PbList<BackupChapter> createRepeated() => $pb.PbList<BackupChapter>();
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static BackupChapter getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<BackupChapter>(create);
|
||||
static BackupChapter? _defaultInstance;
|
||||
|
||||
@$pb.TagNumber(1)
|
||||
$core.String get url => $_getSZ(0);
|
||||
@$pb.TagNumber(1)
|
||||
set url($core.String v) { $_setString(0, v); }
|
||||
@$pb.TagNumber(1)
|
||||
$core.bool hasUrl() => $_has(0);
|
||||
@$pb.TagNumber(1)
|
||||
void clearUrl() => clearField(1);
|
||||
|
||||
@$pb.TagNumber(2)
|
||||
$core.String get name => $_getSZ(1);
|
||||
@$pb.TagNumber(2)
|
||||
set name($core.String v) { $_setString(1, v); }
|
||||
@$pb.TagNumber(2)
|
||||
$core.bool hasName() => $_has(1);
|
||||
@$pb.TagNumber(2)
|
||||
void clearName() => clearField(2);
|
||||
|
||||
@$pb.TagNumber(3)
|
||||
$core.String get scanlator => $_getSZ(2);
|
||||
@$pb.TagNumber(3)
|
||||
set scanlator($core.String v) { $_setString(2, v); }
|
||||
@$pb.TagNumber(3)
|
||||
$core.bool hasScanlator() => $_has(2);
|
||||
@$pb.TagNumber(3)
|
||||
void clearScanlator() => clearField(3);
|
||||
|
||||
@$pb.TagNumber(4)
|
||||
$core.bool get read => $_getBF(3);
|
||||
@$pb.TagNumber(4)
|
||||
set read($core.bool v) { $_setBool(3, v); }
|
||||
@$pb.TagNumber(4)
|
||||
$core.bool hasRead() => $_has(3);
|
||||
@$pb.TagNumber(4)
|
||||
void clearRead() => clearField(4);
|
||||
|
||||
@$pb.TagNumber(5)
|
||||
$core.bool get bookmark => $_getBF(4);
|
||||
@$pb.TagNumber(5)
|
||||
set bookmark($core.bool v) { $_setBool(4, v); }
|
||||
@$pb.TagNumber(5)
|
||||
$core.bool hasBookmark() => $_has(4);
|
||||
@$pb.TagNumber(5)
|
||||
void clearBookmark() => clearField(5);
|
||||
|
||||
@$pb.TagNumber(6)
|
||||
$core.int get lastPageRead => $_getIZ(5);
|
||||
@$pb.TagNumber(6)
|
||||
set lastPageRead($core.int v) { $_setSignedInt32(5, v); }
|
||||
@$pb.TagNumber(6)
|
||||
$core.bool hasLastPageRead() => $_has(5);
|
||||
@$pb.TagNumber(6)
|
||||
void clearLastPageRead() => clearField(6);
|
||||
|
||||
@$pb.TagNumber(7)
|
||||
$core.int get dateFetch => $_getIZ(6);
|
||||
@$pb.TagNumber(7)
|
||||
set dateFetch($core.int v) { $_setSignedInt32(6, v); }
|
||||
@$pb.TagNumber(7)
|
||||
$core.bool hasDateFetch() => $_has(6);
|
||||
@$pb.TagNumber(7)
|
||||
void clearDateFetch() => clearField(7);
|
||||
|
||||
@$pb.TagNumber(8)
|
||||
$core.int get dateUpload => $_getIZ(7);
|
||||
@$pb.TagNumber(8)
|
||||
set dateUpload($core.int v) { $_setSignedInt32(7, v); }
|
||||
@$pb.TagNumber(8)
|
||||
$core.bool hasDateUpload() => $_has(7);
|
||||
@$pb.TagNumber(8)
|
||||
void clearDateUpload() => clearField(8);
|
||||
|
||||
@$pb.TagNumber(9)
|
||||
$core.double get chapterNumber => $_getN(8);
|
||||
@$pb.TagNumber(9)
|
||||
set chapterNumber($core.double v) { $_setFloat(8, v); }
|
||||
@$pb.TagNumber(9)
|
||||
$core.bool hasChapterNumber() => $_has(8);
|
||||
@$pb.TagNumber(9)
|
||||
void clearChapterNumber() => clearField(9);
|
||||
|
||||
@$pb.TagNumber(10)
|
||||
$core.int get sourceOrder => $_getIZ(9);
|
||||
@$pb.TagNumber(10)
|
||||
set sourceOrder($core.int v) { $_setSignedInt32(9, v); }
|
||||
@$pb.TagNumber(10)
|
||||
$core.bool hasSourceOrder() => $_has(9);
|
||||
@$pb.TagNumber(10)
|
||||
void clearSourceOrder() => clearField(10);
|
||||
|
||||
@$pb.TagNumber(11)
|
||||
$core.int get lastModifiedAt => $_getIZ(10);
|
||||
@$pb.TagNumber(11)
|
||||
set lastModifiedAt($core.int v) { $_setSignedInt32(10, v); }
|
||||
@$pb.TagNumber(11)
|
||||
$core.bool hasLastModifiedAt() => $_has(10);
|
||||
@$pb.TagNumber(11)
|
||||
void clearLastModifiedAt() => clearField(11);
|
||||
|
||||
@$pb.TagNumber(12)
|
||||
$core.int get version => $_getIZ(11);
|
||||
@$pb.TagNumber(12)
|
||||
set version($core.int v) { $_setSignedInt32(11, v); }
|
||||
@$pb.TagNumber(12)
|
||||
$core.bool hasVersion() => $_has(11);
|
||||
@$pb.TagNumber(12)
|
||||
void clearVersion() => clearField(12);
|
||||
}
|
||||
|
||||
|
||||
const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names');
|
||||
const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names');
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: BackupChapter.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: BackupChapter.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:convert' as $convert;
|
||||
import 'dart:core' as $core;
|
||||
import 'dart:typed_data' as $typed_data;
|
||||
|
||||
@$core.Deprecated('Use backupChapterDescriptor instead')
|
||||
const BackupChapter$json = {
|
||||
'1': 'BackupChapter',
|
||||
'2': [
|
||||
{'1': 'url', '3': 1, '4': 1, '5': 9, '10': 'url'},
|
||||
{'1': 'name', '3': 2, '4': 1, '5': 9, '10': 'name'},
|
||||
{'1': 'scanlator', '3': 3, '4': 1, '5': 9, '9': 0, '10': 'scanlator', '17': true},
|
||||
{'1': 'read', '3': 4, '4': 1, '5': 8, '10': 'read'},
|
||||
{'1': 'bookmark', '3': 5, '4': 1, '5': 8, '10': 'bookmark'},
|
||||
{'1': 'lastPageRead', '3': 6, '4': 1, '5': 5, '10': 'lastPageRead'},
|
||||
{'1': 'dateFetch', '3': 7, '4': 1, '5': 5, '10': 'dateFetch'},
|
||||
{'1': 'dateUpload', '3': 8, '4': 1, '5': 5, '10': 'dateUpload'},
|
||||
{'1': 'chapterNumber', '3': 9, '4': 1, '5': 2, '10': 'chapterNumber'},
|
||||
{'1': 'sourceOrder', '3': 10, '4': 1, '5': 5, '10': 'sourceOrder'},
|
||||
{'1': 'lastModifiedAt', '3': 11, '4': 1, '5': 5, '10': 'lastModifiedAt'},
|
||||
{'1': 'version', '3': 12, '4': 1, '5': 5, '10': 'version'},
|
||||
],
|
||||
'8': [
|
||||
{'1': '_scanlator'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `BackupChapter`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List backupChapterDescriptor = $convert.base64Decode(
|
||||
'Cg1CYWNrdXBDaGFwdGVyEhAKA3VybBgBIAEoCVIDdXJsEhIKBG5hbWUYAiABKAlSBG5hbWUSIQ'
|
||||
'oJc2NhbmxhdG9yGAMgASgJSABSCXNjYW5sYXRvcogBARISCgRyZWFkGAQgASgIUgRyZWFkEhoK'
|
||||
'CGJvb2ttYXJrGAUgASgIUghib29rbWFyaxIiCgxsYXN0UGFnZVJlYWQYBiABKAVSDGxhc3RQYW'
|
||||
'dlUmVhZBIcCglkYXRlRmV0Y2gYByABKAVSCWRhdGVGZXRjaBIeCgpkYXRlVXBsb2FkGAggASgF'
|
||||
'UgpkYXRlVXBsb2FkEiQKDWNoYXB0ZXJOdW1iZXIYCSABKAJSDWNoYXB0ZXJOdW1iZXISIAoLc2'
|
||||
'91cmNlT3JkZXIYCiABKAVSC3NvdXJjZU9yZGVyEiYKDmxhc3RNb2RpZmllZEF0GAsgASgFUg5s'
|
||||
'YXN0TW9kaWZpZWRBdBIYCgd2ZXJzaW9uGAwgASgFUgd2ZXJzaW9uQgwKCl9zY2FubGF0b3I=');
|
||||
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: BackupChapter.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names
|
||||
// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
export 'BackupChapter.pb.dart';
|
||||
|
||||
|
|
@ -0,0 +1,236 @@
|
|||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: BackupEpisode.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:core' as $core;
|
||||
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
class BackupEpisode extends $pb.GeneratedMessage {
|
||||
factory BackupEpisode({
|
||||
$core.String? url,
|
||||
$core.String? name,
|
||||
$core.String? scanlator,
|
||||
$core.bool? seen,
|
||||
$core.bool? bookmark,
|
||||
$core.int? lastSecondSeen,
|
||||
$core.int? dateFetch,
|
||||
$core.int? dateUpload,
|
||||
$core.double? episodeNumber,
|
||||
$core.int? sourceOrder,
|
||||
$core.int? lastModifiedAt,
|
||||
$core.int? version,
|
||||
$core.int? totalSeconds,
|
||||
}) {
|
||||
final $result = create();
|
||||
if (url != null) {
|
||||
$result.url = url;
|
||||
}
|
||||
if (name != null) {
|
||||
$result.name = name;
|
||||
}
|
||||
if (scanlator != null) {
|
||||
$result.scanlator = scanlator;
|
||||
}
|
||||
if (seen != null) {
|
||||
$result.seen = seen;
|
||||
}
|
||||
if (bookmark != null) {
|
||||
$result.bookmark = bookmark;
|
||||
}
|
||||
if (lastSecondSeen != null) {
|
||||
$result.lastSecondSeen = lastSecondSeen;
|
||||
}
|
||||
if (dateFetch != null) {
|
||||
$result.dateFetch = dateFetch;
|
||||
}
|
||||
if (dateUpload != null) {
|
||||
$result.dateUpload = dateUpload;
|
||||
}
|
||||
if (episodeNumber != null) {
|
||||
$result.episodeNumber = episodeNumber;
|
||||
}
|
||||
if (sourceOrder != null) {
|
||||
$result.sourceOrder = sourceOrder;
|
||||
}
|
||||
if (lastModifiedAt != null) {
|
||||
$result.lastModifiedAt = lastModifiedAt;
|
||||
}
|
||||
if (version != null) {
|
||||
$result.version = version;
|
||||
}
|
||||
if (totalSeconds != null) {
|
||||
$result.totalSeconds = totalSeconds;
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
BackupEpisode._() : super();
|
||||
factory BackupEpisode.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
|
||||
factory BackupEpisode.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
|
||||
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'BackupEpisode', createEmptyInstance: create)
|
||||
..aOS(1, _omitFieldNames ? '' : 'url')
|
||||
..aOS(2, _omitFieldNames ? '' : 'name')
|
||||
..aOS(3, _omitFieldNames ? '' : 'scanlator')
|
||||
..aOB(4, _omitFieldNames ? '' : 'seen')
|
||||
..aOB(5, _omitFieldNames ? '' : 'bookmark')
|
||||
..a<$core.int>(6, _omitFieldNames ? '' : 'lastSecondSeen', $pb.PbFieldType.O3, protoName: 'lastSecondSeen')
|
||||
..a<$core.int>(7, _omitFieldNames ? '' : 'dateFetch', $pb.PbFieldType.O3, protoName: 'dateFetch')
|
||||
..a<$core.int>(8, _omitFieldNames ? '' : 'dateUpload', $pb.PbFieldType.O3, protoName: 'dateUpload')
|
||||
..a<$core.double>(9, _omitFieldNames ? '' : 'episodeNumber', $pb.PbFieldType.OF, protoName: 'episodeNumber')
|
||||
..a<$core.int>(10, _omitFieldNames ? '' : 'sourceOrder', $pb.PbFieldType.O3, protoName: 'sourceOrder')
|
||||
..a<$core.int>(11, _omitFieldNames ? '' : 'lastModifiedAt', $pb.PbFieldType.O3, protoName: 'lastModifiedAt')
|
||||
..a<$core.int>(12, _omitFieldNames ? '' : 'version', $pb.PbFieldType.O3)
|
||||
..a<$core.int>(16, _omitFieldNames ? '' : 'totalSeconds', $pb.PbFieldType.O3, protoName: 'totalSeconds')
|
||||
..hasRequiredFields = false
|
||||
;
|
||||
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
|
||||
'Will be removed in next major version')
|
||||
BackupEpisode clone() => BackupEpisode()..mergeFromMessage(this);
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
|
||||
'Will be removed in next major version')
|
||||
BackupEpisode copyWith(void Function(BackupEpisode) updates) => super.copyWith((message) => updates(message as BackupEpisode)) as BackupEpisode;
|
||||
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static BackupEpisode create() => BackupEpisode._();
|
||||
BackupEpisode createEmptyInstance() => create();
|
||||
static $pb.PbList<BackupEpisode> createRepeated() => $pb.PbList<BackupEpisode>();
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static BackupEpisode getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<BackupEpisode>(create);
|
||||
static BackupEpisode? _defaultInstance;
|
||||
|
||||
@$pb.TagNumber(1)
|
||||
$core.String get url => $_getSZ(0);
|
||||
@$pb.TagNumber(1)
|
||||
set url($core.String v) { $_setString(0, v); }
|
||||
@$pb.TagNumber(1)
|
||||
$core.bool hasUrl() => $_has(0);
|
||||
@$pb.TagNumber(1)
|
||||
void clearUrl() => clearField(1);
|
||||
|
||||
@$pb.TagNumber(2)
|
||||
$core.String get name => $_getSZ(1);
|
||||
@$pb.TagNumber(2)
|
||||
set name($core.String v) { $_setString(1, v); }
|
||||
@$pb.TagNumber(2)
|
||||
$core.bool hasName() => $_has(1);
|
||||
@$pb.TagNumber(2)
|
||||
void clearName() => clearField(2);
|
||||
|
||||
@$pb.TagNumber(3)
|
||||
$core.String get scanlator => $_getSZ(2);
|
||||
@$pb.TagNumber(3)
|
||||
set scanlator($core.String v) { $_setString(2, v); }
|
||||
@$pb.TagNumber(3)
|
||||
$core.bool hasScanlator() => $_has(2);
|
||||
@$pb.TagNumber(3)
|
||||
void clearScanlator() => clearField(3);
|
||||
|
||||
@$pb.TagNumber(4)
|
||||
$core.bool get seen => $_getBF(3);
|
||||
@$pb.TagNumber(4)
|
||||
set seen($core.bool v) { $_setBool(3, v); }
|
||||
@$pb.TagNumber(4)
|
||||
$core.bool hasSeen() => $_has(3);
|
||||
@$pb.TagNumber(4)
|
||||
void clearSeen() => clearField(4);
|
||||
|
||||
@$pb.TagNumber(5)
|
||||
$core.bool get bookmark => $_getBF(4);
|
||||
@$pb.TagNumber(5)
|
||||
set bookmark($core.bool v) { $_setBool(4, v); }
|
||||
@$pb.TagNumber(5)
|
||||
$core.bool hasBookmark() => $_has(4);
|
||||
@$pb.TagNumber(5)
|
||||
void clearBookmark() => clearField(5);
|
||||
|
||||
@$pb.TagNumber(6)
|
||||
$core.int get lastSecondSeen => $_getIZ(5);
|
||||
@$pb.TagNumber(6)
|
||||
set lastSecondSeen($core.int v) { $_setSignedInt32(5, v); }
|
||||
@$pb.TagNumber(6)
|
||||
$core.bool hasLastSecondSeen() => $_has(5);
|
||||
@$pb.TagNumber(6)
|
||||
void clearLastSecondSeen() => clearField(6);
|
||||
|
||||
@$pb.TagNumber(7)
|
||||
$core.int get dateFetch => $_getIZ(6);
|
||||
@$pb.TagNumber(7)
|
||||
set dateFetch($core.int v) { $_setSignedInt32(6, v); }
|
||||
@$pb.TagNumber(7)
|
||||
$core.bool hasDateFetch() => $_has(6);
|
||||
@$pb.TagNumber(7)
|
||||
void clearDateFetch() => clearField(7);
|
||||
|
||||
@$pb.TagNumber(8)
|
||||
$core.int get dateUpload => $_getIZ(7);
|
||||
@$pb.TagNumber(8)
|
||||
set dateUpload($core.int v) { $_setSignedInt32(7, v); }
|
||||
@$pb.TagNumber(8)
|
||||
$core.bool hasDateUpload() => $_has(7);
|
||||
@$pb.TagNumber(8)
|
||||
void clearDateUpload() => clearField(8);
|
||||
|
||||
@$pb.TagNumber(9)
|
||||
$core.double get episodeNumber => $_getN(8);
|
||||
@$pb.TagNumber(9)
|
||||
set episodeNumber($core.double v) { $_setFloat(8, v); }
|
||||
@$pb.TagNumber(9)
|
||||
$core.bool hasEpisodeNumber() => $_has(8);
|
||||
@$pb.TagNumber(9)
|
||||
void clearEpisodeNumber() => clearField(9);
|
||||
|
||||
@$pb.TagNumber(10)
|
||||
$core.int get sourceOrder => $_getIZ(9);
|
||||
@$pb.TagNumber(10)
|
||||
set sourceOrder($core.int v) { $_setSignedInt32(9, v); }
|
||||
@$pb.TagNumber(10)
|
||||
$core.bool hasSourceOrder() => $_has(9);
|
||||
@$pb.TagNumber(10)
|
||||
void clearSourceOrder() => clearField(10);
|
||||
|
||||
@$pb.TagNumber(11)
|
||||
$core.int get lastModifiedAt => $_getIZ(10);
|
||||
@$pb.TagNumber(11)
|
||||
set lastModifiedAt($core.int v) { $_setSignedInt32(10, v); }
|
||||
@$pb.TagNumber(11)
|
||||
$core.bool hasLastModifiedAt() => $_has(10);
|
||||
@$pb.TagNumber(11)
|
||||
void clearLastModifiedAt() => clearField(11);
|
||||
|
||||
@$pb.TagNumber(12)
|
||||
$core.int get version => $_getIZ(11);
|
||||
@$pb.TagNumber(12)
|
||||
set version($core.int v) { $_setSignedInt32(11, v); }
|
||||
@$pb.TagNumber(12)
|
||||
$core.bool hasVersion() => $_has(11);
|
||||
@$pb.TagNumber(12)
|
||||
void clearVersion() => clearField(12);
|
||||
|
||||
@$pb.TagNumber(16)
|
||||
$core.int get totalSeconds => $_getIZ(12);
|
||||
@$pb.TagNumber(16)
|
||||
set totalSeconds($core.int v) { $_setSignedInt32(12, v); }
|
||||
@$pb.TagNumber(16)
|
||||
$core.bool hasTotalSeconds() => $_has(12);
|
||||
@$pb.TagNumber(16)
|
||||
void clearTotalSeconds() => clearField(16);
|
||||
}
|
||||
|
||||
|
||||
const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names');
|
||||
const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names');
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: BackupEpisode.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: BackupEpisode.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:convert' as $convert;
|
||||
import 'dart:core' as $core;
|
||||
import 'dart:typed_data' as $typed_data;
|
||||
|
||||
@$core.Deprecated('Use backupEpisodeDescriptor instead')
|
||||
const BackupEpisode$json = {
|
||||
'1': 'BackupEpisode',
|
||||
'2': [
|
||||
{'1': 'url', '3': 1, '4': 1, '5': 9, '10': 'url'},
|
||||
{'1': 'name', '3': 2, '4': 1, '5': 9, '10': 'name'},
|
||||
{'1': 'scanlator', '3': 3, '4': 1, '5': 9, '9': 0, '10': 'scanlator', '17': true},
|
||||
{'1': 'seen', '3': 4, '4': 1, '5': 8, '10': 'seen'},
|
||||
{'1': 'bookmark', '3': 5, '4': 1, '5': 8, '10': 'bookmark'},
|
||||
{'1': 'lastSecondSeen', '3': 6, '4': 1, '5': 5, '10': 'lastSecondSeen'},
|
||||
{'1': 'dateFetch', '3': 7, '4': 1, '5': 5, '10': 'dateFetch'},
|
||||
{'1': 'dateUpload', '3': 8, '4': 1, '5': 5, '10': 'dateUpload'},
|
||||
{'1': 'episodeNumber', '3': 9, '4': 1, '5': 2, '10': 'episodeNumber'},
|
||||
{'1': 'sourceOrder', '3': 10, '4': 1, '5': 5, '10': 'sourceOrder'},
|
||||
{'1': 'lastModifiedAt', '3': 11, '4': 1, '5': 5, '10': 'lastModifiedAt'},
|
||||
{'1': 'version', '3': 12, '4': 1, '5': 5, '10': 'version'},
|
||||
{'1': 'totalSeconds', '3': 16, '4': 1, '5': 5, '10': 'totalSeconds'},
|
||||
],
|
||||
'8': [
|
||||
{'1': '_scanlator'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `BackupEpisode`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List backupEpisodeDescriptor = $convert.base64Decode(
|
||||
'Cg1CYWNrdXBFcGlzb2RlEhAKA3VybBgBIAEoCVIDdXJsEhIKBG5hbWUYAiABKAlSBG5hbWUSIQ'
|
||||
'oJc2NhbmxhdG9yGAMgASgJSABSCXNjYW5sYXRvcogBARISCgRzZWVuGAQgASgIUgRzZWVuEhoK'
|
||||
'CGJvb2ttYXJrGAUgASgIUghib29rbWFyaxImCg5sYXN0U2Vjb25kU2VlbhgGIAEoBVIObGFzdF'
|
||||
'NlY29uZFNlZW4SHAoJZGF0ZUZldGNoGAcgASgFUglkYXRlRmV0Y2gSHgoKZGF0ZVVwbG9hZBgI'
|
||||
'IAEoBVIKZGF0ZVVwbG9hZBIkCg1lcGlzb2RlTnVtYmVyGAkgASgCUg1lcGlzb2RlTnVtYmVyEi'
|
||||
'AKC3NvdXJjZU9yZGVyGAogASgFUgtzb3VyY2VPcmRlchImCg5sYXN0TW9kaWZpZWRBdBgLIAEo'
|
||||
'BVIObGFzdE1vZGlmaWVkQXQSGAoHdmVyc2lvbhgMIAEoBVIHdmVyc2lvbhIiCgx0b3RhbFNlY2'
|
||||
'9uZHMYECABKAVSDHRvdGFsU2Vjb25kc0IMCgpfc2NhbmxhdG9y');
|
||||
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: BackupEpisode.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names
|
||||
// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
export 'BackupEpisode.pb.dart';
|
||||
|
||||
|
|
@ -0,0 +1,96 @@
|
|||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: BackupHistory.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:core' as $core;
|
||||
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
class BackupHistory extends $pb.GeneratedMessage {
|
||||
factory BackupHistory({
|
||||
$core.String? url,
|
||||
$core.int? lastRead,
|
||||
$core.int? readDuration,
|
||||
}) {
|
||||
final $result = create();
|
||||
if (url != null) {
|
||||
$result.url = url;
|
||||
}
|
||||
if (lastRead != null) {
|
||||
$result.lastRead = lastRead;
|
||||
}
|
||||
if (readDuration != null) {
|
||||
$result.readDuration = readDuration;
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
BackupHistory._() : super();
|
||||
factory BackupHistory.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
|
||||
factory BackupHistory.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
|
||||
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'BackupHistory', createEmptyInstance: create)
|
||||
..aOS(1, _omitFieldNames ? '' : 'url')
|
||||
..a<$core.int>(2, _omitFieldNames ? '' : 'lastRead', $pb.PbFieldType.O3, protoName: 'lastRead')
|
||||
..a<$core.int>(3, _omitFieldNames ? '' : 'readDuration', $pb.PbFieldType.O3, protoName: 'readDuration')
|
||||
..hasRequiredFields = false
|
||||
;
|
||||
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
|
||||
'Will be removed in next major version')
|
||||
BackupHistory clone() => BackupHistory()..mergeFromMessage(this);
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
|
||||
'Will be removed in next major version')
|
||||
BackupHistory copyWith(void Function(BackupHistory) updates) => super.copyWith((message) => updates(message as BackupHistory)) as BackupHistory;
|
||||
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static BackupHistory create() => BackupHistory._();
|
||||
BackupHistory createEmptyInstance() => create();
|
||||
static $pb.PbList<BackupHistory> createRepeated() => $pb.PbList<BackupHistory>();
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static BackupHistory getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<BackupHistory>(create);
|
||||
static BackupHistory? _defaultInstance;
|
||||
|
||||
@$pb.TagNumber(1)
|
||||
$core.String get url => $_getSZ(0);
|
||||
@$pb.TagNumber(1)
|
||||
set url($core.String v) { $_setString(0, v); }
|
||||
@$pb.TagNumber(1)
|
||||
$core.bool hasUrl() => $_has(0);
|
||||
@$pb.TagNumber(1)
|
||||
void clearUrl() => clearField(1);
|
||||
|
||||
@$pb.TagNumber(2)
|
||||
$core.int get lastRead => $_getIZ(1);
|
||||
@$pb.TagNumber(2)
|
||||
set lastRead($core.int v) { $_setSignedInt32(1, v); }
|
||||
@$pb.TagNumber(2)
|
||||
$core.bool hasLastRead() => $_has(1);
|
||||
@$pb.TagNumber(2)
|
||||
void clearLastRead() => clearField(2);
|
||||
|
||||
@$pb.TagNumber(3)
|
||||
$core.int get readDuration => $_getIZ(2);
|
||||
@$pb.TagNumber(3)
|
||||
set readDuration($core.int v) { $_setSignedInt32(2, v); }
|
||||
@$pb.TagNumber(3)
|
||||
$core.bool hasReadDuration() => $_has(2);
|
||||
@$pb.TagNumber(3)
|
||||
void clearReadDuration() => clearField(3);
|
||||
}
|
||||
|
||||
|
||||
const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names');
|
||||
const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names');
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: BackupHistory.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: BackupHistory.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:convert' as $convert;
|
||||
import 'dart:core' as $core;
|
||||
import 'dart:typed_data' as $typed_data;
|
||||
|
||||
@$core.Deprecated('Use backupHistoryDescriptor instead')
|
||||
const BackupHistory$json = {
|
||||
'1': 'BackupHistory',
|
||||
'2': [
|
||||
{'1': 'url', '3': 1, '4': 1, '5': 9, '10': 'url'},
|
||||
{'1': 'lastRead', '3': 2, '4': 1, '5': 5, '10': 'lastRead'},
|
||||
{'1': 'readDuration', '3': 3, '4': 1, '5': 5, '10': 'readDuration'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `BackupHistory`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List backupHistoryDescriptor = $convert.base64Decode(
|
||||
'Cg1CYWNrdXBIaXN0b3J5EhAKA3VybBgBIAEoCVIDdXJsEhoKCGxhc3RSZWFkGAIgASgFUghsYX'
|
||||
'N0UmVhZBIiCgxyZWFkRHVyYXRpb24YAyABKAVSDHJlYWREdXJhdGlvbg==');
|
||||
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: BackupHistory.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names
|
||||
// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
export 'BackupHistory.pb.dart';
|
||||
|
||||
|
|
@ -0,0 +1,257 @@
|
|||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: BackupManga.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:core' as $core;
|
||||
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
import 'BackupChapter.pb.dart' as $0;
|
||||
import 'BackupHistory.pb.dart' as $1;
|
||||
|
||||
class BackupManga extends $pb.GeneratedMessage {
|
||||
factory BackupManga({
|
||||
$core.int? source,
|
||||
$core.String? url,
|
||||
$core.String? title,
|
||||
$core.String? artist,
|
||||
$core.String? author,
|
||||
$core.String? description,
|
||||
$core.Iterable<$core.String>? genre,
|
||||
$core.int? status,
|
||||
$core.String? thumbnailUrl,
|
||||
$core.int? dateAdded,
|
||||
$core.int? viewer,
|
||||
$core.Iterable<$0.BackupChapter>? chapters,
|
||||
$core.Iterable<$core.int>? categories,
|
||||
$core.int? viewerFlags,
|
||||
$core.Iterable<$1.BackupHistory>? history,
|
||||
$core.int? lastModifiedAt,
|
||||
}) {
|
||||
final $result = create();
|
||||
if (source != null) {
|
||||
$result.source = source;
|
||||
}
|
||||
if (url != null) {
|
||||
$result.url = url;
|
||||
}
|
||||
if (title != null) {
|
||||
$result.title = title;
|
||||
}
|
||||
if (artist != null) {
|
||||
$result.artist = artist;
|
||||
}
|
||||
if (author != null) {
|
||||
$result.author = author;
|
||||
}
|
||||
if (description != null) {
|
||||
$result.description = description;
|
||||
}
|
||||
if (genre != null) {
|
||||
$result.genre.addAll(genre);
|
||||
}
|
||||
if (status != null) {
|
||||
$result.status = status;
|
||||
}
|
||||
if (thumbnailUrl != null) {
|
||||
$result.thumbnailUrl = thumbnailUrl;
|
||||
}
|
||||
if (dateAdded != null) {
|
||||
$result.dateAdded = dateAdded;
|
||||
}
|
||||
if (viewer != null) {
|
||||
$result.viewer = viewer;
|
||||
}
|
||||
if (chapters != null) {
|
||||
$result.chapters.addAll(chapters);
|
||||
}
|
||||
if (categories != null) {
|
||||
$result.categories.addAll(categories);
|
||||
}
|
||||
if (viewerFlags != null) {
|
||||
$result.viewerFlags = viewerFlags;
|
||||
}
|
||||
if (history != null) {
|
||||
$result.history.addAll(history);
|
||||
}
|
||||
if (lastModifiedAt != null) {
|
||||
$result.lastModifiedAt = lastModifiedAt;
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
BackupManga._() : super();
|
||||
factory BackupManga.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
|
||||
factory BackupManga.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
|
||||
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'BackupManga', createEmptyInstance: create)
|
||||
..a<$core.int>(1, _omitFieldNames ? '' : 'source', $pb.PbFieldType.O3)
|
||||
..aOS(2, _omitFieldNames ? '' : 'url')
|
||||
..aOS(3, _omitFieldNames ? '' : 'title')
|
||||
..aOS(4, _omitFieldNames ? '' : 'artist')
|
||||
..aOS(5, _omitFieldNames ? '' : 'author')
|
||||
..aOS(6, _omitFieldNames ? '' : 'description')
|
||||
..pPS(7, _omitFieldNames ? '' : 'genre')
|
||||
..a<$core.int>(8, _omitFieldNames ? '' : 'status', $pb.PbFieldType.O3)
|
||||
..aOS(9, _omitFieldNames ? '' : 'thumbnailUrl', protoName: 'thumbnailUrl')
|
||||
..a<$core.int>(13, _omitFieldNames ? '' : 'dateAdded', $pb.PbFieldType.O3, protoName: 'dateAdded')
|
||||
..a<$core.int>(14, _omitFieldNames ? '' : 'viewer', $pb.PbFieldType.O3)
|
||||
..pc<$0.BackupChapter>(16, _omitFieldNames ? '' : 'chapters', $pb.PbFieldType.PM, subBuilder: $0.BackupChapter.create)
|
||||
..p<$core.int>(17, _omitFieldNames ? '' : 'categories', $pb.PbFieldType.K3)
|
||||
..a<$core.int>(103, _omitFieldNames ? '' : 'viewerFlags', $pb.PbFieldType.O3)
|
||||
..pc<$1.BackupHistory>(104, _omitFieldNames ? '' : 'history', $pb.PbFieldType.PM, subBuilder: $1.BackupHistory.create)
|
||||
..a<$core.int>(106, _omitFieldNames ? '' : 'lastModifiedAt', $pb.PbFieldType.O3, protoName: 'lastModifiedAt')
|
||||
..hasRequiredFields = false
|
||||
;
|
||||
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
|
||||
'Will be removed in next major version')
|
||||
BackupManga clone() => BackupManga()..mergeFromMessage(this);
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
|
||||
'Will be removed in next major version')
|
||||
BackupManga copyWith(void Function(BackupManga) updates) => super.copyWith((message) => updates(message as BackupManga)) as BackupManga;
|
||||
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static BackupManga create() => BackupManga._();
|
||||
BackupManga createEmptyInstance() => create();
|
||||
static $pb.PbList<BackupManga> createRepeated() => $pb.PbList<BackupManga>();
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static BackupManga getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<BackupManga>(create);
|
||||
static BackupManga? _defaultInstance;
|
||||
|
||||
@$pb.TagNumber(1)
|
||||
$core.int get source => $_getIZ(0);
|
||||
@$pb.TagNumber(1)
|
||||
set source($core.int v) { $_setSignedInt32(0, v); }
|
||||
@$pb.TagNumber(1)
|
||||
$core.bool hasSource() => $_has(0);
|
||||
@$pb.TagNumber(1)
|
||||
void clearSource() => clearField(1);
|
||||
|
||||
@$pb.TagNumber(2)
|
||||
$core.String get url => $_getSZ(1);
|
||||
@$pb.TagNumber(2)
|
||||
set url($core.String v) { $_setString(1, v); }
|
||||
@$pb.TagNumber(2)
|
||||
$core.bool hasUrl() => $_has(1);
|
||||
@$pb.TagNumber(2)
|
||||
void clearUrl() => clearField(2);
|
||||
|
||||
@$pb.TagNumber(3)
|
||||
$core.String get title => $_getSZ(2);
|
||||
@$pb.TagNumber(3)
|
||||
set title($core.String v) { $_setString(2, v); }
|
||||
@$pb.TagNumber(3)
|
||||
$core.bool hasTitle() => $_has(2);
|
||||
@$pb.TagNumber(3)
|
||||
void clearTitle() => clearField(3);
|
||||
|
||||
@$pb.TagNumber(4)
|
||||
$core.String get artist => $_getSZ(3);
|
||||
@$pb.TagNumber(4)
|
||||
set artist($core.String v) { $_setString(3, v); }
|
||||
@$pb.TagNumber(4)
|
||||
$core.bool hasArtist() => $_has(3);
|
||||
@$pb.TagNumber(4)
|
||||
void clearArtist() => clearField(4);
|
||||
|
||||
@$pb.TagNumber(5)
|
||||
$core.String get author => $_getSZ(4);
|
||||
@$pb.TagNumber(5)
|
||||
set author($core.String v) { $_setString(4, v); }
|
||||
@$pb.TagNumber(5)
|
||||
$core.bool hasAuthor() => $_has(4);
|
||||
@$pb.TagNumber(5)
|
||||
void clearAuthor() => clearField(5);
|
||||
|
||||
@$pb.TagNumber(6)
|
||||
$core.String get description => $_getSZ(5);
|
||||
@$pb.TagNumber(6)
|
||||
set description($core.String v) { $_setString(5, v); }
|
||||
@$pb.TagNumber(6)
|
||||
$core.bool hasDescription() => $_has(5);
|
||||
@$pb.TagNumber(6)
|
||||
void clearDescription() => clearField(6);
|
||||
|
||||
@$pb.TagNumber(7)
|
||||
$core.List<$core.String> get genre => $_getList(6);
|
||||
|
||||
@$pb.TagNumber(8)
|
||||
$core.int get status => $_getIZ(7);
|
||||
@$pb.TagNumber(8)
|
||||
set status($core.int v) { $_setSignedInt32(7, v); }
|
||||
@$pb.TagNumber(8)
|
||||
$core.bool hasStatus() => $_has(7);
|
||||
@$pb.TagNumber(8)
|
||||
void clearStatus() => clearField(8);
|
||||
|
||||
@$pb.TagNumber(9)
|
||||
$core.String get thumbnailUrl => $_getSZ(8);
|
||||
@$pb.TagNumber(9)
|
||||
set thumbnailUrl($core.String v) { $_setString(8, v); }
|
||||
@$pb.TagNumber(9)
|
||||
$core.bool hasThumbnailUrl() => $_has(8);
|
||||
@$pb.TagNumber(9)
|
||||
void clearThumbnailUrl() => clearField(9);
|
||||
|
||||
@$pb.TagNumber(13)
|
||||
$core.int get dateAdded => $_getIZ(9);
|
||||
@$pb.TagNumber(13)
|
||||
set dateAdded($core.int v) { $_setSignedInt32(9, v); }
|
||||
@$pb.TagNumber(13)
|
||||
$core.bool hasDateAdded() => $_has(9);
|
||||
@$pb.TagNumber(13)
|
||||
void clearDateAdded() => clearField(13);
|
||||
|
||||
@$pb.TagNumber(14)
|
||||
$core.int get viewer => $_getIZ(10);
|
||||
@$pb.TagNumber(14)
|
||||
set viewer($core.int v) { $_setSignedInt32(10, v); }
|
||||
@$pb.TagNumber(14)
|
||||
$core.bool hasViewer() => $_has(10);
|
||||
@$pb.TagNumber(14)
|
||||
void clearViewer() => clearField(14);
|
||||
|
||||
@$pb.TagNumber(16)
|
||||
$core.List<$0.BackupChapter> get chapters => $_getList(11);
|
||||
|
||||
@$pb.TagNumber(17)
|
||||
$core.List<$core.int> get categories => $_getList(12);
|
||||
|
||||
@$pb.TagNumber(103)
|
||||
$core.int get viewerFlags => $_getIZ(13);
|
||||
@$pb.TagNumber(103)
|
||||
set viewerFlags($core.int v) { $_setSignedInt32(13, v); }
|
||||
@$pb.TagNumber(103)
|
||||
$core.bool hasViewerFlags() => $_has(13);
|
||||
@$pb.TagNumber(103)
|
||||
void clearViewerFlags() => clearField(103);
|
||||
|
||||
@$pb.TagNumber(104)
|
||||
$core.List<$1.BackupHistory> get history => $_getList(14);
|
||||
|
||||
@$pb.TagNumber(106)
|
||||
$core.int get lastModifiedAt => $_getIZ(15);
|
||||
@$pb.TagNumber(106)
|
||||
set lastModifiedAt($core.int v) { $_setSignedInt32(15, v); }
|
||||
@$pb.TagNumber(106)
|
||||
$core.bool hasLastModifiedAt() => $_has(15);
|
||||
@$pb.TagNumber(106)
|
||||
void clearLastModifiedAt() => clearField(106);
|
||||
}
|
||||
|
||||
|
||||
const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names');
|
||||
const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names');
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: BackupManga.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
|
|
@ -0,0 +1,60 @@
|
|||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: BackupManga.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:convert' as $convert;
|
||||
import 'dart:core' as $core;
|
||||
import 'dart:typed_data' as $typed_data;
|
||||
|
||||
@$core.Deprecated('Use backupMangaDescriptor instead')
|
||||
const BackupManga$json = {
|
||||
'1': 'BackupManga',
|
||||
'2': [
|
||||
{'1': 'source', '3': 1, '4': 1, '5': 5, '10': 'source'},
|
||||
{'1': 'url', '3': 2, '4': 1, '5': 9, '10': 'url'},
|
||||
{'1': 'title', '3': 3, '4': 1, '5': 9, '10': 'title'},
|
||||
{'1': 'artist', '3': 4, '4': 1, '5': 9, '9': 0, '10': 'artist', '17': true},
|
||||
{'1': 'author', '3': 5, '4': 1, '5': 9, '9': 1, '10': 'author', '17': true},
|
||||
{'1': 'description', '3': 6, '4': 1, '5': 9, '9': 2, '10': 'description', '17': true},
|
||||
{'1': 'genre', '3': 7, '4': 3, '5': 9, '10': 'genre'},
|
||||
{'1': 'status', '3': 8, '4': 1, '5': 5, '10': 'status'},
|
||||
{'1': 'thumbnailUrl', '3': 9, '4': 1, '5': 9, '9': 3, '10': 'thumbnailUrl', '17': true},
|
||||
{'1': 'dateAdded', '3': 13, '4': 1, '5': 5, '10': 'dateAdded'},
|
||||
{'1': 'viewer', '3': 14, '4': 1, '5': 5, '10': 'viewer'},
|
||||
{'1': 'chapters', '3': 16, '4': 3, '5': 11, '6': '.BackupChapter', '10': 'chapters'},
|
||||
{'1': 'categories', '3': 17, '4': 3, '5': 5, '10': 'categories'},
|
||||
{'1': 'viewer_flags', '3': 103, '4': 1, '5': 5, '9': 4, '10': 'viewerFlags', '17': true},
|
||||
{'1': 'history', '3': 104, '4': 3, '5': 11, '6': '.BackupHistory', '10': 'history'},
|
||||
{'1': 'lastModifiedAt', '3': 106, '4': 1, '5': 5, '9': 5, '10': 'lastModifiedAt', '17': true},
|
||||
],
|
||||
'8': [
|
||||
{'1': '_artist'},
|
||||
{'1': '_author'},
|
||||
{'1': '_description'},
|
||||
{'1': '_thumbnailUrl'},
|
||||
{'1': '_viewer_flags'},
|
||||
{'1': '_lastModifiedAt'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `BackupManga`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List backupMangaDescriptor = $convert.base64Decode(
|
||||
'CgtCYWNrdXBNYW5nYRIWCgZzb3VyY2UYASABKAVSBnNvdXJjZRIQCgN1cmwYAiABKAlSA3VybB'
|
||||
'IUCgV0aXRsZRgDIAEoCVIFdGl0bGUSGwoGYXJ0aXN0GAQgASgJSABSBmFydGlzdIgBARIbCgZh'
|
||||
'dXRob3IYBSABKAlIAVIGYXV0aG9yiAEBEiUKC2Rlc2NyaXB0aW9uGAYgASgJSAJSC2Rlc2NyaX'
|
||||
'B0aW9uiAEBEhQKBWdlbnJlGAcgAygJUgVnZW5yZRIWCgZzdGF0dXMYCCABKAVSBnN0YXR1cxIn'
|
||||
'Cgx0aHVtYm5haWxVcmwYCSABKAlIA1IMdGh1bWJuYWlsVXJsiAEBEhwKCWRhdGVBZGRlZBgNIA'
|
||||
'EoBVIJZGF0ZUFkZGVkEhYKBnZpZXdlchgOIAEoBVIGdmlld2VyEioKCGNoYXB0ZXJzGBAgAygL'
|
||||
'Mg4uQmFja3VwQ2hhcHRlclIIY2hhcHRlcnMSHgoKY2F0ZWdvcmllcxgRIAMoBVIKY2F0ZWdvcm'
|
||||
'llcxImCgx2aWV3ZXJfZmxhZ3MYZyABKAVIBFILdmlld2VyRmxhZ3OIAQESKAoHaGlzdG9yeRho'
|
||||
'IAMoCzIOLkJhY2t1cEhpc3RvcnlSB2hpc3RvcnkSKwoObGFzdE1vZGlmaWVkQXQYaiABKAVIBV'
|
||||
'IObGFzdE1vZGlmaWVkQXSIAQFCCQoHX2FydGlzdEIJCgdfYXV0aG9yQg4KDF9kZXNjcmlwdGlv'
|
||||
'bkIPCg1fdGh1bWJuYWlsVXJsQg8KDV92aWV3ZXJfZmxhZ3NCEQoPX2xhc3RNb2RpZmllZEF0');
|
||||
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: BackupManga.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names
|
||||
// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
export 'BackupManga.pb.dart';
|
||||
|
||||
|
|
@ -0,0 +1,82 @@
|
|||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: BackupMihon.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:core' as $core;
|
||||
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
import 'BackupCategory.pb.dart' as $1;
|
||||
import 'BackupManga.pb.dart' as $0;
|
||||
import 'BackupSource.pb.dart' as $2;
|
||||
|
||||
class BackupMihon extends $pb.GeneratedMessage {
|
||||
factory BackupMihon({
|
||||
$core.Iterable<$0.BackupManga>? backupManga,
|
||||
$core.Iterable<$1.BackupCategory>? backupCategories,
|
||||
$core.Iterable<$2.BackupSource>? backupSources,
|
||||
}) {
|
||||
final $result = create();
|
||||
if (backupManga != null) {
|
||||
$result.backupManga.addAll(backupManga);
|
||||
}
|
||||
if (backupCategories != null) {
|
||||
$result.backupCategories.addAll(backupCategories);
|
||||
}
|
||||
if (backupSources != null) {
|
||||
$result.backupSources.addAll(backupSources);
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
BackupMihon._() : super();
|
||||
factory BackupMihon.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
|
||||
factory BackupMihon.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
|
||||
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'BackupMihon', createEmptyInstance: create)
|
||||
..pc<$0.BackupManga>(1, _omitFieldNames ? '' : 'backupManga', $pb.PbFieldType.PM, protoName: 'backupManga', subBuilder: $0.BackupManga.create)
|
||||
..pc<$1.BackupCategory>(2, _omitFieldNames ? '' : 'backupCategories', $pb.PbFieldType.PM, protoName: 'backupCategories', subBuilder: $1.BackupCategory.create)
|
||||
..pc<$2.BackupSource>(101, _omitFieldNames ? '' : 'backupSources', $pb.PbFieldType.PM, protoName: 'backupSources', subBuilder: $2.BackupSource.create)
|
||||
..hasRequiredFields = false
|
||||
;
|
||||
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
|
||||
'Will be removed in next major version')
|
||||
BackupMihon clone() => BackupMihon()..mergeFromMessage(this);
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
|
||||
'Will be removed in next major version')
|
||||
BackupMihon copyWith(void Function(BackupMihon) updates) => super.copyWith((message) => updates(message as BackupMihon)) as BackupMihon;
|
||||
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static BackupMihon create() => BackupMihon._();
|
||||
BackupMihon createEmptyInstance() => create();
|
||||
static $pb.PbList<BackupMihon> createRepeated() => $pb.PbList<BackupMihon>();
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static BackupMihon getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<BackupMihon>(create);
|
||||
static BackupMihon? _defaultInstance;
|
||||
|
||||
@$pb.TagNumber(1)
|
||||
$core.List<$0.BackupManga> get backupManga => $_getList(0);
|
||||
|
||||
@$pb.TagNumber(2)
|
||||
$core.List<$1.BackupCategory> get backupCategories => $_getList(1);
|
||||
|
||||
@$pb.TagNumber(101)
|
||||
$core.List<$2.BackupSource> get backupSources => $_getList(2);
|
||||
}
|
||||
|
||||
|
||||
const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names');
|
||||
const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names');
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: BackupMihon.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: BackupMihon.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:convert' as $convert;
|
||||
import 'dart:core' as $core;
|
||||
import 'dart:typed_data' as $typed_data;
|
||||
|
||||
@$core.Deprecated('Use backupMihonDescriptor instead')
|
||||
const BackupMihon$json = {
|
||||
'1': 'BackupMihon',
|
||||
'2': [
|
||||
{'1': 'backupManga', '3': 1, '4': 3, '5': 11, '6': '.BackupManga', '10': 'backupManga'},
|
||||
{'1': 'backupCategories', '3': 2, '4': 3, '5': 11, '6': '.BackupCategory', '10': 'backupCategories'},
|
||||
{'1': 'backupSources', '3': 101, '4': 3, '5': 11, '6': '.BackupSource', '10': 'backupSources'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `BackupMihon`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List backupMihonDescriptor = $convert.base64Decode(
|
||||
'CgtCYWNrdXBNaWhvbhIuCgtiYWNrdXBNYW5nYRgBIAMoCzIMLkJhY2t1cE1hbmdhUgtiYWNrdX'
|
||||
'BNYW5nYRI7ChBiYWNrdXBDYXRlZ29yaWVzGAIgAygLMg8uQmFja3VwQ2F0ZWdvcnlSEGJhY2t1'
|
||||
'cENhdGVnb3JpZXMSMwoNYmFja3VwU291cmNlcxhlIAMoCzINLkJhY2t1cFNvdXJjZVINYmFja3'
|
||||
'VwU291cmNlcw==');
|
||||
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: BackupMihon.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names
|
||||
// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
export 'BackupMihon.pb.dart';
|
||||
|
||||
|
|
@ -0,0 +1,82 @@
|
|||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: BackupSource.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:core' as $core;
|
||||
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
class BackupSource extends $pb.GeneratedMessage {
|
||||
factory BackupSource({
|
||||
$core.String? name,
|
||||
$core.int? sourceId,
|
||||
}) {
|
||||
final $result = create();
|
||||
if (name != null) {
|
||||
$result.name = name;
|
||||
}
|
||||
if (sourceId != null) {
|
||||
$result.sourceId = sourceId;
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
BackupSource._() : super();
|
||||
factory BackupSource.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
|
||||
factory BackupSource.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
|
||||
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'BackupSource', createEmptyInstance: create)
|
||||
..aOS(1, _omitFieldNames ? '' : 'name')
|
||||
..a<$core.int>(2, _omitFieldNames ? '' : 'sourceId', $pb.PbFieldType.O3, protoName: 'sourceId')
|
||||
..hasRequiredFields = false
|
||||
;
|
||||
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
|
||||
'Will be removed in next major version')
|
||||
BackupSource clone() => BackupSource()..mergeFromMessage(this);
|
||||
@$core.Deprecated(
|
||||
'Using this can add significant overhead to your binary. '
|
||||
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
|
||||
'Will be removed in next major version')
|
||||
BackupSource copyWith(void Function(BackupSource) updates) => super.copyWith((message) => updates(message as BackupSource)) as BackupSource;
|
||||
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static BackupSource create() => BackupSource._();
|
||||
BackupSource createEmptyInstance() => create();
|
||||
static $pb.PbList<BackupSource> createRepeated() => $pb.PbList<BackupSource>();
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static BackupSource getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<BackupSource>(create);
|
||||
static BackupSource? _defaultInstance;
|
||||
|
||||
@$pb.TagNumber(1)
|
||||
$core.String get name => $_getSZ(0);
|
||||
@$pb.TagNumber(1)
|
||||
set name($core.String v) { $_setString(0, v); }
|
||||
@$pb.TagNumber(1)
|
||||
$core.bool hasName() => $_has(0);
|
||||
@$pb.TagNumber(1)
|
||||
void clearName() => clearField(1);
|
||||
|
||||
@$pb.TagNumber(2)
|
||||
$core.int get sourceId => $_getIZ(1);
|
||||
@$pb.TagNumber(2)
|
||||
set sourceId($core.int v) { $_setSignedInt32(1, v); }
|
||||
@$pb.TagNumber(2)
|
||||
$core.bool hasSourceId() => $_has(1);
|
||||
@$pb.TagNumber(2)
|
||||
void clearSourceId() => clearField(2);
|
||||
}
|
||||
|
||||
|
||||
const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names');
|
||||
const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names');
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: BackupSource.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: BackupSource.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
import 'dart:convert' as $convert;
|
||||
import 'dart:core' as $core;
|
||||
import 'dart:typed_data' as $typed_data;
|
||||
|
||||
@$core.Deprecated('Use backupSourceDescriptor instead')
|
||||
const BackupSource$json = {
|
||||
'1': 'BackupSource',
|
||||
'2': [
|
||||
{'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'},
|
||||
{'1': 'sourceId', '3': 2, '4': 1, '5': 5, '10': 'sourceId'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `BackupSource`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List backupSourceDescriptor = $convert.base64Decode(
|
||||
'CgxCYWNrdXBTb3VyY2USEgoEbmFtZRgBIAEoCVIEbmFtZRIaCghzb3VyY2VJZBgCIAEoBVIIc2'
|
||||
'91cmNlSWQ=');
|
||||
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
//
|
||||
// Generated code. Do not modify.
|
||||
// source: BackupSource.proto
|
||||
//
|
||||
// @dart = 2.12
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names
|
||||
// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
|
||||
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
|
||||
|
||||
export 'BackupSource.pb.dart';
|
||||
|
||||
|
|
@ -2,6 +2,7 @@ import 'dart:convert';
|
|||
import 'package:archive/archive_io.dart';
|
||||
import 'package:bot_toast/bot_toast.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_qjs/quickjs/ffi.dart';
|
||||
import 'package:isar/isar.dart';
|
||||
import 'package:mangayomi/eval/model/m_bridge.dart';
|
||||
import 'package:mangayomi/eval/model/source_preference.dart';
|
||||
|
|
@ -16,6 +17,8 @@ import 'package:mangayomi/models/settings.dart';
|
|||
import 'package:mangayomi/models/source.dart';
|
||||
import 'package:mangayomi/models/track.dart';
|
||||
import 'package:mangayomi/models/track_preference.dart';
|
||||
import 'package:mangayomi/modules/more/data_and_storage/providers/proto/BackupAniyomi.pb.dart';
|
||||
import 'package:mangayomi/modules/more/data_and_storage/providers/proto/BackupMihon.pb.dart';
|
||||
import 'package:mangayomi/modules/more/settings/appearance/providers/blend_level_state_provider.dart';
|
||||
import 'package:mangayomi/modules/more/settings/appearance/providers/flex_scheme_color_state_provider.dart';
|
||||
import 'package:mangayomi/modules/more/settings/appearance/providers/pure_black_dark_mode_state_provider.dart';
|
||||
|
|
@ -31,8 +34,8 @@ part 'restore.g.dart';
|
|||
@riverpod
|
||||
void doRestore(Ref ref, {required String path, required BuildContext context}) {
|
||||
final inputStream = InputFileStream(path);
|
||||
final archive = ZipDecoder().decodeStream(inputStream);
|
||||
try {
|
||||
final archive = ZipDecoder().decodeStream(inputStream);
|
||||
final backupType = checkBackupType(path, archive);
|
||||
switch (backupType) {
|
||||
case BackupType.mangayomi:
|
||||
|
|
@ -44,6 +47,10 @@ void doRestore(Ref ref, {required String path, required BuildContext context}) {
|
|||
case BackupType.kotatsu:
|
||||
ref.read(restoreKotatsuBackupProvider(archive));
|
||||
break;
|
||||
case BackupType.mihon:
|
||||
case BackupType.aniyomi:
|
||||
ref.read(restoreTachiBkBackupProvider(path, backupType));
|
||||
break;
|
||||
default:
|
||||
}
|
||||
if (backupType != BackupType.unknown) {
|
||||
|
|
@ -70,7 +77,7 @@ void showBotToast(String text) {
|
|||
);
|
||||
}
|
||||
|
||||
enum BackupType { unknown, mangayomi, tachibk, kotatsu }
|
||||
enum BackupType { unknown, mangayomi, mihon, aniyomi, kotatsu }
|
||||
|
||||
BackupType checkBackupType(String path, Archive archive) {
|
||||
if (path.toLowerCase().contains("mangayomi") &&
|
||||
|
|
@ -88,6 +95,13 @@ BackupType checkBackupType(String path, Archive archive) {
|
|||
}).length ==
|
||||
2) {
|
||||
return BackupType.kotatsu;
|
||||
} else if (path.toLowerCase().endsWith(".tachibk") ||
|
||||
path.toLowerCase().endsWith(".proto.gz")) {
|
||||
return path.contains("tachiyomi") || path.contains("mihon")
|
||||
? BackupType.mihon
|
||||
: path.contains("xyz.jmir.tachiyomi.mi")
|
||||
? BackupType.aniyomi
|
||||
: BackupType.unknown;
|
||||
}
|
||||
return BackupType.unknown;
|
||||
}
|
||||
|
|
@ -284,65 +298,242 @@ ItemType _convertToItemTypeCategory(Map<String, dynamic> backup) {
|
|||
|
||||
@riverpod
|
||||
void restoreKotatsuBackup(Ref ref, Archive archive) {
|
||||
for (var f in archive.files) {
|
||||
List<Category> cats = [];
|
||||
switch (f.name) {
|
||||
case "categories":
|
||||
final categories = jsonDecode(utf8.decode(f.content)) as List? ?? [];
|
||||
isar.writeTxnSync(() {
|
||||
isar.categorys.clearSync();
|
||||
for (var category in categories) {
|
||||
final cat = Category(
|
||||
id: category["id"],
|
||||
name: category["title"],
|
||||
forItemType: ItemType.manga,
|
||||
hide: !(category["show_in_lib"] ?? true)
|
||||
);
|
||||
isar.categorys.putSync(cat);
|
||||
cats.add(cat);
|
||||
}
|
||||
});
|
||||
case "favourites":
|
||||
final favourites = jsonDecode(utf8.decode(f.content)) as List? ?? [];
|
||||
isar.writeTxnSync(() {
|
||||
isar.mangas.clearSync();
|
||||
for (var favourite in favourites) {
|
||||
final tempManga = favourite["manga"];
|
||||
final manga = Manga(
|
||||
source: tempManga["source"],
|
||||
author: tempManga["author"],
|
||||
artist: null,
|
||||
genre:
|
||||
(tempManga["tags"] as List?)
|
||||
?.map((t) => t["title"] as String)
|
||||
.toList() ??
|
||||
[],
|
||||
imageUrl: tempManga["large_cover_url"],
|
||||
lang: 'en',
|
||||
link: tempManga["url"],
|
||||
name: tempManga["title"],
|
||||
status: Status.values.firstWhere(
|
||||
(s) =>
|
||||
s.name.toLowerCase() ==
|
||||
(tempManga["state"] as String?)?.toLowerCase(),
|
||||
orElse: () => Status.unknown,
|
||||
),
|
||||
description: null,
|
||||
categories: [favourite["category_id"]],
|
||||
itemType: ItemType.manga,
|
||||
favorite: true
|
||||
);
|
||||
isar.mangas.putSync(manga);
|
||||
}
|
||||
});
|
||||
default:
|
||||
continue;
|
||||
try {
|
||||
for (var f in archive.files) {
|
||||
List<Category> cats = [];
|
||||
switch (f.name) {
|
||||
case "categories":
|
||||
final categories = jsonDecode(utf8.decode(f.content)) as List? ?? [];
|
||||
isar.writeTxnSync(() {
|
||||
isar.categorys.clearSync();
|
||||
for (var category in categories) {
|
||||
final cat = Category(
|
||||
id: category["id"],
|
||||
name: category["title"],
|
||||
forItemType: ItemType.manga,
|
||||
hide: !(category["show_in_lib"] ?? true),
|
||||
);
|
||||
isar.categorys.putSync(cat);
|
||||
cats.add(cat);
|
||||
}
|
||||
});
|
||||
case "favourites":
|
||||
final favourites = jsonDecode(utf8.decode(f.content)) as List? ?? [];
|
||||
isar.writeTxnSync(() {
|
||||
isar.mangas.clearSync();
|
||||
for (var favourite in favourites) {
|
||||
final tempManga = favourite["manga"];
|
||||
final manga = Manga(
|
||||
source: tempManga["source"],
|
||||
author: tempManga["author"],
|
||||
artist: null,
|
||||
genre:
|
||||
(tempManga["tags"] as List?)
|
||||
?.map((t) => t["title"] as String)
|
||||
.toList() ??
|
||||
[],
|
||||
imageUrl: tempManga["large_cover_url"],
|
||||
lang: 'en',
|
||||
link: tempManga["url"],
|
||||
name: tempManga["title"],
|
||||
status: Status.values.firstWhere(
|
||||
(s) =>
|
||||
s.name.toLowerCase() ==
|
||||
(tempManga["state"] as String?)?.toLowerCase(),
|
||||
orElse: () => Status.unknown,
|
||||
),
|
||||
description: null,
|
||||
categories: [favourite["category_id"]],
|
||||
itemType: ItemType.manga,
|
||||
favorite: true,
|
||||
);
|
||||
isar.mangas.putSync(manga);
|
||||
}
|
||||
});
|
||||
default:
|
||||
continue;
|
||||
}
|
||||
}
|
||||
isar.writeTxnSync(() {
|
||||
isar.chapters.clearSync();
|
||||
isar.downloads.clearSync();
|
||||
isar.historys.clearSync();
|
||||
isar.updates.clearSync();
|
||||
isar.tracks.clearSync();
|
||||
isar.trackPreferences.clearSync();
|
||||
ref
|
||||
.read(synchingProvider(syncId: 1).notifier)
|
||||
.clearAllChangedParts(false);
|
||||
ref.invalidate(themeModeStateProvider);
|
||||
ref.invalidate(blendLevelStateProvider);
|
||||
ref.invalidate(flexSchemeColorStateProvider);
|
||||
ref.invalidate(pureBlackDarkModeStateProvider);
|
||||
ref.invalidate(l10nLocaleStateProvider);
|
||||
ref.invalidate(navigationOrderStateProvider);
|
||||
ref.invalidate(hideItemsStateProvider);
|
||||
ref.invalidate(extensionsRepoStateProvider(ItemType.manga));
|
||||
ref.invalidate(extensionsRepoStateProvider(ItemType.anime));
|
||||
ref.invalidate(extensionsRepoStateProvider(ItemType.novel));
|
||||
});
|
||||
} catch (e) {
|
||||
rethrow;
|
||||
}
|
||||
}
|
||||
|
||||
@riverpod
|
||||
void restoreTachiBkBackup(Ref ref, String path, BackupType bkType) {
|
||||
final content = GZipDecoder().decodeBytes(
|
||||
InputFileStream(path).toUint8List(),
|
||||
);
|
||||
final backup = BackupMihon.fromBuffer(content);
|
||||
List<Category> cats = [];
|
||||
isar.writeTxnSync(() {
|
||||
isar.categorys.clearSync();
|
||||
isar.mangas.clearSync();
|
||||
isar.chapters.clearSync();
|
||||
isar.historys.clearSync();
|
||||
for (var category in backup.backupCategories) {
|
||||
final cat = Category(
|
||||
name: category.name,
|
||||
forItemType: ItemType.manga,
|
||||
pos: category.order,
|
||||
);
|
||||
isar.categorys.putSync(cat);
|
||||
cats.add(cat);
|
||||
}
|
||||
for (var tempManga in backup.backupManga) {
|
||||
final manga = Manga(
|
||||
source:
|
||||
backup.backupSources
|
||||
.firstWhereOrNull((src) => src.sourceId == tempManga.source)
|
||||
?.name ??
|
||||
"Unknown",
|
||||
author: tempManga.author,
|
||||
artist: tempManga.artist,
|
||||
genre: tempManga.genre,
|
||||
imageUrl: tempManga.thumbnailUrl,
|
||||
lang: 'en',
|
||||
link: tempManga.url,
|
||||
name: tempManga.title,
|
||||
status: _convertStatusFromTachiBk(tempManga.status),
|
||||
description: tempManga.description,
|
||||
categories:
|
||||
cats
|
||||
.where((cat) => tempManga.categories.contains(cat.pos!))
|
||||
.map((cat) => cat.id!)
|
||||
.toList(),
|
||||
itemType: ItemType.manga,
|
||||
favorite: true,
|
||||
dateAdded: tempManga.dateAdded,
|
||||
lastUpdate: tempManga.lastModifiedAt,
|
||||
);
|
||||
isar.mangas.putSync(manga);
|
||||
History? history;
|
||||
for (var tempChapter in tempManga.chapters) {
|
||||
final chapter = Chapter(
|
||||
mangaId: manga.id!,
|
||||
name: tempChapter.name,
|
||||
dateUpload: "${tempChapter.dateUpload}",
|
||||
isBookmarked: tempChapter.bookmark,
|
||||
isRead: tempChapter.read,
|
||||
lastPageRead: "${tempChapter.lastPageRead}",
|
||||
scanlator: tempChapter.scanlator,
|
||||
url: tempChapter.url,
|
||||
);
|
||||
isar.chapters.putSync(chapter..manga.value = manga);
|
||||
chapter.manga.saveSync();
|
||||
if ((chapter.isRead ?? false) &&
|
||||
(history == null ||
|
||||
int.parse(history.date ?? "0") < tempChapter.lastModifiedAt)) {
|
||||
history = History(
|
||||
mangaId: manga.id,
|
||||
date: "${tempChapter.lastModifiedAt}",
|
||||
itemType: ItemType.manga,
|
||||
chapterId: chapter.id,
|
||||
)..chapter.value = chapter;
|
||||
}
|
||||
}
|
||||
if (history != null) {
|
||||
isar.historys.putSync(history);
|
||||
history.chapter.saveSync();
|
||||
}
|
||||
}
|
||||
});
|
||||
if (bkType == BackupType.aniyomi) {
|
||||
final backupAnime = BackupAniyomi.fromBuffer(content);
|
||||
List<Category> cats = [];
|
||||
isar.writeTxnSync(() {
|
||||
for (var category in backupAnime.backupAnimeCategories) {
|
||||
final cat = Category(
|
||||
name: category.name,
|
||||
forItemType: ItemType.anime,
|
||||
pos: category.order,
|
||||
);
|
||||
isar.categorys.putSync(cat);
|
||||
cats.add(cat);
|
||||
}
|
||||
for (var tempAnime in backupAnime.backupAnime) {
|
||||
final anime = Manga(
|
||||
source:
|
||||
backupAnime.backupAnimeSources
|
||||
.firstWhereOrNull((src) => src.sourceId == tempAnime.source)
|
||||
?.name ??
|
||||
"Unknown",
|
||||
author: tempAnime.author,
|
||||
artist: tempAnime.artist,
|
||||
genre: tempAnime.genre,
|
||||
imageUrl: tempAnime.thumbnailUrl,
|
||||
lang: 'en',
|
||||
link: tempAnime.url,
|
||||
name: tempAnime.title,
|
||||
status: _convertStatusFromTachiBk(tempAnime.status),
|
||||
description: tempAnime.description,
|
||||
categories:
|
||||
cats
|
||||
.where((cat) => tempAnime.categories.contains(cat.pos!))
|
||||
.map((cat) => cat.id!)
|
||||
.toList(),
|
||||
itemType: ItemType.anime,
|
||||
favorite: true,
|
||||
dateAdded: tempAnime.dateAdded,
|
||||
lastUpdate: tempAnime.lastModifiedAt,
|
||||
);
|
||||
isar.mangas.putSync(anime);
|
||||
History? history;
|
||||
for (var tempEpisode in tempAnime.episodes) {
|
||||
final episode = Chapter(
|
||||
mangaId: anime.id!,
|
||||
name: tempEpisode.name,
|
||||
dateUpload: "${tempEpisode.dateUpload}",
|
||||
isBookmarked: tempEpisode.bookmark,
|
||||
isRead: tempEpisode.seen,
|
||||
lastPageRead: "${tempEpisode.lastSecondSeen}",
|
||||
scanlator: tempEpisode.scanlator,
|
||||
url: tempEpisode.url,
|
||||
);
|
||||
isar.chapters.putSync(episode..manga.value = anime);
|
||||
episode.manga.saveSync();
|
||||
if ((episode.isRead ?? false) &&
|
||||
(history == null ||
|
||||
int.parse(history.date ?? "0") <
|
||||
tempEpisode.lastModifiedAt)) {
|
||||
history = History(
|
||||
mangaId: anime.id,
|
||||
date: "${tempEpisode.lastModifiedAt}",
|
||||
itemType: ItemType.anime,
|
||||
chapterId: episode.id,
|
||||
)..chapter.value = episode;
|
||||
}
|
||||
}
|
||||
if (history != null) {
|
||||
isar.historys.putSync(history);
|
||||
history.chapter.saveSync();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
isar.writeTxnSync(() {
|
||||
isar.chapters.clearSync();
|
||||
isar.downloads.clearSync();
|
||||
isar.historys.clearSync();
|
||||
isar.updates.clearSync();
|
||||
isar.tracks.clearSync();
|
||||
isar.trackPreferences.clearSync();
|
||||
|
|
@ -359,3 +550,20 @@ void restoreKotatsuBackup(Ref ref, Archive archive) {
|
|||
ref.invalidate(extensionsRepoStateProvider(ItemType.novel));
|
||||
});
|
||||
}
|
||||
|
||||
Status _convertStatusFromTachiBk(int idx) {
|
||||
switch (idx) {
|
||||
case 1:
|
||||
return Status.ongoing;
|
||||
case 2:
|
||||
return Status.completed;
|
||||
case 4:
|
||||
return Status.publishingFinished;
|
||||
case 5:
|
||||
return Status.canceled;
|
||||
case 6:
|
||||
return Status.onHiatus;
|
||||
default:
|
||||
return Status.unknown;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ part of 'restore.dart';
|
|||
// RiverpodGenerator
|
||||
// **************************************************************************
|
||||
|
||||
String _$doRestoreHash() => r'355f3ca8fb830aedc6fdc24cb91e2adc25c760f7';
|
||||
String _$doRestoreHash() => r'5dfc1eea6bda317ee52dd0851a63d490293e9a81';
|
||||
|
||||
/// Copied from Dart SDK
|
||||
class _SystemHash {
|
||||
|
|
@ -173,7 +173,7 @@ class _DoRestoreProviderElement extends AutoDisposeProviderElement<void>
|
|||
BuildContext get context => (origin as DoRestoreProvider).context;
|
||||
}
|
||||
|
||||
String _$restoreBackupHash() => r'0b6bdb8eff801da7efa7b3776f80e50bee4d4ad1';
|
||||
String _$restoreBackupHash() => r'503a17e4145bfb19e16f533cd87b75038cb50dbc';
|
||||
|
||||
/// See also [restoreBackup].
|
||||
@ProviderFor(restoreBackup)
|
||||
|
|
@ -321,7 +321,7 @@ class _RestoreBackupProviderElement extends AutoDisposeProviderElement<void>
|
|||
}
|
||||
|
||||
String _$restoreKotatsuBackupHash() =>
|
||||
r'a27c30891ba09cc48d4df69270a93a783aeb919f';
|
||||
r'e2c10fb6d17ab8f44ee429712cce4aa5a9298bc0';
|
||||
|
||||
/// See also [restoreKotatsuBackup].
|
||||
@ProviderFor(restoreKotatsuBackup)
|
||||
|
|
@ -450,5 +450,153 @@ class _RestoreKotatsuBackupProviderElement
|
|||
@override
|
||||
Archive get archive => (origin as RestoreKotatsuBackupProvider).archive;
|
||||
}
|
||||
|
||||
String _$restoreTachiBkBackupHash() =>
|
||||
r'981786aa59a7391a0872eb191fb8f8de6a4b7f6a';
|
||||
|
||||
/// See also [restoreTachiBkBackup].
|
||||
@ProviderFor(restoreTachiBkBackup)
|
||||
const restoreTachiBkBackupProvider = RestoreTachiBkBackupFamily();
|
||||
|
||||
/// See also [restoreTachiBkBackup].
|
||||
class RestoreTachiBkBackupFamily extends Family<void> {
|
||||
/// See also [restoreTachiBkBackup].
|
||||
const RestoreTachiBkBackupFamily();
|
||||
|
||||
/// See also [restoreTachiBkBackup].
|
||||
RestoreTachiBkBackupProvider call(
|
||||
String path,
|
||||
BackupType bkType,
|
||||
) {
|
||||
return RestoreTachiBkBackupProvider(
|
||||
path,
|
||||
bkType,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
RestoreTachiBkBackupProvider getProviderOverride(
|
||||
covariant RestoreTachiBkBackupProvider provider,
|
||||
) {
|
||||
return call(
|
||||
provider.path,
|
||||
provider.bkType,
|
||||
);
|
||||
}
|
||||
|
||||
static const Iterable<ProviderOrFamily>? _dependencies = null;
|
||||
|
||||
@override
|
||||
Iterable<ProviderOrFamily>? get dependencies => _dependencies;
|
||||
|
||||
static const Iterable<ProviderOrFamily>? _allTransitiveDependencies = null;
|
||||
|
||||
@override
|
||||
Iterable<ProviderOrFamily>? get allTransitiveDependencies =>
|
||||
_allTransitiveDependencies;
|
||||
|
||||
@override
|
||||
String? get name => r'restoreTachiBkBackupProvider';
|
||||
}
|
||||
|
||||
/// See also [restoreTachiBkBackup].
|
||||
class RestoreTachiBkBackupProvider extends AutoDisposeProvider<void> {
|
||||
/// See also [restoreTachiBkBackup].
|
||||
RestoreTachiBkBackupProvider(
|
||||
String path,
|
||||
BackupType bkType,
|
||||
) : this._internal(
|
||||
(ref) => restoreTachiBkBackup(
|
||||
ref as RestoreTachiBkBackupRef,
|
||||
path,
|
||||
bkType,
|
||||
),
|
||||
from: restoreTachiBkBackupProvider,
|
||||
name: r'restoreTachiBkBackupProvider',
|
||||
debugGetCreateSourceHash:
|
||||
const bool.fromEnvironment('dart.vm.product')
|
||||
? null
|
||||
: _$restoreTachiBkBackupHash,
|
||||
dependencies: RestoreTachiBkBackupFamily._dependencies,
|
||||
allTransitiveDependencies:
|
||||
RestoreTachiBkBackupFamily._allTransitiveDependencies,
|
||||
path: path,
|
||||
bkType: bkType,
|
||||
);
|
||||
|
||||
RestoreTachiBkBackupProvider._internal(
|
||||
super._createNotifier, {
|
||||
required super.name,
|
||||
required super.dependencies,
|
||||
required super.allTransitiveDependencies,
|
||||
required super.debugGetCreateSourceHash,
|
||||
required super.from,
|
||||
required this.path,
|
||||
required this.bkType,
|
||||
}) : super.internal();
|
||||
|
||||
final String path;
|
||||
final BackupType bkType;
|
||||
|
||||
@override
|
||||
Override overrideWith(
|
||||
void Function(RestoreTachiBkBackupRef provider) create,
|
||||
) {
|
||||
return ProviderOverride(
|
||||
origin: this,
|
||||
override: RestoreTachiBkBackupProvider._internal(
|
||||
(ref) => create(ref as RestoreTachiBkBackupRef),
|
||||
from: from,
|
||||
name: null,
|
||||
dependencies: null,
|
||||
allTransitiveDependencies: null,
|
||||
debugGetCreateSourceHash: null,
|
||||
path: path,
|
||||
bkType: bkType,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
AutoDisposeProviderElement<void> createElement() {
|
||||
return _RestoreTachiBkBackupProviderElement(this);
|
||||
}
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
return other is RestoreTachiBkBackupProvider &&
|
||||
other.path == path &&
|
||||
other.bkType == bkType;
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode {
|
||||
var hash = _SystemHash.combine(0, runtimeType.hashCode);
|
||||
hash = _SystemHash.combine(hash, path.hashCode);
|
||||
hash = _SystemHash.combine(hash, bkType.hashCode);
|
||||
|
||||
return _SystemHash.finish(hash);
|
||||
}
|
||||
}
|
||||
|
||||
@Deprecated('Will be removed in 3.0. Use Ref instead')
|
||||
// ignore: unused_element
|
||||
mixin RestoreTachiBkBackupRef on AutoDisposeProviderRef<void> {
|
||||
/// The parameter `path` of this provider.
|
||||
String get path;
|
||||
|
||||
/// The parameter `bkType` of this provider.
|
||||
BackupType get bkType;
|
||||
}
|
||||
|
||||
class _RestoreTachiBkBackupProviderElement
|
||||
extends AutoDisposeProviderElement<void> with RestoreTachiBkBackupRef {
|
||||
_RestoreTachiBkBackupProviderElement(super.provider);
|
||||
|
||||
@override
|
||||
String get path => (origin as RestoreTachiBkBackupProvider).path;
|
||||
@override
|
||||
BackupType get bkType => (origin as RestoreTachiBkBackupProvider).bkType;
|
||||
}
|
||||
// ignore_for_file: type=lint
|
||||
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package
|
||||
|
|
|
|||
22
proto/BackupAnime.proto
Normal file
22
proto/BackupAnime.proto
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
syntax = "proto3";
|
||||
|
||||
import "BackupEpisode.proto";
|
||||
import "BackupHistory.proto";
|
||||
|
||||
message BackupAnime {
|
||||
int32 source = 1;
|
||||
string url = 2;
|
||||
string title = 3;
|
||||
optional string artist = 4;
|
||||
optional string author = 5;
|
||||
optional string description = 6;
|
||||
repeated string genre = 7;
|
||||
int32 status = 8;
|
||||
optional string thumbnailUrl = 9;
|
||||
int32 dateAdded = 13;
|
||||
repeated BackupEpisode episodes = 16;
|
||||
repeated int32 categories = 17;
|
||||
optional int32 viewer_flags = 103;
|
||||
repeated BackupHistory history = 104;
|
||||
optional int32 lastModifiedAt = 106;
|
||||
}
|
||||
15
proto/BackupAniyomi.proto
Normal file
15
proto/BackupAniyomi.proto
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
syntax = "proto3";
|
||||
|
||||
import "BackupManga.proto";
|
||||
import "BackupCategory.proto";
|
||||
import "BackupAnime.proto";
|
||||
import "BackupSource.proto";
|
||||
|
||||
message BackupAniyomi {
|
||||
repeated BackupManga backupManga = 1;
|
||||
repeated BackupCategory backupCategories = 2;
|
||||
repeated BackupAnime backupAnime = 3;
|
||||
repeated BackupCategory backupAnimeCategories = 4;
|
||||
repeated BackupSource backupSources = 101;
|
||||
repeated BackupSource backupAnimeSources = 103;
|
||||
}
|
||||
7
proto/BackupCategory.proto
Normal file
7
proto/BackupCategory.proto
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
syntax = "proto3";
|
||||
|
||||
message BackupCategory {
|
||||
string name = 1;
|
||||
int32 order = 2;
|
||||
int32 flags = 100;
|
||||
}
|
||||
16
proto/BackupChapter.proto
Normal file
16
proto/BackupChapter.proto
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
syntax = "proto3";
|
||||
|
||||
message BackupChapter {
|
||||
string url = 1;
|
||||
string name = 2;
|
||||
optional string scanlator = 3;
|
||||
bool read = 4;
|
||||
bool bookmark = 5;
|
||||
int32 lastPageRead = 6;
|
||||
int32 dateFetch = 7;
|
||||
int32 dateUpload = 8;
|
||||
float chapterNumber = 9;
|
||||
int32 sourceOrder = 10;
|
||||
int32 lastModifiedAt = 11;
|
||||
int32 version = 12;
|
||||
}
|
||||
17
proto/BackupEpisode.proto
Normal file
17
proto/BackupEpisode.proto
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
syntax = "proto3";
|
||||
|
||||
message BackupEpisode {
|
||||
string url = 1;
|
||||
string name = 2;
|
||||
optional string scanlator = 3;
|
||||
bool seen = 4;
|
||||
bool bookmark = 5;
|
||||
int32 lastSecondSeen = 6;
|
||||
int32 dateFetch = 7;
|
||||
int32 dateUpload = 8;
|
||||
float episodeNumber = 9;
|
||||
int32 sourceOrder = 10;
|
||||
int32 lastModifiedAt = 11;
|
||||
int32 version = 12;
|
||||
int32 totalSeconds = 16;
|
||||
}
|
||||
7
proto/BackupHistory.proto
Normal file
7
proto/BackupHistory.proto
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
syntax = "proto3";
|
||||
|
||||
message BackupHistory {
|
||||
string url = 1;
|
||||
int32 lastRead = 2;
|
||||
int32 readDuration = 3;
|
||||
}
|
||||
23
proto/BackupManga.proto
Normal file
23
proto/BackupManga.proto
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
syntax = "proto3";
|
||||
|
||||
import "BackupChapter.proto";
|
||||
import "BackupHistory.proto";
|
||||
|
||||
message BackupManga {
|
||||
int32 source = 1;
|
||||
string url = 2;
|
||||
string title = 3;
|
||||
optional string artist = 4;
|
||||
optional string author = 5;
|
||||
optional string description = 6;
|
||||
repeated string genre = 7;
|
||||
int32 status = 8;
|
||||
optional string thumbnailUrl = 9;
|
||||
int32 dateAdded = 13;
|
||||
int32 viewer = 14;
|
||||
repeated BackupChapter chapters = 16;
|
||||
repeated int32 categories = 17;
|
||||
optional int32 viewer_flags = 103;
|
||||
repeated BackupHistory history = 104;
|
||||
optional int32 lastModifiedAt = 106;
|
||||
}
|
||||
11
proto/BackupMihon.proto
Normal file
11
proto/BackupMihon.proto
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
syntax = "proto3";
|
||||
|
||||
import "BackupManga.proto";
|
||||
import "BackupCategory.proto";
|
||||
import "BackupSource.proto";
|
||||
|
||||
message BackupMihon {
|
||||
repeated BackupManga backupManga = 1;
|
||||
repeated BackupCategory backupCategories = 2;
|
||||
repeated BackupSource backupSources = 101;
|
||||
}
|
||||
6
proto/BackupSource.proto
Normal file
6
proto/BackupSource.proto
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
syntax = "proto3";
|
||||
|
||||
message BackupSource {
|
||||
string name = 1;
|
||||
int32 sourceId = 2;
|
||||
}
|
||||
3
proto/gen_proto.bat
Normal file
3
proto/gen_proto.bat
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
@echo
|
||||
|
||||
for %%f in (proto/*.proto) do protoc --dart_out="../lib/modules/more/data_and_storage/providers/proto" "%%f"
|
||||
4
proto/gen_proto.sh
Normal file
4
proto/gen_proto.sh
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
#!/bin/bash
|
||||
for filename in proto/*.proto; do
|
||||
protoc --dart_out=../lib/modules/more/data_and_storage/providers/proto "$filename"
|
||||
done
|
||||
16
pubspec.lock
16
pubspec.lock
|
|
@ -1432,6 +1432,22 @@ packages:
|
|||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "6.0.1"
|
||||
protobuf:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: protobuf
|
||||
sha256: "68645b24e0716782e58948f8467fd42a880f255096a821f9e7d0ec625b00c84d"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.1.0"
|
||||
protoc_plugin:
|
||||
dependency: "direct dev"
|
||||
description:
|
||||
name: protoc_plugin
|
||||
sha256: fb0554851c9eca30bd18405fbbfe81e39166d4a2f0e5b770606fd69da3da0b2f
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "21.1.2"
|
||||
provider:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
|
|||
|
|
@ -82,6 +82,7 @@ dependencies:
|
|||
connectivity_plus: ^6.1.3
|
||||
app_links: ^6.4.0
|
||||
win32: ^5.10.1
|
||||
protobuf: ^3.1.0
|
||||
|
||||
dependency_overrides:
|
||||
http: ^1.2.2
|
||||
|
|
@ -117,6 +118,7 @@ dev_dependencies:
|
|||
flutter_lints: ^5.0.0
|
||||
freezed: ^2.0.0
|
||||
inno_bundle: ^0.8.0
|
||||
protoc_plugin: ^21.1.2
|
||||
|
||||
flutter:
|
||||
uses-material-design: true
|
||||
|
|
|
|||
Loading…
Reference in a new issue