import {get, post} from '../http'

const ocpp = {
  getOperationList: () => [
    {
      "name": "Change Availability",
      "value": "CA",
      "api": "ocppOperations/changeAvailability"
    },
    {
      "name": "Change Configuration",
      "value": "CC",
      "api": "ocppOperations/changeConfiguration"
    },
    {
      "name": "Remote Start Transaction",
      "value": "RSTART",
      "api": "ocppOperations/remoteStartTransaction"
    },
    {
      "name": "Remote Stop Transaction",
      "value": "RSTOP",
      "singleStation": true,
      "api": "ocppOperations/remoteStopTransaction"
    },
    {
      "name": "Reset",
      "value": "RS",
      "api": "ocppOperations/reset"
    },
    {
      "name": "Unlock Connector",
      "value": "UC",
      "singleStation": true,
      "api": "ocppOperations/unlockConnector"
    },
    {
      "name": "Get Configuration",
      "value": "GC",
      "api": "ocppOperations/getConfiguration"
    },
    {
      "name": "Clear Charging Profile",
      "value": "CCP",
      "singleStation": true,
      "api": "ocppOperations/clearChargingProfile"
    },
    {
      "name": "Set Charging Profile",
      "value": "SCP",
      "singleStation": true,
      "api": "ocppOperations/setChargingProfile"
    },
    {
      "name": "Update Firmware",
      "value": "UF",
      "api": "ocppOperations/updateFirmware"
    }
  ],
  getKeyTypeList: () => get('ocppOperations/getKeyTypeList'),
  getActiveIdTags: (params) => get('ocppOperations/getActiveIdTags', params),
  getResetTypeList: () => get('ocppOperations/getResetTypeList'),
  getStationPages: (params) => post('ocppOperations/getChargePointsPages', params),
  getConfigurationKeyList: () => get('ocppOperations/getConfigurationKeyList'),
  getAvailabilityTypeList: () => get('ocppOperations/getAvailabilityTypeList'),
  getChargingProfileList: () => get('ocppOperations/getChargingProfileList'),
  getClearChargingProfileFilterType: () => get('ocppOperations/getClearChargingProfileFilterType'),
  getConnectorIds: (param) => get('ocppOperations/getConnectorsByStationId', {stationId: param}),
  getActiveConnectorIds: (param) => get('ocppOperations/getActiveTransactionIdsByStationId', {stationId: param}),
  getTaskInfo: (id) => get('ocppOperations/getTaskInfo', {taskId: id}),
  sendPerform: (api, params) => post(api, params),
}

export default ocpp;