A filter is a query read on the device, as the server sees no task, kept sealed in `saved_filter`. Filters & labels is a screen of its own under Browse; a label opens its tasks, and favourite filters and labels join Browse's Favourites. D36 records what of Todoist's Pro stays out. Whats-New: Filters: keep views like "today & p1", and open a label to see its tasks, under Browse in Filters & labels. Whats-New-De: Filter: Speichere Ansichten wie „heute & p1“ und öffne ein Label, um seine Aufgaben zu sehen, in der Übersicht unter Filter & Labels. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
915 lines
28 KiB
Dart
915 lines
28 KiB
Dart
/* AUTOMATICALLY GENERATED CODE DO NOT MODIFY */
|
|
/* To generate run: "serverpod generate" */
|
|
|
|
// ignore_for_file: implementation_imports
|
|
// ignore_for_file: library_private_types_in_public_api
|
|
// ignore_for_file: non_constant_identifier_names
|
|
// ignore_for_file: public_member_api_docs
|
|
// ignore_for_file: type_literal_in_constant_pattern
|
|
// ignore_for_file: use_super_parameters
|
|
// ignore_for_file: invalid_use_of_internal_member
|
|
// ignore_for_file: dead_code, unnecessary_type_check
|
|
|
|
// ignore_for_file: no_leading_underscores_for_library_prefixes
|
|
import 'package:halkyon_base_client/halkyon_base_client.dart' as _ihk4p5t7;
|
|
import 'package:halkyon_oidc_client/halkyon_oidc_client.dart' as _ibkpwzgl;
|
|
import 'package:halkyon_todo_client/src/protocol/search/place.dart'
|
|
as _i15767wh;
|
|
import 'package:serverpod_auth_core_client/serverpod_auth_core_client.dart'
|
|
as _iacc;
|
|
import 'package:serverpod_auth_idp_client/serverpod_auth_idp_client.dart'
|
|
as _iaic;
|
|
import 'package:serverpod_client/serverpod_client.dart' as _isc;
|
|
import 'package:serverpod_database/serverpod_database.dart' as _isd;
|
|
import 'package:serverpod_offline_sync_client/serverpod_offline_sync_client.dart'
|
|
as _ipulbpi2;
|
|
import 'filter/saved_filter.dart' as _i9q9fhid;
|
|
import 'label/label.dart' as _ivak08z4;
|
|
import 'privacy/content_key.dart' as _imed3x5d;
|
|
import 'project/project.dart' as _i9c44spp;
|
|
import 'project/section.dart' as _imadkvi9;
|
|
import 'search/nearby.dart' as _ispk4ita;
|
|
import 'search/place.dart' as _iadh29yw;
|
|
import 'search/place_point.dart' as _itf0ur2u;
|
|
import 'search/search_refused.dart' as _ihbxkwke;
|
|
import 'settings/todo_settings.dart' as _icak60vd;
|
|
import 'task/task.dart' as _ib4f8uyw;
|
|
export 'filter/saved_filter.dart';
|
|
export 'label/label.dart';
|
|
export 'privacy/content_key.dart';
|
|
export 'project/project.dart';
|
|
export 'project/section.dart';
|
|
export 'search/nearby.dart';
|
|
export 'search/place.dart';
|
|
export 'search/place_point.dart';
|
|
export 'search/search_refused.dart';
|
|
export 'settings/todo_settings.dart';
|
|
export 'task/task.dart';
|
|
export 'client.dart';
|
|
export 'sync_tables.dart';
|
|
|
|
class Protocol extends _isd.DatabaseSerializationManager {
|
|
Protocol._();
|
|
|
|
factory Protocol() => _instance;
|
|
|
|
static final Protocol _instance = Protocol._().._registerHostProtocols();
|
|
|
|
static List<_isd.TableDefinition> get targetTableDefinitions => [
|
|
_isd.TableDefinition(
|
|
name: 'content_key',
|
|
dartName: 'ContentKey',
|
|
schema: 'public',
|
|
module: 'halkyon_todo',
|
|
columns: [
|
|
_isd.ColumnDefinition(
|
|
name: 'id',
|
|
columnType: _isd.ColumnType.uuid,
|
|
isNullable: false,
|
|
dartType: 'UuidValue?',
|
|
columnDefault: 'random_v7',
|
|
),
|
|
_isd.ColumnDefinition(
|
|
name: 'spaceId',
|
|
columnType: _isd.ColumnType.bigint,
|
|
isNullable: true,
|
|
dartType: 'int?',
|
|
),
|
|
_isd.ColumnDefinition(
|
|
name: 'dataKeyId',
|
|
columnType: _isd.ColumnType.text,
|
|
isNullable: false,
|
|
dartType: 'String',
|
|
),
|
|
_isd.ColumnDefinition(
|
|
name: 'sealedKey',
|
|
columnType: _isd.ColumnType.bytea,
|
|
isNullable: false,
|
|
dartType: 'dart:typed_data:ByteData',
|
|
),
|
|
],
|
|
foreignKeys: [
|
|
_isd.ForeignKeyDefinition(
|
|
constraintName: 'content_key_fk_0',
|
|
columns: ['spaceId'],
|
|
referenceTable: 'offline_sync_spaces',
|
|
referenceTableSchema: 'public',
|
|
referenceColumns: ['id'],
|
|
onUpdate: _isd.ForeignKeyAction.noAction,
|
|
onDelete: _isd.ForeignKeyAction.cascade,
|
|
matchType: null,
|
|
),
|
|
],
|
|
indexes: [
|
|
_isd.IndexDefinition(
|
|
indexName: 'content_key_space_idx',
|
|
tableSpace: null,
|
|
elements: [
|
|
_isd.IndexElementDefinition(
|
|
type: _isd.IndexElementDefinitionType.column,
|
|
definition: 'spaceId',
|
|
),
|
|
],
|
|
type: 'btree',
|
|
isUnique: false,
|
|
isPrimary: false,
|
|
),
|
|
],
|
|
managed: true,
|
|
),
|
|
_isd.TableDefinition(
|
|
name: 'label',
|
|
dartName: 'Label',
|
|
schema: 'public',
|
|
module: 'halkyon_todo',
|
|
columns: [
|
|
_isd.ColumnDefinition(
|
|
name: 'id',
|
|
columnType: _isd.ColumnType.uuid,
|
|
isNullable: false,
|
|
dartType: 'UuidValue?',
|
|
columnDefault: 'random_v7',
|
|
),
|
|
_isd.ColumnDefinition(
|
|
name: 'spaceId',
|
|
columnType: _isd.ColumnType.bigint,
|
|
isNullable: true,
|
|
dartType: 'int?',
|
|
),
|
|
_isd.ColumnDefinition(
|
|
name: 'keyId',
|
|
columnType: _isd.ColumnType.text,
|
|
isNullable: true,
|
|
dartType: 'String?',
|
|
),
|
|
_isd.ColumnDefinition(
|
|
name: 'payload',
|
|
columnType: _isd.ColumnType.bytea,
|
|
isNullable: false,
|
|
dartType: 'dart:typed_data:ByteData',
|
|
),
|
|
_isd.ColumnDefinition(
|
|
name: 'nonce',
|
|
columnType: _isd.ColumnType.bytea,
|
|
isNullable: true,
|
|
dartType: 'dart:typed_data:ByteData?',
|
|
),
|
|
],
|
|
foreignKeys: [
|
|
_isd.ForeignKeyDefinition(
|
|
constraintName: 'label_fk_0',
|
|
columns: ['spaceId'],
|
|
referenceTable: 'offline_sync_spaces',
|
|
referenceTableSchema: 'public',
|
|
referenceColumns: ['id'],
|
|
onUpdate: _isd.ForeignKeyAction.noAction,
|
|
onDelete: _isd.ForeignKeyAction.cascade,
|
|
matchType: null,
|
|
),
|
|
],
|
|
indexes: [
|
|
_isd.IndexDefinition(
|
|
indexName: 'label_space_idx',
|
|
tableSpace: null,
|
|
elements: [
|
|
_isd.IndexElementDefinition(
|
|
type: _isd.IndexElementDefinitionType.column,
|
|
definition: 'spaceId',
|
|
),
|
|
],
|
|
type: 'btree',
|
|
isUnique: false,
|
|
isPrimary: false,
|
|
),
|
|
],
|
|
managed: true,
|
|
),
|
|
_isd.TableDefinition(
|
|
name: 'project',
|
|
dartName: 'Project',
|
|
schema: 'public',
|
|
module: 'halkyon_todo',
|
|
columns: [
|
|
_isd.ColumnDefinition(
|
|
name: 'id',
|
|
columnType: _isd.ColumnType.uuid,
|
|
isNullable: false,
|
|
dartType: 'UuidValue?',
|
|
columnDefault: 'random_v7',
|
|
),
|
|
_isd.ColumnDefinition(
|
|
name: 'spaceId',
|
|
columnType: _isd.ColumnType.bigint,
|
|
isNullable: true,
|
|
dartType: 'int?',
|
|
),
|
|
_isd.ColumnDefinition(
|
|
name: 'keyId',
|
|
columnType: _isd.ColumnType.text,
|
|
isNullable: true,
|
|
dartType: 'String?',
|
|
),
|
|
_isd.ColumnDefinition(
|
|
name: 'payload',
|
|
columnType: _isd.ColumnType.bytea,
|
|
isNullable: false,
|
|
dartType: 'dart:typed_data:ByteData',
|
|
),
|
|
_isd.ColumnDefinition(
|
|
name: 'nonce',
|
|
columnType: _isd.ColumnType.bytea,
|
|
isNullable: true,
|
|
dartType: 'dart:typed_data:ByteData?',
|
|
),
|
|
],
|
|
foreignKeys: [
|
|
_isd.ForeignKeyDefinition(
|
|
constraintName: 'project_fk_0',
|
|
columns: ['spaceId'],
|
|
referenceTable: 'offline_sync_spaces',
|
|
referenceTableSchema: 'public',
|
|
referenceColumns: ['id'],
|
|
onUpdate: _isd.ForeignKeyAction.noAction,
|
|
onDelete: _isd.ForeignKeyAction.cascade,
|
|
matchType: null,
|
|
),
|
|
],
|
|
indexes: [
|
|
_isd.IndexDefinition(
|
|
indexName: 'project_space_idx',
|
|
tableSpace: null,
|
|
elements: [
|
|
_isd.IndexElementDefinition(
|
|
type: _isd.IndexElementDefinitionType.column,
|
|
definition: 'spaceId',
|
|
),
|
|
],
|
|
type: 'btree',
|
|
isUnique: false,
|
|
isPrimary: false,
|
|
),
|
|
],
|
|
managed: true,
|
|
),
|
|
_isd.TableDefinition(
|
|
name: 'saved_filter',
|
|
dartName: 'SavedFilter',
|
|
schema: 'public',
|
|
module: 'halkyon_todo',
|
|
columns: [
|
|
_isd.ColumnDefinition(
|
|
name: 'id',
|
|
columnType: _isd.ColumnType.uuid,
|
|
isNullable: false,
|
|
dartType: 'UuidValue?',
|
|
columnDefault: 'random_v7',
|
|
),
|
|
_isd.ColumnDefinition(
|
|
name: 'spaceId',
|
|
columnType: _isd.ColumnType.bigint,
|
|
isNullable: true,
|
|
dartType: 'int?',
|
|
),
|
|
_isd.ColumnDefinition(
|
|
name: 'keyId',
|
|
columnType: _isd.ColumnType.text,
|
|
isNullable: true,
|
|
dartType: 'String?',
|
|
),
|
|
_isd.ColumnDefinition(
|
|
name: 'payload',
|
|
columnType: _isd.ColumnType.bytea,
|
|
isNullable: false,
|
|
dartType: 'dart:typed_data:ByteData',
|
|
),
|
|
_isd.ColumnDefinition(
|
|
name: 'nonce',
|
|
columnType: _isd.ColumnType.bytea,
|
|
isNullable: true,
|
|
dartType: 'dart:typed_data:ByteData?',
|
|
),
|
|
],
|
|
foreignKeys: [
|
|
_isd.ForeignKeyDefinition(
|
|
constraintName: 'saved_filter_fk_0',
|
|
columns: ['spaceId'],
|
|
referenceTable: 'offline_sync_spaces',
|
|
referenceTableSchema: 'public',
|
|
referenceColumns: ['id'],
|
|
onUpdate: _isd.ForeignKeyAction.noAction,
|
|
onDelete: _isd.ForeignKeyAction.cascade,
|
|
matchType: null,
|
|
),
|
|
],
|
|
indexes: [
|
|
_isd.IndexDefinition(
|
|
indexName: 'saved_filter_space_idx',
|
|
tableSpace: null,
|
|
elements: [
|
|
_isd.IndexElementDefinition(
|
|
type: _isd.IndexElementDefinitionType.column,
|
|
definition: 'spaceId',
|
|
),
|
|
],
|
|
type: 'btree',
|
|
isUnique: false,
|
|
isPrimary: false,
|
|
),
|
|
],
|
|
managed: true,
|
|
),
|
|
_isd.TableDefinition(
|
|
name: 'section',
|
|
dartName: 'Section',
|
|
schema: 'public',
|
|
module: 'halkyon_todo',
|
|
columns: [
|
|
_isd.ColumnDefinition(
|
|
name: 'id',
|
|
columnType: _isd.ColumnType.uuid,
|
|
isNullable: false,
|
|
dartType: 'UuidValue?',
|
|
columnDefault: 'random_v7',
|
|
),
|
|
_isd.ColumnDefinition(
|
|
name: 'spaceId',
|
|
columnType: _isd.ColumnType.bigint,
|
|
isNullable: true,
|
|
dartType: 'int?',
|
|
),
|
|
_isd.ColumnDefinition(
|
|
name: 'keyId',
|
|
columnType: _isd.ColumnType.text,
|
|
isNullable: true,
|
|
dartType: 'String?',
|
|
),
|
|
_isd.ColumnDefinition(
|
|
name: 'payload',
|
|
columnType: _isd.ColumnType.bytea,
|
|
isNullable: false,
|
|
dartType: 'dart:typed_data:ByteData',
|
|
),
|
|
_isd.ColumnDefinition(
|
|
name: 'nonce',
|
|
columnType: _isd.ColumnType.bytea,
|
|
isNullable: true,
|
|
dartType: 'dart:typed_data:ByteData?',
|
|
),
|
|
],
|
|
foreignKeys: [
|
|
_isd.ForeignKeyDefinition(
|
|
constraintName: 'section_fk_0',
|
|
columns: ['spaceId'],
|
|
referenceTable: 'offline_sync_spaces',
|
|
referenceTableSchema: 'public',
|
|
referenceColumns: ['id'],
|
|
onUpdate: _isd.ForeignKeyAction.noAction,
|
|
onDelete: _isd.ForeignKeyAction.cascade,
|
|
matchType: null,
|
|
),
|
|
],
|
|
indexes: [
|
|
_isd.IndexDefinition(
|
|
indexName: 'section_space_idx',
|
|
tableSpace: null,
|
|
elements: [
|
|
_isd.IndexElementDefinition(
|
|
type: _isd.IndexElementDefinitionType.column,
|
|
definition: 'spaceId',
|
|
),
|
|
],
|
|
type: 'btree',
|
|
isUnique: false,
|
|
isPrimary: false,
|
|
),
|
|
],
|
|
managed: true,
|
|
),
|
|
_isd.TableDefinition(
|
|
name: 'task',
|
|
dartName: 'Task',
|
|
schema: 'public',
|
|
module: 'halkyon_todo',
|
|
columns: [
|
|
_isd.ColumnDefinition(
|
|
name: 'id',
|
|
columnType: _isd.ColumnType.uuid,
|
|
isNullable: false,
|
|
dartType: 'UuidValue?',
|
|
columnDefault: 'random_v7',
|
|
),
|
|
_isd.ColumnDefinition(
|
|
name: 'spaceId',
|
|
columnType: _isd.ColumnType.bigint,
|
|
isNullable: true,
|
|
dartType: 'int?',
|
|
),
|
|
_isd.ColumnDefinition(
|
|
name: 'keyId',
|
|
columnType: _isd.ColumnType.text,
|
|
isNullable: true,
|
|
dartType: 'String?',
|
|
),
|
|
_isd.ColumnDefinition(
|
|
name: 'payload',
|
|
columnType: _isd.ColumnType.bytea,
|
|
isNullable: false,
|
|
dartType: 'dart:typed_data:ByteData',
|
|
),
|
|
_isd.ColumnDefinition(
|
|
name: 'nonce',
|
|
columnType: _isd.ColumnType.bytea,
|
|
isNullable: true,
|
|
dartType: 'dart:typed_data:ByteData?',
|
|
),
|
|
],
|
|
foreignKeys: [
|
|
_isd.ForeignKeyDefinition(
|
|
constraintName: 'task_fk_0',
|
|
columns: ['spaceId'],
|
|
referenceTable: 'offline_sync_spaces',
|
|
referenceTableSchema: 'public',
|
|
referenceColumns: ['id'],
|
|
onUpdate: _isd.ForeignKeyAction.noAction,
|
|
onDelete: _isd.ForeignKeyAction.cascade,
|
|
matchType: null,
|
|
),
|
|
],
|
|
indexes: [
|
|
_isd.IndexDefinition(
|
|
indexName: 'task_space_idx',
|
|
tableSpace: null,
|
|
elements: [
|
|
_isd.IndexElementDefinition(
|
|
type: _isd.IndexElementDefinitionType.column,
|
|
definition: 'spaceId',
|
|
),
|
|
],
|
|
type: 'btree',
|
|
isUnique: false,
|
|
isPrimary: false,
|
|
),
|
|
],
|
|
managed: true,
|
|
),
|
|
_isd.TableDefinition(
|
|
name: 'todo_settings',
|
|
dartName: 'TodoSettings',
|
|
schema: 'public',
|
|
module: 'halkyon_todo',
|
|
columns: [
|
|
_isd.ColumnDefinition(
|
|
name: 'id',
|
|
columnType: _isd.ColumnType.uuid,
|
|
isNullable: false,
|
|
dartType: 'UuidValue?',
|
|
columnDefault: 'random_v7',
|
|
),
|
|
_isd.ColumnDefinition(
|
|
name: 'spaceId',
|
|
columnType: _isd.ColumnType.bigint,
|
|
isNullable: true,
|
|
dartType: 'int?',
|
|
),
|
|
_isd.ColumnDefinition(
|
|
name: 'keyId',
|
|
columnType: _isd.ColumnType.text,
|
|
isNullable: true,
|
|
dartType: 'String?',
|
|
),
|
|
_isd.ColumnDefinition(
|
|
name: 'payload',
|
|
columnType: _isd.ColumnType.bytea,
|
|
isNullable: false,
|
|
dartType: 'dart:typed_data:ByteData',
|
|
),
|
|
_isd.ColumnDefinition(
|
|
name: 'nonce',
|
|
columnType: _isd.ColumnType.bytea,
|
|
isNullable: true,
|
|
dartType: 'dart:typed_data:ByteData?',
|
|
),
|
|
],
|
|
foreignKeys: [
|
|
_isd.ForeignKeyDefinition(
|
|
constraintName: 'todo_settings_fk_0',
|
|
columns: ['spaceId'],
|
|
referenceTable: 'offline_sync_spaces',
|
|
referenceTableSchema: 'public',
|
|
referenceColumns: ['id'],
|
|
onUpdate: _isd.ForeignKeyAction.noAction,
|
|
onDelete: _isd.ForeignKeyAction.cascade,
|
|
matchType: null,
|
|
),
|
|
],
|
|
indexes: [
|
|
_isd.IndexDefinition(
|
|
indexName: 'todo_settings_space_idx',
|
|
tableSpace: null,
|
|
elements: [
|
|
_isd.IndexElementDefinition(
|
|
type: _isd.IndexElementDefinitionType.column,
|
|
definition: 'spaceId',
|
|
),
|
|
],
|
|
type: 'btree',
|
|
isUnique: false,
|
|
isPrimary: false,
|
|
),
|
|
],
|
|
managed: true,
|
|
),
|
|
..._ihk4p5t7.Protocol() is _isd.DatabaseSerializationManager
|
|
? (_ihk4p5t7.Protocol() as _isd.DatabaseSerializationManager)
|
|
.getTargetTableDefinitions()
|
|
: [],
|
|
..._iaic.Protocol() is _isd.DatabaseSerializationManager
|
|
? (_iaic.Protocol() as _isd.DatabaseSerializationManager)
|
|
.getTargetTableDefinitions()
|
|
: [],
|
|
..._ipulbpi2.Protocol() is _isd.DatabaseSerializationManager
|
|
? (_ipulbpi2.Protocol() as _isd.DatabaseSerializationManager)
|
|
.getTargetTableDefinitions()
|
|
: [],
|
|
..._ibkpwzgl.Protocol() is _isd.DatabaseSerializationManager
|
|
? (_ibkpwzgl.Protocol() as _isd.DatabaseSerializationManager)
|
|
.getTargetTableDefinitions()
|
|
: [],
|
|
..._iacc.Protocol() is _isd.DatabaseSerializationManager
|
|
? (_iacc.Protocol() as _isd.DatabaseSerializationManager)
|
|
.getTargetTableDefinitions()
|
|
: [],
|
|
];
|
|
|
|
static String? getClassNameFromObjectJson(dynamic data) {
|
|
if (data is! Map) return null;
|
|
final className = data['__className__'] as String?;
|
|
return className;
|
|
}
|
|
|
|
@override
|
|
T deserialize<T>(
|
|
dynamic data, [
|
|
Type? t,
|
|
]) {
|
|
t ??= T;
|
|
|
|
final dataClassName = getClassNameFromObjectJson(data);
|
|
if (dataClassName != null && dataClassName != getClassNameForType(t)) {
|
|
try {
|
|
return deserializeByClassName({
|
|
'className': dataClassName,
|
|
'data': data,
|
|
});
|
|
} on _isc.DeserializationClassNameNotFoundException catch (_) {
|
|
// If the className is not recognized (e.g., older client receiving
|
|
// data with a new subtype), fall back to deserializing without the
|
|
// className, using the expected type T.
|
|
}
|
|
}
|
|
|
|
if (t == _i9q9fhid.SavedFilter) {
|
|
return _i9q9fhid.SavedFilter.fromJson(data) as T;
|
|
}
|
|
if (t == _ivak08z4.Label) {
|
|
return _ivak08z4.Label.fromJson(data) as T;
|
|
}
|
|
if (t == _imed3x5d.ContentKey) {
|
|
return _imed3x5d.ContentKey.fromJson(data) as T;
|
|
}
|
|
if (t == _i9c44spp.Project) {
|
|
return _i9c44spp.Project.fromJson(data) as T;
|
|
}
|
|
if (t == _imadkvi9.Section) {
|
|
return _imadkvi9.Section.fromJson(data) as T;
|
|
}
|
|
if (t == _ispk4ita.Nearby) {
|
|
return _ispk4ita.Nearby.fromJson(data) as T;
|
|
}
|
|
if (t == _iadh29yw.Place) {
|
|
return _iadh29yw.Place.fromJson(data) as T;
|
|
}
|
|
if (t == _itf0ur2u.PlacePoint) {
|
|
return _itf0ur2u.PlacePoint.fromJson(data) as T;
|
|
}
|
|
if (t == _ihbxkwke.SearchRefused) {
|
|
return _ihbxkwke.SearchRefused.fromJson(data) as T;
|
|
}
|
|
if (t == _icak60vd.TodoSettings) {
|
|
return _icak60vd.TodoSettings.fromJson(data) as T;
|
|
}
|
|
if (t == _ib4f8uyw.Task) {
|
|
return _ib4f8uyw.Task.fromJson(data) as T;
|
|
}
|
|
if (t == _isc.getType<_i9q9fhid.SavedFilter?>()) {
|
|
return (data != null ? _i9q9fhid.SavedFilter.fromJson(data) : null) as T;
|
|
}
|
|
if (t == _isc.getType<_ivak08z4.Label?>()) {
|
|
return (data != null ? _ivak08z4.Label.fromJson(data) : null) as T;
|
|
}
|
|
if (t == _isc.getType<_imed3x5d.ContentKey?>()) {
|
|
return (data != null ? _imed3x5d.ContentKey.fromJson(data) : null) as T;
|
|
}
|
|
if (t == _isc.getType<_i9c44spp.Project?>()) {
|
|
return (data != null ? _i9c44spp.Project.fromJson(data) : null) as T;
|
|
}
|
|
if (t == _isc.getType<_imadkvi9.Section?>()) {
|
|
return (data != null ? _imadkvi9.Section.fromJson(data) : null) as T;
|
|
}
|
|
if (t == _isc.getType<_ispk4ita.Nearby?>()) {
|
|
return (data != null ? _ispk4ita.Nearby.fromJson(data) : null) as T;
|
|
}
|
|
if (t == _isc.getType<_iadh29yw.Place?>()) {
|
|
return (data != null ? _iadh29yw.Place.fromJson(data) : null) as T;
|
|
}
|
|
if (t == _isc.getType<_itf0ur2u.PlacePoint?>()) {
|
|
return (data != null ? _itf0ur2u.PlacePoint.fromJson(data) : null) as T;
|
|
}
|
|
if (t == _isc.getType<_ihbxkwke.SearchRefused?>()) {
|
|
return (data != null ? _ihbxkwke.SearchRefused.fromJson(data) : null)
|
|
as T;
|
|
}
|
|
if (t == _isc.getType<_icak60vd.TodoSettings?>()) {
|
|
return (data != null ? _icak60vd.TodoSettings.fromJson(data) : null) as T;
|
|
}
|
|
if (t == _isc.getType<_ib4f8uyw.Task?>()) {
|
|
return (data != null ? _ib4f8uyw.Task.fromJson(data) : null) as T;
|
|
}
|
|
if (t == List<_iadh29yw.Place>) {
|
|
return (data as List).map((e) => deserialize<_iadh29yw.Place>(e)).toList()
|
|
as T;
|
|
}
|
|
if (t == List<_i15767wh.Place>) {
|
|
return (data as List).map((e) => deserialize<_i15767wh.Place>(e)).toList()
|
|
as T;
|
|
}
|
|
try {
|
|
return _ihk4p5t7.Protocol().deserialize<T>(data, t);
|
|
} on _isc.DeserializationTypeNotFoundException catch (_) {}
|
|
try {
|
|
return _iaic.Protocol().deserialize<T>(data, t);
|
|
} on _isc.DeserializationTypeNotFoundException catch (_) {}
|
|
try {
|
|
return _ipulbpi2.Protocol().deserialize<T>(data, t);
|
|
} on _isc.DeserializationTypeNotFoundException catch (_) {}
|
|
try {
|
|
return _ibkpwzgl.Protocol().deserialize<T>(data, t);
|
|
} on _isc.DeserializationTypeNotFoundException catch (_) {}
|
|
try {
|
|
return _iacc.Protocol().deserialize<T>(data, t);
|
|
} on _isc.DeserializationTypeNotFoundException catch (_) {}
|
|
return super.deserialize<T>(data, t);
|
|
}
|
|
|
|
static String? getClassNameForType(Type type) {
|
|
return switch (type) {
|
|
_i9q9fhid.SavedFilter => 'SavedFilter',
|
|
_ivak08z4.Label => 'Label',
|
|
_imed3x5d.ContentKey => 'ContentKey',
|
|
_i9c44spp.Project => 'Project',
|
|
_imadkvi9.Section => 'Section',
|
|
_ispk4ita.Nearby => 'Nearby',
|
|
_iadh29yw.Place => 'Place',
|
|
_itf0ur2u.PlacePoint => 'PlacePoint',
|
|
_ihbxkwke.SearchRefused => 'SearchRefused',
|
|
_icak60vd.TodoSettings => 'TodoSettings',
|
|
_ib4f8uyw.Task => 'Task',
|
|
_ => null,
|
|
};
|
|
}
|
|
|
|
@override
|
|
String? getClassNameForObject(Object? data) {
|
|
String? className = super.getClassNameForObject(data);
|
|
if (className != null) return className;
|
|
|
|
if (data is Map<String, dynamic> && data['__className__'] is String) {
|
|
return (data['__className__'] as String).replaceFirst(
|
|
'halkyon_todo.',
|
|
'',
|
|
);
|
|
}
|
|
|
|
switch (data) {
|
|
case _i9q9fhid.SavedFilter():
|
|
return 'SavedFilter';
|
|
case _ivak08z4.Label():
|
|
return 'Label';
|
|
case _imed3x5d.ContentKey():
|
|
return 'ContentKey';
|
|
case _i9c44spp.Project():
|
|
return 'Project';
|
|
case _imadkvi9.Section():
|
|
return 'Section';
|
|
case _ispk4ita.Nearby():
|
|
return 'Nearby';
|
|
case _iadh29yw.Place():
|
|
return 'Place';
|
|
case _itf0ur2u.PlacePoint():
|
|
return 'PlacePoint';
|
|
case _ihbxkwke.SearchRefused():
|
|
return 'SearchRefused';
|
|
case _icak60vd.TodoSettings():
|
|
return 'TodoSettings';
|
|
case _ib4f8uyw.Task():
|
|
return 'Task';
|
|
}
|
|
className = _ihk4p5t7.Protocol().getClassNameForObject(data);
|
|
if (className != null) {
|
|
return className.contains('.') ? className : 'halkyon_base.$className';
|
|
}
|
|
className = _iaic.Protocol().getClassNameForObject(data);
|
|
if (className != null) {
|
|
return className.contains('.')
|
|
? className
|
|
: 'serverpod_auth_idp.$className';
|
|
}
|
|
className = _ipulbpi2.Protocol().getClassNameForObject(data);
|
|
if (className != null) {
|
|
return className.contains('.')
|
|
? className
|
|
: 'serverpod_offline_sync.$className';
|
|
}
|
|
className = _ibkpwzgl.Protocol().getClassNameForObject(data);
|
|
if (className != null) {
|
|
return className.contains('.') ? className : 'halkyon_oidc.$className';
|
|
}
|
|
className = _iacc.Protocol().getClassNameForObject(data);
|
|
if (className != null) {
|
|
return className.contains('.')
|
|
? className
|
|
: 'serverpod_auth_core.$className';
|
|
}
|
|
return null;
|
|
}
|
|
|
|
@override
|
|
dynamic deserializeByClassName(Map<String, dynamic> data) {
|
|
var dataClassName = data['className'];
|
|
if (dataClassName is! String) {
|
|
return super.deserializeByClassName(data);
|
|
}
|
|
if (dataClassName == 'SavedFilter') {
|
|
return deserialize<_i9q9fhid.SavedFilter>(data['data']);
|
|
}
|
|
if (dataClassName == 'Label') {
|
|
return deserialize<_ivak08z4.Label>(data['data']);
|
|
}
|
|
if (dataClassName == 'ContentKey') {
|
|
return deserialize<_imed3x5d.ContentKey>(data['data']);
|
|
}
|
|
if (dataClassName == 'Project') {
|
|
return deserialize<_i9c44spp.Project>(data['data']);
|
|
}
|
|
if (dataClassName == 'Section') {
|
|
return deserialize<_imadkvi9.Section>(data['data']);
|
|
}
|
|
if (dataClassName == 'Nearby') {
|
|
return deserialize<_ispk4ita.Nearby>(data['data']);
|
|
}
|
|
if (dataClassName == 'Place') {
|
|
return deserialize<_iadh29yw.Place>(data['data']);
|
|
}
|
|
if (dataClassName == 'PlacePoint') {
|
|
return deserialize<_itf0ur2u.PlacePoint>(data['data']);
|
|
}
|
|
if (dataClassName == 'SearchRefused') {
|
|
return deserialize<_ihbxkwke.SearchRefused>(data['data']);
|
|
}
|
|
if (dataClassName == 'TodoSettings') {
|
|
return deserialize<_icak60vd.TodoSettings>(data['data']);
|
|
}
|
|
if (dataClassName == 'Task') {
|
|
return deserialize<_ib4f8uyw.Task>(data['data']);
|
|
}
|
|
if (dataClassName.startsWith('halkyon_base.')) {
|
|
data['className'] = dataClassName.substring(13);
|
|
return _ihk4p5t7.Protocol().deserializeByClassName(data);
|
|
}
|
|
if (dataClassName.startsWith('serverpod_auth_idp.')) {
|
|
data['className'] = dataClassName.substring(19);
|
|
return _iaic.Protocol().deserializeByClassName(data);
|
|
}
|
|
if (dataClassName.startsWith('serverpod_offline_sync.')) {
|
|
data['className'] = dataClassName.substring(23);
|
|
return _ipulbpi2.Protocol().deserializeByClassName(data);
|
|
}
|
|
if (dataClassName.startsWith('halkyon_oidc.')) {
|
|
data['className'] = dataClassName.substring(13);
|
|
return _ibkpwzgl.Protocol().deserializeByClassName(data);
|
|
}
|
|
if (dataClassName.startsWith('serverpod_auth_core.')) {
|
|
data['className'] = dataClassName.substring(20);
|
|
return _iacc.Protocol().deserializeByClassName(data);
|
|
}
|
|
return super.deserializeByClassName(data);
|
|
}
|
|
|
|
void _registerHostProtocols() {
|
|
_ihk4p5t7.Protocol().registerHostProtocol('halkyon_todo', this);
|
|
_iaic.Protocol().registerHostProtocol('halkyon_todo', this);
|
|
_ipulbpi2.Protocol().registerHostProtocol('halkyon_todo', this);
|
|
_ibkpwzgl.Protocol().registerHostProtocol('halkyon_todo', this);
|
|
_iacc.Protocol().registerHostProtocol('halkyon_todo', this);
|
|
}
|
|
|
|
@override
|
|
_isd.Table? getTableForType(Type t) {
|
|
{
|
|
var protocol = _ihk4p5t7.Protocol();
|
|
var table = protocol is _isd.DatabaseSerializationManager
|
|
? (protocol as _isd.DatabaseSerializationManager).getTableForType(t)
|
|
: null;
|
|
if (table != null) {
|
|
return table;
|
|
}
|
|
}
|
|
{
|
|
var protocol = _iaic.Protocol();
|
|
var table = protocol is _isd.DatabaseSerializationManager
|
|
? (protocol as _isd.DatabaseSerializationManager).getTableForType(t)
|
|
: null;
|
|
if (table != null) {
|
|
return table;
|
|
}
|
|
}
|
|
{
|
|
var protocol = _ipulbpi2.Protocol();
|
|
var table = protocol is _isd.DatabaseSerializationManager
|
|
? (protocol as _isd.DatabaseSerializationManager).getTableForType(t)
|
|
: null;
|
|
if (table != null) {
|
|
return table;
|
|
}
|
|
}
|
|
{
|
|
var protocol = _ibkpwzgl.Protocol();
|
|
var table = protocol is _isd.DatabaseSerializationManager
|
|
? (protocol as _isd.DatabaseSerializationManager).getTableForType(t)
|
|
: null;
|
|
if (table != null) {
|
|
return table;
|
|
}
|
|
}
|
|
{
|
|
var protocol = _iacc.Protocol();
|
|
var table = protocol is _isd.DatabaseSerializationManager
|
|
? (protocol as _isd.DatabaseSerializationManager).getTableForType(t)
|
|
: null;
|
|
if (table != null) {
|
|
return table;
|
|
}
|
|
}
|
|
switch (t) {
|
|
case _i9q9fhid.SavedFilter:
|
|
return _i9q9fhid.SavedFilter.t;
|
|
case _ivak08z4.Label:
|
|
return _ivak08z4.Label.t;
|
|
case _imed3x5d.ContentKey:
|
|
return _imed3x5d.ContentKey.t;
|
|
case _i9c44spp.Project:
|
|
return _i9c44spp.Project.t;
|
|
case _imadkvi9.Section:
|
|
return _imadkvi9.Section.t;
|
|
case _icak60vd.TodoSettings:
|
|
return _icak60vd.TodoSettings.t;
|
|
case _ib4f8uyw.Task:
|
|
return _ib4f8uyw.Task.t;
|
|
}
|
|
return null;
|
|
}
|
|
|
|
@override
|
|
List<_isd.TableDefinition> getTargetTableDefinitions() =>
|
|
targetTableDefinitions;
|
|
|
|
@override
|
|
String getModuleName() => 'halkyon_todo';
|
|
|
|
/// Maps any `Record`s known to this [Protocol] to their JSON representation
|
|
///
|
|
/// Throws in case the record type is not known.
|
|
///
|
|
/// This method will return `null` (only) for `null` inputs.
|
|
Map<String, dynamic>? mapRecordToJson(Record? record) {
|
|
if (record == null) {
|
|
return null;
|
|
}
|
|
try {
|
|
return _ihk4p5t7.Protocol().mapRecordToJson(record);
|
|
} catch (_) {}
|
|
try {
|
|
return _iaic.Protocol().mapRecordToJson(record);
|
|
} catch (_) {}
|
|
try {
|
|
return _ipulbpi2.Protocol().mapRecordToJson(record);
|
|
} catch (_) {}
|
|
try {
|
|
return _ibkpwzgl.Protocol().mapRecordToJson(record);
|
|
} catch (_) {}
|
|
try {
|
|
return _iacc.Protocol().mapRecordToJson(record);
|
|
} catch (_) {}
|
|
throw Exception('Unsupported record type ${record.runtimeType}');
|
|
}
|
|
}
|