import { EnumType, VariableType } from 'json-to-graphql-query';

export const stationsRequest = {
  azs: {
    records: {
      imya: true,
      opisanie: true,
      adress: true,
      chasyRaboty: {
        name: true,
      },
      lat: true,
      long: true,
      avtomojka: true,
      ai92: true,
      ai95: true,
      z100: true,
      propan: true,
      zaryadnayaStanciya: true,
      dt: true,
      miniMarket: true,
      tualet: true,
      region: {
        name: true,
      },
      foto: {
        url: true,
      },
    },
  },
};

export const stationsWithImageRequest = {
  azs: {
    __args: {
      filtersSet: {
        conjunction: new EnumType('and'),
        filtersSet: [
          {
            field: new EnumType('foto'),
            operator: 'isNotEmpty',
            value: [],
          },
        ],
      },
    },

    records: {
      imya: true,
      opisanie: true,
      adress: true,
      chasyRaboty: {
        name: true,
      },
      lat: true,
      long: true,
      avtomojka: true,
      ai92: true,
      ai95: true,
      z100: true,
      propan: true,
      zaryadnayaStanciya: true,
      dt: true,
      miniMarket: true,
      tualet: true,
      region: {
        name: true,
      },
      foto: {
        url: true,
      },
    },
  },
};

export const partnersRequest = {
  partnyory: {
    records: {
      nazvanie: true,
      izobrozhenie: {
        url: true,
      },
    },
  },
};

export const jobsRequest = {
  vakansii: {
    records: {
      zagolovok: true,
      tegi: {
        name: true,
      },
      tip: {
        name: true,
      },
      lokaciya: {
        name: true,
      },
    },
  },
};

export const discountsRequest = {
  akcii: {
    records: {
      zagolovok: true,
      opisanie: true,
      do: true,
      foto: {
        name: true,
      },
    },
  },
};

export const textsRequest = {
  tekstovyjKontentSajta: {
    records: {
      znachenie: true,
      klyuchNeIzmenyat: true,
    },
  },
};

export const mediaRequest = {
  mediaKontentSajta: {
    records: {
      mestopolozheniya: true,
      foto: {
        id: true,
        url: true,
      },
      klyuchNeIzmenyat: true,
    },
  },
};

export const teamRequest = {
  komanda: {
    records: {
      foto: {
        url: true,
      },
      zvanie: true,
      polnoeImya: true,
    },
  },
};

export const historyRequest = {
  istoriyaKompanii: {
    records: {
      zagolovok: true,
      god: true,
      opisanie: true,
    },
  },
};

export const reviewsRequest = {
  otzyvy: {
    __args: {
      filtersSet: {
        conjunction: new EnumType('and'),
        filtersSet: [
          {
            field: new EnumType('status'),
            operator: 'contains',
            value: 'Опубликовано',
          },
        ],
      },
    },
    records: {
      id: true,
      polnoeImya: true,
      otzyv: true,
      rejting: true,
    },
  },
};

export const charityRequest = {
  blagotvoritelnyjFond: {
    records: {
      zagolovok: true,
      opisanie: true,
      data: true,
      lokaciya: true,
      foto: {
        url: true,
      },
    },
  },
};

export const certificatesRequest = {
  sertifikaty: {
    records: {
      nazvanie: true,
      opisanie: true,
      dataVydachi: true,
      dejstvitelenDo: true,
      foto: {
        url: true,
      },
    },
  },
};

export const createReviewMutation = {
  __variables: {
    review: 'TableOtzyvyMutationParameters',
  },
  otzyvy: {
    createRecord: {
      __args: {
        records: [new VariableType('review')],
      },
      id: true,
    },
  },
};
