Files
smoothschedule/activepieces-fork/packages/engine/src/lib/services/flows.service.ts
poduck 3aa7199503 Add Activepieces integration for workflow automation
- Add Activepieces fork with SmoothSchedule custom piece
- Create integrations app with Activepieces service layer
- Add embed token endpoint for iframe integration
- Create Automations page with embedded workflow builder
- Add sidebar visibility fix for embed mode
- Add list inactive customers endpoint to Public API
- Include SmoothSchedule triggers: event created/updated/cancelled
- Include SmoothSchedule actions: create/update/cancel events, list resources/services/customers

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 22:59:37 -05:00

34 lines
1.2 KiB
TypeScript

import { FlowsContext, ListFlowsContextParams } from '@activepieces/pieces-framework'
import { PopulatedFlow, SeekPage } from '@activepieces/shared'
type CreateFlowsServiceParams = {
engineToken: string
internalApiUrl: string
flowId: string
flowVersionId: string
}
export const createFlowsContext = ({ engineToken, internalApiUrl, flowId, flowVersionId }: CreateFlowsServiceParams): FlowsContext => {
return {
async list(params: ListFlowsContextParams): Promise<SeekPage<PopulatedFlow>> {
const queryParams = new URLSearchParams()
if (params?.externalIds) {
queryParams.set('externalIds', params.externalIds.join(','))
}
const response = await fetch(`${internalApiUrl}v1/engine/populated-flows?${queryParams.toString()}`, {
method: 'GET',
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${engineToken}`,
},
})
return response.json()
},
current: {
id: flowId,
version: {
id: flowVersionId,
},
},
}
}