mirror of
https://github.com/zitadel/zitadel.git
synced 2025-10-09 06:12:02 +00:00

* fix: add action v2 execution to features * fix: add action v2 execution to features * fix: add action v2 execution to features * fix: update internal/command/instance_features_model.go Co-authored-by: Tim Möhlmann <tim+github@zitadel.com> * fix: merge back main * fix: merge back main * fix: rename feature and service * fix: rename feature and service * fix: review changes * fix: review changes --------- Co-authored-by: Tim Möhlmann <tim+github@zitadel.com>
124 lines
4.0 KiB
Protocol Buffer
124 lines
4.0 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package zitadel.action.v3alpha;
|
|
|
|
import "google/api/annotations.proto";
|
|
import "google/api/field_behavior.proto";
|
|
import "google/protobuf/duration.proto";
|
|
import "google/protobuf/struct.proto";
|
|
import "protoc-gen-openapiv2/options/annotations.proto";
|
|
import "validate/validate.proto";
|
|
import "zitadel/object/v2beta/object.proto";
|
|
import "zitadel/protoc_gen_zitadel/v2/options.proto";
|
|
|
|
option go_package = "github.com/zitadel/zitadel/pkg/grpc/action/v3alpha;action";
|
|
|
|
message Execution {
|
|
string execution_id = 1 [
|
|
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
|
example: "\"request.zitadel.session.v2beta.SessionService\"";
|
|
}
|
|
];
|
|
// Details provide some base information (such as the last change date) of the target.
|
|
zitadel.object.v2beta.Details details = 2;
|
|
// Targets which are called in the defined conditions.
|
|
repeated string targets = 3;
|
|
// Included executions with the same condition-types.
|
|
repeated string includes = 4;
|
|
}
|
|
|
|
message Condition {
|
|
// Condition-types under which conditions the execution should happen, only one possible.
|
|
oneof condition_type {
|
|
option (validate.required) = true;
|
|
|
|
// Condition-type to execute if a request on the defined API point happens.
|
|
RequestExecution request = 1;
|
|
// Condition-type to execute on response if a request on the defined API point happens.
|
|
ResponseExecution response = 2;
|
|
// Condition-type to execute if function is used, replaces actions v1.
|
|
string function = 3;
|
|
// Condition-type to execute if an event is created in the system.
|
|
EventExecution event = 4;
|
|
}
|
|
}
|
|
|
|
message RequestExecution {
|
|
// Condition for the request execution, only one possible.
|
|
oneof condition{
|
|
// GRPC-method as condition.
|
|
string method = 1 [
|
|
(validate.rules).string = {min_len: 1, max_len: 1000},
|
|
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
|
min_length: 1,
|
|
max_length: 1000,
|
|
example: "\"/zitadel.session.v2beta.SessionService/ListSessions\"";
|
|
}
|
|
];
|
|
// GRPC-service as condition.
|
|
string service = 2 [
|
|
(validate.rules).string = {min_len: 1, max_len: 1000},
|
|
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
|
min_length: 1,
|
|
max_length: 1000,
|
|
example: "\"zitadel.session.v2beta.SessionService\"";
|
|
}
|
|
];
|
|
// All calls to any available service and endpoint as condition.
|
|
bool all = 3;
|
|
}
|
|
}
|
|
|
|
message ResponseExecution {
|
|
// Condition for the response execution, only one possible.
|
|
oneof condition{
|
|
// GRPC-method as condition.
|
|
string method = 1 [
|
|
(validate.rules).string = {min_len: 1, max_len: 1000},
|
|
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
|
min_length: 1,
|
|
max_length: 1000,
|
|
example: "\"/zitadel.session.v2beta.SessionService/ListSessions\"";
|
|
}
|
|
];
|
|
// GRPC-service as condition.
|
|
string service = 2 [
|
|
(validate.rules).string = {min_len: 1, max_len: 1000},
|
|
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
|
min_length: 1,
|
|
max_length: 1000,
|
|
example: "\"zitadel.session.v2beta.SessionService\"";
|
|
}
|
|
];
|
|
// All calls to any available service and endpoint as condition.
|
|
bool all = 3;
|
|
}
|
|
}
|
|
|
|
message EventExecution{
|
|
// Condition for the event execution, only one possible.
|
|
oneof condition{
|
|
// Event name as condition.
|
|
string event = 1 [
|
|
(validate.rules).string = {min_len: 1, max_len: 1000},
|
|
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
|
min_length: 1,
|
|
max_length: 1000,
|
|
example: "\"user.human.added\"";
|
|
}
|
|
];
|
|
// Event group as condition, all events under this group.
|
|
string group = 2 [
|
|
(validate.rules).string = {min_len: 1, max_len: 1000},
|
|
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
|
min_length: 1,
|
|
max_length: 1000,
|
|
example: "\"user.human\"";
|
|
}
|
|
];
|
|
// all events as condition.
|
|
bool all = 3;
|
|
}
|
|
}
|
|
|