Offline Support
This commit is contained in:
@@ -0,0 +1,357 @@
|
||||
// GENERATED CODE DO NOT EDIT
|
||||
part of '../brick.g.dart';
|
||||
|
||||
Future<AttendanceLog> _$AttendanceLogFromSupabase(
|
||||
Map<String, dynamic> data, {
|
||||
required SupabaseProvider provider,
|
||||
OfflineFirstWithSupabaseRepository? repository,
|
||||
}) async {
|
||||
return AttendanceLog(
|
||||
id: data['id'] as String,
|
||||
userId: data['user_id'] as String,
|
||||
dutyScheduleId: data['duty_schedule_id'] as String,
|
||||
shiftType: data['shift_type'] as String,
|
||||
checkInAt: DateTime.parse(data['check_in_at'] as String),
|
||||
checkInLat: data['check_in_lat'] as double,
|
||||
checkInLng: data['check_in_lng'] as double,
|
||||
checkOutAt: data['check_out_at'] == null
|
||||
? null
|
||||
: data['check_out_at'] == null
|
||||
? null
|
||||
: DateTime.tryParse(data['check_out_at'] as String),
|
||||
checkOutLat: data['check_out_lat'] == null
|
||||
? null
|
||||
: data['check_out_lat'] as double?,
|
||||
checkOutLng: data['check_out_lng'] == null
|
||||
? null
|
||||
: data['check_out_lng'] as double?,
|
||||
justification: data['justification'] == null
|
||||
? null
|
||||
: data['justification'] as String?,
|
||||
checkOutJustification: data['check_out_justification'] == null
|
||||
? null
|
||||
: data['check_out_justification'] as String?,
|
||||
verificationStatus: data['verification_status'] as String,
|
||||
checkInVerificationPhotoUrl: data['check_in_verification_photo_url'] == null
|
||||
? null
|
||||
: data['check_in_verification_photo_url'] as String?,
|
||||
checkOutVerificationPhotoUrl:
|
||||
data['check_out_verification_photo_url'] == null
|
||||
? null
|
||||
: data['check_out_verification_photo_url'] as String?,
|
||||
);
|
||||
}
|
||||
|
||||
Future<Map<String, dynamic>> _$AttendanceLogToSupabase(
|
||||
AttendanceLog instance, {
|
||||
required SupabaseProvider provider,
|
||||
OfflineFirstWithSupabaseRepository? repository,
|
||||
}) async {
|
||||
return {
|
||||
'id': instance.id,
|
||||
'user_id': instance.userId,
|
||||
'duty_schedule_id': instance.dutyScheduleId,
|
||||
'shift_type': instance.shiftType,
|
||||
'check_in_at': instance.checkInAt.toIso8601String(),
|
||||
'check_in_lat': instance.checkInLat,
|
||||
'check_in_lng': instance.checkInLng,
|
||||
'check_out_at': instance.checkOutAt?.toIso8601String(),
|
||||
'check_out_lat': instance.checkOutLat,
|
||||
'check_out_lng': instance.checkOutLng,
|
||||
'justification': instance.justification,
|
||||
'check_out_justification': instance.checkOutJustification,
|
||||
'verification_status': instance.verificationStatus,
|
||||
'check_in_verification_photo_url': instance.checkInVerificationPhotoUrl,
|
||||
'check_out_verification_photo_url': instance.checkOutVerificationPhotoUrl,
|
||||
};
|
||||
}
|
||||
|
||||
Future<AttendanceLog> _$AttendanceLogFromSqlite(
|
||||
Map<String, dynamic> data, {
|
||||
required SqliteProvider provider,
|
||||
OfflineFirstWithSupabaseRepository? repository,
|
||||
}) async {
|
||||
return AttendanceLog(
|
||||
id: data['id'] as String,
|
||||
userId: data['user_id'] as String,
|
||||
dutyScheduleId: data['duty_schedule_id'] as String,
|
||||
shiftType: data['shift_type'] as String,
|
||||
checkInAt: DateTime.parse(data['check_in_at'] as String),
|
||||
checkInLat: data['check_in_lat'] as double,
|
||||
checkInLng: data['check_in_lng'] as double,
|
||||
checkOutAt: data['check_out_at'] == null
|
||||
? null
|
||||
: data['check_out_at'] == null
|
||||
? null
|
||||
: DateTime.tryParse(data['check_out_at'] as String),
|
||||
checkOutLat: data['check_out_lat'] == null
|
||||
? null
|
||||
: data['check_out_lat'] as double?,
|
||||
checkOutLng: data['check_out_lng'] == null
|
||||
? null
|
||||
: data['check_out_lng'] as double?,
|
||||
justification: data['justification'] == null
|
||||
? null
|
||||
: data['justification'] as String?,
|
||||
checkOutJustification: data['check_out_justification'] == null
|
||||
? null
|
||||
: data['check_out_justification'] as String?,
|
||||
verificationStatus: data['verification_status'] as String,
|
||||
checkInVerificationPhotoUrl: data['check_in_verification_photo_url'] == null
|
||||
? null
|
||||
: data['check_in_verification_photo_url'] as String?,
|
||||
checkOutVerificationPhotoUrl:
|
||||
data['check_out_verification_photo_url'] == null
|
||||
? null
|
||||
: data['check_out_verification_photo_url'] as String?,
|
||||
)..primaryKey = data['_brick_id'] as int;
|
||||
}
|
||||
|
||||
Future<Map<String, dynamic>> _$AttendanceLogToSqlite(
|
||||
AttendanceLog instance, {
|
||||
required SqliteProvider provider,
|
||||
OfflineFirstWithSupabaseRepository? repository,
|
||||
}) async {
|
||||
return {
|
||||
'id': instance.id,
|
||||
'user_id': instance.userId,
|
||||
'duty_schedule_id': instance.dutyScheduleId,
|
||||
'shift_type': instance.shiftType,
|
||||
'check_in_at': instance.checkInAt.toIso8601String(),
|
||||
'check_in_lat': instance.checkInLat,
|
||||
'check_in_lng': instance.checkInLng,
|
||||
'check_out_at': instance.checkOutAt?.toIso8601String(),
|
||||
'check_out_lat': instance.checkOutLat,
|
||||
'check_out_lng': instance.checkOutLng,
|
||||
'justification': instance.justification,
|
||||
'check_out_justification': instance.checkOutJustification,
|
||||
'verification_status': instance.verificationStatus,
|
||||
'check_in_verification_photo_url': instance.checkInVerificationPhotoUrl,
|
||||
'check_out_verification_photo_url': instance.checkOutVerificationPhotoUrl,
|
||||
};
|
||||
}
|
||||
|
||||
/// Construct a [AttendanceLog]
|
||||
class AttendanceLogAdapter
|
||||
extends OfflineFirstWithSupabaseAdapter<AttendanceLog> {
|
||||
AttendanceLogAdapter();
|
||||
|
||||
@override
|
||||
final supabaseTableName = 'attendance_logs';
|
||||
@override
|
||||
final defaultToNull = true;
|
||||
@override
|
||||
final fieldsToSupabaseColumns = {
|
||||
'id': const RuntimeSupabaseColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'id',
|
||||
),
|
||||
'userId': const RuntimeSupabaseColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'user_id',
|
||||
),
|
||||
'dutyScheduleId': const RuntimeSupabaseColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'duty_schedule_id',
|
||||
),
|
||||
'shiftType': const RuntimeSupabaseColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'shift_type',
|
||||
),
|
||||
'checkInAt': const RuntimeSupabaseColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'check_in_at',
|
||||
),
|
||||
'checkInLat': const RuntimeSupabaseColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'check_in_lat',
|
||||
),
|
||||
'checkInLng': const RuntimeSupabaseColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'check_in_lng',
|
||||
),
|
||||
'checkOutAt': const RuntimeSupabaseColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'check_out_at',
|
||||
),
|
||||
'checkOutLat': const RuntimeSupabaseColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'check_out_lat',
|
||||
),
|
||||
'checkOutLng': const RuntimeSupabaseColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'check_out_lng',
|
||||
),
|
||||
'justification': const RuntimeSupabaseColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'justification',
|
||||
),
|
||||
'checkOutJustification': const RuntimeSupabaseColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'check_out_justification',
|
||||
),
|
||||
'verificationStatus': const RuntimeSupabaseColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'verification_status',
|
||||
),
|
||||
'checkInVerificationPhotoUrl': const RuntimeSupabaseColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'check_in_verification_photo_url',
|
||||
),
|
||||
'checkOutVerificationPhotoUrl': const RuntimeSupabaseColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'check_out_verification_photo_url',
|
||||
),
|
||||
};
|
||||
@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,
|
||||
),
|
||||
'userId': const RuntimeSqliteColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'user_id',
|
||||
iterable: false,
|
||||
type: String,
|
||||
),
|
||||
'dutyScheduleId': const RuntimeSqliteColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'duty_schedule_id',
|
||||
iterable: false,
|
||||
type: String,
|
||||
),
|
||||
'shiftType': const RuntimeSqliteColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'shift_type',
|
||||
iterable: false,
|
||||
type: String,
|
||||
),
|
||||
'checkInAt': const RuntimeSqliteColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'check_in_at',
|
||||
iterable: false,
|
||||
type: DateTime,
|
||||
),
|
||||
'checkInLat': const RuntimeSqliteColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'check_in_lat',
|
||||
iterable: false,
|
||||
type: double,
|
||||
),
|
||||
'checkInLng': const RuntimeSqliteColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'check_in_lng',
|
||||
iterable: false,
|
||||
type: double,
|
||||
),
|
||||
'checkOutAt': const RuntimeSqliteColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'check_out_at',
|
||||
iterable: false,
|
||||
type: DateTime,
|
||||
),
|
||||
'checkOutLat': const RuntimeSqliteColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'check_out_lat',
|
||||
iterable: false,
|
||||
type: double,
|
||||
),
|
||||
'checkOutLng': const RuntimeSqliteColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'check_out_lng',
|
||||
iterable: false,
|
||||
type: double,
|
||||
),
|
||||
'justification': const RuntimeSqliteColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'justification',
|
||||
iterable: false,
|
||||
type: String,
|
||||
),
|
||||
'checkOutJustification': const RuntimeSqliteColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'check_out_justification',
|
||||
iterable: false,
|
||||
type: String,
|
||||
),
|
||||
'verificationStatus': const RuntimeSqliteColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'verification_status',
|
||||
iterable: false,
|
||||
type: String,
|
||||
),
|
||||
'checkInVerificationPhotoUrl': const RuntimeSqliteColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'check_in_verification_photo_url',
|
||||
iterable: false,
|
||||
type: String,
|
||||
),
|
||||
'checkOutVerificationPhotoUrl': const RuntimeSqliteColumnDefinition(
|
||||
association: false,
|
||||
columnName: 'check_out_verification_photo_url',
|
||||
iterable: false,
|
||||
type: String,
|
||||
),
|
||||
};
|
||||
@override
|
||||
Future<int?> primaryKeyByUniqueColumns(
|
||||
AttendanceLog instance,
|
||||
DatabaseExecutor executor,
|
||||
) async => instance.primaryKey;
|
||||
@override
|
||||
final String tableName = 'AttendanceLog';
|
||||
|
||||
@override
|
||||
Future<AttendanceLog> fromSupabase(
|
||||
Map<String, dynamic> input, {
|
||||
required provider,
|
||||
covariant OfflineFirstWithSupabaseRepository? repository,
|
||||
}) async => await _$AttendanceLogFromSupabase(
|
||||
input,
|
||||
provider: provider,
|
||||
repository: repository,
|
||||
);
|
||||
@override
|
||||
Future<Map<String, dynamic>> toSupabase(
|
||||
AttendanceLog input, {
|
||||
required provider,
|
||||
covariant OfflineFirstWithSupabaseRepository? repository,
|
||||
}) async => await _$AttendanceLogToSupabase(
|
||||
input,
|
||||
provider: provider,
|
||||
repository: repository,
|
||||
);
|
||||
@override
|
||||
Future<AttendanceLog> fromSqlite(
|
||||
Map<String, dynamic> input, {
|
||||
required provider,
|
||||
covariant OfflineFirstWithSupabaseRepository? repository,
|
||||
}) async => await _$AttendanceLogFromSqlite(
|
||||
input,
|
||||
provider: provider,
|
||||
repository: repository,
|
||||
);
|
||||
@override
|
||||
Future<Map<String, dynamic>> toSqlite(
|
||||
AttendanceLog input, {
|
||||
required provider,
|
||||
covariant OfflineFirstWithSupabaseRepository? repository,
|
||||
}) async => await _$AttendanceLogToSqlite(
|
||||
input,
|
||||
provider: provider,
|
||||
repository: repository,
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user