hunk.code_window:           ? permsState.insert.allow_upsert
             : false;
           // TODO: Fix the controlled component
           _upsertSection = (
             <div>
  
hunk.labels: keep keep add keep keep keep
hunk.after_edit:         // Upsert Tooltip
           const upsertToolTip = (
             <Tooltip id="tooltip-upsert">
               Upsert updates a row if it already exists, otherwise inserts it
             </Tooltip>
           );
  
hunk.file_path: console/src/components/Services/Data/TablePermissions/Permissions.js
hunk.type: add
file: // Remove the apollo-boost import and change to this:
  import ApolloClient from "apollo-client";
  
  // Setup the network "links"
  import { WebSocketLink } from 'apollo-link-ws';
  import { HttpLink } from 'apollo-link-http';
  import { split } from 'apollo-link';
  import { getMainDefinition } from 'apollo-utilities';
  
  import { InMemoryCache } from 'apollo-cache-inmemory';
  
  export const HASURA_GRAPHQL_ENGINE_HOSTNAME = 'hasura-realtime-poll.herokuapp.com';
  
  const wsurl = `wss://${HASURA_GRAPHQL_ENGINE_HOSTNAME}/v1alpha1/graphql`;
  const httpurl = `https://${HASURA_GRAPHQL_ENGINE_HOSTNAME}/v1alpha1/graphql`;
  
  const wsLink = new WebSocketLink({
    uri: wsurl,
    options: {
      reconnect: true,
    }
  });
  
  const httpLink = new HttpLink({
    uri: httpurl,
  });
  
  const link = split(
    // split based on operation type
    ({ query }) => {
      const { kind, operation } = getMainDefinition(query);
      return kind === 'OperationDefinition' && operation === 'subscription';
    },
    wsLink,
    httpLink,
  );
  
  const client = new ApolloClient({
    link,
    cache: new InMemoryCache()
  });
  
  export default client;
  