// GENERATED CODE DO NOT EDIT part of '../brick.g.dart'; Future _$AnnouncementFromSupabase( Map data, { required SupabaseProvider provider, OfflineFirstWithSupabaseRepository? repository, }) async { return Announcement( id: data['id'] as String, authorId: data['author_id'] as String, title: data['title'] as String, body: data['body'] as String, visibleRoles: data['visible_roles'].toList().cast(), isTemplate: data['is_template'] as bool, templateId: data['template_id'] == null ? null : data['template_id'] as String?, createdAt: DateTime.parse(data['created_at'] as String), updatedAt: DateTime.parse(data['updated_at'] as String), bannerEnabled: data['banner_enabled'] as bool, bannerShowAt: data['banner_show_at'] == null ? null : data['banner_show_at'] == null ? null : DateTime.tryParse(data['banner_show_at'] as String), bannerHideAt: data['banner_hide_at'] == null ? null : data['banner_hide_at'] == null ? null : DateTime.tryParse(data['banner_hide_at'] as String), pushIntervalMinutes: data['push_interval_minutes'] == null ? null : data['push_interval_minutes'] as int?, ); } Future> _$AnnouncementToSupabase( Announcement instance, { required SupabaseProvider provider, OfflineFirstWithSupabaseRepository? repository, }) async { return { 'id': instance.id, 'author_id': instance.authorId, 'title': instance.title, 'body': instance.body, 'visible_roles': instance.visibleRoles, 'is_template': instance.isTemplate, 'template_id': instance.templateId, 'created_at': instance.createdAt.toIso8601String(), 'updated_at': instance.updatedAt.toIso8601String(), 'banner_enabled': instance.bannerEnabled, 'banner_show_at': instance.bannerShowAt?.toIso8601String(), 'banner_hide_at': instance.bannerHideAt?.toIso8601String(), 'push_interval_minutes': instance.pushIntervalMinutes, }; } Future _$AnnouncementFromSqlite( Map data, { required SqliteProvider provider, OfflineFirstWithSupabaseRepository? repository, }) async { return Announcement( id: data['id'] as String, authorId: data['author_id'] as String, title: data['title'] as String, body: data['body'] as String, visibleRoles: jsonDecode(data['visible_roles']).toList().cast(), isTemplate: data['is_template'] == 1, templateId: data['template_id'] == null ? null : data['template_id'] as String?, createdAt: DateTime.parse(data['created_at'] as String), updatedAt: DateTime.parse(data['updated_at'] as String), bannerEnabled: data['banner_enabled'] == 1, bannerShowAt: data['banner_show_at'] == null ? null : data['banner_show_at'] == null ? null : DateTime.tryParse(data['banner_show_at'] as String), bannerHideAt: data['banner_hide_at'] == null ? null : data['banner_hide_at'] == null ? null : DateTime.tryParse(data['banner_hide_at'] as String), pushIntervalMinutes: data['push_interval_minutes'] == null ? null : data['push_interval_minutes'] as int?, )..primaryKey = data['_brick_id'] as int; } Future> _$AnnouncementToSqlite( Announcement instance, { required SqliteProvider provider, OfflineFirstWithSupabaseRepository? repository, }) async { return { 'id': instance.id, 'author_id': instance.authorId, 'title': instance.title, 'body': instance.body, 'visible_roles': jsonEncode(instance.visibleRoles), 'is_template': instance.isTemplate ? 1 : 0, 'template_id': instance.templateId, 'created_at': instance.createdAt.toIso8601String(), 'updated_at': instance.updatedAt.toIso8601String(), 'banner_enabled': instance.bannerEnabled ? 1 : 0, 'banner_show_at': instance.bannerShowAt?.toIso8601String(), 'banner_hide_at': instance.bannerHideAt?.toIso8601String(), 'push_interval_minutes': instance.pushIntervalMinutes, }; } /// Construct a [Announcement] class AnnouncementAdapter extends OfflineFirstWithSupabaseAdapter { AnnouncementAdapter(); @override final supabaseTableName = 'announcements'; @override final defaultToNull = true; @override final fieldsToSupabaseColumns = { 'id': const RuntimeSupabaseColumnDefinition( association: false, columnName: 'id', ), 'authorId': const RuntimeSupabaseColumnDefinition( association: false, columnName: 'author_id', ), 'title': const RuntimeSupabaseColumnDefinition( association: false, columnName: 'title', ), 'body': const RuntimeSupabaseColumnDefinition( association: false, columnName: 'body', ), 'visibleRoles': const RuntimeSupabaseColumnDefinition( association: false, columnName: 'visible_roles', ), 'isTemplate': const RuntimeSupabaseColumnDefinition( association: false, columnName: 'is_template', ), 'templateId': const RuntimeSupabaseColumnDefinition( association: false, columnName: 'template_id', ), 'createdAt': const RuntimeSupabaseColumnDefinition( association: false, columnName: 'created_at', ), 'updatedAt': const RuntimeSupabaseColumnDefinition( association: false, columnName: 'updated_at', ), 'bannerEnabled': const RuntimeSupabaseColumnDefinition( association: false, columnName: 'banner_enabled', ), 'bannerShowAt': const RuntimeSupabaseColumnDefinition( association: false, columnName: 'banner_show_at', ), 'bannerHideAt': const RuntimeSupabaseColumnDefinition( association: false, columnName: 'banner_hide_at', ), 'pushIntervalMinutes': const RuntimeSupabaseColumnDefinition( association: false, columnName: 'push_interval_minutes', ), }; @override final ignoreDuplicates = false; @override final uniqueFields = {}; @override final Map fieldsToSqliteColumns = { 'primaryKey': const RuntimeSqliteColumnDefinition( association: false, columnName: '_brick_id', iterable: false, type: int, ), 'id': const RuntimeSqliteColumnDefinition( association: false, columnName: 'id', iterable: false, type: String, ), 'authorId': const RuntimeSqliteColumnDefinition( association: false, columnName: 'author_id', iterable: false, type: String, ), 'title': const RuntimeSqliteColumnDefinition( association: false, columnName: 'title', iterable: false, type: String, ), 'body': const RuntimeSqliteColumnDefinition( association: false, columnName: 'body', iterable: false, type: String, ), 'visibleRoles': const RuntimeSqliteColumnDefinition( association: false, columnName: 'visible_roles', iterable: true, type: String, ), 'isTemplate': const RuntimeSqliteColumnDefinition( association: false, columnName: 'is_template', iterable: false, type: bool, ), 'templateId': const RuntimeSqliteColumnDefinition( association: false, columnName: 'template_id', iterable: false, type: String, ), 'createdAt': const RuntimeSqliteColumnDefinition( association: false, columnName: 'created_at', iterable: false, type: DateTime, ), 'updatedAt': const RuntimeSqliteColumnDefinition( association: false, columnName: 'updated_at', iterable: false, type: DateTime, ), 'bannerEnabled': const RuntimeSqliteColumnDefinition( association: false, columnName: 'banner_enabled', iterable: false, type: bool, ), 'bannerShowAt': const RuntimeSqliteColumnDefinition( association: false, columnName: 'banner_show_at', iterable: false, type: DateTime, ), 'bannerHideAt': const RuntimeSqliteColumnDefinition( association: false, columnName: 'banner_hide_at', iterable: false, type: DateTime, ), 'pushIntervalMinutes': const RuntimeSqliteColumnDefinition( association: false, columnName: 'push_interval_minutes', iterable: false, type: int, ), }; @override Future primaryKeyByUniqueColumns( Announcement instance, DatabaseExecutor executor, ) async => instance.primaryKey; @override final String tableName = 'Announcement'; @override Future fromSupabase( Map input, { required provider, covariant OfflineFirstWithSupabaseRepository? repository, }) async => await _$AnnouncementFromSupabase( input, provider: provider, repository: repository, ); @override Future> toSupabase( Announcement input, { required provider, covariant OfflineFirstWithSupabaseRepository? repository, }) async => await _$AnnouncementToSupabase( input, provider: provider, repository: repository, ); @override Future fromSqlite( Map input, { required provider, covariant OfflineFirstWithSupabaseRepository? repository, }) async => await _$AnnouncementFromSqlite( input, provider: provider, repository: repository, ); @override Future> toSqlite( Announcement input, { required provider, covariant OfflineFirstWithSupabaseRepository? repository, }) async => await _$AnnouncementToSqlite( input, provider: provider, repository: repository, ); }