surrealdb_client 0.1.0 copy "surrealdb_client: ^0.1.0" to clipboard
surrealdb_client: ^0.1.0 copied to clipboard

Experimental Dart support for SurrealDB - database, realtime API layer, and security permissions all-in-one.

Experimental Dart support for SurrealDB. This package is a port of surreal.js.

Features #

  • connect(url) - Connects to a local or remote database endpoint
  • wait() - Waits for the connection to the database to succeed
  • close() - Closes the persistent connection to the database
  • use(ns, db) - Switch to a specific namespace and database
  • signup(vars) - Signs this connection up to a specific authentication scope
  • signin(vars) - Signs this connection in to a specific authentication scope
  • invalidate() - Invalidates the authentication for the current connection
  • authenticate(token) - Authenticates the current connection with a JWT token
  • let(key, val) - Assigns a value as a parameter for this connection
  • query(sql, vars) - Runs a set of SurrealQL statements against the database
  • select(thing) - Selects all records in a table, or a specific record
  • create(thing, data) - Creates a record in the database
  • update(thing, data) - Updates all records in a table, or a specific record
  • change(thing, data) - Modifies all records in a table, or a specific record
  • modify(thing, data) - Applies JSON Patch changes to all records in a table, or a specific record
  • delete(thing) - Deletes all records, or a specific record

Getting started #

For installation instructions and SurrealQL introduction visit SurrealDB docs.

Usage #

  // Tell the client where to find your Surreal instance on the network.
  final client = SurrealClient(url: '...');
  
  // Sign in and specify which namespace and database client should be referring to.
  await client.signIn({'user': 'root', 'pass': 'root'});
  await client.use('test', 'test');

  // Create and read an article.
  await client.create('article', {'title': 'SurrealDB for Dart'});
  print(await client.select('article'));
  
  // Close the connection.
  client.close();

Additional information #

This is a 3rd-party integration which happens to also be an experimental one. Keep that in mind when considering this package as a foundation of your project.

Contributions are welcome.

Planned improvements:

  • ✅ Add web support
  • ❌ Add types to outputs
  • ❌ Provide streams for client events
6
likes
150
pub points
23%
popularity

Publisher

verified publisherwrbl.xyz

Experimental Dart support for SurrealDB - database, realtime API layer, and security permissions all-in-one.

Repository (GitHub)
View/report issues

Documentation

API reference

License

Apache-2.0 (license)

Dependencies

objectid

More

Packages that depend on surrealdb_client