authenticate static method

Future<void> authenticate({
  1. dynamic data,
  2. String? session,
})

Authenticate and store session data.

data can be a Map or a Model. If null, stores a timestamp. session specifies which auth session to use (default: 'default').

Example:

await Auth.authenticate(data: user);
await Auth.authenticate(data: device, session: 'device');

Implementation

static Future<void> authenticate({dynamic data, String? session}) async {
  if (data != null) {
    assert(
      data is Map || data is Model,
      'Data must be a Map or a Model. Example:\n'
      'Auth.authenticate(data: {"token": "abc123"});\n'
      'or\n'
      'Auth.authenticate(data: user);',
    );
    if (data is Model) {
      data = data.toJson();
    }
  }

  final authData = data ?? {"date": DateTime.now().toIso8601String()};
  await NyStorage.saveJson(key(session), authData, inBackpack: true);
}