mirror of
https://github.com/zitadel/zitadel.git
synced 2025-10-09 19:10:08 +00:00
fix(adminAPI): localize event type (#5059)
* fix(adminAPI): localisation of event types, aggregate types * fix(adminAPI): validations of ListEvent request * implement caching of editor user information
This commit is contained in:
@@ -3120,7 +3120,7 @@ at least one argument has to be provided
|
|||||||
|
|
||||||
| Field | Type | Description | Validation |
|
| Field | Type | Description | Validation |
|
||||||
| ----- | ---- | ----------- | ----------- |
|
| ----- | ---- | ----------- | ----------- |
|
||||||
| aggregate_types | repeated string | - | |
|
| aggregate_types | repeated zitadel.event.v1.AggregateType | - | |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -3137,7 +3137,7 @@ at least one argument has to be provided
|
|||||||
|
|
||||||
| Field | Type | Description | Validation |
|
| Field | Type | Description | Validation |
|
||||||
| ----- | ---- | ----------- | ----------- |
|
| ----- | ---- | ----------- | ----------- |
|
||||||
| event_types | repeated string | - | |
|
| event_types | repeated zitadel.event.v1.EventType | - | |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -3151,11 +3151,11 @@ at least one argument has to be provided
|
|||||||
| sequence | uint64 | sequence represents the order of events. It's always upcounting if asc is false sequence is used as less than filter if asc is true sequence is used as greater than filter if sequence is 0 the field is ignored | |
|
| sequence | uint64 | sequence represents the order of events. It's always upcounting if asc is false sequence is used as less than filter if asc is true sequence is used as greater than filter if sequence is 0 the field is ignored | |
|
||||||
| limit | uint32 | - | |
|
| limit | uint32 | - | |
|
||||||
| asc | bool | - | |
|
| asc | bool | - | |
|
||||||
| editor_user_id | string | - | |
|
| editor_user_id | string | - | string.min_len: 0<br /> string.max_len: 200<br /> |
|
||||||
| event_types | repeated string | the types are or filtered and must match the type exatly | |
|
| event_types | repeated string | the types are or filtered and must match the type exatly | repeated.max_items: 30<br /> |
|
||||||
| aggregate_id | string | - | |
|
| aggregate_id | string | - | string.min_len: 0<br /> string.max_len: 200<br /> |
|
||||||
| aggregate_type | string | - | |
|
| aggregate_types | repeated string | - | repeated.max_items: 10<br /> |
|
||||||
| resource_owner | string | - | |
|
| resource_owner | string | - | string.min_len: 0<br /> string.max_len: 200<br /> |
|
||||||
| creation_date | google.protobuf.Timestamp | if asc is false creation_date is used as less than filter if asc is true creation_date is used as greater than filter if creation_date is not set the field is ignored | |
|
| creation_date | google.protobuf.Timestamp | if asc is false creation_date is used as less than filter if asc is true creation_date is used as greater than filter if creation_date is not set the field is ignored | |
|
||||||
|
|
||||||
|
|
||||||
|
@@ -16,12 +16,24 @@ title: zitadel/event.proto
|
|||||||
| Field | Type | Description | Validation |
|
| Field | Type | Description | Validation |
|
||||||
| ----- | ---- | ----------- | ----------- |
|
| ----- | ---- | ----------- | ----------- |
|
||||||
| id | string | - | |
|
| id | string | - | |
|
||||||
| type | string | - | |
|
| type | AggregateType | - | |
|
||||||
| resource_owner | string | - | |
|
| resource_owner | string | - | |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### AggregateType
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
| Field | Type | Description | Validation |
|
||||||
|
| ----- | ---- | ----------- | ----------- |
|
||||||
|
| type | string | - | |
|
||||||
|
| localized | zitadel.v1.LocalizedMessage | - | |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### Editor
|
### Editor
|
||||||
|
|
||||||
|
|
||||||
@@ -46,7 +58,19 @@ title: zitadel/event.proto
|
|||||||
| sequence | uint64 | - | |
|
| sequence | uint64 | - | |
|
||||||
| creation_date | google.protobuf.Timestamp | The timestamp the event occurred | |
|
| creation_date | google.protobuf.Timestamp | The timestamp the event occurred | |
|
||||||
| payload | google.protobuf.Struct | - | |
|
| payload | google.protobuf.Struct | - | |
|
||||||
|
| type | EventType | - | |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### EventType
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
| Field | Type | Description | Validation |
|
||||||
|
| ----- | ---- | ----------- | ----------- |
|
||||||
| type | string | - | |
|
| type | string | - | |
|
||||||
|
| localized | zitadel.v1.LocalizedMessage | - | |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -3,15 +3,13 @@ package admin
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
|
||||||
"google.golang.org/protobuf/types/known/structpb"
|
|
||||||
"google.golang.org/protobuf/types/known/timestamppb"
|
|
||||||
|
|
||||||
"github.com/zitadel/zitadel/internal/api/authz"
|
"github.com/zitadel/zitadel/internal/api/authz"
|
||||||
"github.com/zitadel/zitadel/internal/errors"
|
|
||||||
"github.com/zitadel/zitadel/internal/eventstore"
|
"github.com/zitadel/zitadel/internal/eventstore"
|
||||||
"github.com/zitadel/zitadel/internal/query"
|
|
||||||
admin_pb "github.com/zitadel/zitadel/pkg/grpc/admin"
|
admin_pb "github.com/zitadel/zitadel/pkg/grpc/admin"
|
||||||
event_pb "github.com/zitadel/zitadel/pkg/grpc/event"
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
maxLimit = 1000
|
||||||
)
|
)
|
||||||
|
|
||||||
func (s *Server) ListEvents(ctx context.Context, in *admin_pb.ListEventsRequest) (*admin_pb.ListEventsResponse, error) {
|
func (s *Server) ListEvents(ctx context.Context, in *admin_pb.ListEventsRequest) (*admin_pb.ListEventsResponse, error) {
|
||||||
@@ -23,19 +21,18 @@ func (s *Server) ListEvents(ctx context.Context, in *admin_pb.ListEventsRequest)
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
return convertEventsToResponse(events)
|
|
||||||
|
return admin_pb.EventsToPb(ctx, events)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Server) ListEventTypes(ctx context.Context, in *admin_pb.ListEventTypesRequest) (*admin_pb.ListEventTypesResponse, error) {
|
func (s *Server) ListEventTypes(ctx context.Context, in *admin_pb.ListEventTypesRequest) (*admin_pb.ListEventTypesResponse, error) {
|
||||||
return &admin_pb.ListEventTypesResponse{
|
eventTypes := s.query.SearchEventTypes(ctx)
|
||||||
EventTypes: s.query.SearchEventTypes(ctx),
|
return admin_pb.EventTypesToPb(eventTypes), nil
|
||||||
}, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Server) ListAggregateTypes(ctx context.Context, in *admin_pb.ListAggregateTypesRequest) (*admin_pb.ListAggregateTypesResponse, error) {
|
func (s *Server) ListAggregateTypes(ctx context.Context, in *admin_pb.ListAggregateTypesRequest) (*admin_pb.ListAggregateTypesResponse, error) {
|
||||||
return &admin_pb.ListAggregateTypesResponse{
|
aggregateTypes := s.query.SearchAggregateTypes(ctx)
|
||||||
AggregateTypes: s.query.SearchAggregateTypes(ctx),
|
return admin_pb.AggregateTypesToPb(aggregateTypes), nil
|
||||||
}, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func eventRequestToFilter(ctx context.Context, req *admin_pb.ListEventsRequest) (*eventstore.SearchQueryBuilder, error) {
|
func eventRequestToFilter(ctx context.Context, req *admin_pb.ListEventsRequest) (*eventstore.SearchQueryBuilder, error) {
|
||||||
@@ -43,16 +40,28 @@ func eventRequestToFilter(ctx context.Context, req *admin_pb.ListEventsRequest)
|
|||||||
for i, eventType := range req.EventTypes {
|
for i, eventType := range req.EventTypes {
|
||||||
eventTypes[i] = eventstore.EventType(eventType)
|
eventTypes[i] = eventstore.EventType(eventType)
|
||||||
}
|
}
|
||||||
|
aggregateIDs := make([]string, 0, 1)
|
||||||
|
if req.AggregateId != "" {
|
||||||
|
aggregateIDs = append(aggregateIDs, req.AggregateId)
|
||||||
|
}
|
||||||
|
aggregateTypes := make([]eventstore.AggregateType, len(req.AggregateTypes))
|
||||||
|
for i, aggregateType := range req.AggregateTypes {
|
||||||
|
aggregateTypes[i] = eventstore.AggregateType(aggregateType)
|
||||||
|
}
|
||||||
|
limit := uint64(req.Limit)
|
||||||
|
if limit == 0 || limit > maxLimit {
|
||||||
|
limit = maxLimit
|
||||||
|
}
|
||||||
|
|
||||||
builder := eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent).
|
builder := eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent).
|
||||||
OrderDesc().
|
OrderDesc().
|
||||||
InstanceID(authz.GetInstance(ctx).InstanceID()).
|
InstanceID(authz.GetInstance(ctx).InstanceID()).
|
||||||
Limit(uint64(req.Limit)).
|
Limit(limit).
|
||||||
ResourceOwner(req.ResourceOwner).
|
ResourceOwner(req.ResourceOwner).
|
||||||
EditorUser(req.EditorUserId).
|
EditorUser(req.EditorUserId).
|
||||||
AddQuery().
|
AddQuery().
|
||||||
AggregateIDs(req.AggregateId).
|
AggregateIDs(aggregateIDs...).
|
||||||
AggregateTypes(eventstore.AggregateType(req.AggregateType)).
|
AggregateTypes(aggregateTypes...).
|
||||||
EventTypes(eventTypes...).
|
EventTypes(eventTypes...).
|
||||||
CreationDateAfter(req.CreationDate.AsTime()).
|
CreationDateAfter(req.CreationDate.AsTime()).
|
||||||
SequenceGreater(req.Sequence).
|
SequenceGreater(req.Sequence).
|
||||||
@@ -64,44 +73,3 @@ func eventRequestToFilter(ctx context.Context, req *admin_pb.ListEventsRequest)
|
|||||||
|
|
||||||
return builder, nil
|
return builder, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func convertEventsToResponse(events []*query.Event) (response *admin_pb.ListEventsResponse, err error) {
|
|
||||||
response = &admin_pb.ListEventsResponse{
|
|
||||||
Events: make([]*event_pb.Event, len(events)),
|
|
||||||
}
|
|
||||||
|
|
||||||
for i, event := range events {
|
|
||||||
response.Events[i], err = convertEvent(event)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return response, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func convertEvent(event *query.Event) (*event_pb.Event, error) {
|
|
||||||
var payload *structpb.Struct
|
|
||||||
if len(event.Payload) > 0 {
|
|
||||||
payload = new(structpb.Struct)
|
|
||||||
if err := payload.UnmarshalJSON(event.Payload); err != nil {
|
|
||||||
return nil, errors.ThrowInternal(err, "ADMIN-eaimD", "Errors.Internal")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return &event_pb.Event{
|
|
||||||
Editor: &event_pb.Editor{
|
|
||||||
UserId: event.Editor.ID,
|
|
||||||
DisplayName: event.Editor.DisplayName,
|
|
||||||
Service: event.Editor.Service,
|
|
||||||
},
|
|
||||||
Aggregate: &event_pb.Aggregate{
|
|
||||||
Id: event.Aggregate.ID,
|
|
||||||
Type: string(event.Aggregate.Type),
|
|
||||||
ResourceOwner: event.Aggregate.ResourceOwner,
|
|
||||||
},
|
|
||||||
Sequence: event.Sequence,
|
|
||||||
CreationDate: timestamppb.New(event.CreationDate),
|
|
||||||
Payload: payload,
|
|
||||||
Type: event.Type,
|
|
||||||
}, nil
|
|
||||||
}
|
|
||||||
|
64
internal/api/grpc/event/event.go
Normal file
64
internal/api/grpc/event/event.go
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
package event
|
||||||
|
|
||||||
|
import (
|
||||||
|
structpb "github.com/golang/protobuf/ptypes/struct"
|
||||||
|
"google.golang.org/protobuf/types/known/timestamppb"
|
||||||
|
|
||||||
|
"github.com/zitadel/zitadel/internal/errors"
|
||||||
|
"github.com/zitadel/zitadel/internal/query"
|
||||||
|
eventpb "github.com/zitadel/zitadel/pkg/grpc/event"
|
||||||
|
"github.com/zitadel/zitadel/pkg/grpc/message"
|
||||||
|
)
|
||||||
|
|
||||||
|
func EventsToPb(events []*query.Event) (response []*eventpb.Event, err error) {
|
||||||
|
response = make([]*eventpb.Event, len(events))
|
||||||
|
|
||||||
|
for i, event := range events {
|
||||||
|
response[i], err = EventToPb(event)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return response, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func EventToPb(event *query.Event) (response *eventpb.Event, err error) {
|
||||||
|
var payload *structpb.Struct
|
||||||
|
if len(event.Payload) > 0 {
|
||||||
|
payload = new(structpb.Struct)
|
||||||
|
if err := payload.UnmarshalJSON(event.Payload); err != nil {
|
||||||
|
return nil, errors.ThrowInternal(err, "ADMIN-eaimD", "Errors.Internal")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return &eventpb.Event{
|
||||||
|
Editor: &eventpb.Editor{
|
||||||
|
UserId: event.Editor.ID,
|
||||||
|
DisplayName: event.Editor.DisplayName,
|
||||||
|
Service: event.Editor.Service,
|
||||||
|
},
|
||||||
|
Aggregate: &eventpb.Aggregate{
|
||||||
|
Id: event.Aggregate.ID,
|
||||||
|
Type: AggregateTypeToPb(string(event.Aggregate.Type)),
|
||||||
|
ResourceOwner: event.Aggregate.ResourceOwner,
|
||||||
|
},
|
||||||
|
Sequence: event.Sequence,
|
||||||
|
CreationDate: timestamppb.New(event.CreationDate),
|
||||||
|
Payload: payload,
|
||||||
|
Type: EventTypeToPb(event.Type),
|
||||||
|
}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func EventTypeToPb(typ string) *eventpb.EventType {
|
||||||
|
return &eventpb.EventType{
|
||||||
|
Type: typ,
|
||||||
|
Localized: message.NewLocalizedEventType(typ),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func AggregateTypeToPb(typ string) *eventpb.AggregateType {
|
||||||
|
return &eventpb.AggregateType{
|
||||||
|
Type: typ,
|
||||||
|
Localized: message.NewLocalizedAggregateType(typ),
|
||||||
|
}
|
||||||
|
}
|
@@ -7,22 +7,30 @@ import (
|
|||||||
"google.golang.org/grpc"
|
"google.golang.org/grpc"
|
||||||
|
|
||||||
"github.com/zitadel/zitadel/internal/api/authz"
|
"github.com/zitadel/zitadel/internal/api/authz"
|
||||||
|
|
||||||
_ "github.com/zitadel/zitadel/internal/statik"
|
_ "github.com/zitadel/zitadel/internal/statik"
|
||||||
|
"github.com/zitadel/zitadel/internal/telemetry/tracing"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TranslationHandler() func(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (interface{}, error) {
|
func TranslationHandler() func(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (interface{}, error) {
|
||||||
return func(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (interface{}, error) {
|
return func(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (interface{}, error) {
|
||||||
resp, err := handler(ctx, req)
|
resp, err := handler(ctx, req)
|
||||||
translator, translatorError := newZitadelTranslator(authz.GetInstance(ctx).DefaultLanguage())
|
ctx, span := tracing.NewSpan(ctx)
|
||||||
if translatorError != nil {
|
defer func() { span.EndWithError(err) }()
|
||||||
logging.New().WithError(translatorError).Error("could not load translator")
|
|
||||||
return resp, err
|
|
||||||
}
|
|
||||||
if loc, ok := resp.(localizers); ok && resp != nil {
|
if loc, ok := resp.(localizers); ok && resp != nil {
|
||||||
|
translator, translatorError := newZitadelTranslator(authz.GetInstance(ctx).DefaultLanguage())
|
||||||
|
if translatorError != nil {
|
||||||
|
logging.New().WithError(translatorError).Error("could not load translator")
|
||||||
|
return resp, err
|
||||||
|
}
|
||||||
translateFields(ctx, loc, translator)
|
translateFields(ctx, loc, translator)
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
translator, translatorError := newZitadelTranslator(authz.GetInstance(ctx).DefaultLanguage())
|
||||||
|
if translatorError != nil {
|
||||||
|
logging.New().WithError(translatorError).Error("could not load translator")
|
||||||
|
return resp, err
|
||||||
|
}
|
||||||
err = translateError(ctx, err, translator)
|
err = translateError(ctx, err, translator)
|
||||||
}
|
}
|
||||||
return resp, err
|
return resp, err
|
||||||
|
@@ -254,7 +254,7 @@ func (es *Eventstore) RegisterFilterEventMapper(aggregateType AggregateType, eve
|
|||||||
|
|
||||||
func (es *Eventstore) appendEventType(typ EventType) {
|
func (es *Eventstore) appendEventType(typ EventType) {
|
||||||
i := sort.SearchStrings(es.eventTypes, string(typ))
|
i := sort.SearchStrings(es.eventTypes, string(typ))
|
||||||
if i > 0 && es.eventTypes[i-1] == string(typ) {
|
if i < len(es.eventTypes) && es.eventTypes[i] == string(typ) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
es.eventTypes = append(es.eventTypes[:i], append([]string{string(typ)}, es.eventTypes[i:]...)...)
|
es.eventTypes = append(es.eventTypes[:i], append([]string{string(typ)}, es.eventTypes[i:]...)...)
|
||||||
|
@@ -5,6 +5,7 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/zitadel/zitadel/internal/eventstore"
|
"github.com/zitadel/zitadel/internal/eventstore"
|
||||||
|
"github.com/zitadel/zitadel/internal/telemetry/tracing"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Event struct {
|
type Event struct {
|
||||||
@@ -22,7 +23,9 @@ type EventEditor struct {
|
|||||||
Service string
|
Service string
|
||||||
}
|
}
|
||||||
|
|
||||||
func (q *Queries) SearchEvents(ctx context.Context, query *eventstore.SearchQueryBuilder) ([]*Event, error) {
|
func (q *Queries) SearchEvents(ctx context.Context, query *eventstore.SearchQueryBuilder) (_ []*Event, err error) {
|
||||||
|
ctx, span := tracing.NewSpan(ctx)
|
||||||
|
defer func() { span.EndWithError(err) }()
|
||||||
events, err := q.eventstore.Filter(ctx, query)
|
events, err := q.eventstore.Filter(ctx, query)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@@ -41,21 +44,22 @@ func (q *Queries) SearchAggregateTypes(ctx context.Context) []string {
|
|||||||
|
|
||||||
func (q *Queries) convertEvents(ctx context.Context, events []eventstore.Event) []*Event {
|
func (q *Queries) convertEvents(ctx context.Context, events []eventstore.Event) []*Event {
|
||||||
result := make([]*Event, len(events))
|
result := make([]*Event, len(events))
|
||||||
|
users := make(map[string]string)
|
||||||
for i, event := range events {
|
for i, event := range events {
|
||||||
result[i] = q.convertEvent(ctx, event)
|
result[i] = q.convertEvent(ctx, event, users)
|
||||||
}
|
}
|
||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
|
||||||
func (q *Queries) convertEvent(ctx context.Context, event eventstore.Event) *Event {
|
func (q *Queries) convertEvent(ctx context.Context, event eventstore.Event, users map[string]string) *Event {
|
||||||
displayName := event.EditorUser()
|
ctx, span := tracing.NewSpan(ctx)
|
||||||
user, err := q.GetUserByID(ctx, false, event.EditorUser(), false)
|
var err error
|
||||||
if err == nil {
|
defer func() { span.EndWithError(err) }()
|
||||||
if user.Human != nil {
|
|
||||||
displayName = user.Human.DisplayName
|
displayName, ok := users[event.EditorUser()]
|
||||||
} else if user.Machine != nil {
|
if !ok {
|
||||||
displayName = user.Machine.Name
|
displayName = q.editorUserByID(ctx, event.EditorUser())
|
||||||
}
|
users[event.EditorUser()] = displayName
|
||||||
}
|
}
|
||||||
|
|
||||||
return &Event{
|
return &Event{
|
||||||
@@ -71,3 +75,16 @@ func (q *Queries) convertEvent(ctx context.Context, event eventstore.Event) *Eve
|
|||||||
Payload: event.DataAsBytes(),
|
Payload: event.DataAsBytes(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (q *Queries) editorUserByID(ctx context.Context, userID string) string {
|
||||||
|
user, err := q.GetUserByID(ctx, false, userID, false)
|
||||||
|
if err != nil {
|
||||||
|
return userID
|
||||||
|
}
|
||||||
|
if user.Human != nil {
|
||||||
|
return user.Human.DisplayName
|
||||||
|
} else if user.Machine != nil {
|
||||||
|
return user.Machine.Name
|
||||||
|
}
|
||||||
|
return userID
|
||||||
|
}
|
||||||
|
@@ -188,8 +188,8 @@ Errors:
|
|||||||
RedirectURIInvalid: Default Redirect URI ist ungültig
|
RedirectURIInvalid: Default Redirect URI ist ungültig
|
||||||
NotExisting: Login Policy existiert nicht auf dieser Organisation
|
NotExisting: Login Policy existiert nicht auf dieser Organisation
|
||||||
AlreadyExists: Login Policy existiert bereits
|
AlreadyExists: Login Policy existiert bereits
|
||||||
IdpProviderAlreadyExisting: Idp Provider existiert bereits
|
IdpProviderAlreadyExisting: Identity Provider existiert bereits
|
||||||
IdpProviderNotExisting: Idp Provider existiert nicht
|
IdpProviderNotExisting: Identity Provider existiert nicht
|
||||||
RegistrationNotAllowed: Registrierung ist nicht erlaubt
|
RegistrationNotAllowed: Registrierung ist nicht erlaubt
|
||||||
UsernamePasswordNotAllowed: Login mit Username / Passwort nicht erlaubt
|
UsernamePasswordNotAllowed: Login mit Username / Passwort nicht erlaubt
|
||||||
MFA:
|
MFA:
|
||||||
@@ -425,6 +425,16 @@ Errors:
|
|||||||
CloseRows: SQL Statement konnte nicht abgeschlossen werden
|
CloseRows: SQL Statement konnte nicht abgeschlossen werden
|
||||||
SQLStatement: SQL Statement konnte nicht erstellt werden
|
SQLStatement: SQL Statement konnte nicht erstellt werden
|
||||||
InvalidRequest: Anfrage ist ungültig
|
InvalidRequest: Anfrage ist ungültig
|
||||||
|
|
||||||
|
AggregateTypes:
|
||||||
|
action: Action
|
||||||
|
instance: Instanz
|
||||||
|
key_pair: Schlüsselpaar
|
||||||
|
org: Organisation
|
||||||
|
project: Projekt
|
||||||
|
user: Benutzer
|
||||||
|
usergrant: Benutzerberechtigung
|
||||||
|
|
||||||
EventTypes:
|
EventTypes:
|
||||||
user:
|
user:
|
||||||
added: Benutzer hinzugefügt
|
added: Benutzer hinzugefügt
|
||||||
@@ -438,9 +448,11 @@ EventTypes:
|
|||||||
failed: Benutzerinitialisierung fehlgeschlagen
|
failed: Benutzerinitialisierung fehlgeschlagen
|
||||||
token:
|
token:
|
||||||
added: Access Token ausgestellt
|
added: Access Token ausgestellt
|
||||||
|
removed: Access Token gelöscht
|
||||||
username:
|
username:
|
||||||
reserved: Benutzername reserviert
|
reserved: Benutzername reserviert
|
||||||
released: Benutzername freigegeben
|
released: Benutzername freigegeben
|
||||||
|
changed: Benutzername geändert
|
||||||
email:
|
email:
|
||||||
reserved: E-Mail-Adresse reserviert
|
reserved: E-Mail-Adresse reserviert
|
||||||
released: E-Mail-Adresse freigegeben
|
released: E-Mail-Adresse freigegeben
|
||||||
@@ -580,6 +592,7 @@ EventTypes:
|
|||||||
code:
|
code:
|
||||||
added: Telefon Code hinzugefügt
|
added: Telefon Code hinzugefügt
|
||||||
sent: Telefon Code versendet
|
sent: Telefon Code versendet
|
||||||
|
removed: Telefonnummer gelöscht
|
||||||
profile:
|
profile:
|
||||||
changed: Benutzerprofil geändert
|
changed: Benutzerprofil geändert
|
||||||
address:
|
address:
|
||||||
@@ -592,6 +605,8 @@ EventTypes:
|
|||||||
check:
|
check:
|
||||||
succeeded: Multifaktor OTP Verifikation erfolgreich
|
succeeded: Multifaktor OTP Verifikation erfolgreich
|
||||||
failed: Multifaktor OTP Verifikation fehlgeschlagen
|
failed: Multifaktor OTP Verifikation fehlgeschlagen
|
||||||
|
init:
|
||||||
|
skipped: Multifaktor OTP übersprungen
|
||||||
init:
|
init:
|
||||||
skipped: Multifaktor Initialisierung übersprungen
|
skipped: Multifaktor Initialisierung übersprungen
|
||||||
signed:
|
signed:
|
||||||
@@ -607,10 +622,16 @@ EventTypes:
|
|||||||
cascade:
|
cascade:
|
||||||
removed: Berechtigung entfernt
|
removed: Berechtigung entfernt
|
||||||
changed: Berechtigung geändert
|
changed: Berechtigung geändert
|
||||||
metadata:
|
metadata:
|
||||||
set: Benutzer Metadaten gesetzt
|
set: Benutzer Metadaten gesetzt
|
||||||
removed: Benutzer Metadaten gelöscht
|
removed: Benutzer Metadaten gelöscht
|
||||||
removed.all: Alle Benutzer Metadaten gelöscht
|
removed.all: Alle Benutzer Metadaten gelöscht
|
||||||
|
domain:
|
||||||
|
claimed: Domain beansprucht
|
||||||
|
claimed.sent: Domain Beanspruchungs Information gesendet
|
||||||
|
pat:
|
||||||
|
added: Personal Access Token hinzugefügt
|
||||||
|
removed: Personal Access Token gelöscht
|
||||||
org:
|
org:
|
||||||
added: Organisation hinzugefügt
|
added: Organisation hinzugefügt
|
||||||
changed: Organisation geändert
|
changed: Organisation geändert
|
||||||
@@ -657,6 +678,10 @@ EventTypes:
|
|||||||
config:
|
config:
|
||||||
added: SAML IDP Konfiguration hinzugefügt
|
added: SAML IDP Konfiguration hinzugefügt
|
||||||
changed: SAML IDP Konfiguration geändert
|
changed: SAML IDP Konfiguration geändert
|
||||||
|
jwt:
|
||||||
|
config:
|
||||||
|
added: JWT IDP Konfiguration hinzugefügt
|
||||||
|
changed: JWT IDP Konfiguration geändert
|
||||||
customtext:
|
customtext:
|
||||||
set: Kundenspezifischer Text wurde gesetzt
|
set: Kundenspezifischer Text wurde gesetzt
|
||||||
removed: Kundenspezifischer Text wurde entfernt
|
removed: Kundenspezifischer Text wurde entfernt
|
||||||
@@ -668,8 +693,10 @@ EventTypes:
|
|||||||
changed: Login Richtlinie geändert
|
changed: Login Richtlinie geändert
|
||||||
removed: Login Richtlinie gelöscht
|
removed: Login Richtlinie gelöscht
|
||||||
idpprovider:
|
idpprovider:
|
||||||
added: Idp Provider zu Login Richtlinie hinzugefügt
|
added: Identity Provider zu Login Richtlinie hinzugefügt
|
||||||
removed: Idp Provider aus Login Richtlinie gelöscht
|
removed: Identity Provider aus Login Richtlinie gelöscht
|
||||||
|
cascade:
|
||||||
|
removed: Login Richtlinie kaskadiert gelöscht
|
||||||
secondfactor:
|
secondfactor:
|
||||||
added: Zweitfaktor zu Login Richtlinie hinzugefügt
|
added: Zweitfaktor zu Login Richtlinie hinzugefügt
|
||||||
removed: Zweitfaktor aus Login Richtlinie gelöscht
|
removed: Zweitfaktor aus Login Richtlinie gelöscht
|
||||||
@@ -715,12 +742,34 @@ EventTypes:
|
|||||||
added: Datenschutzbestimmung und AGB hinzugefügt
|
added: Datenschutzbestimmung und AGB hinzugefügt
|
||||||
changed: Datenschutzbestimmung und AGB geändert
|
changed: Datenschutzbestimmung und AGB geändert
|
||||||
removed: Datenschutzbestimmung und AGB entfernt
|
removed: Datenschutzbestimmung und AGB entfernt
|
||||||
|
domain:
|
||||||
|
added: Domain Richtlinie hinzugefügt
|
||||||
|
changed: Domain Richtlinie geändert
|
||||||
|
removed: Domain Richtlinie gelöscht
|
||||||
|
lockout:
|
||||||
|
added: Passwortaussperrrichtlinie hinzugefügt
|
||||||
|
changed: Passwortaussperrrichtlinie geändert
|
||||||
|
removed: Passwortaussperrrichtlinie gelöscht
|
||||||
flow:
|
flow:
|
||||||
trigger_actions:
|
trigger_actions:
|
||||||
set: Aktionen festgelegt
|
set: Aktionen festgelegt
|
||||||
cascade:
|
cascade:
|
||||||
removed: Aktionen kaskadiert entfernt
|
removed: Aktionen kaskadiert entfernt
|
||||||
removed: Aktionen entfernt
|
removed: Aktionen entfernt
|
||||||
|
cleared: Flow zurückgesetzt
|
||||||
|
mail:
|
||||||
|
template:
|
||||||
|
added: E-Mail Vorlage hinzugefügt
|
||||||
|
changed: E-Mail Vorlage geändert
|
||||||
|
removed: E-Mail Vorlage gelöscht
|
||||||
|
text:
|
||||||
|
added: E-Mail Text hinzugefügt
|
||||||
|
changed: E-Mail Text geändert
|
||||||
|
removed: E-Mail Text gelöscht
|
||||||
|
metadata:
|
||||||
|
removed: Metadaten gelöscht
|
||||||
|
removed.all: Alle Metadaten gelöscht
|
||||||
|
set: Metadaten gesetzt
|
||||||
project:
|
project:
|
||||||
added: Projekt hinzugefügt
|
added: Projekt hinzugefügt
|
||||||
changed: Project geändert
|
changed: Project geändert
|
||||||
@@ -821,6 +870,10 @@ EventTypes:
|
|||||||
config:
|
config:
|
||||||
added: SAML IDP Konfiguration hinzugefügt
|
added: SAML IDP Konfiguration hinzugefügt
|
||||||
changed: SAML IDP Konfiguration geändert
|
changed: SAML IDP Konfiguration geändert
|
||||||
|
jwt:
|
||||||
|
config:
|
||||||
|
added: JWT IDP Konfiguration hizugefügt
|
||||||
|
changed: JWT IDP Konfiguration geändert
|
||||||
customtext:
|
customtext:
|
||||||
set: Text wurde gesetzt
|
set: Text wurde gesetzt
|
||||||
removed: Text wurde entfernt
|
removed: Text wurde entfernt
|
||||||
@@ -829,8 +882,8 @@ EventTypes:
|
|||||||
added: Default Login Policy hinzugefügt
|
added: Default Login Policy hinzugefügt
|
||||||
changed: Default Login Policy geändert
|
changed: Default Login Policy geändert
|
||||||
idpprovider:
|
idpprovider:
|
||||||
added: Idp Provider zu Default Login Policy hinzugefügt
|
added: Identity Provider zu Default Login Policy hinzugefügt
|
||||||
removed: Idp Provider aus Default Login Policy gelöscht
|
removed: Identity Provider aus Default Login Policy gelöscht
|
||||||
label:
|
label:
|
||||||
added: Label Richtlinie hinzugefügt
|
added: Label Richtlinie hinzugefügt
|
||||||
changed: Label Richtlinie geändert
|
changed: Label Richtlinie geändert
|
||||||
@@ -883,12 +936,140 @@ EventTypes:
|
|||||||
deactivated: Twilio SMS Provider deaktiviert
|
deactivated: Twilio SMS Provider deaktiviert
|
||||||
key_pair:
|
key_pair:
|
||||||
added: Schlüsselpaar hinzugefügt
|
added: Schlüsselpaar hinzugefügt
|
||||||
|
certificate:
|
||||||
|
added: Zertifikat hinzugefügt
|
||||||
action:
|
action:
|
||||||
added: Aktion hinzugefügt
|
added: Aktion hinzugefügt
|
||||||
changed: Aktion geändert
|
changed: Aktion geändert
|
||||||
deactivated: Aktion deaktiviert
|
deactivated: Aktion deaktiviert
|
||||||
reactivated: Aktion reaktiviert
|
reactivated: Aktion reaktiviert
|
||||||
removed: Aktion gelöscht
|
removed: Aktion gelöscht
|
||||||
|
instance:
|
||||||
|
added: Instanz hinzugefügt
|
||||||
|
changed: Instanz gelöscht
|
||||||
|
customtext:
|
||||||
|
removed: Kundenspezifischer Text gelöscht
|
||||||
|
set: Kundenspezifischer Text gelöscht
|
||||||
|
template:
|
||||||
|
removed: Kundenspezifische Textvorlage gelöscht
|
||||||
|
default:
|
||||||
|
language:
|
||||||
|
set: Standard Sprache gesetzt
|
||||||
|
org:
|
||||||
|
set: Standard Organisation gesetzt
|
||||||
|
domain:
|
||||||
|
added: Domain hinzugefügt
|
||||||
|
primary:
|
||||||
|
set: Primäre Domain gesetzt
|
||||||
|
removed: Domain gelöscht
|
||||||
|
iam:
|
||||||
|
console:
|
||||||
|
set: ZITADEL Console Applikation gesetzt
|
||||||
|
project:
|
||||||
|
set: ZITADEL Projekt gesetzt
|
||||||
|
mail:
|
||||||
|
template:
|
||||||
|
added: E-Mail Vorlage hinzugefügt
|
||||||
|
changed: E-Mail Vorlage geändert
|
||||||
|
text:
|
||||||
|
added: E-Mail Text hinzugefügt
|
||||||
|
changed: E-Mail Text geändert
|
||||||
|
member:
|
||||||
|
added: Instanzmitglied hinzugefügt
|
||||||
|
changed: Instanzmitglied geändert
|
||||||
|
removed: Instanzmitglied gelöscht
|
||||||
|
cascade:
|
||||||
|
removed: Instanzmitglied kaskadierend gelöscht
|
||||||
|
notification:
|
||||||
|
provider:
|
||||||
|
debug:
|
||||||
|
fileadded: Datei zu Debug Notification Provider hinzugefügt
|
||||||
|
filechanged: Datei von Debug Notification Provider geändert
|
||||||
|
fileremoved: Datei von Debug Notification Provider gelöscht
|
||||||
|
logadded: Log von Debug Notification Provider hinzugefügt
|
||||||
|
logchanged: Log von Debug Notification Provider geändert
|
||||||
|
logremoved: Log von Debug Notification Provider gelöscht
|
||||||
|
oidc:
|
||||||
|
settings:
|
||||||
|
added: OIDC Einstellung hinzugefügt
|
||||||
|
changed: OIDC Einstellung geändert
|
||||||
|
policy:
|
||||||
|
domain:
|
||||||
|
added: Domain Richtlinie hinzugefügt
|
||||||
|
changed: Domain Richtlinie geändert
|
||||||
|
label:
|
||||||
|
activated: Label Richtlinie aktiviert
|
||||||
|
added: Label Richtlinie hinzugefügt
|
||||||
|
assets:
|
||||||
|
removed: Assets von Label Richtlinie gelöscht
|
||||||
|
changed: Label Richtlinie geändert
|
||||||
|
font:
|
||||||
|
added: Schriftart zu Label Richtlinie hinzugefügt
|
||||||
|
removed: Schriftart von Label Richtlinie gelöscht
|
||||||
|
icon:
|
||||||
|
added: Icon zu Label Richtlinie hinzugefügt
|
||||||
|
removed: Icon von Label Richtlinie gelöscht
|
||||||
|
dark:
|
||||||
|
added: Icon (dunkler Modus) zu Label Richtlinie hinzugefügt
|
||||||
|
removed: Icon (dunkler Modus) von Label Richtlinie gelöscht
|
||||||
|
logo:
|
||||||
|
added: Logo zu Label Richtlinie hinzugefügt
|
||||||
|
removed: Logo von Label Richtlinie gelöscht
|
||||||
|
dark:
|
||||||
|
added: Logo (dunkler Modus) zu Label Richtlinie hinzugefügt
|
||||||
|
removed: Logo (dunkler Modus) von Label Richtlinie gelöscht
|
||||||
|
lockout:
|
||||||
|
added: Passwortaussperrrichtlinie hinzugefügt
|
||||||
|
changed: Passwortaussperrrichtlinie geändert
|
||||||
|
login:
|
||||||
|
added: Login Richtlinie hinzugefügt
|
||||||
|
changed: Login Richtlinie geändert
|
||||||
|
idpprovider:
|
||||||
|
added: Identity Provider zu Login Richtlinie hinzugefügt
|
||||||
|
cascade:
|
||||||
|
removed: Identity Provider kaskadierend von Login Richtlinie gelöscht
|
||||||
|
removed: Identity Provider von Login Richtlinie gelöscht
|
||||||
|
multifactor:
|
||||||
|
added: Multifaktor zu Login Richtlinie hinzugefügt
|
||||||
|
removed: Multifaktor zu Login Richtlinie gelöscht
|
||||||
|
secondfactor:
|
||||||
|
added: Zweitfaktor zu Login Richtlinie hinzugefügt
|
||||||
|
removed: Zweitfaktor von Login Richtlinie gelöscht
|
||||||
|
password:
|
||||||
|
age:
|
||||||
|
added: Passwort Alterungsrichtlinie hinzugefügt
|
||||||
|
changed: Passwort Alterungsrichtlinie geändert
|
||||||
|
complexity:
|
||||||
|
added: Passwort Komplexitätsrichtlinie hinzugefügt
|
||||||
|
changed: Passwort Komplexitätsrichtlinie geändert
|
||||||
|
privacy:
|
||||||
|
added: Datenschutzrichtlinie hinzugefügt
|
||||||
|
changed: Datenschutzrichtlinie geändert
|
||||||
|
security:
|
||||||
|
set: Sicherheitsrichtlinie gesetzt
|
||||||
|
|
||||||
|
removed: Instanz gelöscht
|
||||||
|
secret:
|
||||||
|
generator:
|
||||||
|
added: Passwortgenerator hinzugefügt
|
||||||
|
changed: Passwortgenerator geändert
|
||||||
|
removed: Passwortgenerator gelöscht
|
||||||
|
sms:
|
||||||
|
configtwilio:
|
||||||
|
activated: Twilio SMS Konfiguration aktiviert
|
||||||
|
added: Twilio SMS Konfiguration hinzugefügt
|
||||||
|
changed: Twilio SMS Konfiguration geändert
|
||||||
|
deactivated: Twilio SMS Konfiguration deaktiviert
|
||||||
|
removed: Twilio SMS Konfiguration gelöscht
|
||||||
|
token:
|
||||||
|
changed: Token zu Twilio SMS Konfiguration hinzugefügt
|
||||||
|
smtp:
|
||||||
|
config:
|
||||||
|
added: SMTP Konfiguration hinzugefügt
|
||||||
|
changed: SMTP Konfiguration geändert
|
||||||
|
password:
|
||||||
|
changed: Passwort von SMTP Konfiguration geändert
|
||||||
|
removed: SMTP Konfiguration gelöscht
|
||||||
|
|
||||||
Application:
|
Application:
|
||||||
OIDC:
|
OIDC:
|
||||||
|
@@ -188,8 +188,8 @@ Errors:
|
|||||||
RedirectURIInvalid: Default Redirect URI is invalid
|
RedirectURIInvalid: Default Redirect URI is invalid
|
||||||
NotExisting: Login Policy not existing
|
NotExisting: Login Policy not existing
|
||||||
AlreadyExists: Login Policy already exists
|
AlreadyExists: Login Policy already exists
|
||||||
IdpProviderAlreadyExisting: Idp Provider already existing
|
IdpProviderAlreadyExisting: Identity Provider already existing
|
||||||
IdpProviderNotExisting: Idp Provider not existing
|
IdpProviderNotExisting: Identity Provider not existing
|
||||||
RegistrationNotAllowed: Registration is not allowed
|
RegistrationNotAllowed: Registration is not allowed
|
||||||
UsernamePasswordNotAllowed: Login with Username / Password is not allowed
|
UsernamePasswordNotAllowed: Login with Username / Password is not allowed
|
||||||
MFA:
|
MFA:
|
||||||
@@ -295,7 +295,7 @@ Errors:
|
|||||||
IdpIsNotOIDC: IDP configuration is not of type oidc
|
IdpIsNotOIDC: IDP configuration is not of type oidc
|
||||||
LoginPolicyInvalid: Login Policy is invalid
|
LoginPolicyInvalid: Login Policy is invalid
|
||||||
LoginPolicyNotExisting: Login Policy doesn't exist
|
LoginPolicyNotExisting: Login Policy doesn't exist
|
||||||
IdpProviderInvalid: Idp Provider is invalid
|
IdpProviderInvalid: Identity Provider is invalid
|
||||||
LoginPolicy:
|
LoginPolicy:
|
||||||
NotFound: Default Login Policy not found
|
NotFound: Default Login Policy not found
|
||||||
NotChanged: Default Login Policy has not been changed
|
NotChanged: Default Login Policy has not been changed
|
||||||
@@ -425,6 +425,16 @@ Errors:
|
|||||||
CloseRows: SQL Statement could not be finished
|
CloseRows: SQL Statement could not be finished
|
||||||
SQLStatement: SQL Statement could not be created
|
SQLStatement: SQL Statement could not be created
|
||||||
InvalidRequest: Request is invalid
|
InvalidRequest: Request is invalid
|
||||||
|
|
||||||
|
AggregateTypes:
|
||||||
|
action: Action
|
||||||
|
instance: Instance
|
||||||
|
key_pair: Key Pair
|
||||||
|
org: Organization
|
||||||
|
project: Project
|
||||||
|
user: User
|
||||||
|
usergrant: User grant
|
||||||
|
|
||||||
EventTypes:
|
EventTypes:
|
||||||
user:
|
user:
|
||||||
added: User added
|
added: User added
|
||||||
@@ -438,13 +448,15 @@ EventTypes:
|
|||||||
failed: Initialization check failed
|
failed: Initialization check failed
|
||||||
token:
|
token:
|
||||||
added: Access Token created
|
added: Access Token created
|
||||||
|
removed: Access Token removed
|
||||||
username:
|
username:
|
||||||
reserved: Username reserved
|
reserved: Username reserved
|
||||||
released: Username released
|
released: Username released
|
||||||
|
changed: Username changed
|
||||||
email:
|
email:
|
||||||
reserved: Email address reserved
|
reserved: Email address reserved
|
||||||
released: Email address released
|
released: Email address released
|
||||||
changed: Email address changed
|
changed: Email address changed
|
||||||
verified: Email address verified
|
verified: Email address verified
|
||||||
verification:
|
verification:
|
||||||
failed: Email address verification failed
|
failed: Email address verification failed
|
||||||
@@ -474,7 +486,7 @@ EventTypes:
|
|||||||
reserved: Username reserved
|
reserved: Username reserved
|
||||||
released: Username released
|
released: Username released
|
||||||
email:
|
email:
|
||||||
changed: Email address changed
|
changed: Email address changed
|
||||||
verified: Email address verified
|
verified: Email address verified
|
||||||
verification:
|
verification:
|
||||||
failed: Email address verification failed
|
failed: Email address verification failed
|
||||||
@@ -580,6 +592,7 @@ EventTypes:
|
|||||||
code:
|
code:
|
||||||
added: Phone number code generated
|
added: Phone number code generated
|
||||||
sent: Phone number code sent
|
sent: Phone number code sent
|
||||||
|
removed: Phone number removed
|
||||||
profile:
|
profile:
|
||||||
changed: User profile changed
|
changed: User profile changed
|
||||||
address:
|
address:
|
||||||
@@ -592,6 +605,8 @@ EventTypes:
|
|||||||
check:
|
check:
|
||||||
succeeded: Multifactor OTP check succeeded
|
succeeded: Multifactor OTP check succeeded
|
||||||
failed: Multifactor OTP check failed
|
failed: Multifactor OTP check failed
|
||||||
|
init:
|
||||||
|
skipped: Multifactor OTP initialization skipped
|
||||||
init:
|
init:
|
||||||
skipped: Multifactor initialization skipped
|
skipped: Multifactor initialization skipped
|
||||||
signed:
|
signed:
|
||||||
@@ -611,6 +626,12 @@ EventTypes:
|
|||||||
set: User metadata set
|
set: User metadata set
|
||||||
removed: User metadata removed
|
removed: User metadata removed
|
||||||
removed.all: All user metadata removed
|
removed.all: All user metadata removed
|
||||||
|
domain:
|
||||||
|
claimed: Domain claimed
|
||||||
|
claimed.sent: Domain claimed notification sent
|
||||||
|
pat:
|
||||||
|
added: Personal Access Token added
|
||||||
|
removed: Personal Access Token removed
|
||||||
org:
|
org:
|
||||||
added: Organization added
|
added: Organization added
|
||||||
changed: Organization changed
|
changed: Organization changed
|
||||||
@@ -636,7 +657,7 @@ EventTypes:
|
|||||||
changed: Organization member changed
|
changed: Organization member changed
|
||||||
removed: Organization member removed
|
removed: Organization member removed
|
||||||
cascade:
|
cascade:
|
||||||
removeD: Organization member cascade removed
|
removed: Organization member cascade removed
|
||||||
iam:
|
iam:
|
||||||
policy:
|
policy:
|
||||||
added: System policy added
|
added: System policy added
|
||||||
@@ -657,6 +678,10 @@ EventTypes:
|
|||||||
config:
|
config:
|
||||||
added: SAML IDP configuration added
|
added: SAML IDP configuration added
|
||||||
changed: SAML IDP configuration changed
|
changed: SAML IDP configuration changed
|
||||||
|
jwt:
|
||||||
|
config:
|
||||||
|
added: JWT IDP configuration added
|
||||||
|
changed: JWT IDP configuration changed
|
||||||
customtext:
|
customtext:
|
||||||
set: Custom text set
|
set: Custom text set
|
||||||
removed: Custom text removed
|
removed: Custom text removed
|
||||||
@@ -668,8 +693,10 @@ EventTypes:
|
|||||||
changed: Login Policy changed
|
changed: Login Policy changed
|
||||||
removed: Login Policy removed
|
removed: Login Policy removed
|
||||||
idpprovider:
|
idpprovider:
|
||||||
added: Idp Provider added to Login Policy
|
added: Identity Provider added to Login Policy
|
||||||
removed: Idp Provider removed from Login Policy
|
removed: Identity Provider removed from Login Policy
|
||||||
|
cascade:
|
||||||
|
removed: Identity Provider cascade removed from Login Policy
|
||||||
secondfactor:
|
secondfactor:
|
||||||
added: Second factor added to Login Policy
|
added: Second factor added to Login Policy
|
||||||
removed: Second factor removed from Login Policy
|
removed: Second factor removed from Login Policy
|
||||||
@@ -715,12 +742,34 @@ EventTypes:
|
|||||||
added: Privacy policy and TOS added
|
added: Privacy policy and TOS added
|
||||||
changed: Privacy policy and TOS changed
|
changed: Privacy policy and TOS changed
|
||||||
removed: Privacy policy and TOS removed
|
removed: Privacy policy and TOS removed
|
||||||
|
domain:
|
||||||
|
added: Domain policy added
|
||||||
|
changed: Domain policy changed
|
||||||
|
removed: Domain policy removed
|
||||||
|
lockout:
|
||||||
|
added: Lockout policy added
|
||||||
|
changed: Lockout policy changed
|
||||||
|
removed: Lockout policy removed
|
||||||
flow:
|
flow:
|
||||||
trigger_actions:
|
trigger_actions:
|
||||||
set: Action set
|
set: Action set
|
||||||
cascade:
|
cascade:
|
||||||
removed: Actions cascade removed
|
removed: Actions cascade removed
|
||||||
removed: Actions removed
|
removed: Actions removed
|
||||||
|
cleared: Flow cleared
|
||||||
|
mail:
|
||||||
|
template:
|
||||||
|
added: E-Mail template added
|
||||||
|
changed: E-Mail template changed
|
||||||
|
removed: E-Mail template removed
|
||||||
|
text:
|
||||||
|
added: E-Mail text added
|
||||||
|
changed: E-Mail text changed
|
||||||
|
removed: E-Mail text removed
|
||||||
|
metadata:
|
||||||
|
removed: Metadata removed
|
||||||
|
removed.all: All metadata removed
|
||||||
|
set: Metadata set
|
||||||
project:
|
project:
|
||||||
added: Project added
|
added: Project added
|
||||||
changed: Project changed
|
changed: Project changed
|
||||||
@@ -750,7 +799,7 @@ EventTypes:
|
|||||||
changed: Management access member changed
|
changed: Management access member changed
|
||||||
removed: Management access member removed
|
removed: Management access member removed
|
||||||
cascade:
|
cascade:
|
||||||
removeD: Management access cascade removed
|
removed: Management access cascade removed
|
||||||
application:
|
application:
|
||||||
added: Application added
|
added: Application added
|
||||||
changed: Application changed
|
changed: Application changed
|
||||||
@@ -821,6 +870,10 @@ EventTypes:
|
|||||||
config:
|
config:
|
||||||
added: SAML IDP configuration added
|
added: SAML IDP configuration added
|
||||||
changed: SAML IDP configuration changed
|
changed: SAML IDP configuration changed
|
||||||
|
jwt:
|
||||||
|
config:
|
||||||
|
added: JWT configuration to identity provider added
|
||||||
|
changed: JWT configuration from identity provider remvoed
|
||||||
customtext:
|
customtext:
|
||||||
set: Text was set
|
set: Text was set
|
||||||
removed: Text was removed
|
removed: Text was removed
|
||||||
@@ -829,8 +882,8 @@ EventTypes:
|
|||||||
added: Default Login Policy added
|
added: Default Login Policy added
|
||||||
changed: Default Login Policy changed
|
changed: Default Login Policy changed
|
||||||
idpprovider:
|
idpprovider:
|
||||||
added: Idp Provider added to Default Login Policy
|
added: Identity Provider added to Default Login Policy
|
||||||
removed: Idp Provider removed from Default Login Policy
|
removed: Identity Provider removed from Default Login Policy
|
||||||
label:
|
label:
|
||||||
added: Label Policy added
|
added: Label Policy added
|
||||||
changed: Label Policy changed
|
changed: Label Policy changed
|
||||||
@@ -883,12 +936,140 @@ EventTypes:
|
|||||||
deactivated: Twilio SMS provider deactivated
|
deactivated: Twilio SMS provider deactivated
|
||||||
key_pair:
|
key_pair:
|
||||||
added: Key pair added
|
added: Key pair added
|
||||||
|
certificate:
|
||||||
|
added: Certificate added
|
||||||
action:
|
action:
|
||||||
added: Action added
|
added: Action added
|
||||||
changed: Action changed
|
changed: Action changed
|
||||||
deactivated: Action deactivated
|
deactivated: Action deactivated
|
||||||
reactivated: Action reactivated
|
reactivated: Action reactivated
|
||||||
removed: Action removed
|
removed: Action removed
|
||||||
|
instance:
|
||||||
|
added: Instance added
|
||||||
|
changed: Instance changed
|
||||||
|
customtext:
|
||||||
|
removed: Custom text removed
|
||||||
|
set: Custom text set
|
||||||
|
template:
|
||||||
|
removed: Template of custom text removed
|
||||||
|
default:
|
||||||
|
language:
|
||||||
|
set: Default language set
|
||||||
|
org:
|
||||||
|
set: Default organisation set
|
||||||
|
domain:
|
||||||
|
added: Domain added
|
||||||
|
primary:
|
||||||
|
set: Primary domain set
|
||||||
|
removed: Domain removed
|
||||||
|
iam:
|
||||||
|
console:
|
||||||
|
set: ZITADEL Console application set
|
||||||
|
project:
|
||||||
|
set: ZITADEL project set
|
||||||
|
mail:
|
||||||
|
template:
|
||||||
|
added: E-Mail template added
|
||||||
|
changed: E-Mail template changed
|
||||||
|
text:
|
||||||
|
added: E-Mail text added
|
||||||
|
changed: E-Mail text changed
|
||||||
|
member:
|
||||||
|
added: Instance member added
|
||||||
|
changed: Instance member changed
|
||||||
|
removed: Instance member removed
|
||||||
|
cascade:
|
||||||
|
removed: Instance member cascade removed
|
||||||
|
notification:
|
||||||
|
provider:
|
||||||
|
debug:
|
||||||
|
fileadded: File debug notification provider added
|
||||||
|
filechanged: File debug notification provider changed
|
||||||
|
fileremoved: File debug notification provider removed
|
||||||
|
logadded: Log debug notification provider added
|
||||||
|
logchanged: Log debug notification provider changed
|
||||||
|
logremoved: Log debug notification provider removed
|
||||||
|
oidc:
|
||||||
|
settings:
|
||||||
|
added: OIDC settings added
|
||||||
|
changed: OIDC settings changed
|
||||||
|
policy:
|
||||||
|
domain:
|
||||||
|
added: Domain policy added
|
||||||
|
changed: Domain policy changed
|
||||||
|
label:
|
||||||
|
activated: Label policy activated
|
||||||
|
added: Label policy added
|
||||||
|
assets:
|
||||||
|
removed: Asset from label policy removed
|
||||||
|
changed: Label policy changed
|
||||||
|
font:
|
||||||
|
added: Font added to label policy
|
||||||
|
removed: Font remvoed from label policy
|
||||||
|
icon:
|
||||||
|
added: Icon added to label policy
|
||||||
|
removed: Icon removed from label policy
|
||||||
|
dark:
|
||||||
|
added: Icon added to dark label policy
|
||||||
|
removed: Icon removed from dark label policy
|
||||||
|
logo:
|
||||||
|
added: Logo added to label policy
|
||||||
|
removed: Logo removed from label policy
|
||||||
|
dark:
|
||||||
|
added: Logo added to dark label policy
|
||||||
|
removed: Logo removed from dark label policy
|
||||||
|
lockout:
|
||||||
|
added: Lockout policy added
|
||||||
|
changed: Lockout policy changed
|
||||||
|
login:
|
||||||
|
added: Login policy added
|
||||||
|
changed: Login policy changed
|
||||||
|
idpprovider:
|
||||||
|
added: Identity Provider added to login policy
|
||||||
|
cascade:
|
||||||
|
removed: Identity Provider cascade removed from login policy
|
||||||
|
removed: Identity Provider removed from login policy
|
||||||
|
multifactor:
|
||||||
|
added: Multifactor added to login policy
|
||||||
|
removed: Multifactor removed from login policy
|
||||||
|
secondfactor:
|
||||||
|
added: Secondfactor added to login policy
|
||||||
|
removed: Secondfactor removed from login policy
|
||||||
|
password:
|
||||||
|
age:
|
||||||
|
added: Password age policy added
|
||||||
|
changed: Password age policy changed
|
||||||
|
complexity:
|
||||||
|
added: Password complexity policy added
|
||||||
|
changed: Password complexity policy removed
|
||||||
|
privacy:
|
||||||
|
added: Privacy policy added
|
||||||
|
changed: Privacy policy changed
|
||||||
|
security:
|
||||||
|
set: Security policy set
|
||||||
|
|
||||||
|
removed: Instance removed
|
||||||
|
secret:
|
||||||
|
generator:
|
||||||
|
added: Secret generator added
|
||||||
|
changed: Secret generator changed
|
||||||
|
removed: Secret generator removed
|
||||||
|
sms:
|
||||||
|
configtwilio:
|
||||||
|
activated: Twilio SMS configuration activated
|
||||||
|
added: Twilio SMS configuration added
|
||||||
|
changed: Twilio SMS configuration changed
|
||||||
|
deactivated: Twilio SMS configuration deactivated
|
||||||
|
removed: Twilio SMS configuration removed
|
||||||
|
token:
|
||||||
|
changed: Token of Twilio SMS configuration changed
|
||||||
|
smtp:
|
||||||
|
config:
|
||||||
|
added: SMTP configuration added
|
||||||
|
changed: SMTP configuration changed
|
||||||
|
password:
|
||||||
|
changed: Password of SMTP configuration changed
|
||||||
|
removed: SMTP configuration removed
|
||||||
|
|
||||||
Application:
|
Application:
|
||||||
OIDC:
|
OIDC:
|
||||||
|
@@ -425,6 +425,16 @@ Errors:
|
|||||||
CloseRows: L'instruction SQL n'a pas pu être terminée
|
CloseRows: L'instruction SQL n'a pas pu être terminée
|
||||||
SQLStatement: L'instruction SQL n'a pas pu être créée
|
SQLStatement: L'instruction SQL n'a pas pu être créée
|
||||||
InvalidRequest: La requête n'est pas valide
|
InvalidRequest: La requête n'est pas valide
|
||||||
|
|
||||||
|
AggregateTypes:
|
||||||
|
action: Action
|
||||||
|
instance: Instance
|
||||||
|
key_pair: Paire de clés
|
||||||
|
org: Organisation
|
||||||
|
project: Projet
|
||||||
|
user: Utilisateur
|
||||||
|
usergrant: Subvention de l'utilisateur
|
||||||
|
|
||||||
EventTypes:
|
EventTypes:
|
||||||
user:
|
user:
|
||||||
added: Utilisateur ajouté
|
added: Utilisateur ajouté
|
||||||
|
@@ -425,6 +425,16 @@ Errors:
|
|||||||
CloseRows: Lo statement SQL non può essere terminato
|
CloseRows: Lo statement SQL non può essere terminato
|
||||||
SQLStatement: Lo statement SQL non può essere creato
|
SQLStatement: Lo statement SQL non può essere creato
|
||||||
InvalidRequest: La richiesta non è valida
|
InvalidRequest: La richiesta non è valida
|
||||||
|
|
||||||
|
AggregateTypes:
|
||||||
|
action: Azione
|
||||||
|
instance: Istanza
|
||||||
|
key_pair: Coppia di chiavi
|
||||||
|
org: Organizzazione
|
||||||
|
project: Progetto
|
||||||
|
user: Utente
|
||||||
|
usergrant: Sovvenzione utente
|
||||||
|
|
||||||
EventTypes:
|
EventTypes:
|
||||||
user:
|
user:
|
||||||
added: Utente aggiunto
|
added: Utente aggiunto
|
||||||
@@ -636,7 +646,7 @@ EventTypes:
|
|||||||
changed: Membro dell'organizzazione cambiato
|
changed: Membro dell'organizzazione cambiato
|
||||||
removed: Membro dell'organizzazione rimosso
|
removed: Membro dell'organizzazione rimosso
|
||||||
cascade:
|
cascade:
|
||||||
removeD: Cascata di membri dell'organizzazione rimossa
|
removed: Cascata di membri dell'organizzazione rimossa
|
||||||
iam:
|
iam:
|
||||||
policy:
|
policy:
|
||||||
added: Impostazioni IAM aggiunti
|
added: Impostazioni IAM aggiunti
|
||||||
@@ -732,7 +742,7 @@ EventTypes:
|
|||||||
changed: Membro del progetto cambiato
|
changed: Membro del progetto cambiato
|
||||||
removed: Membro del progetto rimosso
|
removed: Membro del progetto rimosso
|
||||||
cascade:
|
cascade:
|
||||||
removeD: Cascata di membri del progetto rimossa
|
removed: Cascata di membri del progetto rimossa
|
||||||
role:
|
role:
|
||||||
added: Ruolo del progetto aggiunto
|
added: Ruolo del progetto aggiunto
|
||||||
changed: Il ruolo del progetto è cambiato
|
changed: Il ruolo del progetto è cambiato
|
||||||
|
@@ -444,7 +444,7 @@ EventTypes:
|
|||||||
email:
|
email:
|
||||||
reserved: 电子邮件地址已保留
|
reserved: 电子邮件地址已保留
|
||||||
released: 电子邮件地址已发布
|
released: 电子邮件地址已发布
|
||||||
changed: 电子邮件地址已更改
|
changed: 电子邮件地址已更改
|
||||||
verified: 电子邮件地址已验证
|
verified: 电子邮件地址已验证
|
||||||
verification:
|
verification:
|
||||||
failed: 电子邮件验证失败
|
failed: 电子邮件验证失败
|
||||||
@@ -474,7 +474,7 @@ EventTypes:
|
|||||||
reserved: 保留用户名
|
reserved: 保留用户名
|
||||||
released: 用户名已发布
|
released: 用户名已发布
|
||||||
email:
|
email:
|
||||||
changed: 电子邮件地址已更改
|
changed: 电子邮件地址已更改
|
||||||
verified: 电子邮件地址已验证
|
verified: 电子邮件地址已验证
|
||||||
verification:
|
verification:
|
||||||
failed: 电子邮件地址验证失败
|
failed: 电子邮件地址验证失败
|
||||||
@@ -636,7 +636,7 @@ EventTypes:
|
|||||||
changed: 更改组织成员
|
changed: 更改组织成员
|
||||||
removed: 删除组织成员
|
removed: 删除组织成员
|
||||||
cascade:
|
cascade:
|
||||||
removeD: 已删除组织级联成员
|
removed: 已删除组织级联成员
|
||||||
iam:
|
iam:
|
||||||
policy:
|
policy:
|
||||||
added: 添加系统策略
|
added: 添加系统策略
|
||||||
@@ -750,7 +750,7 @@ EventTypes:
|
|||||||
changed: 更改访问成员
|
changed: 更改访问成员
|
||||||
removed: 删除访问成员
|
removed: 删除访问成员
|
||||||
cascade:
|
cascade:
|
||||||
removeD: 删除管理访问级联
|
removed: 删除管理访问级联
|
||||||
application:
|
application:
|
||||||
added: 添加应用
|
added: 添加应用
|
||||||
changed: 更改应用
|
changed: 更改应用
|
||||||
|
79
pkg/grpc/admin/event.go
Normal file
79
pkg/grpc/admin/event.go
Normal file
@@ -0,0 +1,79 @@
|
|||||||
|
package admin
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
|
||||||
|
event_grpc "github.com/zitadel/zitadel/internal/api/grpc/event"
|
||||||
|
"github.com/zitadel/zitadel/internal/api/grpc/server/middleware"
|
||||||
|
"github.com/zitadel/zitadel/internal/query"
|
||||||
|
"github.com/zitadel/zitadel/internal/telemetry/tracing"
|
||||||
|
event_pb "github.com/zitadel/zitadel/pkg/grpc/event"
|
||||||
|
)
|
||||||
|
|
||||||
|
func EventTypesToPb(eventTypes []string) *ListEventTypesResponse {
|
||||||
|
res := &ListEventTypesResponse{EventTypes: make([]*event_pb.EventType, len(eventTypes))}
|
||||||
|
|
||||||
|
for i, eventType := range eventTypes {
|
||||||
|
res.EventTypes[i] = event_grpc.EventTypeToPb(eventType)
|
||||||
|
}
|
||||||
|
|
||||||
|
return res
|
||||||
|
}
|
||||||
|
|
||||||
|
func AggregateTypesToPb(aggregateTypes []string) *ListAggregateTypesResponse {
|
||||||
|
res := &ListAggregateTypesResponse{AggregateTypes: make([]*event_pb.AggregateType, len(aggregateTypes))}
|
||||||
|
|
||||||
|
for i, aggregateType := range aggregateTypes {
|
||||||
|
res.AggregateTypes[i] = event_grpc.AggregateTypeToPb(aggregateType)
|
||||||
|
}
|
||||||
|
|
||||||
|
return res
|
||||||
|
}
|
||||||
|
|
||||||
|
func EventsToPb(ctx context.Context, events []*query.Event) (_ *ListEventsResponse, err error) {
|
||||||
|
_, span := tracing.NewSpan(ctx)
|
||||||
|
defer func() { span.EndWithError(err) }()
|
||||||
|
res, err := event_grpc.EventsToPb(events)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return &ListEventsResponse{
|
||||||
|
Events: res,
|
||||||
|
}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (resp *ListEventTypesResponse) Localizers() []middleware.Localizer {
|
||||||
|
if resp == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
localizers := make([]middleware.Localizer, len(resp.EventTypes))
|
||||||
|
for i, eventType := range resp.EventTypes {
|
||||||
|
localizers[i] = eventType.Localized
|
||||||
|
}
|
||||||
|
return localizers
|
||||||
|
}
|
||||||
|
|
||||||
|
func (resp *ListAggregateTypesResponse) Localizers() []middleware.Localizer {
|
||||||
|
if resp == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
localizers := make([]middleware.Localizer, len(resp.AggregateTypes))
|
||||||
|
for i, aggregateType := range resp.AggregateTypes {
|
||||||
|
localizers[i] = aggregateType.Localized
|
||||||
|
}
|
||||||
|
return localizers
|
||||||
|
}
|
||||||
|
|
||||||
|
func (resp *ListEventsResponse) Localizers() []middleware.Localizer {
|
||||||
|
if resp == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
localizers := make([]middleware.Localizer, 0, len(resp.Events)*2)
|
||||||
|
for _, event := range resp.Events {
|
||||||
|
localizers = append(localizers, event.Type.Localized, event.Aggregate.Type.Localized)
|
||||||
|
}
|
||||||
|
return localizers
|
||||||
|
}
|
@@ -12,6 +12,10 @@ func NewLocalizedEventType(key string) *LocalizedMessage {
|
|||||||
return &LocalizedMessage{Key: "EventTypes." + key}
|
return &LocalizedMessage{Key: "EventTypes." + key}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func NewLocalizedAggregateType(key string) *LocalizedMessage {
|
||||||
|
return &LocalizedMessage{Key: "AggregateTypes." + key}
|
||||||
|
}
|
||||||
|
|
||||||
func NewLocalizedMessage(key string) *LocalizedMessage {
|
func NewLocalizedMessage(key string) *LocalizedMessage {
|
||||||
return &LocalizedMessage{Key: key}
|
return &LocalizedMessage{Key: key}
|
||||||
}
|
}
|
||||||
|
@@ -13,6 +13,7 @@ import "zitadel/member.proto";
|
|||||||
import "zitadel/event.proto";
|
import "zitadel/event.proto";
|
||||||
import "zitadel/management.proto";
|
import "zitadel/management.proto";
|
||||||
import "zitadel/v1.proto";
|
import "zitadel/v1.proto";
|
||||||
|
import "zitadel/message.proto";
|
||||||
|
|
||||||
import "google/api/annotations.proto";
|
import "google/api/annotations.proto";
|
||||||
import "google/protobuf/timestamp.proto";
|
import "google/protobuf/timestamp.proto";
|
||||||
@@ -4854,27 +4855,32 @@ message ListEventsRequest {
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
string editor_user_id = 4 [
|
string editor_user_id = 4 [
|
||||||
|
(validate.rules).string = {min_len: 0, max_len: 200},
|
||||||
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
||||||
example: "\"69629023906488334\"";
|
example: "\"69629023906488334\"";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
// the types are or filtered and must match the type exatly
|
// the types are or filtered and must match the type exatly
|
||||||
repeated string event_types = 5 [
|
repeated string event_types = 5 [
|
||||||
|
(validate.rules).repeated = {max_items: 30},
|
||||||
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
||||||
example: "[\"user.human.added\", \"user.machine\"]";
|
example: "[\"user.human.added\", \"user.machine\"]";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
string aggregate_id = 6 [
|
string aggregate_id = 6 [
|
||||||
|
(validate.rules).string = {min_len: 0, max_len: 200},
|
||||||
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
||||||
example: "\"69629023906488334\"";
|
example: "\"69629023906488334\"";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
string aggregate_type = 7 [
|
repeated string aggregate_types = 7 [
|
||||||
|
(validate.rules).repeated = {max_items: 10},
|
||||||
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
||||||
example: "\"user\"";
|
example: "\"user\"";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
string resource_owner = 8 [
|
string resource_owner = 8 [
|
||||||
|
(validate.rules).string = {min_len: 0, max_len: 200},
|
||||||
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
||||||
example: "\"69629023906488334\"";
|
example: "\"69629023906488334\"";
|
||||||
}
|
}
|
||||||
@@ -4896,11 +4902,11 @@ message ListEventsResponse {
|
|||||||
message ListEventTypesRequest {}
|
message ListEventTypesRequest {}
|
||||||
|
|
||||||
message ListEventTypesResponse {
|
message ListEventTypesResponse {
|
||||||
repeated string event_types = 1;
|
repeated zitadel.event.v1.EventType event_types = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
message ListAggregateTypesRequest {}
|
message ListAggregateTypesRequest {}
|
||||||
|
|
||||||
message ListAggregateTypesResponse {
|
message ListAggregateTypesResponse {
|
||||||
repeated string aggregate_types = 1;
|
repeated zitadel.event.v1.AggregateType aggregate_types = 1;
|
||||||
}
|
}
|
||||||
|
@@ -3,6 +3,8 @@ syntax = "proto3";
|
|||||||
import "google/protobuf/timestamp.proto";
|
import "google/protobuf/timestamp.proto";
|
||||||
import "google/protobuf/struct.proto";
|
import "google/protobuf/struct.proto";
|
||||||
|
|
||||||
|
import "zitadel/message.proto";
|
||||||
|
|
||||||
import "protoc-gen-openapiv2/options/annotations.proto";
|
import "protoc-gen-openapiv2/options/annotations.proto";
|
||||||
|
|
||||||
package zitadel.event.v1;
|
package zitadel.event.v1;
|
||||||
@@ -20,7 +22,7 @@ message Event {
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
google.protobuf.Struct payload = 5;
|
google.protobuf.Struct payload = 5;
|
||||||
string type = 6;
|
EventType type = 6;
|
||||||
}
|
}
|
||||||
|
|
||||||
message Editor {
|
message Editor {
|
||||||
@@ -31,6 +33,16 @@ message Editor {
|
|||||||
|
|
||||||
message Aggregate {
|
message Aggregate {
|
||||||
string id = 1;
|
string id = 1;
|
||||||
string type = 2;
|
AggregateType type = 2;
|
||||||
string resource_owner = 3;
|
string resource_owner = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
message EventType {
|
||||||
|
string type = 1;
|
||||||
|
zitadel.v1.LocalizedMessage localized = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
message AggregateType {
|
||||||
|
string type = 1;
|
||||||
|
zitadel.v1.LocalizedMessage localized = 2;
|
||||||
|
}
|
Reference in New Issue
Block a user