mirror of
https://github.com/zitadel/zitadel.git
synced 2024-12-14 11:58:02 +00:00
6e105f662e
* init for views (spooler, handler) * init for views (spooler, handler) * start view in management * granted project * implement granted project view * search granted projects * fix search column * update all projects on project change * search roles * filter org * project members * project grant members * fix tests * application view * project grant search * mock * test appendevents * test appendevents * Update internal/view/query.go Co-authored-by: Livio Amstutz <livio.a@gmail.com> * Update internal/eventstore/spooler/spooler.go Co-authored-by: Livio Amstutz <livio.a@gmail.com> * Update internal/view/query.go Co-authored-by: Livio Amstutz <livio.a@gmail.com> * merge request changes * Update internal/project/repository/view/model/application.go Co-authored-by: Livio Amstutz <livio.a@gmail.com> * merge request changes * Project view sql (#92) * sql and configs * error handling * sql start in eventstore * on error handling, config * read user on members * Update internal/project/repository/view/application_view.go Co-authored-by: Silvan <silvan.reusser@gmail.com> * Update internal/project/repository/view/model/application.go Co-authored-by: Silvan <silvan.reusser@gmail.com> * Update internal/project/repository/view/model/application.go Co-authored-by: Silvan <silvan.reusser@gmail.com> * Update internal/project/repository/view/model/application.go Co-authored-by: Silvan <silvan.reusser@gmail.com> * Update internal/project/repository/view/model/application.go Co-authored-by: Silvan <silvan.reusser@gmail.com> * Update internal/project/repository/view/model/application.go Co-authored-by: Silvan <silvan.reusser@gmail.com> * Update internal/project/repository/view/model/application_query.go Co-authored-by: Silvan <silvan.reusser@gmail.com> * Update pkg/management/api/grpc/project_grant_converter.go Co-authored-by: Silvan <silvan.reusser@gmail.com> * Update pkg/management/api/grpc/project_grant_member_converter.go Co-authored-by: Silvan <silvan.reusser@gmail.com> * Update pkg/management/api/grpc/project_grant_member_converter.go Co-authored-by: Silvan <silvan.reusser@gmail.com> * Update pkg/management/api/grpc/project_member_converter.go Co-authored-by: Silvan <silvan.reusser@gmail.com> * Update pkg/management/api/grpc/project_member_converter.go Co-authored-by: Silvan <silvan.reusser@gmail.com> * Update internal/project/repository/view/model/granted_project.go Co-authored-by: Silvan <silvan.reusser@gmail.com> * return caos errors * Update internal/project/repository/view/model/granted_project_query.go Co-authored-by: Silvan <silvan.reusser@gmail.com> * Update internal/project/repository/view/model/project_grant_member.go Co-authored-by: Silvan <silvan.reusser@gmail.com> * Update internal/project/repository/view/model/project_grant_member_query.go Co-authored-by: Silvan <silvan.reusser@gmail.com> * Update internal/project/repository/view/model/project_member.go Co-authored-by: Silvan <silvan.reusser@gmail.com> * Update internal/project/repository/view/model/project_member_query.go Co-authored-by: Silvan <silvan.reusser@gmail.com> * Update internal/project/repository/view/model/project_role.go Co-authored-by: Silvan <silvan.reusser@gmail.com> * Update internal/project/repository/view/model/project_role_query.go Co-authored-by: Silvan <silvan.reusser@gmail.com> * Update pkg/management/api/grpc/application_converter.go Co-authored-by: Silvan <silvan.reusser@gmail.com> * Update pkg/management/api/grpc/application_converter.go Co-authored-by: Silvan <silvan.reusser@gmail.com> * Update pkg/management/api/grpc/project_converter.go Co-authored-by: Silvan <silvan.reusser@gmail.com> * Update pkg/management/api/grpc/project_converter.go Co-authored-by: Silvan <silvan.reusser@gmail.com> * Update pkg/management/api/grpc/project_converter.go Co-authored-by: Silvan <silvan.reusser@gmail.com> * Update pkg/management/api/grpc/project_converter.go Co-authored-by: Silvan <silvan.reusser@gmail.com> * converter fix Co-authored-by: Livio Amstutz <livio.a@gmail.com> Co-authored-by: Silvan <silvan.reusser@gmail.com>
121 lines
3.9 KiB
Go
121 lines
3.9 KiB
Go
package grpc
|
|
|
|
import (
|
|
"github.com/caos/logging"
|
|
"github.com/caos/zitadel/internal/eventstore/models"
|
|
proj_model "github.com/caos/zitadel/internal/project/model"
|
|
"github.com/golang/protobuf/ptypes"
|
|
)
|
|
|
|
func projectMemberFromModel(member *proj_model.ProjectMember) *ProjectMember {
|
|
creationDate, err := ptypes.TimestampProto(member.CreationDate)
|
|
logging.Log("GRPC-kd8re").OnError(err).Debug("unable to parse timestamp")
|
|
|
|
changeDate, err := ptypes.TimestampProto(member.ChangeDate)
|
|
logging.Log("GRPC-dlei3").OnError(err).Debug("unable to parse timestamp")
|
|
|
|
return &ProjectMember{
|
|
CreationDate: creationDate,
|
|
ChangeDate: changeDate,
|
|
Sequence: member.Sequence,
|
|
UserId: member.UserID,
|
|
Roles: member.Roles,
|
|
}
|
|
}
|
|
|
|
func projectMemberAddToModel(member *ProjectMemberAdd) *proj_model.ProjectMember {
|
|
return &proj_model.ProjectMember{
|
|
ObjectRoot: models.ObjectRoot{
|
|
AggregateID: member.Id,
|
|
},
|
|
UserID: member.UserId,
|
|
Roles: member.Roles,
|
|
}
|
|
}
|
|
|
|
func projectMemberChangeToModel(member *ProjectMemberChange) *proj_model.ProjectMember {
|
|
return &proj_model.ProjectMember{
|
|
ObjectRoot: models.ObjectRoot{
|
|
AggregateID: member.Id,
|
|
},
|
|
UserID: member.UserId,
|
|
Roles: member.Roles,
|
|
}
|
|
}
|
|
|
|
func projectMemberSearchRequestsToModel(role *ProjectMemberSearchRequest) *proj_model.ProjectMemberSearchRequest {
|
|
return &proj_model.ProjectMemberSearchRequest{
|
|
Offset: role.Offset,
|
|
Limit: role.Limit,
|
|
Queries: projectMemberSearchQueriesToModel(role.Queries),
|
|
}
|
|
}
|
|
|
|
func projectMemberSearchQueriesToModel(queries []*ProjectMemberSearchQuery) []*proj_model.ProjectMemberSearchQuery {
|
|
converted := make([]*proj_model.ProjectMemberSearchQuery, len(queries))
|
|
for i, q := range queries {
|
|
converted[i] = projectMemberSearchQueryToModel(q)
|
|
}
|
|
return converted
|
|
}
|
|
|
|
func projectMemberSearchQueryToModel(query *ProjectMemberSearchQuery) *proj_model.ProjectMemberSearchQuery {
|
|
return &proj_model.ProjectMemberSearchQuery{
|
|
Key: projectMemberSearchKeyToModel(query.Key),
|
|
Method: searchMethodToModel(query.Method),
|
|
Value: query.Value,
|
|
}
|
|
}
|
|
|
|
func projectMemberSearchKeyToModel(key ProjectMemberSearchKey) proj_model.ProjectMemberSearchKey {
|
|
switch key {
|
|
case ProjectMemberSearchKey_PROJECTMEMBERSEARCHKEY_EMAIL:
|
|
return proj_model.PROJECTMEMBERSEARCHKEY_EMAIL
|
|
case ProjectMemberSearchKey_PROJECTMEMBERSEARCHKEY_FIRST_NAME:
|
|
return proj_model.PROJECTMEMBERSEARCHKEY_FIRST_NAME
|
|
case ProjectMemberSearchKey_PROJECTMEMBERSEARCHKEY_LAST_NAME:
|
|
return proj_model.PROJECTMEMBERSEARCHKEY_LAST_NAME
|
|
case ProjectMemberSearchKey_PROJECTMEMBERSEARCHKEY_USER_NAME:
|
|
return proj_model.PROJECTMEMBERSEARCHKEY_USER_NAME
|
|
default:
|
|
return proj_model.PROJECTMEMBERSEARCHKEY_UNSPECIFIED
|
|
}
|
|
}
|
|
|
|
func projectMemberSearchResponseFromModel(response *proj_model.ProjectMemberSearchResponse) *ProjectMemberSearchResponse {
|
|
return &ProjectMemberSearchResponse{
|
|
Offset: response.Offset,
|
|
Limit: response.Limit,
|
|
TotalResult: response.TotalResult,
|
|
Result: projectMemberViewsFromModel(response.Result),
|
|
}
|
|
}
|
|
|
|
func projectMemberViewsFromModel(members []*proj_model.ProjectMemberView) []*ProjectMemberView {
|
|
converted := make([]*ProjectMemberView, len(members))
|
|
for i, member := range members {
|
|
converted[i] = projectMemberViewFromModel(member)
|
|
}
|
|
return converted
|
|
}
|
|
|
|
func projectMemberViewFromModel(member *proj_model.ProjectMemberView) *ProjectMemberView {
|
|
creationDate, err := ptypes.TimestampProto(member.CreationDate)
|
|
logging.Log("GRPC-sl9cs").OnError(err).Debug("unable to parse timestamp")
|
|
|
|
changeDate, err := ptypes.TimestampProto(member.ChangeDate)
|
|
logging.Log("GRPC-8iw2d").OnError(err).Debug("unable to parse timestamp")
|
|
|
|
return &ProjectMemberView{
|
|
UserId: member.UserID,
|
|
UserName: member.UserName,
|
|
Email: member.Email,
|
|
FirstName: member.FirstName,
|
|
LastName: member.LastName,
|
|
Roles: member.Roles,
|
|
CreationDate: creationDate,
|
|
ChangeDate: changeDate,
|
|
Sequence: member.Sequence,
|
|
}
|
|
}
|