facebook-nodejs-business-sdk
Version:
SDK for the Facebook Marketing API in Javascript and Node.js
224 lines (200 loc) • 5.67 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 AbstractObject from './../abstract-object';
import Cursor from './../cursor';
import ContentPublishingLimitResponse from './content-publishing-limit-response';
import UnifiedThread from './unified-thread';
import CTXPartnerAppWelcomeMessageFlow from './ctx-partner-app-welcome-message-flow';
/**
* IGUserForIGOnlyAPI
* @extends AbstractCrudObject
* @see {@link https://developers.facebook.com/docs/marketing-api/}
*/
export default class IGUserForIGOnlyAPI extends AbstractCrudObject {
static get Fields (): Object {
return Object.freeze({
account_type: 'account_type',
biography: 'biography',
followers_count: 'followers_count',
follows_count: 'follows_count',
id: 'id',
media_count: 'media_count',
name: 'name',
profile_picture_url: 'profile_picture_url',
user_id: 'user_id',
username: 'username',
website: 'website',
});
}
getContentPublishingLimit (fields: Array<string>, params: Object = {}, fetchFirstPage: boolean = true): Cursor | Promise<*> {
return this.getEdge(
ContentPublishingLimitResponse,
fields,
params,
fetchFirstPage,
'/content_publishing_limit'
);
}
getConversations (fields: Array<string>, params: Object = {}, fetchFirstPage: boolean = true): Cursor | Promise<*> {
return this.getEdge(
UnifiedThread,
fields,
params,
fetchFirstPage,
'/conversations'
);
}
getLiveMedia (fields: Array<string>, params: Object = {}, fetchFirstPage: boolean = true): Cursor | Promise<*> {
return this.getEdge(
AbstractObject,
fields,
params,
fetchFirstPage,
'/live_media'
);
}
getMedia (fields: Array<string>, params: Object = {}, fetchFirstPage: boolean = true): Cursor | Promise<*> {
return this.getEdge(
AbstractObject,
fields,
params,
fetchFirstPage,
'/media'
);
}
createMedia (fields: Array<string>, params: Object = {}, pathOverride?: ?string = null): Promise<AbstractObject> {
return this.createEdge(
'/media',
fields,
params,
null,
pathOverride,
);
}
createMediaPublish (fields: Array<string>, params: Object = {}, pathOverride?: ?string = null): Promise<AbstractObject> {
return this.createEdge(
'/mediapublish',
fields,
params,
null,
pathOverride,
);
}
createMention (fields: Array<string>, params: Object = {}, pathOverride?: ?string = null): Promise<AbstractObject> {
return this.createEdge(
'/mentions',
fields,
params,
null,
pathOverride,
);
}
createMessageAttachment (fields: Array<string>, params: Object = {}, pathOverride?: ?string = null): Promise<AbstractObject> {
return this.createEdge(
'/messageattachments',
fields,
params,
null,
pathOverride,
);
}
createMessage (fields: Array<string>, params: Object = {}, pathOverride?: ?string = null): Promise<AbstractObject> {
return this.createEdge(
'/messages',
fields,
params,
null,
pathOverride,
);
}
deleteMessengerProfile (params: Object = {}): Promise<*> {
return super.deleteEdge(
'/messenger_profile',
params
);
}
getMessengerProfile (fields: Array<string>, params: Object = {}, fetchFirstPage: boolean = true): Cursor | Promise<*> {
return this.getEdge(
AbstractObject,
fields,
params,
fetchFirstPage,
'/messenger_profile'
);
}
createMessengerProfile (fields: Array<string>, params: Object = {}, pathOverride?: ?string = null): Promise<AbstractObject> {
return this.createEdge(
'/messenger_profile',
fields,
params,
null,
pathOverride,
);
}
getStories (fields: Array<string>, params: Object = {}, fetchFirstPage: boolean = true): Cursor | Promise<*> {
return this.getEdge(
AbstractObject,
fields,
params,
fetchFirstPage,
'/stories'
);
}
deleteSubscribedApps (params: Object = {}): Promise<*> {
return super.deleteEdge(
'/subscribed_apps',
params
);
}
getSubscribedApps (fields: Array<string>, params: Object = {}, fetchFirstPage: boolean = true): Cursor | Promise<*> {
return this.getEdge(
AbstractObject,
fields,
params,
fetchFirstPage,
'/subscribed_apps'
);
}
createSubscribedApp (fields: Array<string>, params: Object = {}, pathOverride?: ?string = null): Promise<AbstractObject> {
return this.createEdge(
'/subscribed_apps',
fields,
params,
null,
pathOverride,
);
}
getTags (fields: Array<string>, params: Object = {}, fetchFirstPage: boolean = true): Cursor | Promise<*> {
return this.getEdge(
AbstractObject,
fields,
params,
fetchFirstPage,
'/tags'
);
}
getWelcomeMessageFlows (fields: Array<string>, params: Object = {}, fetchFirstPage: boolean = true): Cursor | Promise<*> {
return this.getEdge(
CTXPartnerAppWelcomeMessageFlow,
fields,
params,
fetchFirstPage,
'/welcome_message_flows'
);
}
get (fields: Array<string>, params: Object = {}): IGUserForIGOnlyAPI {
// $FlowFixMe : Support Generic Types
return this.read(
fields,
params
);
}
}