Offline Support

This commit is contained in:
2026-04-27 06:20:39 +08:00
parent 7d8851a94a
commit 48cd3bcd60
121 changed files with 14798 additions and 2214 deletions
@@ -0,0 +1,239 @@
// GENERATED CODE DO NOT EDIT
part of '../brick.g.dart';
Future<LeaveOfAbsence> _$LeaveOfAbsenceFromSupabase(
Map<String, dynamic> data, {
required SupabaseProvider provider,
OfflineFirstWithSupabaseRepository? repository,
}) async {
return LeaveOfAbsence(
id: data['id'] as String,
userId: data['user_id'] as String,
leaveType: data['leave_type'] as String,
justification: data['justification'] as String,
startTime: DateTime.parse(data['start_time'] as String),
endTime: DateTime.parse(data['end_time'] as String),
status: data['status'] as String,
filedBy: data['filed_by'] as String,
createdAt: DateTime.parse(data['created_at'] as String),
);
}
Future<Map<String, dynamic>> _$LeaveOfAbsenceToSupabase(
LeaveOfAbsence instance, {
required SupabaseProvider provider,
OfflineFirstWithSupabaseRepository? repository,
}) async {
return {
'id': instance.id,
'user_id': instance.userId,
'leave_type': instance.leaveType,
'justification': instance.justification,
'start_time': instance.startTime.toIso8601String(),
'end_time': instance.endTime.toIso8601String(),
'status': instance.status,
'filed_by': instance.filedBy,
'created_at': instance.createdAt.toIso8601String(),
};
}
Future<LeaveOfAbsence> _$LeaveOfAbsenceFromSqlite(
Map<String, dynamic> data, {
required SqliteProvider provider,
OfflineFirstWithSupabaseRepository? repository,
}) async {
return LeaveOfAbsence(
id: data['id'] as String,
userId: data['user_id'] as String,
leaveType: data['leave_type'] as String,
justification: data['justification'] as String,
startTime: DateTime.parse(data['start_time'] as String),
endTime: DateTime.parse(data['end_time'] as String),
status: data['status'] as String,
filedBy: data['filed_by'] as String,
createdAt: DateTime.parse(data['created_at'] as String),
)..primaryKey = data['_brick_id'] as int;
}
Future<Map<String, dynamic>> _$LeaveOfAbsenceToSqlite(
LeaveOfAbsence instance, {
required SqliteProvider provider,
OfflineFirstWithSupabaseRepository? repository,
}) async {
return {
'id': instance.id,
'user_id': instance.userId,
'leave_type': instance.leaveType,
'justification': instance.justification,
'start_time': instance.startTime.toIso8601String(),
'end_time': instance.endTime.toIso8601String(),
'status': instance.status,
'filed_by': instance.filedBy,
'created_at': instance.createdAt.toIso8601String(),
};
}
/// Construct a [LeaveOfAbsence]
class LeaveOfAbsenceAdapter
extends OfflineFirstWithSupabaseAdapter<LeaveOfAbsence> {
LeaveOfAbsenceAdapter();
@override
final supabaseTableName = 'leave_of_absence';
@override
final defaultToNull = true;
@override
final fieldsToSupabaseColumns = {
'id': const RuntimeSupabaseColumnDefinition(
association: false,
columnName: 'id',
),
'userId': const RuntimeSupabaseColumnDefinition(
association: false,
columnName: 'user_id',
),
'leaveType': const RuntimeSupabaseColumnDefinition(
association: false,
columnName: 'leave_type',
),
'justification': const RuntimeSupabaseColumnDefinition(
association: false,
columnName: 'justification',
),
'startTime': const RuntimeSupabaseColumnDefinition(
association: false,
columnName: 'start_time',
),
'endTime': const RuntimeSupabaseColumnDefinition(
association: false,
columnName: 'end_time',
),
'status': const RuntimeSupabaseColumnDefinition(
association: false,
columnName: 'status',
),
'filedBy': const RuntimeSupabaseColumnDefinition(
association: false,
columnName: 'filed_by',
),
'createdAt': const RuntimeSupabaseColumnDefinition(
association: false,
columnName: 'created_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,
),
'userId': const RuntimeSqliteColumnDefinition(
association: false,
columnName: 'user_id',
iterable: false,
type: String,
),
'leaveType': const RuntimeSqliteColumnDefinition(
association: false,
columnName: 'leave_type',
iterable: false,
type: String,
),
'justification': const RuntimeSqliteColumnDefinition(
association: false,
columnName: 'justification',
iterable: false,
type: String,
),
'startTime': const RuntimeSqliteColumnDefinition(
association: false,
columnName: 'start_time',
iterable: false,
type: DateTime,
),
'endTime': const RuntimeSqliteColumnDefinition(
association: false,
columnName: 'end_time',
iterable: false,
type: DateTime,
),
'status': const RuntimeSqliteColumnDefinition(
association: false,
columnName: 'status',
iterable: false,
type: String,
),
'filedBy': const RuntimeSqliteColumnDefinition(
association: false,
columnName: 'filed_by',
iterable: false,
type: String,
),
'createdAt': const RuntimeSqliteColumnDefinition(
association: false,
columnName: 'created_at',
iterable: false,
type: DateTime,
),
};
@override
Future<int?> primaryKeyByUniqueColumns(
LeaveOfAbsence instance,
DatabaseExecutor executor,
) async => instance.primaryKey;
@override
final String tableName = 'LeaveOfAbsence';
@override
Future<LeaveOfAbsence> fromSupabase(
Map<String, dynamic> input, {
required provider,
covariant OfflineFirstWithSupabaseRepository? repository,
}) async => await _$LeaveOfAbsenceFromSupabase(
input,
provider: provider,
repository: repository,
);
@override
Future<Map<String, dynamic>> toSupabase(
LeaveOfAbsence input, {
required provider,
covariant OfflineFirstWithSupabaseRepository? repository,
}) async => await _$LeaveOfAbsenceToSupabase(
input,
provider: provider,
repository: repository,
);
@override
Future<LeaveOfAbsence> fromSqlite(
Map<String, dynamic> input, {
required provider,
covariant OfflineFirstWithSupabaseRepository? repository,
}) async => await _$LeaveOfAbsenceFromSqlite(
input,
provider: provider,
repository: repository,
);
@override
Future<Map<String, dynamic>> toSqlite(
LeaveOfAbsence input, {
required provider,
covariant OfflineFirstWithSupabaseRepository? repository,
}) async => await _$LeaveOfAbsenceToSqlite(
input,
provider: provider,
repository: repository,
);
}