putSetting method

JsonMap putSetting(
  1. String principalId,
  2. String key,
  3. Object? value, {
  4. String? deviceId,
})

Stores the setting key of principalId and appends settings.updated.

Implementation

JsonMap putSetting(
  String principalId,
  String key,
  Object? value, {
  String? deviceId,
}) {
  final mine = settings.putIfAbsent(principalId, () => {});
  final setting = <String, Object?>{
    'key': key,
    'value': value,
    'version': ((mine[key]?['version'] as int?) ?? 0) + 1,
    'updated_by_device_id': ?deviceId,
    'updated_at': stamp(),
  };
  mine[key] = setting;
  _settingEvent(principalId, setting, deleted: false);
  return setting;
}