register method

Future<void> register(
  1. String email,
  2. String password, {
  3. Map<String, dynamic>? data,
})

Register a new user with email, password, and optional additional data

Example:

await db.auth.register('user@example.com', 'password123', {
  'username': 'johndoe',
  'fullName': 'John Doe'
});

Implementation

Future<void> register(
  String email,
  String password, {
  Map<String, dynamic>? data,
}) async {
  final response = await _request<Map<String, dynamic>>(
    'POST',
    '/auth-collections/signup',
    body: {'email': email, 'password': password, 'data': data},
    useDataKey: false,
  );

  final tokenResponse = TokenResponse.fromJson(response);
  _token = tokenResponse.accessToken;
  await setToken(_token!);

  if (response['user'] != null) {
    _user = AppUser.fromJson(response['user']);
    await setUser(_user!);
  } else {
    await getCurrentUser();
  }

  // Trigger register callback
  if (_user != null) {
    _callbacks.onRegister?.call(_user!, _token!);
  }
}