mirror of
https://github.com/portainer/portainer.git
synced 2025-07-25 08:19:40 +02:00
feat(dataservices): unify access methods and abstract away redundant code [EE-5628] (#9115)
This commit is contained in:
parent
4c6bbe9a2f
commit
4cc96b4b30
171 changed files with 714 additions and 1590 deletions
|
@ -432,7 +432,7 @@ func DefaultPortainerAuthorizations() portainer.Authorizations {
|
|||
|
||||
// UpdateUsersAuthorizations will trigger an update of the authorizations for all the users.
|
||||
func (service *Service) UpdateUsersAuthorizations() error {
|
||||
users, err := service.dataStore.User().Users()
|
||||
users, err := service.dataStore.User().ReadAll()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -448,7 +448,7 @@ func (service *Service) UpdateUsersAuthorizations() error {
|
|||
}
|
||||
|
||||
func (service *Service) updateUserAuthorizations(userID portainer.UserID) error {
|
||||
user, err := service.dataStore.User().User(userID)
|
||||
user, err := service.dataStore.User().Read(userID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -460,7 +460,7 @@ func (service *Service) updateUserAuthorizations(userID portainer.UserID) error
|
|||
|
||||
user.EndpointAuthorizations = endpointAuthorizations
|
||||
|
||||
return service.dataStore.User().UpdateUser(userID, user)
|
||||
return service.dataStore.User().Update(userID, user)
|
||||
}
|
||||
|
||||
func (service *Service) getAuthorizations(user *portainer.User) (portainer.EndpointAuthorizations, error) {
|
||||
|
@ -479,12 +479,12 @@ func (service *Service) getAuthorizations(user *portainer.User) (portainer.Endpo
|
|||
return endpointAuthorizations, err
|
||||
}
|
||||
|
||||
endpointGroups, err := service.dataStore.EndpointGroup().EndpointGroups()
|
||||
endpointGroups, err := service.dataStore.EndpointGroup().ReadAll()
|
||||
if err != nil {
|
||||
return endpointAuthorizations, err
|
||||
}
|
||||
|
||||
roles, err := service.dataStore.Role().Roles()
|
||||
roles, err := service.dataStore.Role().ReadAll()
|
||||
if err != nil {
|
||||
return endpointAuthorizations, err
|
||||
}
|
||||
|
@ -605,7 +605,7 @@ func getAuthorizationsFromRoles(roleIdentifiers []portainer.RoleID, roles []port
|
|||
}
|
||||
|
||||
func (service *Service) UserIsAdminOrAuthorized(userID portainer.UserID, endpointID portainer.EndpointID, authorizations []portainer.Authorization) (bool, error) {
|
||||
user, err := service.dataStore.User().User(userID)
|
||||
user, err := service.dataStore.User().Read(userID)
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
|
|
|
@ -68,7 +68,7 @@ func (service *Service) getUserEndpointAccessWithPolicies(
|
|||
}
|
||||
|
||||
if endpointGroup == nil {
|
||||
endpointGroup, err = tx.EndpointGroup().EndpointGroup(endpoint.GroupID)
|
||||
endpointGroup, err = tx.EndpointGroup().Read(endpoint.GroupID)
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
|
@ -114,7 +114,7 @@ func (service *Service) getTeamEndpointAccessWithPolicies(
|
|||
) (bool, error) {
|
||||
if endpointGroup == nil {
|
||||
var err error
|
||||
endpointGroup, err = tx.EndpointGroup().EndpointGroup(endpoint.GroupID)
|
||||
endpointGroup, err = tx.EndpointGroup().Read(endpoint.GroupID)
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
|
|
|
@ -51,14 +51,14 @@ func GetEndpointsFromEdgeGroups(edgeGroupIDs []portainer.EdgeGroupID, datastore
|
|||
return nil, err
|
||||
}
|
||||
|
||||
endpointGroups, err := datastore.EndpointGroup().EndpointGroups()
|
||||
endpointGroups, err := datastore.EndpointGroup().ReadAll()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var response []portainer.EndpointID
|
||||
for _, edgeGroupID := range edgeGroupIDs {
|
||||
edgeGroup, err := datastore.EdgeGroup().EdgeGroup(edgeGroupID)
|
||||
edgeGroup, err := datastore.EdgeGroup().Read(edgeGroupID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@ import (
|
|||
|
||||
// LoadEdgeJobs registers all edge jobs inside corresponding environment(endpoint) tunnel
|
||||
func LoadEdgeJobs(dataStore dataservices.DataStore, reverseTunnelService portainer.ReverseTunnelService) error {
|
||||
edgeJobs, err := dataStore.EdgeJob().EdgeJobs()
|
||||
edgeJobs, err := dataStore.EdgeJob().ReadAll()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
|
@ -48,12 +48,12 @@ func FetchEndpointRelationsConfig(tx dataservices.DataStoreTx) (*EndpointRelatio
|
|||
return nil, fmt.Errorf("unable to retrieve environments from database: %w", err)
|
||||
}
|
||||
|
||||
endpointGroups, err := tx.EndpointGroup().EndpointGroups()
|
||||
endpointGroups, err := tx.EndpointGroup().ReadAll()
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("unable to retrieve environment groups from database: %w", err)
|
||||
}
|
||||
|
||||
edgeGroups, err := tx.EdgeGroup().EdgeGroups()
|
||||
edgeGroups, err := tx.EdgeGroup().ReadAll()
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("unable to retrieve edge groups from database: %w", err)
|
||||
}
|
||||
|
|
|
@ -14,7 +14,7 @@ func hasPermission(
|
|||
endpointID portainer.EndpointID,
|
||||
registry *portainer.Registry,
|
||||
) (hasPermission bool, err error) {
|
||||
user, err := dataStore.User().User(userID)
|
||||
user, err := dataStore.User().Read(userID)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
@ -41,7 +41,7 @@ func GetAccessibleRegistry(
|
|||
registryID portainer.RegistryID,
|
||||
) (registry *portainer.Registry, err error) {
|
||||
|
||||
registry, err = dataStore.Registry().Registry(registryID)
|
||||
registry, err = dataStore.Registry().Read(registryID)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@ func isRegistryAssignedToNamespace(registry portainer.Registry, endpointID porta
|
|||
}
|
||||
|
||||
func RefreshEcrSecret(cli portainer.KubeClient, endpoint *portainer.Endpoint, dataStore dataservices.DataStore, namespace string) (err error) {
|
||||
registries, err := dataStore.Registry().Registries()
|
||||
registries, err := dataStore.Registry().ReadAll()
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
|
|
@ -24,7 +24,7 @@ func doGetRegToken(dataStore dataservices.DataStore, registry *portainer.Registr
|
|||
registry.AccessToken = *accessToken
|
||||
registry.AccessTokenExpiry = expiryAt.Unix()
|
||||
|
||||
err = dataStore.Registry().UpdateRegistry(registry.ID, registry)
|
||||
err = dataStore.Registry().Update(registry.ID, registry)
|
||||
|
||||
return
|
||||
}
|
||||
|
|
|
@ -133,7 +133,7 @@ func (service *Service) FillSnapshotData(endpoint *portainer.Endpoint) error {
|
|||
}
|
||||
|
||||
func FillSnapshotData(tx dataservices.DataStoreTx, endpoint *portainer.Endpoint) error {
|
||||
snapshot, err := tx.Snapshot().Snapshot(endpoint.ID)
|
||||
snapshot, err := tx.Snapshot().Read(endpoint.ID)
|
||||
if tx.IsErrObjectNotFound(err) {
|
||||
endpoint.Snapshots = []portainer.DockerSnapshot{}
|
||||
endpoint.Kubernetes.Snapshots = []portainer.KubernetesSnapshot{}
|
||||
|
|
|
@ -131,15 +131,15 @@ type stubUserService struct {
|
|||
}
|
||||
|
||||
func (s *stubUserService) BucketName() string { return "users" }
|
||||
func (s *stubUserService) User(ID portainer.UserID) (*portainer.User, error) { return nil, nil }
|
||||
func (s *stubUserService) Read(ID portainer.UserID) (*portainer.User, error) { return nil, nil }
|
||||
func (s *stubUserService) UserByUsername(username string) (*portainer.User, error) { return nil, nil }
|
||||
func (s *stubUserService) Users() ([]portainer.User, error) { return s.users, nil }
|
||||
func (s *stubUserService) ReadAll() ([]portainer.User, error) { return s.users, nil }
|
||||
func (s *stubUserService) UsersByRole(role portainer.UserRole) ([]portainer.User, error) {
|
||||
return s.users, nil
|
||||
}
|
||||
func (s *stubUserService) Create(user *portainer.User) error { return nil }
|
||||
func (s *stubUserService) UpdateUser(ID portainer.UserID, user *portainer.User) error { return nil }
|
||||
func (s *stubUserService) DeleteUser(ID portainer.UserID) error { return nil }
|
||||
func (s *stubUserService) Create(user *portainer.User) error { return nil }
|
||||
func (s *stubUserService) Update(ID portainer.UserID, user *portainer.User) error { return nil }
|
||||
func (s *stubUserService) Delete(ID portainer.UserID) error { return nil }
|
||||
|
||||
// WithUsers testDatastore option that will instruct testDatastore to return provided users
|
||||
func WithUsers(us []portainer.User) datastoreOption {
|
||||
|
@ -152,22 +152,25 @@ type stubEdgeJobService struct {
|
|||
jobs []portainer.EdgeJob
|
||||
}
|
||||
|
||||
func (s *stubEdgeJobService) BucketName() string { return "edgejob" }
|
||||
func (s *stubEdgeJobService) EdgeJobs() ([]portainer.EdgeJob, error) { return s.jobs, nil }
|
||||
func (s *stubEdgeJobService) EdgeJob(ID portainer.EdgeJobID) (*portainer.EdgeJob, error) {
|
||||
func (s *stubEdgeJobService) BucketName() string { return "edgejobs" }
|
||||
func (s *stubEdgeJobService) ReadAll() ([]portainer.EdgeJob, error) { return s.jobs, nil }
|
||||
func (s *stubEdgeJobService) Read(ID portainer.EdgeJobID) (*portainer.EdgeJob, error) {
|
||||
return nil, nil
|
||||
}
|
||||
func (s *stubEdgeJobService) Create(ID portainer.EdgeJobID, edgeJob *portainer.EdgeJob) error {
|
||||
func (s *stubEdgeJobService) Create(edgeJob *portainer.EdgeJob) error {
|
||||
return nil
|
||||
}
|
||||
func (s *stubEdgeJobService) UpdateEdgeJob(ID portainer.EdgeJobID, edgeJob *portainer.EdgeJob) error {
|
||||
func (s *stubEdgeJobService) CreateWithID(ID portainer.EdgeJobID, edgeJob *portainer.EdgeJob) error {
|
||||
return nil
|
||||
}
|
||||
func (s *stubEdgeJobService) Update(ID portainer.EdgeJobID, edgeJob *portainer.EdgeJob) error {
|
||||
return nil
|
||||
}
|
||||
func (s *stubEdgeJobService) UpdateEdgeJobFunc(ID portainer.EdgeJobID, updateFunc func(edgeJob *portainer.EdgeJob)) error {
|
||||
return nil
|
||||
}
|
||||
func (s *stubEdgeJobService) DeleteEdgeJob(ID portainer.EdgeJobID) error { return nil }
|
||||
func (s *stubEdgeJobService) GetNextIdentifier() int { return 0 }
|
||||
func (s *stubEdgeJobService) Delete(ID portainer.EdgeJobID) error { return nil }
|
||||
func (s *stubEdgeJobService) GetNextIdentifier() int { return 0 }
|
||||
|
||||
// WithEdgeJobs option will instruct testDatastore to return provided jobs
|
||||
func WithEdgeJobs(js []portainer.EdgeJob) datastoreOption {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue