mirror of
https://github.com/zitadel/zitadel.git
synced 2025-02-28 19:57:22 +00:00
fix: member projections (#2771)
* fix(projections): start member projections * fix(projection): member roles as string array * fix member tests
This commit is contained in:
parent
7a5cb80569
commit
983382fcec
@ -8,6 +8,7 @@ import (
|
||||
"github.com/caos/zitadel/internal/eventstore/handler"
|
||||
"github.com/caos/zitadel/internal/eventstore/repository"
|
||||
"github.com/caos/zitadel/internal/repository/iam"
|
||||
"github.com/lib/pq"
|
||||
)
|
||||
|
||||
func TestIAMMemberProjection_reduces(t *testing.T) {
|
||||
@ -44,7 +45,7 @@ func TestIAMMemberProjection_reduces(t *testing.T) {
|
||||
expectedStmt: "INSERT INTO zitadel.projections.iam_members (user_id, roles, creation_date, change_date, sequence, resource_owner, iam_id) VALUES ($1, $2, $3, $4, $5, $6, $7)",
|
||||
expectedArgs: []interface{}{
|
||||
"user-id",
|
||||
[]string{"role"},
|
||||
pq.StringArray{"role"},
|
||||
anyArg{},
|
||||
anyArg{},
|
||||
uint64(15),
|
||||
@ -79,7 +80,7 @@ func TestIAMMemberProjection_reduces(t *testing.T) {
|
||||
{
|
||||
expectedStmt: "UPDATE zitadel.projections.iam_members SET (roles, change_date, sequence) = ($1, $2, $3) WHERE (user_id = $4) AND (iam_id = $5)",
|
||||
expectedArgs: []interface{}{
|
||||
[]string{"role", "changed"},
|
||||
pq.StringArray{"role", "changed"},
|
||||
anyArg{},
|
||||
uint64(15),
|
||||
"user-id",
|
||||
|
@ -4,6 +4,7 @@ import (
|
||||
"github.com/caos/zitadel/internal/eventstore/handler"
|
||||
"github.com/caos/zitadel/internal/eventstore/handler/crdb"
|
||||
"github.com/caos/zitadel/internal/repository/member"
|
||||
"github.com/lib/pq"
|
||||
)
|
||||
|
||||
const (
|
||||
@ -41,7 +42,7 @@ func reduceMemberAdded(e member.MemberAddedEvent, opts ...reduceMemberOpt) (*han
|
||||
config := reduceMemberConfig{
|
||||
cols: []handler.Column{
|
||||
handler.NewCol(MemberUserIDCol, e.UserID),
|
||||
handler.NewCol(MemberRolesCol, e.Roles),
|
||||
handler.NewCol(MemberRolesCol, pq.StringArray(e.Roles)),
|
||||
handler.NewCol(MemberCreationDate, e.CreationDate()),
|
||||
handler.NewCol(MemberChangeDate, e.CreationDate()),
|
||||
handler.NewCol(MemberSequence, e.Sequence()),
|
||||
@ -58,7 +59,7 @@ func reduceMemberAdded(e member.MemberAddedEvent, opts ...reduceMemberOpt) (*han
|
||||
func reduceMemberChanged(e member.MemberChangedEvent, opts ...reduceMemberOpt) (*handler.Statement, error) {
|
||||
config := reduceMemberConfig{
|
||||
cols: []handler.Column{
|
||||
handler.NewCol(MemberRolesCol, e.Roles),
|
||||
handler.NewCol(MemberRolesCol, pq.StringArray(e.Roles)),
|
||||
handler.NewCol(MemberChangeDate, e.CreationDate()),
|
||||
handler.NewCol(MemberSequence, e.Sequence()),
|
||||
},
|
||||
|
@ -8,6 +8,7 @@ import (
|
||||
"github.com/caos/zitadel/internal/eventstore/handler"
|
||||
"github.com/caos/zitadel/internal/eventstore/repository"
|
||||
"github.com/caos/zitadel/internal/repository/org"
|
||||
"github.com/lib/pq"
|
||||
)
|
||||
|
||||
func TestOrgMemberProjection_reduces(t *testing.T) {
|
||||
@ -44,7 +45,7 @@ func TestOrgMemberProjection_reduces(t *testing.T) {
|
||||
expectedStmt: "INSERT INTO zitadel.projections.org_members (user_id, roles, creation_date, change_date, sequence, resource_owner, org_id) VALUES ($1, $2, $3, $4, $5, $6, $7)",
|
||||
expectedArgs: []interface{}{
|
||||
"user-id",
|
||||
[]string{"role"},
|
||||
pq.StringArray{"role"},
|
||||
anyArg{},
|
||||
anyArg{},
|
||||
uint64(15),
|
||||
@ -79,7 +80,7 @@ func TestOrgMemberProjection_reduces(t *testing.T) {
|
||||
{
|
||||
expectedStmt: "UPDATE zitadel.projections.org_members SET (roles, change_date, sequence) = ($1, $2, $3) WHERE (user_id = $4) AND (org_id = $5)",
|
||||
expectedArgs: []interface{}{
|
||||
[]string{"role", "changed"},
|
||||
pq.StringArray{"role", "changed"},
|
||||
anyArg{},
|
||||
uint64(15),
|
||||
"user-id",
|
||||
|
@ -8,6 +8,7 @@ import (
|
||||
"github.com/caos/zitadel/internal/eventstore/handler"
|
||||
"github.com/caos/zitadel/internal/eventstore/repository"
|
||||
"github.com/caos/zitadel/internal/repository/project"
|
||||
"github.com/lib/pq"
|
||||
)
|
||||
|
||||
func TestProjectGrantMemberProjection_reduces(t *testing.T) {
|
||||
@ -45,7 +46,7 @@ func TestProjectGrantMemberProjection_reduces(t *testing.T) {
|
||||
expectedStmt: "INSERT INTO zitadel.projections.project_grant_members (user_id, roles, creation_date, change_date, sequence, resource_owner, project_id, grant_id) VALUES ($1, $2, $3, $4, $5, $6, $7, $8)",
|
||||
expectedArgs: []interface{}{
|
||||
"user-id",
|
||||
[]string{"role"},
|
||||
pq.StringArray{"role"},
|
||||
anyArg{},
|
||||
anyArg{},
|
||||
uint64(15),
|
||||
@ -82,7 +83,7 @@ func TestProjectGrantMemberProjection_reduces(t *testing.T) {
|
||||
{
|
||||
expectedStmt: "UPDATE zitadel.projections.project_grant_members SET (roles, change_date, sequence) = ($1, $2, $3) WHERE (user_id = $4) AND (project_id = $5) AND (grant_id = $6)",
|
||||
expectedArgs: []interface{}{
|
||||
[]string{"role", "changed"},
|
||||
pq.StringArray{"role", "changed"},
|
||||
anyArg{},
|
||||
uint64(15),
|
||||
"user-id",
|
||||
|
@ -8,6 +8,7 @@ import (
|
||||
"github.com/caos/zitadel/internal/eventstore/handler"
|
||||
"github.com/caos/zitadel/internal/eventstore/repository"
|
||||
"github.com/caos/zitadel/internal/repository/project"
|
||||
"github.com/lib/pq"
|
||||
)
|
||||
|
||||
func TestProjectMemberProjection_reduces(t *testing.T) {
|
||||
@ -44,7 +45,7 @@ func TestProjectMemberProjection_reduces(t *testing.T) {
|
||||
expectedStmt: "INSERT INTO zitadel.projections.project_members (user_id, roles, creation_date, change_date, sequence, resource_owner, project_id) VALUES ($1, $2, $3, $4, $5, $6, $7)",
|
||||
expectedArgs: []interface{}{
|
||||
"user-id",
|
||||
[]string{"role"},
|
||||
pq.StringArray{"role"},
|
||||
anyArg{},
|
||||
anyArg{},
|
||||
uint64(15),
|
||||
@ -79,7 +80,7 @@ func TestProjectMemberProjection_reduces(t *testing.T) {
|
||||
{
|
||||
expectedStmt: "UPDATE zitadel.projections.project_members SET (roles, change_date, sequence) = ($1, $2, $3) WHERE (user_id = $4) AND (project_id = $5)",
|
||||
expectedArgs: []interface{}{
|
||||
[]string{"role", "changed"},
|
||||
pq.StringArray{"role", "changed"},
|
||||
anyArg{},
|
||||
uint64(15),
|
||||
"user-id",
|
||||
|
@ -58,6 +58,10 @@ func Start(ctx context.Context, sqlClient *sql.DB, es *eventstore.Eventstore, co
|
||||
NewFeatureProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["features"]))
|
||||
NewUserProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["users"]))
|
||||
NewLoginNameProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["login_names"]))
|
||||
NewOrgMemberProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["org_members"]))
|
||||
NewIAMMemberProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["iam_members"]))
|
||||
NewProjectMemberProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["project_members"]))
|
||||
NewProjectGrantMemberProjection(ctx, applyCustomConfig(projectionConfig, config.Customizations["project_grant_members"]))
|
||||
|
||||
return nil
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user