Operation<T>.withPayload constructor

Operation<T>.withPayload(
  1. OperationType? operationType,
  2. String? table,
  3. String? opResultId,
  4. 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['related'],
      'relationsDepth': mapPayload['relationsDepth'],
      'relationsPageSize': mapPayload['relationsPageSize'],
    };
    mapPayload['queryOptions'] = relationQuery;
    mapPayload.removeWhere((key, value) {
      return key == 'sortBy' ||
          key == 'related' ||
          key == 'relationsDepth' ||
          key == 'relationsPageSize';
    });
    this.payload = mapPayload as T;
  }
}