import gql from 'graphql-tag';

export const ADD_PAYMENT_METHOD_TO_CONTRACT = gql`
  mutation NewPaymentMethod($input: AddPaymentMethodToContractInput!) {
    addPaymentMethodToContract(input: $input) {
      paymentMethod {
        ... on CreditCardPaymentMethod {
          id
          customerId
          type
          status
          isDefault
          maskedNumber
          nick
          issuer
          expiry
        }
        ... on BankClaimPaymentMethod {
          id
          customerId
          type
          status
          isDefault
        }
        id
        customerId
        type
        status
        isDefault
      }
    }
  }
`;

export const DELETE_PAYMENT_METHOD = gql`
  mutation DeletePaymentMethod($input: DeletePaymentMethodInput!) {
    deletePaymentMethod(input: $input) {
      message
    }
  }
`;

export const CONNECT_TO_CONTRACTS = gql`
  mutation ConnectToContracts($input: AddPaymentMethodToContractsInput!) {
    connectToContracts(input: $input) {
      customerId
      id
      isDefault
      name
      status
      type
    }
  }
`;

export const DEACTIVATE_CONTRACTITEM = gql`
  mutation DeactivateContractItem($input: DeactivateContractItemInput!) {
    deactivateContractItem(input: $input) {
      message
    }
  }
`;

export const CANCEL_CONTRACT = gql`
  mutation CancelContract($input: CancelContractInput) {
    cancelContract(input: $input) {
      message
    }
  }
`;

export const REACTIVATE_CONTRACT = gql`
  mutation ReactivateContract($input: ReactivateContractInput!) {
    reactivateContract(input: $input) {
      message
    }
  }
`;

export const SERVICE_TO_CONTRACT = gql`
  mutation AddServiceToContract($input: AddServiceToContractInput!) {
    addServiceToContract(input: $input) {
      contract {
        id
      }
    }
  }
`;

export const REMOVE_UNDELIVERED_DEVICE_ITEMS = gql`
  mutation RemoveUndeliveredDeviceItems($input: RemoveUndeliveredInput!) {
    removeUndeliveredDeviceItems(input: $input) {
      id
    }
  }
`;

export const SEND_DEVICE_ITEMS_TO_NAV = gql`
  mutation SendDeviceItemsToNav($input: SendDeviceItemsToNavInput!) {
    sendDeviceItemsToNav(input: $input) {
      id
    }
  }
`;

export const ADD_CONTRACT_DISCOUNT = gql`
  mutation AddContractDiscount($input: AddDiscountInput!) {
    addContractDiscount(input: $input) {
      message
    }
  }
`;
export const ADJUSTMENT_REQUEST = gql`
  mutation AdjustmentRequest($input: AdjustmentRequestInput!) {
    adjustmentRequest(input: $input) {
      message
    }
  }
`;
