instagram-graph-api
Version:
A library to help perform requests to the Instagram Graph API.
41 lines (40 loc) • 1.32 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.AbstractGetMediaInsightsRequest = void 0;
const AbstractRequest_1 = require("../../AbstractRequest");
const GetMediaInsightsResponse_1 = require("./GetMediaInsightsResponse");
/**
* An abstract class to represent request that gets insights about a media object.
*
* @param T te type of metrics. This matches the type of media object (Post or Story).
*
* @author Tiago Grosso <tiagogrosso99@gmail.com>
* @since 0.2.0
*/
class AbstractGetMediaInsightsRequest extends AbstractRequest_1.AbstractRequest {
/**
* The constructor.
*
* @param accessToken the access token.
* @param mediaId the media object id (must be of type 'Post').
* @param metrics the metrics to retrieve from the API.
*/
constructor(accessToken, mediaId, metrics) {
super(accessToken);
this.mediaId = mediaId;
this.params.metric = Array.from(metrics).join(',');
}
/**
* @inheritdoc
*/
url() {
return `/${this.mediaId}/insights`;
}
/**
* @inheritdoc
*/
parseResponse(response) {
return new GetMediaInsightsResponse_1.GetMediaInsightsResponse(response.data);
}
}
exports.AbstractGetMediaInsightsRequest = AbstractGetMediaInsightsRequest;