supabase_codegen 2.0.0 copy "supabase_codegen: ^2.0.0" to clipboard
supabase_codegen: ^2.0.0 copied to clipboard

A codegen library that grabs and generates classes from Supabase tables and enums in Dart.

example/example.dart

import 'dart:io';

import 'package:logger/logger.dart';
import 'package:supabase_codegen/supabase_codegen.dart';

import 'generated/database.dart';

/// Example of generated classes usage
Future<void> main() async {
  final logger = Logger()..i('Loading mock supabase client');

  // Testing usage
  // ignore: invalid_use_of_visible_for_testing_member
  loadMockSupabaseClient();

  final usersTable = UsersTable();

  logger.i('Creating user...');

  /// Create new record
  final adminUser = await usersTable.insert({
    UsersRow.emailField: 'john@example.com',
    UsersRow.roleField: UserRole.admin.name,
    UsersRow.accNameField: 'John Doe',
    UsersRow.phoneNumberField: '+1234567890',
  });

  /// The returned object is already typed
  logger
    ..i('User email:${adminUser.email}')
    ..i('User name: ${adminUser.accName ?? ''}');

  /// Create new record with row object
  final user = UsersRow(
    email: 'user@example.com',
    role: UserRole.user,
    accName: 'Regular User',
    contacts: [
      adminUser.email,
    ],
  );

  await usersTable.insertRow(user);

  /// Get all users
  final users = await usersTable.queryRows();

  logger.i('Users: $users');
  exit(0);
}
7
likes
160
points
285
downloads

Publisher

verified publisherkhuwn.com

Weekly Downloads

A codegen library that grabs and generates classes from Supabase tables and enums in Dart.

Homepage
Repository (GitHub)
View/report issues

Documentation

API reference

License

GPL-3.0 (license)

Dependencies

args, change_case, collection, dcli, dotenv, http, latlng, logger, meta, mock_supabase_http_client, path, quiver, supabase, yaml

More

Packages that depend on supabase_codegen