instagram-private-api
Version:
Instagram private API wrapper for full access to instagram
101 lines • 3.95 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.FriendshipRepository = void 0;
const repository_1 = require("../core/repository");
class FriendshipRepository extends repository_1.Repository {
async show(id) {
const { body } = await this.client.request.send({
url: `/api/v1/friendships/show/${id}/`,
});
return body;
}
async showMany(userIds) {
const { body } = await this.client.request.send({
url: `/api/v1/friendships/show_many/`,
method: 'POST',
form: {
_csrftoken: this.client.state.cookieCsrfToken,
user_ids: userIds.join(),
_uuid: this.client.state.uuid,
},
});
return body.friendship_statuses;
}
async block(id, mediaIdAttribution) {
return this.change('block', id, mediaIdAttribution);
}
async unblock(id, mediaIdAttribution) {
return this.change('unblock', id, mediaIdAttribution);
}
async create(id, mediaIdAttribution) {
return this.change('create', id, mediaIdAttribution);
}
async destroy(id, mediaIdAttribution) {
return this.change('destroy', id, mediaIdAttribution);
}
async approve(id, mediaIdAttribution) {
return this.change('approve', id, mediaIdAttribution);
}
async deny(id, mediaIdAttribution) {
return this.change('ignore', id, mediaIdAttribution);
}
async removeFollower(id) {
return this.change('remove_follower', id);
}
async change(action, id, mediaIdAttribution) {
const { body } = await this.client.request.send({
url: `/api/v1/friendships/${action}/${id}/`,
method: 'POST',
form: this.client.request.sign({
_csrftoken: this.client.state.cookieCsrfToken,
user_id: id,
radio_type: this.client.state.radioType,
_uid: this.client.state.cookieUserId,
device_id: this.client.state.deviceId,
_uuid: this.client.state.uuid,
media_id_attribution: mediaIdAttribution,
}),
});
return body.friendship_status;
}
async setBesties(input = {}) {
const { body } = await this.client.request.send({
url: `/api/v1/friendships/set_besties/`,
method: 'POST',
form: this.client.request.sign({
_csrftoken: this.client.state.cookieCsrfToken,
_uid: this.client.state.cookieUserId,
device_id: this.client.state.deviceId,
_uuid: this.client.state.uuid,
module: 'favorites_home_list',
source: 'audience_manager',
add: input.add,
remove: input.remove,
}),
});
return body.friendship_statuses;
}
mutePostsOrStoryFromFollow(options) {
return this.changeMuteFromFollow('mute', {
media_id: options.mediaId,
target_reel_author_id: options.targetReelAuthorId,
target_posts_author_id: options.targetPostsAuthorId,
});
}
unmutePostsOrStoryFromFollow(options) {
return this.changeMuteFromFollow('unmute', {
target_reel_author_id: options.targetReelAuthorId,
target_posts_author_id: options.targetPostsAuthorId,
});
}
async changeMuteFromFollow(mode, options) {
const { body } = await this.client.request.send({
url: `/api/v1/friendships/${mode}_posts_or_story_from_follow/`,
method: 'POST',
form: Object.assign({ _csrftoken: this.client.state.cookieCsrfToken, _uid: this.client.state.cookieUserId, _uuid: this.client.state.uuid }, options),
});
return body;
}
}
exports.FriendshipRepository = FriendshipRepository;
//# sourceMappingURL=friendship.repository.js.map