Implementation
Future<BuiltSet<LocalizedType<Condition>>> getAll() async {
const gqlQueryString = '''
query FetchAllConditionsWithLocalizations {
conditions {
${ConditionGqlEntity.gqlQueryFragment}
}
}
''';
try {
final queryResult = await graphQLClient
.query<void>(QueryOptions(document: gql(gqlQueryString)));
if (queryResult.hasException) {
logger?.e(queryResult.exception.toString());
return BuiltSet<LocalizedType<Condition>>();
}
final data = queryResult.data!['conditions'] as List<dynamic>;
final l = data
.map((dynamic e) =>
ConditionGqlEntity.fromJson(e as Map<String, dynamic>))
.where((element) => element != null)
.map((e) => e!.toLocalizedTypeCondition())
.toBuiltSet();
ConditionsStorage.allConditions = BuiltMap.from(
Map<String, LocalizedType<Condition>>.fromEntries(
l.map((p0) => MapEntry(p0.defaultValue.id, p0))));
return l;
} catch (e, stackTrace) {
logger?.e('Could not get list of conditions', e.toString(), stackTrace);
return BuiltSet<LocalizedType<Condition>>();
}
}