facebook-nodejs-business-sdk
Version:
SDK for the Facebook Marketing API in Javascript and Node.js
110 lines (98 loc) • 2.85 kB
JavaScript
/*
* Copyright (c) Meta Platforms, Inc. and affiliates.
* All rights reserved.
*
* This source code is licensed under the license found in the
* LICENSE file in the root directory of this source tree.
*
* @flow
*/
import {AbstractCrudObject} from './../abstract-crud-object';
import Cursor from './../cursor';
import Business from './business';
import AREffect from './ar-effect';
import AdAccount from './ad-account';
import IGUpcomingEvent from './ig-upcoming-event';
/**
* InstagramUser
* @extends AbstractCrudObject
* @see {@link https://developers.facebook.com/docs/marketing-api/}
*/
export default class InstagramUser extends AbstractCrudObject {
static get Fields (): Object {
return Object.freeze({
follow_count: 'follow_count',
followed_by_count: 'followed_by_count',
has_profile_picture: 'has_profile_picture',
id: 'id',
is_private: 'is_private',
is_published: 'is_published',
media_count: 'media_count',
mini_shop_storefront: 'mini_shop_storefront',
owner_business: 'owner_business',
profile_pic: 'profile_pic',
username: 'username',
});
}
getAgencies (fields: Array<string>, params: Object = {}, fetchFirstPage: boolean = true): Cursor | Promise<*> {
return this.getEdge(
Business,
fields,
params,
fetchFirstPage,
'/agencies'
);
}
getArEffects (fields: Array<string>, params: Object = {}, fetchFirstPage: boolean = true): Cursor | Promise<*> {
return this.getEdge(
AREffect,
fields,
params,
fetchFirstPage,
'/ar_effects'
);
}
getAuthorizedAdAccounts (fields: Array<string>, params: Object = {}, fetchFirstPage: boolean = true): Cursor | Promise<*> {
return this.getEdge(
AdAccount,
fields,
params,
fetchFirstPage,
'/authorized_adaccounts'
);
}
createAuthorizedAdAccount (fields: Array<string>, params: Object = {}, pathOverride?: ?string = null): Promise<InstagramUser> {
return this.createEdge(
'/authorized_adaccounts',
fields,
params,
InstagramUser,
pathOverride,
);
}
getUpcomingEvents (fields: Array<string>, params: Object = {}, fetchFirstPage: boolean = true): Cursor | Promise<*> {
return this.getEdge(
IGUpcomingEvent,
fields,
params,
fetchFirstPage,
'/upcoming_events'
);
}
createUpcomingEvent (fields: Array<string>, params: Object = {}, pathOverride?: ?string = null): Promise<IGUpcomingEvent> {
return this.createEdge(
'/upcoming_events',
fields,
params,
IGUpcomingEvent,
pathOverride,
);
}
get (fields: Array<string>, params: Object = {}): InstagramUser {
// $FlowFixMe : Support Generic Types
return this.read(
fields,
params
);
}
}