mirror of
https://github.com/zitadel/zitadel.git
synced 2025-03-01 17:37:24 +00:00

Update the ../proto/zitadel/member.proto to include the UserResourceOwner as part of member. Update the queries to include UserResourceOwner for the following : zitadel/internal/query/iam_member.go zitadel/internal/query/org_member.go zitadel/internal/query/project_member.go zitadel/internal/query/project_grant_member.go Non Breaking Changes # Which Problems Are Solved https://github.com/zitadel/zitadel/issues/5062 # How the Problems Are Solved - Updated the member.proto file to include user_resource_owner. I have compiled using` make compile` command . - Changed the queries to include the userResourceOwner as part of Member. - Then, updated the converter to map the userResourceOwner. # Additional Changes Replace this example text with a concise list of additional changes that this PR introduces, that are not directly solving the initial problem but are related. For example: - The docs explicitly describe that the property XY is mandatory - Adds missing translations for validations. # Additional Context - Closes #5062 - https://discordapp.com/channels/927474939156643850/1326245856193544232/1326476710752948316
65 lines
1.6 KiB
Go
65 lines
1.6 KiB
Go
package query
|
|
|
|
import (
|
|
"time"
|
|
|
|
sq "github.com/Masterminds/squirrel"
|
|
|
|
"github.com/zitadel/zitadel/internal/database"
|
|
"github.com/zitadel/zitadel/internal/domain"
|
|
)
|
|
|
|
type MembersQuery struct {
|
|
SearchRequest
|
|
Queries []SearchQuery
|
|
}
|
|
|
|
func (q *MembersQuery) toQuery(query sq.SelectBuilder) sq.SelectBuilder {
|
|
query = q.SearchRequest.toQuery(query)
|
|
for _, q := range q.Queries {
|
|
query = q.toQuery(query)
|
|
}
|
|
return query
|
|
}
|
|
|
|
func NewMemberEmailSearchQuery(method TextComparison, value string) (SearchQuery, error) {
|
|
return NewTextQuery(HumanEmailCol, value, method)
|
|
}
|
|
|
|
func NewMemberFirstNameSearchQuery(method TextComparison, value string) (SearchQuery, error) {
|
|
return NewTextQuery(HumanFirstNameCol, value, method)
|
|
}
|
|
|
|
func NewMemberLastNameSearchQuery(method TextComparison, value string) (SearchQuery, error) {
|
|
return NewTextQuery(HumanLastNameCol, value, method)
|
|
}
|
|
|
|
func NewMemberUserIDSearchQuery(value string) (SearchQuery, error) {
|
|
return NewTextQuery(membershipUserID, value, TextEquals)
|
|
}
|
|
func NewMemberResourceOwnerSearchQuery(value string) (SearchQuery, error) {
|
|
return NewTextQuery(membershipResourceOwner, value, TextEquals)
|
|
}
|
|
|
|
type Members struct {
|
|
SearchResponse
|
|
Members []*Member
|
|
}
|
|
|
|
type Member struct {
|
|
CreationDate time.Time
|
|
ChangeDate time.Time
|
|
Sequence uint64
|
|
ResourceOwner string
|
|
UserResourceOwner string
|
|
UserID string
|
|
Roles database.TextArray[string]
|
|
PreferredLoginName string
|
|
Email string
|
|
FirstName string
|
|
LastName string
|
|
DisplayName string
|
|
AvatarURL string
|
|
UserType domain.UserType
|
|
}
|