kevindmoore / supa_manager

Helpful package for accessing Supabase

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

This package makes it easy to use the supabase database. It provides generic methods for performing CRUD operations (Create, Read, Update and Delete). See the example package to see a complete example of using the package.

Features

  • Provide authentication for logging in and creating a new user.
  • Provide generic methods to perform CRUD operations.

Getting started

Add the package:

flutter pub add supa_manager

Usage

To start using this package, you need to create an instance of the Configuration class:

  final configuration = Configuration();
  await configuration.initialize('supabase url', 'supabase api key', 'supabase API secret');

This will initialize the Supabase client with the provided url, api key and api secret.

Authentication

To log in, use the following code:

 configuration.supaAuthManager.login('email', 'password');

To load an existing user, use the following code:

 final databaseUser = configuration.supaAuthManager.loadUser();

If the user session is valid, the user will be returned. Otherwise, null will be returned.

This package allows you to handle all the CRUD operations you need: Obtain the database repository:

 final databaseRepository = configuration.supaDatabaseRepository;

You will need to subclass the TableData class to provide the table name and the columns in the table. Something like this:

class TaskTableData extends TableData<Task> {
  TaskTableData() {
    tableName = taskTableName;
  }

  @override
  Task fromJson(Map<String, dynamic> json) {
    return Task.fromJson(json);
  }
}
### Creation
`databaseRepository.addEntry(tableData, TableEntry(item));`
### Reading
`databaseRepository.readEntries(tableData)`
### Updating
`databaseRepository.updateTableEntry(tableData, TableEntry(item));`
### Deletion
`databaseRepository.deleteTableEntry(tableData, TableEntry(item));`


## Additional information

See the example to see a complete example of using the package.
For more information on **Supabase**, go to https://supabase.com
For a video tutorial, see https://www.kodeco.com/33619647-supabase-with-flutter

About

Helpful package for accessing Supabase

License:MIT License


Languages

Language:Dart 71.3%Language:C++ 13.1%Language:CMake 11.0%Language:Ruby 1.6%Language:HTML 1.1%Language:Swift 1.0%Language:C 0.9%Language:Kotlin 0.1%Language:Objective-C 0.0%