deno_postgres_interop 0.0.1 copy "deno_postgres_interop: ^0.0.1" to clipboard
deno_postgres_interop: ^0.0.1 copied to clipboard

An interop for deno-postgres.

example/lib/main.dart

import 'package:deno_postgres_interop/deno_postgres_interop.dart';
import 'package:supabase_functions/supabase_functions.dart';

void main() => SupabaseFunctions(fetch: fetch);

Future<Response> fetch(Request _) async {
  final dbUrl = Deno.env.get('SUPABASE_DB_URL');
  if (dbUrl == null) return Response.error();

  final client = Client(dbUrl);
  await client.connect();
  final result = await client.transaction(
    'transaction',
    transaction,
    TransactionOptions(isolationLevel: IsolationLevel.serializable),
  );
  await client.end();

  return Response(result.rows.map(rowToPrettyString).join('\n\n'));
}

Future<QueryObjectResult<dynamic>> transaction(Transaction transaction) async {
  await transaction.queryObject(
    'UPDATE public."User" '
    r'SET username=$1 '
    "WHERE last_name='user'",
    ["'user${transaction.hashCode}'"],
  );
  await Future.delayed(const Duration(seconds: 10));

  return transaction.queryObject('SELECT * FROM public."User"');
}

String rowToPrettyString(Map<String, dynamic> row) => row
    .toString()
    .replaceAll(', ', '\n')
    .replaceAllMapped(RegExp(r'\{|\}'), (_) => '');
11
likes
0
points
896
downloads

Publisher

verified publishersolid.software

Weekly Downloads

An interop for deno-postgres.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

args, collection, yaml

More

Packages that depend on deno_postgres_interop