postgrest 0.0.1-dev.3

Dart native
Flutter Android iOS

A PostgREST api client written in Dartlang.

Postgrest Dart #

Dart client for PostgREST. The goal of this library is to make an "ORM-like" restful interface.

pub package pub test

Pre-release verion! This repo is still under heavy development and the documentation is evolving. You're welcome to try it, but expect some breaking changes.

Using #

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

  • When using with async/await, you need to call end() to finish your query chain.
  • $is and $in filter methods are prefixed with $ sign to avoid collisions with reserved keywords.

You can find detail documentation from here.

Reading your data

import 'package:postgrest/postgrest.dart';

var url = 'https://example.com/postgrest/endpoint';
var client = PostgrestClient(url);
var response = await client.from('users')
      .select('*')
      .eq('username', 'dragarcia')
      .end();
print('Response status: ${response.status}');
print('Response body: ${response.body}');

Insert records

import 'package:postgrest/postgrest.dart';

var url = 'https://example.com/postgrest/endpoint';
var client = PostgrestClient(url);
var response = await client.from('users')
      .insert([
        { 'username': 'supabot', 'status': 'ONLINE'}
      ])
      .end();
print('Created user: ${response.body[0]['username']}');

Update a record

import 'package:postgrest/postgrest.dart';

var url = 'https://example.com/postgrest/endpoint';
var client = PostgrestClient(url);
var response = await client.from('users')
      .update({ 'status': 'OFFLINE' })
      .eq('username', 'dragarcia')
      .end();
print('Updated user status: ${response.body[0]['status']}');

Delete records

import 'package:postgrest/postgrest.dart';

var url = 'https://example.com/postgrest/endpoint';
var client = PostgrestClient(url);
var response = await client.from('users')
      .delete()
      .eq('username', 'supabot')
      .end();
print('Response status: ${response.status}');

Using with then()/catchError()

import 'package:postgrest/postgrest.dart' as postgrestClient;

var url = 'https://example.com/postgrest/endpoint';
var client = postgrestClient(url);
client.from('users').select('username').eq('status', 'OFFLINE').then((res) {
      // Do something with the response
}).catchError((error) => throw (error));

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 liscenced under MIT.

Credits #

Sponsors #

We are building the features of Firebase using enterprise-grade, open source products. We support existing communities wherever possible, and if the products don’t exist we build them and open source them ourselves. Thanks to these sponsors who are making the OSS ecosystem better for everyone.

Worklife VC New Sponsor

3
likes
80
pub points
6%
popularity

A PostgREST api client written in Dartlang.

Homepage
Repository (GitHub)
View/report issues

Documentation

API reference

Uploader

phamhieu1998@gmail.com

License

MIT (LICENSE)

Dependencies

http

More

Packages that depend on postgrest