Skip to content

Commit

Permalink
Merge branch 'supabase-integration' into supabase-queue
Browse files Browse the repository at this point in the history
  • Loading branch information
tshedor committed Aug 24, 2024
2 parents 5dd7562 + e511fc8 commit d0b0c89
Show file tree
Hide file tree
Showing 17 changed files with 987 additions and 19 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1 @@
include: ../../analysis_options.yaml

linter:
rules:
library_prefixes: false
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
import 'package:brick_offline_first/brick_offline_first.dart';
import 'package:brick_offline_first_with_supabase/brick_offline_first_with_supabase.dart';
import 'package:brick_supabase/brick_supabase.dart';

final output = r'''
// GENERATED CODE DO NOT EDIT
part of '../brick.g.dart';
Future<SupabaseDefined> _$SupabaseDefinedFromSupabase(Map<String, dynamic> data,
{required SupabaseProvider provider,
OfflineFirstRepository? repository}) async {
return SupabaseDefined(someLongField: data['some_long_field'] as int);
}
Future<Map<String, dynamic>> _$SupabaseDefinedToSupabase(
SupabaseDefined instance,
{required SupabaseProvider provider,
OfflineFirstRepository? repository}) async {
return {'some_long_field': instance.someLongField};
}
Future<SupabaseDefined> _$SupabaseDefinedFromSqlite(Map<String, dynamic> data,
{required SqliteProvider provider,
OfflineFirstRepository? repository}) async {
return SupabaseDefined(someLongField: data['some_long_field'] as int)
..primaryKey = data['_brick_id'] as int;
}
Future<Map<String, dynamic>> _$SupabaseDefinedToSqlite(SupabaseDefined instance,
{required SqliteProvider provider,
OfflineFirstRepository? repository}) async {
return {'some_long_field': instance.someLongField};
}
/// Construct a [SupabaseDefined]
class SupabaseDefinedAdapter extends OfflineFirstAdapter<SupabaseDefined> {
SupabaseDefinedAdapter();
@override
final tableName = 'supabase_defineds';
@override
final defaultToNull = false;
@override
final Map<String, RuntimeSqliteColumnDefinition> fieldsToSqliteColumns = {
'someLongField': const RuntimeSupabaseColumnDefinition(
association: false,
associationForeignKey: 'null',
associationType: int,
columnName: 'some_long_field',
)
};
@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,
),
'someLongField': const RuntimeSqliteColumnDefinition(
association: false,
columnName: 'some_long_field',
iterable: false,
type: int,
)
};
@override
Future<int?> primaryKeyByUniqueColumns(
SupabaseDefined instance, DatabaseExecutor executor) async =>
instance.primaryKey;
@override
final String tableName = 'SupabaseDefined';
@override
Future<SupabaseDefined> fromSupabase(Map<String, dynamic> input,
{required provider,
covariant OfflineFirstRepository? repository}) async =>
await _$SupabaseDefinedFromSupabase(input,
provider: provider, repository: repository);
@override
Future<Map<String, dynamic>> toSupabase(SupabaseDefined input,
{required provider,
covariant OfflineFirstRepository? repository}) async =>
await _$SupabaseDefinedToSupabase(input,
provider: provider, repository: repository);
@override
Future<SupabaseDefined> fromSqlite(Map<String, dynamic> input,
{required provider,
covariant OfflineFirstRepository? repository}) async =>
await _$SupabaseDefinedFromSqlite(input,
provider: provider, repository: repository);
@override
Future<Map<String, dynamic>> toSqlite(SupabaseDefined input,
{required provider,
covariant OfflineFirstRepository? repository}) async =>
await _$SupabaseDefinedToSqlite(input,
provider: provider, repository: repository);
}
''';

