export async function getCallbacks()

in src/utils/logic-app/callbackUtils.ts [32:57]


export async function getCallbacks(client: LogicAppsManagementClient, definition: any, resourceGroupName: string, workflowName: string): Promise<Callbacks> {
    const triggers = await client.workflowTriggers.list(resourceGroupName, workflowName);
    const hasCallbackFn = hasCallback(definition);
    const triggersWithCallbacks = triggers.filter((trigger) => hasCallbackFn(trigger.name!));
    const callbackUrls: ICallbackUrlAndTriggerName[] = await Promise.all(
        triggersWithCallbacks.map(async (trigger) => {
            const triggerName = trigger.name!;
            const callbackUrl = await client.workflowTriggers.listCallbackUrl(resourceGroupName, workflowName, triggerName);

            return {
                callbackUrl,
                triggerName
            };
        }));

    return callbackUrls.reduce(
        (callbacks: Callbacks, current: ICallbackUrlAndTriggerName) => {
            const { callbackUrl, triggerName } = current;

            return {
                ...callbacks,
                [triggerName]: getCallback(callbackUrl)
            };
        },
        {});
}