getAllStudyDeployments method

Future<List<Study>> getAllStudyDeployments()

Get the list of all study deployments previously stored on this phone.

Returns an empty list, if not study deployments are stored.

Implementation

Future<List<Study>> getAllStudyDeployments() async {
  info("$runtimeType - Getting all study deployments stored on this device.");
  List<Study> list = [];
  try {
    final List<Map<String, Object?>> maps = await database?.query(
          DEPLOYMENT_TABLE_NAME,
          columns: [
            DEPLOYMENT_ID_COLUMN,
            ROLE_NAME_COLUMN,
            DEPLOYMENT_STATUS_COLUMN,
          ],
        ) ??
        [];
    if (maps.isNotEmpty) {
      for (var map in maps) {
        final study = Study(
          map[DEPLOYMENT_ID_COLUMN] as String,
          map[ROLE_NAME_COLUMN] as String,
        );
        final status = map[DEPLOYMENT_STATUS_COLUMN] as int;
        study.status = StudyStatus.values[status];
        list.add(study);
      }
    }
  } catch (exception) {
    warning('$runtimeType - Failed to load deployments - $exception');
  }

  return list;
}