/postgrest-dart

Dart client for PostgREST

Primary LanguageDartMIT LicenseMIT

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:

  • You need to call execute() to finish your query chain.
  • 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';

var url = 'https://example.com/postgrest/endpoint';
var client = PostgrestClient(url);
var response = await client.from('users').select().execute();

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'}
      ])
      .execute();

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')
      .execute();

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')
      .execute();

Get Count

import 'package:postgrest/postgrest.dart';

var url = 'https://example.com/postgrest/endpoint';
var client = PostgrestClient(url);
var response = await client.from('countries')
      .select()
      .execute(count: CountOption.exact, head: true);

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