@ConnectOfflineFirstWithSupabase(
supabaseConfig: SupabaseSerializable(defaultToNull: false),
)
class SupabaseDefined extends OfflineFirstModel {
final int someLongField;

SupabaseDefined(this.someLongField);
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@ Future<SpecifyFieldName> _$SpecifyFieldNameFromSupabase(
Map<String, dynamic> data,
{required SupabaseProvider provider,
OfflineFirstRepository? repository}) async {
return SpecifyFieldName(email: data['email_address'] as String?);
return SpecifyFieldName(email: data['supa_email_address'] as String?);
}
Future<Map<String, dynamic>> _$SpecifyFieldNameToSupabase(
SpecifyFieldName instance,
{required SupabaseProvider provider,
OfflineFirstRepository? repository}) async {
return {'email_address': instance.email};
return {'supa_email_address': instance.email};
}
Future<SpecifyFieldName> _$SpecifyFieldNameFromSqlite(Map<String, dynamic> data,
Expand All @@ -38,7 +38,7 @@ Future<Map<String, dynamic>> _$SpecifyFieldNameToSqlite(
@ConnectOfflineFirstWithSupabase()
class SpecifyFieldName {
@Sqlite(name: 'email_address')
@Supabase(name: 'email_address')
@Supabase(name: 'supa_email_address')
final String? email;

SpecifyFieldName({this.email});
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,231 @@
import 'package:brick_offline_first/brick_offline_first.dart';
import 'package:brick_offline_first_with_supabase/brick_offline_first_with_supabase.dart';
import 'package:brick_supabase/brick_supabase.dart';

final output = r'''
Future<SupabaseDefault> _$SupabaseDefaultFromSupabase(Map<String, dynamic> data,
{required SupabaseProvider provider,
OfflineFirstRepository? repository}) async {
return SupabaseDefault(someLongField: data['some_long_field'] as int);
}
Future<Map<String, dynamic>> _$SupabaseDefaultToSupabase(
SupabaseDefault instance,
{required SupabaseProvider provider,
OfflineFirstRepository? repository}) async {
return {'some_long_field': instance.someLongField};
}
Future<SupabaseDefault> _$SupabaseDefaultFromSqlite(Map<String, dynamic> data,
{required SqliteProvider provider,
OfflineFirstRepository? repository}) async {
return SupabaseDefault(someLongField: data['some_long_field'] as int)
..primaryKey = data['_brick_id'] as int;
}
Future<Map<String, dynamic>> _$SupabaseDefaultToSqlite(SupabaseDefault instance,
{required SqliteProvider provider,
OfflineFirstRepository? repository}) async {
return {'some_long_field': instance.someLongField};
}
Future<SupabaseNoRename> _$SupabaseNoRenameFromSupabase(
Map<String, dynamic> data,
{required SupabaseProvider provider,
OfflineFirstRepository? repository}) async {
return SupabaseNoRename(someLongField: data['someLongField'] as int);
}
Future<Map<String, dynamic>> _$SupabaseNoRenameToSupabase(
SupabaseNoRename instance,
{required SupabaseProvider provider,
OfflineFirstRepository? repository}) async {
return {'someLongField': instance.someLongField};
}
Future<SupabaseNoRename> _$SupabaseNoRenameFromSqlite(Map<String, dynamic> data,
{required SqliteProvider provider,
OfflineFirstRepository? repository}) async {
return SupabaseNoRename(someLongField: data['some_long_field'] as int)
..primaryKey = data['_brick_id'] as int;
}
Future<Map<String, dynamic>> _$SupabaseNoRenameToSqlite(
SupabaseNoRename instance,
{required SqliteProvider provider,
OfflineFirstRepository? repository}) async {
return {'some_long_field': instance.someLongField};
}
Future<SupabaseSnakeRename> _$SupabaseSnakeRenameFromSupabase(
Map<String, dynamic> data,
{required SupabaseProvider provider,
OfflineFirstRepository? repository}) async {
return SupabaseSnakeRename(someLongField: data['some_long_field'] as int);
}
Future<Map<String, dynamic>> _$SupabaseSnakeRenameToSupabase(
SupabaseSnakeRename instance,
{required SupabaseProvider provider,
OfflineFirstRepository? repository}) async {
return {'some_long_field': instance.someLongField};
}
Future<SupabaseSnakeRename> _$SupabaseSnakeRenameFromSqlite(
Map<String, dynamic> data,
{required SqliteProvider provider,
OfflineFirstRepository? repository}) async {
return SupabaseSnakeRename(someLongField: data['some_long_field'] as int)
..primaryKey = data['_brick_id'] as int;
}
Future<Map<String, dynamic>> _$SupabaseSnakeRenameToSqlite(
SupabaseSnakeRename instance,
{required SqliteProvider provider,
OfflineFirstRepository? repository}) async {
return {'some_long_field': instance.someLongField};
}
Future<SupabaseKebabRename> _$SupabaseKebabRenameFromSupabase(
Map<String, dynamic> data,
{required SupabaseProvider provider,
OfflineFirstRepository? repository}) async {
return SupabaseKebabRename(someLongField: data['some-long-field'] as int);
}
Future<Map<String, dynamic>> _$SupabaseKebabRenameToSupabase(
SupabaseKebabRename instance,
{required SupabaseProvider provider,
OfflineFirstRepository? repository}) async {
return {'some-long-field': instance.someLongField};
}
Future<SupabaseKebabRename> _$SupabaseKebabRenameFromSqlite(
Map<String, dynamic> data,
{required SqliteProvider provider,
OfflineFirstRepository? repository}) async {
return SupabaseKebabRename(someLongField: data['some_long_field'] as int)
..primaryKey = data['_brick_id'] as int;
}
Future<Map<String, dynamic>> _$SupabaseKebabRenameToSqlite(
SupabaseKebabRename instance,
{required SqliteProvider provider,
OfflineFirstRepository? repository}) async {
return {'some_long_field': instance.someLongField};
}
Future<SupabasePascalRename> _$SupabasePascalRenameFromSupabase(
Map<String, dynamic> data,
{required SupabaseProvider provider,
OfflineFirstRepository? repository}) async {
return SupabasePascalRename(someLongField: data['SomeLongField'] as int);
}
Future<Map<String, dynamic>> _$SupabasePascalRenameToSupabase(
SupabasePascalRename instance,
{required SupabaseProvider provider,
OfflineFirstRepository? repository}) async {
return {'SomeLongField': instance.someLongField};
}
Future<SupabasePascalRename> _$SupabasePascalRenameFromSqlite(
Map<String, dynamic> data,
{required SqliteProvider provider,
OfflineFirstRepository? repository}) async {
return SupabasePascalRename(someLongField: data['some_long_field'] as int)
..primaryKey = data['_brick_id'] as int;
}
Future<Map<String, dynamic>> _$SupabasePascalRenameToSqlite(
SupabasePascalRename instance,
{required SqliteProvider provider,
OfflineFirstRepository? repository}) async {
return {'some_long_field': instance.someLongField};
}
Future<SupabaseRenameWithOverride> _$SupabaseRenameWithOverrideFromSupabase(
Map<String, dynamic> data,
{required SupabaseProvider provider,
OfflineFirstRepository? repository}) async {
return SupabaseRenameWithOverride(someLongField: data['some_field'] as int);
}
Future<Map<String, dynamic>> _$SupabaseRenameWithOverrideToSupabase(
SupabaseRenameWithOverride instance,
{required SupabaseProvider provider,
OfflineFirstRepository? repository}) async {
return {'some_field': instance.someLongField};
}
Future<SupabaseRenameWithOverride> _$SupabaseRenameWithOverrideFromSqlite(
Map<String, dynamic> data,
{required SqliteProvider provider,
OfflineFirstRepository? repository}) async {
return SupabaseRenameWithOverride(
someLongField: data['some_long_field'] as int)
..primaryKey = data['_brick_id'] as int;
}
Future<Map<String, dynamic>> _$SupabaseRenameWithOverrideToSqlite(
SupabaseRenameWithOverride instance,
{required SqliteProvider provider,
OfflineFirstRepository? repository}) async {
return {'some_long_field': instance.someLongField};
}
''';

@ConnectOfflineFirstWithSupabase(
supabaseConfig: SupabaseSerializable(),
)
class SupabaseDefault extends OfflineFirstModel {
final int someLongField;

SupabaseDefault(this.someLongField);
}

@ConnectOfflineFirstWithSupabase(
supabaseConfig: SupabaseSerializable(fieldRename: FieldRename.none),
)
class SupabaseNoRename extends OfflineFirstModel {
final int someLongField;

SupabaseNoRename(this.someLongField);
}

@ConnectOfflineFirstWithSupabase(
supabaseConfig: SupabaseSerializable(fieldRename: FieldRename.snake),
)
class SupabaseSnakeRename extends OfflineFirstModel {
final int someLongField;

SupabaseSnakeRename(this.someLongField);
}

@ConnectOfflineFirstWithSupabase(
supabaseConfig: SupabaseSerializable(fieldRename: FieldRename.kebab),
)
class SupabaseKebabRename extends OfflineFirstModel {
final int someLongField;

SupabaseKebabRename(this.someLongField);
}

@ConnectOfflineFirstWithSupabase(
supabaseConfig: SupabaseSerializable(fieldRename: FieldRename.pascal),
)
class SupabasePascalRename extends OfflineFirstModel {
final int someLongField;

SupabasePascalRename(this.someLongField);
}

@ConnectOfflineFirstWithSupabase(
supabaseConfig: SupabaseSerializable(fieldRename: FieldRename.pascal),
)
class SupabaseRenameWithOverride extends OfflineFirstModel {
@Supabase(name: 'some_field')
final int someLongField;

SupabaseRenameWithOverride(this.someLongField);
}
Loading

0 comments on commit d0b0c89

Please sign in to comment.