package model import ( "github.com/caos/zitadel/internal/model" "time" ) type ProjectMemberView struct { UserID string ProjectID string UserName string Email string FirstName string LastName string DisplayName string Roles []string CreationDate time.Time ChangeDate time.Time Sequence uint64 } type ProjectMemberSearchRequest struct { Offset uint64 Limit uint64 SortingColumn ProjectMemberSearchKey Asc bool Queries []*ProjectMemberSearchQuery } type ProjectMemberSearchKey int32 const ( ProjectMemberSearchKeyUnspecified ProjectMemberSearchKey = iota ProjectMemberSearchKeyUserName ProjectMemberSearchKeyEmail ProjectMemberSearchKeyFirstName ProjectMemberSearchKeyLastName ProjectMemberSearchKeyProjectID ProjectMemberSearchKeyUserID ) type ProjectMemberSearchQuery struct { Key ProjectMemberSearchKey Method model.SearchMethod Value interface{} } type ProjectMemberSearchResponse struct { Offset uint64 Limit uint64 TotalResult uint64 Result []*ProjectMemberView Sequence uint64 Timestamp time.Time } func (r *ProjectMemberSearchRequest) EnsureLimit(limit uint64) { if r.Limit == 0 || r.Limit > limit { r.Limit = limit } } func (r *ProjectMemberSearchRequest) AppendProjectQuery(projectID string) { r.Queries = append(r.Queries, &ProjectMemberSearchQuery{Key: ProjectMemberSearchKeyProjectID, Method: model.SearchMethodEquals, Value: projectID}) }