Files
tasq/lib/brick/adapters/attendance_log_adapter.g.dart
T
2026-04-27 06:20:39 +08:00

358 lines
11 KiB
Dart

// 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,
);
}