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.
- Provide authentication for logging in and creating a new user.
- Provide generic methods to perform CRUD operations.
Add the package:
flutter pub add supa_manager
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.
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