box-ui-elements-mlh
Version:
54 lines (49 loc) • 1.56 kB
JavaScript
/**
* @flow
* @file Marker-based helper for the Box Groups API
* @author Box
*/
import MarkerBasedAPI from './MarkerBasedAPI';
import { DEFAULT_MAX_CONTACTS, ERROR_CODE_FETCH_ENTERPRISE_GROUPS } from '../constants';
import type { ElementsErrorCallback } from '../common/types/api';
class MarkerBasedGroups extends MarkerBasedAPI {
/**
* API URL for fetching all groups that are visible to the current user
*
* @returns {string} URL for fetching groups
*/
getUrl(): string {
return `${this.getBaseApiUrl()}/groups`;
}
/**
* API for fetching all groups in the current user's enterprise
*
* @param {string} id - Box item ID
* @param {Function} successCallback - Success callback
* @param {Function} errorCallback - Error callback
* @param {Object} [requestData] - Opitional additional request data
* @param {Object} [limit] - Max number of groups to return
* @returns {void}
*/
getGroupsInEnterprise(
id: string,
successCallback: Function,
errorCallback: ElementsErrorCallback,
requestData: ?Object,
limit: number = DEFAULT_MAX_CONTACTS,
): void {
this.errorCode = ERROR_CODE_FETCH_ENTERPRISE_GROUPS;
this.markerGet({
id,
limit,
successCallback,
errorCallback,
requestData: {
usemarker: true,
...requestData,
},
shouldFetchAll: false,
});
}
}
export default MarkerBasedGroups;