addActivity method

Future<void> addActivity({
  1. required String email,
  2. required String action,
  3. required String message,
})

Implementation

Future<void> addActivity({
  required String email,
  required String action,
  required String message,
}) async {
  final users = await _readUsers();
  final index = users.indexWhere((u) => u.email == email);
  if (index < 0) return;
  final user = users[index];
  final activities = [
    UserActivity(action: action, message: message, at: DateTime.now()),
    ...user.activities,
  ];
  users[index] = user.copyWith(
    activities: activities.take(100).toList(),
    updatedAt: DateTime.now(),
  );
  await _writeUsers(users);
}