2020-07-08 13:56:37 +02:00
|
|
|
package admin
|
2020-06-25 08:12:29 +02:00
|
|
|
|
|
|
|
import (
|
2022-04-27 01:01:45 +02:00
|
|
|
member_grpc "github.com/zitadel/zitadel/internal/api/grpc/member"
|
|
|
|
"github.com/zitadel/zitadel/internal/api/grpc/object"
|
2025-07-04 18:12:59 +02:00
|
|
|
"github.com/zitadel/zitadel/internal/command"
|
2022-04-27 01:01:45 +02:00
|
|
|
"github.com/zitadel/zitadel/internal/query"
|
|
|
|
admin_pb "github.com/zitadel/zitadel/pkg/grpc/admin"
|
2025-02-26 16:18:51 +05:30
|
|
|
member_pb "github.com/zitadel/zitadel/pkg/grpc/member"
|
2020-06-25 08:12:29 +02:00
|
|
|
)
|
|
|
|
|
2025-07-04 18:12:59 +02:00
|
|
|
func AddIAMMemberToCommand(req *admin_pb.AddIAMMemberRequest, instanceID string) *command.AddInstanceMember {
|
|
|
|
return &command.AddInstanceMember{
|
|
|
|
InstanceID: instanceID,
|
|
|
|
UserID: req.UserId,
|
|
|
|
Roles: req.Roles,
|
2020-06-25 08:12:29 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2025-07-04 18:12:59 +02:00
|
|
|
func UpdateIAMMemberToCommand(req *admin_pb.UpdateIAMMemberRequest, instanceID string) *command.ChangeInstanceMember {
|
|
|
|
return &command.ChangeInstanceMember{
|
|
|
|
InstanceID: instanceID,
|
|
|
|
UserID: req.UserId,
|
|
|
|
Roles: req.Roles,
|
2020-06-25 08:12:29 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-12-16 14:25:38 +01:00
|
|
|
func ListIAMMembersRequestToQuery(req *admin_pb.ListIAMMembersRequest) (*query.IAMMembersQuery, error) {
|
2021-03-11 09:40:40 +01:00
|
|
|
offset, limit, asc := object.ListQueryToModel(req.Query)
|
2021-12-16 14:25:38 +01:00
|
|
|
queries, err := member_grpc.MemberQueriesToQuery(req.Queries)
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
2020-06-25 08:12:29 +02:00
|
|
|
}
|
2021-12-16 14:25:38 +01:00
|
|
|
return &query.IAMMembersQuery{
|
|
|
|
MembersQuery: query.MembersQuery{
|
|
|
|
SearchRequest: query.SearchRequest{
|
2025-02-26 16:18:51 +05:30
|
|
|
Offset: offset,
|
|
|
|
Limit: limit,
|
|
|
|
Asc: asc,
|
|
|
|
SortingColumn: fieldNameToMemberColumn(req.SortingColumn),
|
2021-12-16 14:25:38 +01:00
|
|
|
},
|
|
|
|
Queries: queries,
|
|
|
|
},
|
|
|
|
}, nil
|
2020-06-25 08:12:29 +02:00
|
|
|
}
|
2025-02-26 16:18:51 +05:30
|
|
|
|
|
|
|
func fieldNameToMemberColumn(fieldName member_pb.MemberFieldColumnName) query.Column {
|
|
|
|
switch fieldName {
|
|
|
|
case member_pb.MemberFieldColumnName_MEMBER_FIELD_NAME_UNSPECIFIED:
|
|
|
|
return query.InstanceMemberInstanceID
|
|
|
|
case member_pb.MemberFieldColumnName_MEMBER_FIELD_NAME_USER_ID:
|
|
|
|
return query.InstanceMemberUserID
|
|
|
|
case member_pb.MemberFieldColumnName_MEMBER_FIELD_NAME_CREATION_DATE:
|
|
|
|
return query.InstanceMemberCreationDate
|
|
|
|
case member_pb.MemberFieldColumnName_MEMBER_FIELD_NAME_CHANGE_DATE:
|
|
|
|
return query.InstanceMemberChangeDate
|
|
|
|
case member_pb.MemberFieldColumnName_MEMBER_FIELD_NAME_USER_RESOURCE_OWNER:
|
|
|
|
return query.InstanceMemberResourceOwner
|
|
|
|
default:
|
|
|
|
return query.Column{}
|
|
|
|
}
|
|
|
|
}
|