Feat v0.9.2 converter consolidation (#75)
All checks were successful
CI/CD / detect-changes (push) Successful in 4s
CI/CD / test-frontend (push) Has been skipped
CI/CD / test-runners (push) Has been skipped
CI/CD / e2e-smoke (push) Has been skipped
CI/CD / test-go-pg (push) Successful in 2m51s
CI/CD / test-sqlite (push) Successful in 3m1s
CI/CD / build-and-deploy (push) Successful in 1m17s
All checks were successful
CI/CD / detect-changes (push) Successful in 4s
CI/CD / test-frontend (push) Has been skipped
CI/CD / test-runners (push) Has been skipped
CI/CD / e2e-smoke (push) Has been skipped
CI/CD / test-go-pg (push) Successful in 2m51s
CI/CD / test-sqlite (push) Successful in 3m1s
CI/CD / build-and-deploy (push) Successful in 1m17s
Co-authored-by: Jeffrey Smith <jasafpro@gmail.com> Co-committed-by: Jeffrey Smith <jasafpro@gmail.com>
This commit was merged in pull request #75.
This commit is contained in:
@@ -3,7 +3,6 @@ package triggers
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"log"
|
||||
"time"
|
||||
|
||||
@@ -72,7 +71,7 @@ func (e *Engine) fireEventTrigger(triggerID, packageID, entryPoint string, ev ev
|
||||
if len(ev.Payload) > 0 {
|
||||
var payloadMap map[string]any
|
||||
if json.Unmarshal(ev.Payload, &payloadMap) == nil {
|
||||
_ = ctxDict.SetKey(starlark.String("event_payload"), mapToStarlark(payloadMap))
|
||||
_ = ctxDict.SetKey(starlark.String("event_payload"), sandbox.MapToDict(payloadMap))
|
||||
} else {
|
||||
_ = ctxDict.SetKey(starlark.String("event_payload"), starlark.String(string(ev.Payload)))
|
||||
}
|
||||
@@ -114,43 +113,6 @@ func (e *Engine) hasPermission(ctx context.Context, packageID, permission string
|
||||
return false
|
||||
}
|
||||
|
||||
// mapToStarlark converts a map[string]any to a Starlark dict.
|
||||
func mapToStarlark(m map[string]any) *starlark.Dict {
|
||||
d := starlark.NewDict(len(m))
|
||||
for k, v := range m {
|
||||
_ = d.SetKey(starlark.String(k), goToStarlark(v))
|
||||
}
|
||||
return d
|
||||
}
|
||||
|
||||
// goToStarlark converts a Go value to a Starlark value.
|
||||
func goToStarlark(v any) starlark.Value {
|
||||
switch val := v.(type) {
|
||||
case nil:
|
||||
return starlark.None
|
||||
case bool:
|
||||
return starlark.Bool(val)
|
||||
case int:
|
||||
return starlark.MakeInt(val)
|
||||
case int64:
|
||||
return starlark.MakeInt64(val)
|
||||
case float64:
|
||||
return starlark.Float(val)
|
||||
case string:
|
||||
return starlark.String(val)
|
||||
case map[string]any:
|
||||
return mapToStarlark(val)
|
||||
case []any:
|
||||
elems := make([]starlark.Value, len(val))
|
||||
for i, e := range val {
|
||||
elems[i] = goToStarlark(e)
|
||||
}
|
||||
return starlark.NewList(elems)
|
||||
default:
|
||||
return starlark.String(fmt.Sprintf("%v", val))
|
||||
}
|
||||
}
|
||||
|
||||
// RunContext builds a sandbox.RunContext for a trigger invocation.
|
||||
func triggerRunContext(userID, teamID string) *sandbox.RunContext {
|
||||
if userID == "" {
|
||||
|
||||
Reference in New Issue
Block a user