postgrest 1.2.3 copy "postgrest: ^1.2.3" to clipboard
postgrest: ^1.2.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.

pub package pub test

Using #

The usage should be the same as postgrest-js except:

  • data is 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_ and in_ 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 #

103
likes
0
pub points
97%
popularity

Publisher

verified publishersupabase.io

PostgREST client for Dart. This library provides an ORM interface to PostgREST.

Homepage
Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

http, yet_another_json_isolate

More

Packages that depend on postgrest