facebook-nodejs-business-sdk
Version:
SDK for the Facebook Ads API in Javascript and Node.js
332 lines (299 loc) • 8.79 kB
JavaScript
/**
* Copyright (c) 2017-present, Facebook, Inc.
* 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 AssignedUser from './assigned-user';
import AdAccount from './ad-account';
import Application from './application';
import CustomConversion from './custom-conversion';
import InstagramUser from './instagram-user';
import OfflineConversionDataSet from './offline-conversion-data-set';
import Page from './page';
import AdsPixel from './ads-pixel';
import ProductCatalog from './product-catalog';
/**
* BusinessAssetGroup
* @extends AbstractCrudObject
* @see {@link https://developers.facebook.com/docs/marketing-api/}
*/
export default class BusinessAssetGroup extends AbstractCrudObject {
static get Fields (): Object {
return Object.freeze({
id: 'id',
name: 'name',
});
}
static get AdaccountTasks (): Object {
return Object.freeze({
advertise: 'ADVERTISE',
analyze: 'ANALYZE',
manage: 'MANAGE',
});
}
static get OfflineConversionDataSetTasks (): Object {
return Object.freeze({
advertise: 'ADVERTISE',
manage: 'MANAGE',
upload: 'UPLOAD',
view: 'VIEW',
});
}
static get PageTasks (): Object {
return Object.freeze({
advertise: 'ADVERTISE',
analyze: 'ANALYZE',
cashier_role: 'CASHIER_ROLE',
create_content: 'CREATE_CONTENT',
manage: 'MANAGE',
manage_jobs: 'MANAGE_JOBS',
manage_leads: 'MANAGE_LEADS',
messaging: 'MESSAGING',
moderate: 'MODERATE',
moderate_community: 'MODERATE_COMMUNITY',
pages_messaging: 'PAGES_MESSAGING',
pages_messaging_subscriptions: 'PAGES_MESSAGING_SUBSCRIPTIONS',
profile_plus_advertise: 'PROFILE_PLUS_ADVERTISE',
profile_plus_analyze: 'PROFILE_PLUS_ANALYZE',
profile_plus_create_content: 'PROFILE_PLUS_CREATE_CONTENT',
profile_plus_manage: 'PROFILE_PLUS_MANAGE',
profile_plus_messaging: 'PROFILE_PLUS_MESSAGING',
profile_plus_moderate: 'PROFILE_PLUS_MODERATE',
read_page_mailboxes: 'READ_PAGE_MAILBOXES',
view_monetization_insights: 'VIEW_MONETIZATION_INSIGHTS',
});
}
static get PixelTasks (): Object {
return Object.freeze({
analyze: 'ANALYZE',
edit: 'EDIT',
});
}
deleteAssignedUsers (params: Object = {}): Promise<*> {
return super.deleteEdge(
'/assigned_users',
params
);
}
getAssignedUsers (fields: Array<string>, params: Object = {}, fetchFirstPage: boolean = true): Cursor | Promise<*> {
return this.getEdge(
AssignedUser,
fields,
params,
fetchFirstPage,
'/assigned_users'
);
}
createAssignedUser (fields: Array<string>, params: Object = {}): Promise<BusinessAssetGroup> {
return this.createEdge(
'/assigned_users',
fields,
params,
BusinessAssetGroup
);
}
deleteContainedAdAccounts (params: Object = {}): Promise<*> {
return super.deleteEdge(
'/contained_adaccounts',
params
);
}
getContainedAdAccounts (fields: Array<string>, params: Object = {}, fetchFirstPage: boolean = true): Cursor | Promise<*> {
return this.getEdge(
AdAccount,
fields,
params,
fetchFirstPage,
'/contained_adaccounts'
);
}
createContainedAdAccount (fields: Array<string>, params: Object = {}): Promise<BusinessAssetGroup> {
return this.createEdge(
'/contained_adaccounts',
fields,
params,
BusinessAssetGroup
);
}
deleteContainedApplications (params: Object = {}): Promise<*> {
return super.deleteEdge(
'/contained_applications',
params
);
}
getContainedApplications (fields: Array<string>, params: Object = {}, fetchFirstPage: boolean = true): Cursor | Promise<*> {
return this.getEdge(
Application,
fields,
params,
fetchFirstPage,
'/contained_applications'
);
}
createContainedApplication (fields: Array<string>, params: Object = {}): Promise<BusinessAssetGroup> {
return this.createEdge(
'/contained_applications',
fields,
params,
BusinessAssetGroup
);
}
deleteContainedCustomConversions (params: Object = {}): Promise<*> {
return super.deleteEdge(
'/contained_custom_conversions',
params
);
}
getContainedCustomConversions (fields: Array<string>, params: Object = {}, fetchFirstPage: boolean = true): Cursor | Promise<*> {
return this.getEdge(
CustomConversion,
fields,
params,
fetchFirstPage,
'/contained_custom_conversions'
);
}
createContainedCustomConversion (fields: Array<string>, params: Object = {}): Promise<BusinessAssetGroup> {
return this.createEdge(
'/contained_custom_conversions',
fields,
params,
BusinessAssetGroup
);
}
deleteContainedInstagramAccounts (params: Object = {}): Promise<*> {
return super.deleteEdge(
'/contained_instagram_accounts',
params
);
}
getContainedInstagramAccounts (fields: Array<string>, params: Object = {}, fetchFirstPage: boolean = true): Cursor | Promise<*> {
return this.getEdge(
InstagramUser,
fields,
params,
fetchFirstPage,
'/contained_instagram_accounts'
);
}
createContainedInstagramAccount (fields: Array<string>, params: Object = {}): Promise<BusinessAssetGroup> {
return this.createEdge(
'/contained_instagram_accounts',
fields,
params,
BusinessAssetGroup
);
}
deleteContainedOfflineConversionDataSets (params: Object = {}): Promise<*> {
return super.deleteEdge(
'/contained_offline_conversion_data_sets',
params
);
}
getContainedOfflineConversionDataSets (fields: Array<string>, params: Object = {}, fetchFirstPage: boolean = true): Cursor | Promise<*> {
return this.getEdge(
OfflineConversionDataSet,
fields,
params,
fetchFirstPage,
'/contained_offline_conversion_data_sets'
);
}
createContainedOfflineConversionDataSet (fields: Array<string>, params: Object = {}): Promise<BusinessAssetGroup> {
return this.createEdge(
'/contained_offline_conversion_data_sets',
fields,
params,
BusinessAssetGroup
);
}
deleteContainedPages (params: Object = {}): Promise<*> {
return super.deleteEdge(
'/contained_pages',
params
);
}
getContainedPages (fields: Array<string>, params: Object = {}, fetchFirstPage: boolean = true): Cursor | Promise<*> {
return this.getEdge(
Page,
fields,
params,
fetchFirstPage,
'/contained_pages'
);
}
createContainedPage (fields: Array<string>, params: Object = {}): Promise<BusinessAssetGroup> {
return this.createEdge(
'/contained_pages',
fields,
params,
BusinessAssetGroup
);
}
deleteContainedPixels (params: Object = {}): Promise<*> {
return super.deleteEdge(
'/contained_pixels',
params
);
}
getContainedPixels (fields: Array<string>, params: Object = {}, fetchFirstPage: boolean = true): Cursor | Promise<*> {
return this.getEdge(
AdsPixel,
fields,
params,
fetchFirstPage,
'/contained_pixels'
);
}
createContainedPixel (fields: Array<string>, params: Object = {}): Promise<BusinessAssetGroup> {
return this.createEdge(
'/contained_pixels',
fields,
params,
BusinessAssetGroup
);
}
deleteContainedProductCatalogs (params: Object = {}): Promise<*> {
return super.deleteEdge(
'/contained_product_catalogs',
params
);
}
getContainedProductCatalogs (fields: Array<string>, params: Object = {}, fetchFirstPage: boolean = true): Cursor | Promise<*> {
return this.getEdge(
ProductCatalog,
fields,
params,
fetchFirstPage,
'/contained_product_catalogs'
);
}
createContainedProductCatalog (fields: Array<string>, params: Object = {}): Promise<BusinessAssetGroup> {
return this.createEdge(
'/contained_product_catalogs',
fields,
params,
BusinessAssetGroup
);
}
get (fields: Array<string>, params: Object = {}): BusinessAssetGroup {
// $FlowFixMe : Support Generic Types
return this.read(
fields,
params
);
}
// $FlowFixMe : Support Generic Types
update (fields: Array<string>, params: Object = {}): BusinessAssetGroup {
// $FlowFixMe : Support Generic Types
return super.update(
params
);
}
}