doordeck_headless_sdk_flutter

Overview

The doordeck_headless_sdk_flutter is a lightweight Flutter SDK built on top of the Doordeck Headless SDK. This SDK provides a minimal interface for authentication and lock management, focusing on user-facing operations. It enables Flutter applications to authenticate users, manage authentication tokens, retrieve lock details, and unlock devices via Doordeck's platform.

Installation

Add the plugin to your pubspec.yaml:

dependencies:
  doordeck_headless_sdk_flutter: ${LATEST_VERSION}

Then run:

flutter pub get

Usage

Import the package

import 'package:doordeck_headless_sdk_flutter/doordeck_headless_sdk_flutter.dart';

Authentication Methods

login(String email, String password)

Logs the user in with their email and password.

Note: If login is performed without verification within the same session, authentication will only persist in runtime memory and will be lost when the app restarts.

await DoordeckFlutter.login("user@example.com", "password123");

setAuthToken(String authToken)

Sets an authentication token manually.

Note: Like login, authentication without verification will only persist in runtime memory and will be lost after the app restarts.

await DoordeckFlutter.setAuthToken("your-auth-token");

verify(String code)

Verifies an ephemeral key registration with a verification code. Upon successful verification, the user ID and authentication context are saved in persistent storage.

await DoordeckFlutter.verify("123456");

logout()

Logs out the current user and clears the stored authentication context, including removing the persistent user ID.

await DoordeckFlutter.logout();

Device and Tile Operations

getLocksBelongingToTile(String tileId)

Retrieves a list of locks associated with a specific tile.

final locks = await DoordeckFlutter.getLocksBelongingToTile("tile-uuid");
print(locks);

unlockDevice(String lockId)

Unlocks a device given its lock ID.

await DoordeckFlutter.unlockDevice("lock-uuid");

Error Handling

Each method returns a Future. If an error occurs, it will throw a PlatformException containing a code and message.

License

This SDK follows the Doordeck licensing agreement. Ensure compliance with Doordeck's API usage policies before integrating this SDK into your project.

Support

For additional support, refer to the Doordeck Developer Documentation.