UNPKG

facebook-nodejs-business-sdk

Version:

SDK for the Facebook Marketing API in Javascript and Node.js

135 lines (123 loc) 3.71 kB
/* * 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 AdAccount from './ad-account'; import BusinessAssetGroup from './business-asset-group'; import Page from './page'; import ProductCatalog from './product-catalog'; /** * BusinessUser * @extends AbstractCrudObject * @see {@link https://developers.facebook.com/docs/marketing-api/} */ export default class BusinessUser extends AbstractCrudObject { static get Fields (): Object { return Object.freeze({ business: 'business', business_role_request: 'business_role_request', email: 'email', finance_permission: 'finance_permission', first_name: 'first_name', id: 'id', ip_permission: 'ip_permission', last_name: 'last_name', marked_for_removal: 'marked_for_removal', name: 'name', pending_email: 'pending_email', role: 'role', title: 'title', two_fac_status: 'two_fac_status', }); } static get InvitedUserType (): Object { return Object.freeze({ fb: 'FB', mwa: 'MWA', }); } static get Role (): Object { return Object.freeze({ admin: 'ADMIN', ads_rights_reviewer: 'ADS_RIGHTS_REVIEWER', default: 'DEFAULT', developer: 'DEVELOPER', employee: 'EMPLOYEE', finance_analyst: 'FINANCE_ANALYST', finance_edit: 'FINANCE_EDIT', finance_editor: 'FINANCE_EDITOR', finance_view: 'FINANCE_VIEW', manage: 'MANAGE', partner_center_admin: 'PARTNER_CENTER_ADMIN', partner_center_analyst: 'PARTNER_CENTER_ANALYST', partner_center_education: 'PARTNER_CENTER_EDUCATION', partner_center_marketing: 'PARTNER_CENTER_MARKETING', partner_center_operations: 'PARTNER_CENTER_OPERATIONS', }); } getAssignedAdAccounts (fields: Array<string>, params: Object = {}, fetchFirstPage: boolean = true): Cursor | Promise<*> { return this.getEdge( AdAccount, fields, params, fetchFirstPage, '/assigned_ad_accounts' ); } getAssignedBusinessAssetGroups (fields: Array<string>, params: Object = {}, fetchFirstPage: boolean = true): Cursor | Promise<*> { return this.getEdge( BusinessAssetGroup, fields, params, fetchFirstPage, '/assigned_business_asset_groups' ); } getAssignedPages (fields: Array<string>, params: Object = {}, fetchFirstPage: boolean = true): Cursor | Promise<*> { return this.getEdge( Page, fields, params, fetchFirstPage, '/assigned_pages' ); } getAssignedProductCatalogs (fields: Array<string>, params: Object = {}, fetchFirstPage: boolean = true): Cursor | Promise<*> { return this.getEdge( ProductCatalog, fields, params, fetchFirstPage, '/assigned_product_catalogs' ); } // $FlowFixMe : Support Generic Types delete (fields: Array<string>, params: Object = {}): AbstractObject { // $FlowFixMe : Support Generic Types return super.delete( params ); } get (fields: Array<string>, params: Object = {}): BusinessUser { // $FlowFixMe : Support Generic Types return this.read( fields, params ); } // $FlowFixMe : Support Generic Types update (fields: Array<string>, params: Object = {}): BusinessUser { // $FlowFixMe : Support Generic Types return super.update( params ); } }