gitlab.com/picnic-app/backend/role-api@v0.0.0-20230614140944-06a76ff3696d/internal/controller/create_role.go (about) 1 package controller 2 3 import ( 4 "context" 5 6 v1 "gitlab.com/picnic-app/backend/libs/golang/protobuf-registry/gen/role-api/role/v1" 7 "gitlab.com/picnic-app/backend/role-api/internal/controller/deserialize" 8 "gitlab.com/picnic-app/backend/role-api/internal/errors" 9 ) 10 11 func (c Controller) CreateRole(ctx context.Context, req *v1.CreateRoleRequest) (*v1.CreateRoleResponse, error) { 12 if req == nil { 13 return nil, errors.InvalidArgumentError("request") 14 } 15 16 if req.Role == nil { 17 return nil, errors.InvalidArgumentError("role") 18 } 19 20 role := deserialize.Role(req.Role) 21 22 out, err := c.service.CreateRole(ctx, role) 23 if err != nil { 24 return nil, err 25 } 26 27 return &v1.CreateRoleResponse{ 28 Id: out.ID, 29 }, nil 30 }