parent
24e378ebfc
commit
6e92b6c36e
|
|
@ -0,0 +1,24 @@
|
|||
import {ElsaPlugin} from "../services/elsa-plugin";
|
||||
import {eventBus} from '../services/event-bus';
|
||||
import {ActivityDesignDisplayContext, EventTypes, SyntaxNames} from "../models";
|
||||
import {h} from "@stencil/core";
|
||||
import {parseJson} from "../utils/utils";
|
||||
|
||||
export class SendHttpRequestPlugin implements ElsaPlugin {
|
||||
constructor() {
|
||||
eventBus.on(EventTypes.ActivityDesignDisplaying, this.onActivityDesignDisplaying);
|
||||
}
|
||||
|
||||
onActivityDesignDisplaying(context: ActivityDesignDisplayContext) {
|
||||
const activityModel = context.activityModel;
|
||||
|
||||
if (activityModel.type !== 'SendHttpRequest')
|
||||
return;
|
||||
|
||||
const props = activityModel.properties || [];
|
||||
const syntax = SyntaxNames.Json;
|
||||
const supportedStatusCodes = props.find(x => x.name == 'SupportedStatusCodes') || {expressions: {'Json': '[]'}, syntax: syntax};
|
||||
const expression = supportedStatusCodes.expressions[syntax];
|
||||
context.outcomes = !!expression['$values'] ? expression['$values'] : parseJson(expression) || [];
|
||||
}
|
||||
}
|
||||
|
|
@ -16,6 +16,7 @@ import {SignalReceivedPlugin} from "../plugins/signal-received-plugin";
|
|||
import {SendSignalPlugin} from "../plugins/send-signal-plugin";
|
||||
import {UserTaskPlugin} from "../plugins/user-task-plugin";
|
||||
import {StatePlugin} from "../plugins/state-plugin";
|
||||
import {SendHttpRequestPlugin} from "../plugins/send-http-request-plugin";
|
||||
|
||||
export class PluginManager {
|
||||
|
||||
|
|
@ -30,6 +31,7 @@ export class PluginManager {
|
|||
new ForkPlugin(),
|
||||
new SwitchPlugin(),
|
||||
new HttpEndpointPlugin(),
|
||||
new SendHttpRequestPlugin(),
|
||||
new TimerPlugin(),
|
||||
new StartAtPlugin(),
|
||||
new CronPlugin(),
|
||||
|
|
|
|||
Loading…
Reference in a new issue