mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-11 20:27:32 +00:00
feat: add action v2 execution on requests and responses (#7637)
* feat: add execution of targets to grpc calls * feat: add execution of targets to grpc calls * feat: add execution of targets to grpc calls * feat: add execution of targets to grpc calls * feat: add execution of targets to grpc calls * feat: add execution of targets to grpc calls * feat: add execution of targets to grpc calls * feat: split request and response logic to handle the different context information * feat: split request and response logic to handle the different context information * fix: integration test * fix: import alias * fix: refactor execution package * fix: refactor execution interceptor integration and unit tests * fix: refactor execution interceptor integration and unit tests * fix: refactor execution interceptor integration and unit tests * fix: refactor execution interceptor integration and unit tests * fix: refactor execution interceptor integration and unit tests * docs: basic documentation for executions and targets * fix: change order for interceptors * fix: merge back origin/main * fix: change target definition command and query side (#7735) * fix: change target definition command and query side * fix: correct refactoring name changes * fix: correct refactoring name changes * fix: changing execution defintion with target list and type * fix: changing execution definition with target list and type * fix: add back search queries for target and include * fix: projections change for execution with targets suffix table * fix: projections change for execution with targets suffix table * fix: projections change for execution with targets suffix table * fix: projections change for execution with targets suffix table * fix: projections change for execution with targets suffix table * fix: projections change for execution with targets suffix table * fix: projections change for execution with targets suffix table * docs: add example to actions v2 * docs: add example to actions v2 * fix: correct integration tests on query for executions * fix: add separate event for execution v2 as content changed * fix: add separate event for execution v2 as content changed * fix: added review comment changes * fix: added review comment changes * fix: added review comment changes --------- Co-authored-by: adlerhurst <silvan.reusser@gmail.com> * fix: added review comment changes * fix: added review comment changes * Update internal/api/grpc/server/middleware/execution_interceptor.go Co-authored-by: Silvan <silvan.reusser@gmail.com> * fix: added review comment changes * fix: added review comment changes * fix: added review comment changes * fix: added review comment changes * fix: added review comment changes * fix: added review comment changes --------- Co-authored-by: adlerhurst <silvan.reusser@gmail.com> Co-authored-by: Elio Bischof <elio@zitadel.com>
This commit is contained in:
@@ -14,18 +14,17 @@ import (
|
||||
)
|
||||
|
||||
var (
|
||||
prepareTargetsStmt = `SELECT projections.targets.id,` +
|
||||
` projections.targets.change_date,` +
|
||||
` projections.targets.resource_owner,` +
|
||||
` projections.targets.sequence,` +
|
||||
` projections.targets.name,` +
|
||||
` projections.targets.target_type,` +
|
||||
` projections.targets.timeout,` +
|
||||
` projections.targets.url,` +
|
||||
` projections.targets.async,` +
|
||||
` projections.targets.interrupt_on_error,` +
|
||||
prepareTargetsStmt = `SELECT projections.targets1.id,` +
|
||||
` projections.targets1.change_date,` +
|
||||
` projections.targets1.resource_owner,` +
|
||||
` projections.targets1.sequence,` +
|
||||
` projections.targets1.name,` +
|
||||
` projections.targets1.target_type,` +
|
||||
` projections.targets1.timeout,` +
|
||||
` projections.targets1.endpoint,` +
|
||||
` projections.targets1.interrupt_on_error,` +
|
||||
` COUNT(*) OVER ()` +
|
||||
` FROM projections.targets`
|
||||
` FROM projections.targets1`
|
||||
prepareTargetsCols = []string{
|
||||
"id",
|
||||
"change_date",
|
||||
@@ -34,23 +33,21 @@ var (
|
||||
"name",
|
||||
"target_type",
|
||||
"timeout",
|
||||
"url",
|
||||
"async",
|
||||
"endpoint",
|
||||
"interrupt_on_error",
|
||||
"count",
|
||||
}
|
||||
|
||||
prepareTargetStmt = `SELECT projections.targets.id,` +
|
||||
` projections.targets.change_date,` +
|
||||
` projections.targets.resource_owner,` +
|
||||
` projections.targets.sequence,` +
|
||||
` projections.targets.name,` +
|
||||
` projections.targets.target_type,` +
|
||||
` projections.targets.timeout,` +
|
||||
` projections.targets.url,` +
|
||||
` projections.targets.async,` +
|
||||
` projections.targets.interrupt_on_error` +
|
||||
` FROM projections.targets`
|
||||
prepareTargetStmt = `SELECT projections.targets1.id,` +
|
||||
` projections.targets1.change_date,` +
|
||||
` projections.targets1.resource_owner,` +
|
||||
` projections.targets1.sequence,` +
|
||||
` projections.targets1.name,` +
|
||||
` projections.targets1.target_type,` +
|
||||
` projections.targets1.timeout,` +
|
||||
` projections.targets1.endpoint,` +
|
||||
` projections.targets1.interrupt_on_error` +
|
||||
` FROM projections.targets1`
|
||||
prepareTargetCols = []string{
|
||||
"id",
|
||||
"change_date",
|
||||
@@ -59,8 +56,7 @@ var (
|
||||
"name",
|
||||
"target_type",
|
||||
"timeout",
|
||||
"url",
|
||||
"async",
|
||||
"endpoint",
|
||||
"interrupt_on_error",
|
||||
}
|
||||
)
|
||||
@@ -106,7 +102,6 @@ func Test_TargetPrepares(t *testing.T) {
|
||||
1 * time.Second,
|
||||
"https://example.com",
|
||||
true,
|
||||
true,
|
||||
},
|
||||
},
|
||||
),
|
||||
@@ -126,8 +121,7 @@ func Test_TargetPrepares(t *testing.T) {
|
||||
Name: "target-name",
|
||||
TargetType: domain.TargetTypeWebhook,
|
||||
Timeout: 1 * time.Second,
|
||||
URL: "https://example.com",
|
||||
Async: true,
|
||||
Endpoint: "https://example.com",
|
||||
InterruptOnError: true,
|
||||
},
|
||||
},
|
||||
@@ -151,7 +145,6 @@ func Test_TargetPrepares(t *testing.T) {
|
||||
1 * time.Second,
|
||||
"https://example.com",
|
||||
true,
|
||||
false,
|
||||
},
|
||||
{
|
||||
"id-2",
|
||||
@@ -163,14 +156,24 @@ func Test_TargetPrepares(t *testing.T) {
|
||||
1 * time.Second,
|
||||
"https://example.com",
|
||||
false,
|
||||
true,
|
||||
},
|
||||
{
|
||||
"id-3",
|
||||
testNow,
|
||||
"ro",
|
||||
uint64(20211110),
|
||||
"target-name3",
|
||||
domain.TargetTypeAsync,
|
||||
1 * time.Second,
|
||||
"https://example.com",
|
||||
false,
|
||||
},
|
||||
},
|
||||
),
|
||||
},
|
||||
object: &Targets{
|
||||
SearchResponse: SearchResponse{
|
||||
Count: 2,
|
||||
Count: 3,
|
||||
},
|
||||
Targets: []*Target{
|
||||
{
|
||||
@@ -183,9 +186,8 @@ func Test_TargetPrepares(t *testing.T) {
|
||||
Name: "target-name1",
|
||||
TargetType: domain.TargetTypeWebhook,
|
||||
Timeout: 1 * time.Second,
|
||||
URL: "https://example.com",
|
||||
Async: true,
|
||||
InterruptOnError: false,
|
||||
Endpoint: "https://example.com",
|
||||
InterruptOnError: true,
|
||||
},
|
||||
{
|
||||
ID: "id-2",
|
||||
@@ -197,9 +199,21 @@ func Test_TargetPrepares(t *testing.T) {
|
||||
Name: "target-name2",
|
||||
TargetType: domain.TargetTypeWebhook,
|
||||
Timeout: 1 * time.Second,
|
||||
URL: "https://example.com",
|
||||
Async: false,
|
||||
InterruptOnError: true,
|
||||
Endpoint: "https://example.com",
|
||||
InterruptOnError: false,
|
||||
},
|
||||
{
|
||||
ID: "id-3",
|
||||
ObjectDetails: domain.ObjectDetails{
|
||||
EventDate: testNow,
|
||||
ResourceOwner: "ro",
|
||||
Sequence: 20211110,
|
||||
},
|
||||
Name: "target-name3",
|
||||
TargetType: domain.TargetTypeAsync,
|
||||
Timeout: 1 * time.Second,
|
||||
Endpoint: "https://example.com",
|
||||
InterruptOnError: false,
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -256,7 +270,6 @@ func Test_TargetPrepares(t *testing.T) {
|
||||
1 * time.Second,
|
||||
"https://example.com",
|
||||
true,
|
||||
false,
|
||||
},
|
||||
),
|
||||
},
|
||||
@@ -270,9 +283,8 @@ func Test_TargetPrepares(t *testing.T) {
|
||||
Name: "target-name",
|
||||
TargetType: domain.TargetTypeWebhook,
|
||||
Timeout: 1 * time.Second,
|
||||
URL: "https://example.com",
|
||||
Async: true,
|
||||
InterruptOnError: false,
|
||||
Endpoint: "https://example.com",
|
||||
InterruptOnError: true,
|
||||
},
|
||||
},
|
||||
{
|
||||
|
Reference in New Issue
Block a user