Skip to content

Commit 95224bf

Browse files
committed
fix(scf): timer trigger key with enable and cron expression
1 parent f579abd commit 95224bf

File tree

1 file changed

+26
-5
lines changed

1 file changed

+26
-5
lines changed

src/modules/scf/triggers.js

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,27 @@ const BaseTrigger = {
2525
},
2626
};
2727

28+
const TRIGGER_STATUS_MAP = {
29+
OPEN: 'OPEN',
30+
CLOSE: 'CLOSE',
31+
1: 'OPEN',
32+
0: 'CLOSE',
33+
};
34+
2835
const TimerTrigger = {
2936
getKey(triggerInputs) {
30-
return `${triggerInputs.Type}-${triggerInputs.TriggerName}-${triggerInputs.TriggerDesc}-${triggerInputs.CustomArgument}-${triggerInputs.Qualifier}`;
37+
// Very strange logical for Enable, fe post Enable is 'OPEN' or 'CLOSE'
38+
// but get 1 or 0, parameter type cnaged......
39+
const Enable = TRIGGER_STATUS_MAP[triggerInputs.Enable];
40+
// Very strange logical for TriggerDesc, fe post TriggerDesc is "0 */6 * * * * *"
41+
// but get "{"cron":"0 */6 * * * * *"}"
42+
const Desc =
43+
triggerInputs.TriggerDesc.indexOf('cron') !== -1
44+
? triggerInputs.TriggerDesc
45+
: JSON.stringify({
46+
cron: triggerInputs.TriggerDesc,
47+
});
48+
return `${triggerInputs.Type}-${triggerInputs.TriggerName}-${Desc}-${triggerInputs.CustomArgument}-${Enable}-${triggerInputs.Qualifier}`;
3149
},
3250
formatInputs(region, funcInfo, inputs) {
3351
const { parameters, name } = inputs;
@@ -39,7 +57,7 @@ const TimerTrigger = {
3957

4058
triggerInputs.Type = 'timer';
4159
triggerInputs.Qualifier = parameters.qualifier || '$DEFAULT';
42-
triggerInputs.TriggerName = name;
60+
triggerInputs.TriggerName = parameters.name || name;
4361
triggerInputs.TriggerDesc = parameters.cronExpression;
4462
triggerInputs.Enable = parameters.enable ? 'OPEN' : 'CLOSE';
4563

@@ -68,7 +86,8 @@ const CosTrigger = {
6886
event: JSON.parse(triggerInputs.TriggerDesc).event,
6987
filter: JSON.parse(triggerInputs.TriggerDesc).filter,
7088
});
71-
return `cos-${triggerInputs.TriggerName}-${tempDest}-${triggerInputs.Qualifier}`;
89+
const Enable = TRIGGER_STATUS_MAP[triggerInputs.Enable];
90+
return `cos-${triggerInputs.TriggerName}-${tempDest}-${Enable}-${triggerInputs.Qualifier}`;
7291
},
7392
formatInputs(region, funcInfo, inputs) {
7493
const { parameters } = inputs;
@@ -106,7 +125,8 @@ const CosTrigger = {
106125

107126
const CkafkaTrigger = {
108127
getKey(triggerInputs) {
109-
return `${triggerInputs.Type}-${triggerInputs.TriggerName}-${triggerInputs.TriggerDesc}-${triggerInputs.Qualifier}`;
128+
const Enable = TRIGGER_STATUS_MAP[triggerInputs.Enable];
129+
return `${triggerInputs.Type}-${triggerInputs.TriggerName}-${triggerInputs.TriggerDesc}-${Enable}-${triggerInputs.Qualifier}`;
110130
},
111131
formatInputs(region, funcInfo, inputs) {
112132
const { parameters } = inputs;
@@ -142,7 +162,8 @@ const CkafkaTrigger = {
142162

143163
const CmqTrigger = {
144164
getKey(triggerInputs) {
145-
return `${triggerInputs.Type}-${triggerInputs.TriggerName}-${triggerInputs.TriggerDesc}-${triggerInputs.Qualifier}`;
165+
const Enable = TRIGGER_STATUS_MAP[triggerInputs.Enable];
166+
return `${triggerInputs.Type}-${triggerInputs.TriggerName}-${triggerInputs.TriggerDesc}-${Enable}-${triggerInputs.Qualifier}`;
146167
},
147168
formatInputs(region, funcInfo, inputs) {
148169
const { parameters } = inputs;

0 commit comments

Comments
 (0)