Your IP : 216.73.216.43


Current Path : /home/deltalab/PMS/ims-connector/logic/shopify/
Upload File :
Current File : //home/deltalab/PMS/ims-connector/logic/shopify/media.js

const axios = require("axios");

async function getUploadMutation(input) {
  await axios({
    url: process.env.SHOPIFY_STORE_URL,
    method: 'post',
    data: {
      query: `
        mutation stagedUploadsCreate($input: [StagedUploadInput!]!) {
            stagedUploadsCreate(input: $input) {
              userErrors {
                field
                message
              }
              stagedTargets {
                url
                resourceUrl
                parameters {
                  name
                  value
                }
              }
            }
          }          
      `,
      variables: {
        input: input,
      }
    },
    headers: {
      'Content-Type': 'application/json',
      'Accept': 'application/json',
      'X-Shopify-Access-Token': process.env.SHOPIFY_PASSWORD,
    },
  }).then((result) => {
    data = result;
  });
  return data;
};

async function createMediaMutation(media, productId) {
  await axios({
    url: process.env.SHOPIFY_STORE_URL,
    method: 'post',
    data: {
      query: `
      mutation productCreateMedia($media: [CreateMediaInput!]!, $productId: ID!) {
        productCreateMedia(media: $media, productId: $productId) {
          mediaUserErrors {
            code
            field
            message
          }
          media {
            preview {
              image {
                id
              }
              status
            }
            mediaErrors {
              details
            }
            mediaContentType
          }
          product {
            id
            title
          }
        }
      } 
    `,
      variables: {
        media: media,
        productId: productId,
      }
    },
    headers: {
      'Content-Type': 'application/json',
      'Accept': 'application/json',
      'X-Shopify-Access-Token': process.env.SHOPIFY_PASSWORD,
    },
  }).then((result) => {
    data = result;
  });
  return data;
};

exports.getUploadMutation = getUploadMutation;
exports.createMediaMutation = createMediaMutation