saveModels static method

Future<List<AIModel>> saveModels(
  1. List<AIModel> inputAIModels
)

Implementation

static Future<List<AIModel>> saveModels(List<AIModel> inputAIModels) async {
  List<AIModel> models = await loadAllModels();

  if (models.isEmpty && inputAIModels.isNotEmpty) {
    inputAIModels.first.defaultModel = true;
  }

  // merge by id so re-saving updates in place
  final byId = {for (final m in models) m.id: m};
  for (final m in inputAIModels) {
    byId[m.id] = m;
  }

  for (final m in byId.values) {
    await ManagerAIDatabase.saveMap(m.id, m.toMap());
  }

  return await loadAllModels();
}