postgrest 1.3.3 
postgrest: ^1.3.3 copied to clipboard
PostgREST client for Dart. This library provides an ORM interface to PostgREST.
Postgrest Dart #
Dart client for PostgREST. The goal of this library is to make an "ORM-like" restful interface.
Using #
The usage should be the same as postgrest-js except:
datais directly returned by awaiting the query when count option is not specified.- Exceptions will not be returned within the response, but will be thrown.
 is_andin_filter methods are suffixed with_sign to avoid collisions with reserved keywords.
You can find detail documentation from here.
Reading your data
import 'package:postgrest/postgrest.dart';
final url = 'https://example.com/postgrest/endpoint';
final client = PostgrestClient(url);
final response = await client.from<PostgrestList>('users').select();
Reading your data and converting it to an object
import 'package:postgrest/postgrest.dart';
final url = 'https://example.com/postgrest/endpoint';
final client = PostgrestClient(url);
final response = await client
    .from('users')
    .select<PostgrestList>()
    .withConverter((data) => data.map(User.fromJson).toList());
Insert records
import 'package:postgrest/postgrest.dart';
final url = 'https://example.com/postgrest/endpoint';
final client = PostgrestClient(url);
try {
  await client.from('users')
    .insert([
      {'username': 'supabot', 'status': 'ONLINE'}
    ]);
} on PostgrestException catch (error, stacktrace) {
  // handle a PostgrestError
  print('$error \n $stacktrace');
} catch (error, stacktrace) {
  // handle other errors
  print('$error \n $stracktrace');
}
Update a record
import 'package:postgrest/postgrest.dart';
final url = 'https://example.com/postgrest/endpoint';
final client = PostgrestClient(url);
await client.from('users')
      .update({'status': 'OFFLINE'})
      .eq('username', 'dragarcia');
Delete records
import 'package:postgrest/postgrest.dart';
final url = 'https://example.com/postgrest/endpoint';
final client = PostgrestClient(url);
await client.from('users')
      .delete()
      .eq('username', 'supabot');
Get Count
import 'package:postgrest/postgrest.dart';
final url = 'https://example.com/postgrest/endpoint';
final client = PostgrestClient(url);
final response = await client.from('countries')
      .select<PostgrestResponse>('*', FetchOptions(count: CountOption.exact));
final data = response.data;
final count = response.count;
Contributing #
- Fork the repo on GitHub
 - Clone the project to your own machine
 - Commit changes to your own branch
 - Push your work back up to your fork
 - Submit a Pull request so that we can review your changes and merge
 
License #
This repo is licensed under MIT.
Credits #
- https://github.com/supabase/postgrest-js - ported from postgrest-js library