Operation<T>.withPayload constructor
Operation<T>.withPayload (
- OperationType? operationType,
- String? table,
- String? opResultId,
- T? payload,
Implementation
Operation.withPayload(
this.operationType, this.table, this.opResultId, this.payload) {
if (payload is DataQueryBuilder) {
Map mapPayload = (payload as DataQueryBuilder).toJson();
Map relationQuery = {
'sortBy': mapPayload['sortBy'],
'related': (mapPayload['loadRelations'] as String).isNotEmpty
? (mapPayload['loadRelations'] as String).split(',')
: [],
'relationsDepth': mapPayload['relationsDepth'],
'relationsPageSize': mapPayload['relationsPageSize'],
};
mapPayload['whereClause'] = mapPayload['where'];
mapPayload['properties'] = mapPayload['props'];
mapPayload['havingClause'] = mapPayload['having'];
mapPayload['queryOptions'] = relationQuery;
mapPayload.removeWhere((key, value) {
return key == 'sortBy' ||
key == 'loadRelations' ||
key == 'relationsDepth' ||
key == 'relationsPageSize' ||
key == 'where' ||
key == 'props' ||
key == 'having';
});
payload = mapPayload as T;
}
}