Skip to main content
Glama

mcp-google-sheets

trigger-utils.ts2.48 kB
import { TriggerBase } from '@activepieces/pieces-framework' import { ActivepiecesError, ErrorCode, FlowTriggerType, FlowVersion, isNil, ProjectId, } from '@activepieces/shared' import { FastifyBaseLogger } from 'fastify' import { pieceMetadataService } from '../../pieces/piece-metadata-service' import { projectService } from '../../project/project-service' export const triggerUtils = (log: FastifyBaseLogger) => ({ async getPieceTriggerOrThrow({ flowVersion, projectId }: GetPieceTriggerOrThrowParams): Promise<TriggerBase> { const pieceTrigger = await this.getPieceTrigger({ flowVersion, projectId, }) if (isNil(pieceTrigger)) { throw new ActivepiecesError({ code: ErrorCode.PIECE_TRIGGER_NOT_FOUND, params: { pieceName: flowVersion.trigger.settings.pieceName, pieceVersion: flowVersion.trigger.settings.pieceVersion, triggerName: flowVersion.trigger.settings.triggerName, }, }) } return pieceTrigger }, async getPieceTrigger({ flowVersion, projectId }: GetPieceTriggerOrThrowParams): Promise<TriggerBase | null> { if (flowVersion.trigger.type !== FlowTriggerType.PIECE) { return null } const { pieceName, pieceVersion, triggerName } = flowVersion.trigger.settings if (isNil(triggerName)) { return null } return this.getPieceTriggerByName({ pieceName, pieceVersion, triggerName, projectId, }) }, async getPieceTriggerByName({ pieceName, pieceVersion, triggerName, projectId }: GetPieceTriggerByNameParams): Promise<TriggerBase | null> { const platformId = await projectService.getPlatformId(projectId) const piece = await pieceMetadataService(log).get({ projectId, platformId, name: pieceName, version: pieceVersion, }) if (isNil(piece) || isNil(triggerName)) { return null } const pieceTrigger = piece.triggers[triggerName] return pieceTrigger }, }) type GetPieceTriggerByNameParams = { pieceName: string pieceVersion: string triggerName: string projectId: ProjectId } type GetPieceTriggerOrThrowParams = { flowVersion: FlowVersion projectId: ProjectId }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/activepieces/activepieces'

If you have feedback or need assistance with the MCP directory API, please join our Discord server