mirror of
https://github.com/zitadel/zitadel.git
synced 2024-12-18 13:57:32 +00:00
43fb3fd1a6
* fix: potential memory leak * feat(actions): possibility to parse json feat(actions): possibility to perform http calls * add query call * feat(api): list flow and trigger types fix(api): switch flow and trigger types to dynamic objects * fix(translations): add action translations * use `domain.FlowType` * localizers * localization * trigger types * options on `query.Action` * add functions for actions * feat: management api: add list flow and trigger (#4352) * console changes * cleanup * fix: wrong localization Co-authored-by: Max Peintner <max@caos.ch> * id token works * check if claims not nil * feat(actions): metadata api * refactor(actions): modules * fix: allow prerelease * fix: test * feat(actions): deny list for http hosts * feat(actions): deny list for http hosts * refactor: actions * fix: different error ids * fix: rename statusCode to status * Actions objects as options (#4418) * fix: rename statusCode to status * fix(actions): objects as options * fix(actions): objects as options * fix(actions): set fields * add http client to old actions * fix(actions): add log module * fix(actions): add user to context where possible * fix(actions): add user to ctx in external authorization/pre creation * fix(actions): query correct flow in claims * test: actions * fix(id-generator): panic if no machine id * tests * maybe this? * fix linting * refactor: improve code * fix: metadata and usergrant usage in actions * fix: appendUserGrant * fix: allowedToFail and timeout in action execution * fix: allowed to fail in token complement flow * docs: add action log claim * Update defaults.yaml * fix log claim * remove prerelease build Co-authored-by: Max Peintner <max@caos.ch> Co-authored-by: Livio Spring <livio.a@gmail.com>
57 lines
1.2 KiB
Go
57 lines
1.2 KiB
Go
package object
|
|
|
|
import (
|
|
"encoding/json"
|
|
"time"
|
|
|
|
"github.com/dop251/goja"
|
|
"github.com/zitadel/logging"
|
|
|
|
"github.com/zitadel/zitadel/internal/actions"
|
|
"github.com/zitadel/zitadel/internal/query"
|
|
)
|
|
|
|
func UserMetadataListFromQuery(c *actions.FieldConfig, metadata *query.UserMetadataList) goja.Value {
|
|
result := &userMetadataList{
|
|
Count: metadata.Count,
|
|
Sequence: metadata.Sequence,
|
|
Timestamp: metadata.Timestamp,
|
|
Metadata: make([]*userMetadata, len(metadata.Metadata)),
|
|
}
|
|
|
|
for i, md := range metadata.Metadata {
|
|
var value interface{}
|
|
err := json.Unmarshal(md.Value, &value)
|
|
if err != nil {
|
|
logging.WithError(err).Debug("unable to unmarshal into map")
|
|
panic(err)
|
|
}
|
|
result.Metadata[i] = &userMetadata{
|
|
CreationDate: md.CreationDate,
|
|
ChangeDate: md.ChangeDate,
|
|
ResourceOwner: md.ResourceOwner,
|
|
Sequence: md.Sequence,
|
|
Key: md.Key,
|
|
Value: c.Runtime.ToValue(value),
|
|
}
|
|
}
|
|
|
|
return c.Runtime.ToValue(result)
|
|
}
|
|
|
|
type userMetadataList struct {
|
|
Count uint64
|
|
Sequence uint64
|
|
Timestamp time.Time
|
|
Metadata []*userMetadata
|
|
}
|
|
|
|
type userMetadata struct {
|
|
CreationDate time.Time
|
|
ChangeDate time.Time
|
|
ResourceOwner string
|
|
Sequence uint64
|
|
Key string
|
|
Value goja.Value
|
|
}
|