Migrate proto files for settings and adjusts paths

This commit is contained in:
Juan Pablo Villafáñez
2022-01-12 15:10:15 +01:00
parent e794c623bd
commit 7557e4e0ea
45 changed files with 650 additions and 10471 deletions
+2 -2
View File
@@ -28,7 +28,7 @@ import (
"github.com/owncloud/ocis/ocis-pkg/middleware"
"github.com/owncloud/ocis/ocis-pkg/roles"
"github.com/owncloud/ocis/ocis-pkg/sync"
settings "github.com/owncloud/ocis/settings/pkg/proto/v0"
settingssvc "github.com/owncloud/ocis/protogen/gen/ocis/services/settings/v1"
settings_svc "github.com/owncloud/ocis/settings/pkg/service/v0"
"github.com/rs/zerolog"
merrors "go-micro.dev/v4/errors"
@@ -455,7 +455,7 @@ func (s Service) CreateAccount(ctx context.Context, in *accountssvc.CreateAccoun
if s.RoleService == nil {
return merrors.InternalServerError(s.id, "could not assign role to account: roleService not configured")
}
if _, err = s.RoleService.AssignRoleToUser(ctx, &settings.AssignRoleToUserRequest{
if _, err = s.RoleService.AssignRoleToUser(ctx, &settingssvc.AssignRoleToUserRequest{
AccountUuid: out.Id,
RoleId: settings_svc.BundleUUIDRoleUser,
}); err != nil {
@@ -17,7 +17,8 @@ import (
olog "github.com/owncloud/ocis/ocis-pkg/log"
"github.com/owncloud/ocis/ocis-pkg/middleware"
"github.com/owncloud/ocis/ocis-pkg/roles"
settings "github.com/owncloud/ocis/settings/pkg/proto/v0"
settingsmsg "github.com/owncloud/ocis/protogen/gen/ocis/messages/settings/v1"
settingssvc "github.com/owncloud/ocis/protogen/gen/ocis/services/settings/v1"
ssvc "github.com/owncloud/ocis/settings/pkg/service/v0"
"github.com/stretchr/testify/assert"
"go-micro.dev/v4/client"
@@ -28,7 +29,7 @@ import (
const dataPath = "/tmp/ocis-accounts-tests"
var (
roleServiceMock settings.RoleService
roleServiceMock settingssvc.RoleService
s *Service
)
@@ -315,15 +316,15 @@ func buildTestCtx(t *testing.T, roleIDs []string) context.Context {
return ctx
}
func buildRoleServiceMock() settings.RoleService {
defaultRoles := map[string]*settings.Bundle{
func buildRoleServiceMock() settingssvc.RoleService {
defaultRoles := map[string]*settingsmsg.Bundle{
ssvc.BundleUUIDRoleAdmin: {
Id: ssvc.BundleUUIDRoleAdmin,
Type: settings.Bundle_TYPE_ROLE,
Resource: &settings.Resource{
Type: settings.Resource_TYPE_SYSTEM,
Type: settingsmsg.Bundle_TYPE_ROLE,
Resource: &settingsmsg.Resource{
Type: settingsmsg.Resource_TYPE_SYSTEM,
},
Settings: []*settings.Setting{
Settings: []*settingsmsg.Setting{
{
Id: AccountManagementPermissionID,
},
@@ -331,37 +332,37 @@ func buildRoleServiceMock() settings.RoleService {
},
ssvc.BundleUUIDRoleUser: {
Id: ssvc.BundleUUIDRoleUser,
Type: settings.Bundle_TYPE_ROLE,
Resource: &settings.Resource{
Type: settings.Resource_TYPE_SYSTEM,
Type: settingsmsg.Bundle_TYPE_ROLE,
Resource: &settingsmsg.Resource{
Type: settingsmsg.Resource_TYPE_SYSTEM,
},
Settings: []*settings.Setting{},
Settings: []*settingsmsg.Setting{},
},
ssvc.BundleUUIDRoleGuest: {
Id: ssvc.BundleUUIDRoleGuest,
Type: settings.Bundle_TYPE_ROLE,
Resource: &settings.Resource{
Type: settings.Resource_TYPE_SYSTEM,
Type: settingsmsg.Bundle_TYPE_ROLE,
Resource: &settingsmsg.Resource{
Type: settingsmsg.Resource_TYPE_SYSTEM,
},
Settings: []*settings.Setting{},
Settings: []*settingsmsg.Setting{},
},
}
return settings.MockRoleService{
ListRolesFunc: func(ctx context.Context, req *settings.ListBundlesRequest, opts ...client.CallOption) (res *settings.ListBundlesResponse, err error) {
payload := make([]*settings.Bundle, 0)
return settingssvc.MockRoleService{
ListRolesFunc: func(ctx context.Context, req *settingssvc.ListBundlesRequest, opts ...client.CallOption) (res *settingssvc.ListBundlesResponse, err error) {
payload := make([]*settingsmsg.Bundle, 0)
for _, roleID := range req.BundleIds {
if defaultRoles[roleID] != nil {
payload = append(payload, defaultRoles[roleID])
}
}
return &settings.ListBundlesResponse{
return &settingssvc.ListBundlesResponse{
Bundles: payload,
}, nil
},
AssignRoleToUserFunc: func(ctx context.Context, req *settings.AssignRoleToUserRequest, opts ...client.CallOption) (res *settings.AssignRoleToUserResponse, err error) {
AssignRoleToUserFunc: func(ctx context.Context, req *settingssvc.AssignRoleToUserRequest, opts ...client.CallOption) (res *settingssvc.AssignRoleToUserResponse, err error) {
// mock can be empty. function is called during service start. actual role assignments not needed for the tests.
return &settings.AssignRoleToUserResponse{
Assignment: &settings.UserRoleAssignment{},
return &settingssvc.AssignRoleToUserResponse{
Assignment: &settingsmsg.UserRoleAssignment{},
}, nil
},
}
+3 -3
View File
@@ -4,7 +4,7 @@ import (
"github.com/owncloud/ocis/accounts/pkg/config"
"github.com/owncloud/ocis/ocis-pkg/log"
"github.com/owncloud/ocis/ocis-pkg/roles"
settings "github.com/owncloud/ocis/settings/pkg/proto/v0"
settingssvc "github.com/owncloud/ocis/protogen/gen/ocis/services/settings/v1"
)
// Option defines a single option function.
@@ -14,7 +14,7 @@ type Option func(o *Options)
type Options struct {
Logger log.Logger
Config *config.Config
RoleService settings.RoleService
RoleService settingssvc.RoleService
RoleManager *roles.Manager
}
@@ -43,7 +43,7 @@ func Config(val *config.Config) Option {
}
// RoleService provides a function to set the RoleService option.
func RoleService(val settings.RoleService) Option {
func RoleService(val settingssvc.RoleService) Option {
return func(o *Options) {
o.RoleService = val
}
+26 -25
View File
@@ -6,7 +6,8 @@ import (
"github.com/owncloud/ocis/ocis-pkg/service/grpc"
olog "github.com/owncloud/ocis/ocis-pkg/log"
settings "github.com/owncloud/ocis/settings/pkg/proto/v0"
settingsmsg "github.com/owncloud/ocis/protogen/gen/ocis/messages/settings/v1"
settingssvc "github.com/owncloud/ocis/protogen/gen/ocis/services/settings/v1"
ssvc "github.com/owncloud/ocis/settings/pkg/service/v0"
)
@@ -27,7 +28,7 @@ const (
// RegisterPermissions registers permissions for account management and group management with the settings service.
func RegisterPermissions(l *olog.Logger) {
service := settings.NewBundleService("com.owncloud.api.settings", grpc.DefaultClient)
service := settingssvc.NewBundleService("com.owncloud.api.settings", grpc.DefaultClient)
permissionRequests := generateAccountManagementPermissionsRequests()
for i := range permissionRequests {
@@ -41,61 +42,61 @@ func RegisterPermissions(l *olog.Logger) {
}
}
func generateAccountManagementPermissionsRequests() []settings.AddSettingToBundleRequest {
return []settings.AddSettingToBundleRequest{
func generateAccountManagementPermissionsRequests() []settingssvc.AddSettingToBundleRequest {
return []settingssvc.AddSettingToBundleRequest{
{
BundleId: ssvc.BundleUUIDRoleAdmin,
Setting: &settings.Setting{
Setting: &settingsmsg.Setting{
Id: AccountManagementPermissionID,
Name: AccountManagementPermissionName,
DisplayName: "Account Management",
Description: "This permission gives full access to everything that is related to account management.",
Resource: &settings.Resource{
Type: settings.Resource_TYPE_USER,
Resource: &settingsmsg.Resource{
Type: settingsmsg.Resource_TYPE_USER,
Id: "all",
},
Value: &settings.Setting_PermissionValue{
PermissionValue: &settings.Permission{
Operation: settings.Permission_OPERATION_READWRITE,
Constraint: settings.Permission_CONSTRAINT_ALL,
Value: &settingsmsg.Setting_PermissionValue{
PermissionValue: &settingsmsg.Permission{
Operation: settingsmsg.Permission_OPERATION_READWRITE,
Constraint: settingsmsg.Permission_CONSTRAINT_ALL,
},
},
},
},
{
BundleId: ssvc.BundleUUIDRoleAdmin,
Setting: &settings.Setting{
Setting: &settingsmsg.Setting{
Id: GroupManagementPermissionID,
Name: GroupManagementPermissionName,
DisplayName: "Group Management",
Description: "This permission gives full access to everything that is related to group management.",
Resource: &settings.Resource{
Type: settings.Resource_TYPE_GROUP,
Resource: &settingsmsg.Resource{
Type: settingsmsg.Resource_TYPE_GROUP,
Id: "all",
},
Value: &settings.Setting_PermissionValue{
PermissionValue: &settings.Permission{
Operation: settings.Permission_OPERATION_READWRITE,
Constraint: settings.Permission_CONSTRAINT_ALL,
Value: &settingsmsg.Setting_PermissionValue{
PermissionValue: &settingsmsg.Permission{
Operation: settingsmsg.Permission_OPERATION_READWRITE,
Constraint: settingsmsg.Permission_CONSTRAINT_ALL,
},
},
},
},
{
BundleId: ssvc.BundleUUIDRoleUser,
Setting: &settings.Setting{
Setting: &settingsmsg.Setting{
Id: SelfManagementPermissionID,
Name: SelfManagementPermissionName,
DisplayName: "Self Management",
Description: "This permission gives access to self management.",
Resource: &settings.Resource{
Type: settings.Resource_TYPE_USER,
Resource: &settingsmsg.Resource{
Type: settingsmsg.Resource_TYPE_USER,
Id: "me",
},
Value: &settings.Setting_PermissionValue{
PermissionValue: &settings.Permission{
Operation: settings.Permission_OPERATION_READWRITE,
Constraint: settings.Permission_CONSTRAINT_OWN,
Value: &settingsmsg.Setting_PermissionValue{
PermissionValue: &settingsmsg.Permission{
Operation: settingsmsg.Permission_OPERATION_READWRITE,
Constraint: settingsmsg.Permission_CONSTRAINT_OWN,
},
},
},
+3 -3
View File
@@ -22,7 +22,7 @@ import (
"github.com/owncloud/ocis/ocis-pkg/log"
oreg "github.com/owncloud/ocis/ocis-pkg/registry"
"github.com/owncloud/ocis/ocis-pkg/roles"
settings "github.com/owncloud/ocis/settings/pkg/proto/v0"
settingssvc "github.com/owncloud/ocis/protogen/gen/ocis/services/settings/v1"
)
// userDefaultGID is the default integer representing the "users" group.
@@ -36,7 +36,7 @@ func New(opts ...Option) (s *Service, err error) {
roleService := options.RoleService
if roleService == nil {
roleService = settings.NewRoleService("com.owncloud.api.settings", grpc.DefaultClient)
roleService = settingssvc.NewRoleService("com.owncloud.api.settings", grpc.DefaultClient)
}
roleManager := options.RoleManager
if roleManager == nil {
@@ -447,7 +447,7 @@ type Service struct {
log log.Logger
Config *config.Config
index *indexer.Indexer
RoleService settings.RoleService
RoleService settingssvc.RoleService
RoleManager *roles.Manager
repo storage.Repo
}