createExternalDataSource static method
Create a new external data source
Parameters
- IN dataTypes List of available data types for this data source. It is mandatory to provide DataType.position within the
dataTypes
list.
Throws
- An exception if it fails
Implementation
static DataSource? createExternalDataSource(final List<DataType> dataTypes) {
final List<int> intList =
dataTypes.map((final DataType dataType) => dataType.id).toList();
final String resultString = GemKitPlatform.instance.callCreateObject(
jsonEncode(<String, Object>{
'class': 'DataSourceContainer',
'args': <String, Object>{
'availableDataType': intList,
'type': 'external',
},
}),
);
final dynamic decodedVal = jsonDecode(resultString);
final int gemApiError = decodedVal['gemApiError'];
if (GemErrorExtension.isErrorCode(gemApiError)) {
return null;
}
final DataSource retVal = DataSource.init(decodedVal['result']);
return retVal;
}