mirror of
https://github.com/paralus/paralus.git
synced 2026-05-14 20:36:51 +00:00
* Update dependencies from authz * authz: fix log import path * Authz related creation steps * Fix typo: Namesapce -> Namespace * Add tests for role creation interaction with authz * Switch to using names for policy and group creation in authz * Group creation not udpates casbin db * Fix reading db address from env * Tiny typo fix in readme * Simplify error handling in usermgmt server * Rework test setup * Fix all current tests * Complete authz integration * Drop unnecessary dependency on adminsrv in usermgmt
56 lines
1.7 KiB
Go
56 lines
1.7 KiB
Go
package server
|
|
|
|
import (
|
|
"context"
|
|
|
|
v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3"
|
|
"github.com/RafaySystems/rcloud-base/components/usermgmt/pkg/service"
|
|
rpcv3 "github.com/RafaySystems/rcloud-base/components/usermgmt/proto/rpc/v3"
|
|
userpbv3 "github.com/RafaySystems/rcloud-base/components/usermgmt/proto/types/userpb/v3"
|
|
"google.golang.org/protobuf/types/known/timestamppb"
|
|
)
|
|
|
|
type userServer struct {
|
|
service.UserService
|
|
}
|
|
|
|
// NewUserServer returns new user server implementation
|
|
func NewUserServer(ps service.UserService) rpcv3.UserServer {
|
|
return &userServer{ps}
|
|
}
|
|
func updateUserStatus(req *userpbv3.User, resp *userpbv3.User, err error) *userpbv3.User {
|
|
if err != nil {
|
|
req.Status = &v3.Status{
|
|
ConditionStatus: v3.ConditionStatus_StatusFailed,
|
|
LastUpdated: timestamppb.Now(),
|
|
Reason: err.Error(),
|
|
}
|
|
return req
|
|
}
|
|
resp.Status = &v3.Status{ConditionStatus: v3.ConditionStatus_StatusOK}
|
|
return resp
|
|
}
|
|
|
|
func (s *userServer) CreateUser(ctx context.Context, req *userpbv3.User) (*userpbv3.User, error) {
|
|
resp, err := s.Create(ctx, req)
|
|
return updateUserStatus(req, resp, err), err
|
|
}
|
|
|
|
func (s *userServer) GetUsers(ctx context.Context, req *userpbv3.User) (*userpbv3.UserList, error) {
|
|
return s.List(ctx, req)
|
|
}
|
|
|
|
func (s *userServer) GetUser(ctx context.Context, req *userpbv3.User) (*userpbv3.User, error) {
|
|
resp, err := s.GetByName(ctx, req)
|
|
return updateUserStatus(req, resp, err), err
|
|
}
|
|
|
|
func (s *userServer) DeleteUser(ctx context.Context, req *userpbv3.User) (*rpcv3.DeleteUserResponse, error) {
|
|
return s.Delete(ctx, req)
|
|
}
|
|
|
|
func (s *userServer) UpdateUser(ctx context.Context, req *userpbv3.User) (*userpbv3.User, error) {
|
|
resp, err := s.Update(ctx, req)
|
|
return updateUserStatus(req, resp, err), err
|
|
}
|