index.ts•1.29 kB
import {
createPiece,
OAuth2PropertyValue,
PieceAuth,
} from '@activepieces/pieces-framework';
import { createCustomApiCallAction } from '@activepieces/pieces-common';
import { PieceCategory } from '@activepieces/shared';
import { common } from './lib/common';
import { newComment } from './lib/triggers/new-comment';
import { newFile } from './lib/triggers/new-file';
import { newFolder } from './lib/triggers/new-folder';
export const boxAuth = PieceAuth.OAuth2({
required: true,
authUrl: 'https://account.box.com/api/oauth2/authorize',
tokenUrl: 'https://api.box.com/oauth2/token',
scope: ['manage_webhook', 'root_readonly', 'root_readwrite'],
});
export const box = createPiece({
displayName: 'Box',
description: 'Secure content management and collaboration',
auth: boxAuth,
minimumSupportedRelease: '0.30.0',
logoUrl: 'https://cdn.activepieces.com/pieces/box.png',
categories: [PieceCategory.CONTENT_AND_FILES],
authors: ["kishanprmr","MoShizzle","abuaboud"],
actions: [
createCustomApiCallAction({
baseUrl: () => common.baseUrl,
auth: boxAuth,
authMapping: async (auth) => ({
Authorization: `Bearer ${(auth as OAuth2PropertyValue).access_token}`,
}),
}),
],
triggers: [newFile, newFolder, newComment],
});