getStudy method
Return the SmartphoneStudy with studyDeploymentId and deviceRoleName,
or null when no such study is found.
Implementation
Future<SmartphoneStudy?> getStudy(
String studyDeploymentId,
String deviceRoleName,
) async {
SmartphoneStudy? study;
try {
final List<Map<String, Object?>> maps =
await _database?.query(
STUDY_TABLE_NAME,
columns: [
STUDY_ID_COLUMN,
STUDY_DEPLOYMENT_ID_COLUMN,
DEVICE_ROLE_NAME_COLUMN,
PARTICIPANT_ID_COLUMN,
PARTICIPANT_ROLE_NAME_COLUMN,
CREATED_ON_COLUMN,
SAMPLING_STATUS_COLUMN,
DEPLOYMENT_STATUS_COLUMN,
DEPLOYMENT_COLUMN,
],
where:
'$STUDY_DEPLOYMENT_ID_COLUMN = ? AND '
'$DEVICE_ROLE_NAME_COLUMN = ?',
whereArgs: [studyDeploymentId, deviceRoleName],
) ??
[];
if (maps.isNotEmpty) {
study = SmartphoneStudy.fromMap(maps[0]);
}
} catch (exception) {
warning('$runtimeType - Failed to restore deployment - $exception');
}
return study;
}