diff --git a/.gitignore b/.gitignore index 6f72f89..8cb06c0 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,6 @@ go.work.sum # env file .env + +# IDE +.idea/ diff --git a/ext/o5/app.yaml b/ext/o5/app.yaml index 03b88a7..a5b4de8 100644 --- a/ext/o5/app.yaml +++ b/ext/o5/app.yaml @@ -30,7 +30,7 @@ runtimes: subscriptions: - name: "/o5.trigger.v1.topic.TriggerTopic" routes: - - prefix: "/trigger/v1/" + - prefix: "/trigger/v1/*" protocol: ROUTE_PROTOCOL_HTTP containers: diff --git a/integration/trigger_test.go b/integration/trigger_test.go index b7ed458..f7de0ee 100644 --- a/integration/trigger_test.go +++ b/integration/trigger_test.go @@ -34,7 +34,7 @@ func TestTickRequest(tt *testing.T) { Action: &trigger_pb.ActionType{ Type: &trigger_pb.ActionType_Create_{ Create: &trigger_pb.ActionType_Create{ - TriggerId: triggerID, + TriggerId: &triggerID, AppName: "test", TriggerName: "TestCron", Cron: "CRON_TZ=America/New_York 0 7 * * *", diff --git a/integration/universe.go b/integration/universe.go index f5c2beb..32c2a01 100644 --- a/integration/universe.go +++ b/integration/universe.go @@ -130,9 +130,11 @@ func (uu *Universe) CreateTrigger(ctx context.Context, config triggerConfig) err cron = config.Cron } - triggerID := id62.New().String() + var generatedTriggerID = id62.New().String() + var triggerID = &generatedTriggerID + if config.TriggerID != "" { - triggerID = config.TriggerID + triggerID = &config.TriggerID } req := &trigger_tpb.TickRequestMessage{ @@ -234,7 +236,7 @@ func (uu *Universe) ArchiveTrigger(ctx context.Context, triggerID string) error func (uu *Universe) mustTruncateSelfTable(ctx context.Context, t flowtest.Asserter) { err := uu.db.Transact(ctx, utils.MutableTxOptions, func(ctx context.Context, tx sqrlx.Transaction) error { - _, err := tx.ExecRaw(ctx, "TRUNCATE TABLE selftick") + _, err := tx.ExecRaw(ctx, "truncate table selftick") if err != nil { t.Fatalf("failed to truncate self tick table: %v", err) } diff --git a/service/trigger.go b/service/trigger.go index 4679787..8e639be 100644 --- a/service/trigger.go +++ b/service/trigger.go @@ -77,14 +77,15 @@ func (w *TriggerWorker) TickRequest(ctx context.Context, req *trigger_tpb.TickRe return nil, fmt.Errorf("invalid cron string: %v", validateCron(req.Action.GetCreate().Cron).Error()) } - triggerid := id62.NewString() - if req.GetAction().GetCreate().TriggerId != "" { - triggerid = req.GetAction().GetCreate().GetTriggerId() + newTriggerID := id62.NewString() + triggerIDFromAction := req.GetAction().GetCreate().TriggerId + if triggerIDFromAction != nil && *triggerIDFromAction != "" { + newTriggerID = *triggerIDFromAction } evt = &trigger_pb.TriggerPSMEventSpec{ Keys: &trigger_pb.TriggerKeys{ - TriggerId: triggerid, + TriggerId: newTriggerID, }, Cause: &psm_j5pb.Cause{ Type: &psm_j5pb.Cause_ExternalEvent{