Offline Support
This commit is contained in:
@@ -0,0 +1,277 @@
|
||||
// GENERATED CODE DO NOT EDIT
|
||||
part of '../brick.g.dart';
|
||||
|
||||
Future<Ticket> _$TicketFromSupabase(
|
||||
Map<String, dynamic> data, {
|
||||
required SupabaseProvider provider,
|
||||
OfflineFirstWithSupabaseRepository? repository,
|
||||
}) async {
|
||||
return Ticket(
|
||||
id: data['id'] as String,
|
||||
subject: data['subject'] as String,
|
||||
description: data['description'] as String,
|
||||
officeId: data['office_id'] as String,
|
||||
status: data['status'] as String,
|
||||
createdAt: DateTime.parse(data['created_at'] as String),
|
||||
creatorId: data['creator_id'] == null
|
||||
? null
|
||||
: data['creator_id'] as String?,
|
||||
respondedAt: data['responded_at'] == null
|
||||
? null
|
||||
: data['responded_at'] == null
|
||||
? null
|
||||
: DateTime.tryParse(data['responded_at'] as String),
|
||||
promotedAt: data['promoted_at'] == null
|
||||
? null
|
||||
: data['promoted_at'] == null
|
||||
? null
|
||||
: DateTime.tryParse(data['promoted_at'] as String),
|
||||
closedAt: data['closed_at'] == null
|
||||
? null
|
||||
: data['closed_at'] == null
|
||||
? null
|
||||
: DateTime.tryParse(data['closed_at'] as String),
|
||||
);
|
||||
}
|
||||
|
||||
Future<Map<String, dynamic>> _$TicketToSupabase(
|
||||
Ticket instance, {
|
||||
required SupabaseProvider provider,
|
||||
OfflineFirstWithSupabaseRepository? repository,
|
||||
}) async {
|
||||
return {
|
||||
'id': instance.id,
|
||||
'subject': instance.subject,
|
||||
'description': instance.description,
|
||||
'office_id': instance.officeId,
|
||||
'status': instance.status,
|
||||
'created_at': instance.createdAt.toIso8601String(),
|
||||
'creator_id': instance.creatorId,
|
||||
'responded_at': instance.respondedAt?.toIso8601String(),
|
||||
'promoted_at': instance.promotedAt?.toIso8601String(),
|
||||
'closed_at': instance.closedAt?.toIso8601String(),
|
||||
};
|
||||
}
|
||||
|
||||
Future<Ticket> _$TicketFromSqlite(
|
||||
Map<String, dynamic> data, {
|
||||
required SqliteProvider provider,
|
||||
OfflineFirstWithSupabaseRepository? repository,
|
||||
}) async {
|
||||
return Ticket(
|
||||
id: data['id'] as String,
|
||||
subject: data['subject'] as String,
|
||||
description: data['description'] as String,
|
||||
officeId: data['office_id'] as String,
|
||||
status: data['status'] as String,
|
||||
createdAt: DateTime.parse(data['created_at'] as String),
|
||||
creatorId: data['creator_id'] == null
|
||||
? null
|
||||
: data['creator_id'] as String?,
|
||||
respondedAt: data['responded_at'] == null
|
||||
? null
|
||||
: data['responded_at'] == null
|
||||
? null
|
||||
: DateTime.tryParse(data['responded_at'] as String),
|
||||
promotedAt: data['promoted_at'] == null
|
||||
? null
|
||||
: data['promoted_at'] == null
|
||||
? null
|
||||
: DateTime.tryParse(data['promoted_at'] as String),
|
||||
closedAt: data['closed_at'] == null
|
||||
? null
|
||||
: data['closed_at'] == null
|
||||
? null
|
||||
: DateTime.tryParse(data['closed_at'] as String),
|
||||
)..primaryKey = data['_brick_id'] as int;
|
||||
}
|
||||
|
||||
Future<Map<String, dynamic>> _$TicketToSqlite(
|
||||
Ticket instance, {
|
||||
required SqliteProvider provider,
|
||||
OfflineFirstWithSupabaseRepository? repository,
|
||||
}) async {
|
||||
return {
|
||||
'id': instance.id,
|
||||
'subject': instance.subject,
|
||||
'description': instance.description,
|
||||
'office_id': instance.officeId,
|
||||
'status': instance.status,
|
||||
'created_at': instance.createdAt.toIso8601String(),
|
||||
'creator_id': instance.creatorId,
|
||||
'responded_at': instance.respondedAt?.toIso8601String(),
|
||||
'promoted_at': instance.promotedAt?.toIso8601String(),
|
||||
'closed_at': instance.closedAt?.toIso8601String(),
|
||||
};
|
||||
}
|
||||
|
||||
/// Construct a [Ticket]
|
||||
class TicketAdapter extends OfflineFirstWithSupabaseAdapter<Ticket> {
|
||||
TicketAdapter();
|
||||
|
||||
@override
|
||||
final supabaseTableName = 'tickets';
|
||||
@override
|
||||
final defaultToNull = true;
|
||||
@override
|
||||
final fieldsToSupabaseColumns = {
|
||||
'id': const RuntimeSupabaseColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'id',
|
||||
),
|
||||
'subject': const RuntimeSupabaseColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'subject',
|
||||
),
|
||||
'description': const RuntimeSupabaseColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'description',
|
||||
),
|
||||
'officeId': const RuntimeSupabaseColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'office_id',
|
||||
),
|
||||
'status': const RuntimeSupabaseColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'status',
|
||||
),
|
||||
'createdAt': const RuntimeSupabaseColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'created_at',
|
||||
),
|
||||
'creatorId': const RuntimeSupabaseColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'creator_id',
|
||||
),
|
||||
'respondedAt': const RuntimeSupabaseColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'responded_at',
|
||||
),
|
||||
'promotedAt': const RuntimeSupabaseColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'promoted_at',
|
||||
),
|
||||
'closedAt': const RuntimeSupabaseColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'closed_at',
|
||||
),
|
||||
};
|
||||
@override
|
||||
final ignoreDuplicates = false;
|
||||
@override
|
||||
final uniqueFields = {};
|
||||
@override
|
||||
final Map<String, RuntimeSqliteColumnDefinition> fieldsToSqliteColumns = {
|
||||
'primaryKey': const RuntimeSqliteColumnDefinition(
|
||||
association: false,
|
||||
columnName: '_brick_id',
|
||||
iterable: false,
|
||||
type: int,
|
||||
),
|
||||
'id': const RuntimeSqliteColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'id',
|
||||
iterable: false,
|
||||
type: String,
|
||||
),
|
||||
'subject': const RuntimeSqliteColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'subject',
|
||||
iterable: false,
|
||||
type: String,
|
||||
),
|
||||
'description': const RuntimeSqliteColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'description',
|
||||
iterable: false,
|
||||
type: String,
|
||||
),
|
||||
'officeId': const RuntimeSqliteColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'office_id',
|
||||
iterable: false,
|
||||
type: String,
|
||||
),
|
||||
'status': const RuntimeSqliteColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'status',
|
||||
iterable: false,
|
||||
type: String,
|
||||
),
|
||||
'createdAt': const RuntimeSqliteColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'created_at',
|
||||
iterable: false,
|
||||
type: DateTime,
|
||||
),
|
||||
'creatorId': const RuntimeSqliteColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'creator_id',
|
||||
iterable: false,
|
||||
type: String,
|
||||
),
|
||||
'respondedAt': const RuntimeSqliteColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'responded_at',
|
||||
iterable: false,
|
||||
type: DateTime,
|
||||
),
|
||||
'promotedAt': const RuntimeSqliteColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'promoted_at',
|
||||
iterable: false,
|
||||
type: DateTime,
|
||||
),
|
||||
'closedAt': const RuntimeSqliteColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'closed_at',
|
||||
iterable: false,
|
||||
type: DateTime,
|
||||
),
|
||||
};
|
||||
@override
|
||||
Future<int?> primaryKeyByUniqueColumns(
|
||||
Ticket instance,
|
||||
DatabaseExecutor executor,
|
||||
) async => instance.primaryKey;
|
||||
@override
|
||||
final String tableName = 'Ticket';
|
||||
|
||||
@override
|
||||
Future<Ticket> fromSupabase(
|
||||
Map<String, dynamic> input, {
|
||||
required provider,
|
||||
covariant OfflineFirstWithSupabaseRepository? repository,
|
||||
}) async => await _$TicketFromSupabase(
|
||||
input,
|
||||
provider: provider,
|
||||
repository: repository,
|
||||
);
|
||||
@override
|
||||
Future<Map<String, dynamic>> toSupabase(
|
||||
Ticket input, {
|
||||
required provider,
|
||||
covariant OfflineFirstWithSupabaseRepository? repository,
|
||||
}) async => await _$TicketToSupabase(
|
||||
input,
|
||||
provider: provider,
|
||||
repository: repository,
|
||||
);
|
||||
@override
|
||||
Future<Ticket> fromSqlite(
|
||||
Map<String, dynamic> input, {
|
||||
required provider,
|
||||
covariant OfflineFirstWithSupabaseRepository? repository,
|
||||
}) async => await _$TicketFromSqlite(
|
||||
input,
|
||||
provider: provider,
|
||||
repository: repository,
|
||||
);
|
||||
@override
|
||||
Future<Map<String, dynamic>> toSqlite(
|
||||
Ticket input, {
|
||||
required provider,
|
||||
covariant OfflineFirstWithSupabaseRepository? repository,
|
||||
}) async =>
|
||||
await _$TicketToSqlite(input, provider: provider, repository: repository);
|
||||
}
|
||||
Reference in New Issue
Block a user