BloomSupabaseTableRepository<T> constructor

BloomSupabaseTableRepository<T>({
  1. required String tableName,
  2. required String supabaseUrl,
  3. required String supabaseAnonKey,
  4. required T fromJson(
    1. Map<String, dynamic> json
    ),
  5. required Map<String, dynamic> toJson(
    1. T item
    ),
  6. String? authTokenProvider()?,
  7. String? bearerToken,
})

Creates a BloomSupabaseTableRepository targeting tableName.

Implementation

BloomSupabaseTableRepository({

  required this.tableName,
  required this.supabaseUrl,
  required this.supabaseAnonKey,
  required this.fromJson,
  required this.toJson,
  String? Function()? authTokenProvider,
  String? bearerToken,
}) : _http = BloomHttpClient(
        baseUrl: '$supabaseUrl/rest/v1/$tableName',
        authTokenProvider: authTokenProvider,
        authToken: bearerToken,
      ) {
  _http.requestInterceptors.add((req) {
    req.headers['apikey'] = supabaseAnonKey;
    req.headers['Prefer'] = 'return=representation';
    return req;
  });
}