1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-07-24 07:49:41 +02:00

feat(dataservices): unify access methods and abstract away redundant code [EE-5628] (#9115)

This commit is contained in:
andres-portainer 2023-06-22 18:28:07 -03:00 committed by GitHub
parent 4c6bbe9a2f
commit 4cc96b4b30
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
171 changed files with 714 additions and 1590 deletions

View file

@ -9,7 +9,7 @@ import (
func (m *Migrator) updateUsersToDBVersion18() error {
log.Info().Msg("updating users")
legacyUsers, err := m.userService.Users()
legacyUsers, err := m.userService.ReadAll()
if err != nil {
return err
}
@ -33,7 +33,7 @@ func (m *Migrator) updateUsersToDBVersion18() error {
portainer.OperationPortainerUserMemberships: true,
}
err = m.userService.UpdateUser(user.ID, &user)
err = m.userService.Update(user.ID, &user)
if err != nil {
return err
}
@ -77,7 +77,7 @@ func (m *Migrator) updateEndpointsToDBVersion18() error {
func (m *Migrator) updateEndpointGroupsToDBVersion18() error {
log.Info().Msg("updating endpoint groups")
legacyEndpointGroups, err := m.endpointGroupService.EndpointGroups()
legacyEndpointGroups, err := m.endpointGroupService.ReadAll()
if err != nil {
return err
}
@ -97,7 +97,7 @@ func (m *Migrator) updateEndpointGroupsToDBVersion18() error {
}
}
err = m.endpointGroupService.UpdateEndpointGroup(endpointGroup.ID, &endpointGroup)
err = m.endpointGroupService.Update(endpointGroup.ID, &endpointGroup)
if err != nil {
return err
}
@ -109,7 +109,7 @@ func (m *Migrator) updateEndpointGroupsToDBVersion18() error {
func (m *Migrator) updateRegistriesToDBVersion18() error {
log.Info().Msg("updating registries")
legacyRegistries, err := m.registryService.Registries()
legacyRegistries, err := m.registryService.ReadAll()
if err != nil {
return err
}
@ -125,7 +125,7 @@ func (m *Migrator) updateRegistriesToDBVersion18() error {
registry.TeamAccessPolicies[teamID] = portainer.AccessPolicy{}
}
err = m.registryService.UpdateRegistry(registry.ID, &registry)
err = m.registryService.Update(registry.ID, &registry)
if err != nil {
return err
}

View file

@ -10,7 +10,7 @@ import (
func (m *Migrator) updateResourceControlsToDBVersion22() error {
log.Info().Msg("updating resource controls")
legacyResourceControls, err := m.resourceControlService.ResourceControls()
legacyResourceControls, err := m.resourceControlService.ReadAll()
if err != nil {
return err
}
@ -18,7 +18,7 @@ func (m *Migrator) updateResourceControlsToDBVersion22() error {
for _, resourceControl := range legacyResourceControls {
resourceControl.AdministratorsOnly = false
err := m.resourceControlService.UpdateResourceControl(resourceControl.ID, &resourceControl)
err := m.resourceControlService.Update(resourceControl.ID, &resourceControl)
if err != nil {
return err
}
@ -30,7 +30,7 @@ func (m *Migrator) updateResourceControlsToDBVersion22() error {
func (m *Migrator) updateUsersAndRolesToDBVersion22() error {
log.Info().Msg("updating users and roles")
legacyUsers, err := m.userService.Users()
legacyUsers, err := m.userService.ReadAll()
if err != nil {
return err
}
@ -42,47 +42,47 @@ func (m *Migrator) updateUsersAndRolesToDBVersion22() error {
for _, user := range legacyUsers {
user.PortainerAuthorizations = authorization.DefaultPortainerAuthorizations()
err = m.userService.UpdateUser(user.ID, &user)
err = m.userService.Update(user.ID, &user)
if err != nil {
return err
}
}
endpointAdministratorRole, err := m.roleService.Role(portainer.RoleID(1))
endpointAdministratorRole, err := m.roleService.Read(portainer.RoleID(1))
if err != nil {
return err
}
endpointAdministratorRole.Priority = 1
endpointAdministratorRole.Authorizations = authorization.DefaultEndpointAuthorizationsForEndpointAdministratorRole()
err = m.roleService.UpdateRole(endpointAdministratorRole.ID, endpointAdministratorRole)
err = m.roleService.Update(endpointAdministratorRole.ID, endpointAdministratorRole)
helpDeskRole, err := m.roleService.Role(portainer.RoleID(2))
helpDeskRole, err := m.roleService.Read(portainer.RoleID(2))
if err != nil {
return err
}
helpDeskRole.Priority = 2
helpDeskRole.Authorizations = authorization.DefaultEndpointAuthorizationsForHelpDeskRole(settings.AllowVolumeBrowserForRegularUsers)
err = m.roleService.UpdateRole(helpDeskRole.ID, helpDeskRole)
err = m.roleService.Update(helpDeskRole.ID, helpDeskRole)
standardUserRole, err := m.roleService.Role(portainer.RoleID(3))
standardUserRole, err := m.roleService.Read(portainer.RoleID(3))
if err != nil {
return err
}
standardUserRole.Priority = 3
standardUserRole.Authorizations = authorization.DefaultEndpointAuthorizationsForStandardUserRole(settings.AllowVolumeBrowserForRegularUsers)
err = m.roleService.UpdateRole(standardUserRole.ID, standardUserRole)
err = m.roleService.Update(standardUserRole.ID, standardUserRole)
readOnlyUserRole, err := m.roleService.Role(portainer.RoleID(4))
readOnlyUserRole, err := m.roleService.Read(portainer.RoleID(4))
if err != nil {
return err
}
readOnlyUserRole.Priority = 4
readOnlyUserRole.Authorizations = authorization.DefaultEndpointAuthorizationsForReadOnlyUserRole(settings.AllowVolumeBrowserForRegularUsers)
err = m.roleService.UpdateRole(readOnlyUserRole.ID, readOnlyUserRole)
err = m.roleService.Update(readOnlyUserRole.ID, readOnlyUserRole)
if err != nil {
return err
}

View file

@ -9,7 +9,7 @@ import (
func (m *Migrator) updateTagsToDBVersion23() error {
log.Info().Msg("updating tags")
tags, err := m.tagService.Tags()
tags, err := m.tagService.ReadAll()
if err != nil {
return err
}
@ -17,7 +17,7 @@ func (m *Migrator) updateTagsToDBVersion23() error {
for _, tag := range tags {
tag.EndpointGroups = make(map[portainer.EndpointGroupID]bool)
tag.Endpoints = make(map[portainer.EndpointID]bool)
err = m.tagService.UpdateTag(tag.ID, &tag)
err = m.tagService.Update(tag.ID, &tag)
if err != nil {
return err
}
@ -29,7 +29,7 @@ func (m *Migrator) updateTagsToDBVersion23() error {
func (m *Migrator) updateEndpointsAndEndpointGroupsToDBVersion23() error {
log.Info().Msg("updating endpoints and endpoint groups")
tags, err := m.tagService.Tags()
tags, err := m.tagService.ReadAll()
if err != nil {
return err
}
@ -70,7 +70,7 @@ func (m *Migrator) updateEndpointsAndEndpointGroupsToDBVersion23() error {
}
}
endpointGroups, err := m.endpointGroupService.EndpointGroups()
endpointGroups, err := m.endpointGroupService.ReadAll()
if err != nil {
return err
}
@ -85,14 +85,14 @@ func (m *Migrator) updateEndpointsAndEndpointGroupsToDBVersion23() error {
}
}
endpointGroup.TagIDs = endpointGroupTags
err = m.endpointGroupService.UpdateEndpointGroup(endpointGroup.ID, &endpointGroup)
err = m.endpointGroupService.Update(endpointGroup.ID, &endpointGroup)
if err != nil {
return err
}
}
for _, tag := range tagsNameMap {
err = m.tagService.UpdateTag(tag.ID, &tag)
err = m.tagService.Update(tag.ID, &tag)
if err != nil {
return err
}

View file

@ -24,7 +24,7 @@ func (m *Migrator) updateSettingsToDB24() error {
func (m *Migrator) updateStacksToDB24() error {
log.Info().Msg("updating stacks")
stacks, err := m.stackService.Stacks()
stacks, err := m.stackService.ReadAll()
if err != nil {
return err
}
@ -32,7 +32,7 @@ func (m *Migrator) updateStacksToDB24() error {
for idx := range stacks {
stack := &stacks[idx]
stack.Status = portainer.StackStatusActive
err := m.stackService.UpdateStack(stack.ID, stack)
err := m.stackService.Update(stack.ID, stack)
if err != nil {
return err
}

View file

@ -11,7 +11,7 @@ import (
func (m *Migrator) updateStackResourceControlToDB27() error {
log.Info().Msg("updating stack resource controls")
resourceControls, err := m.resourceControlService.ResourceControls()
resourceControls, err := m.resourceControlService.ReadAll()
if err != nil {
return err
}
@ -34,7 +34,7 @@ func (m *Migrator) updateStackResourceControlToDB27() error {
resource.ResourceID = stackutils.ResourceControlID(stack.EndpointID, stack.Name)
err = m.resourceControlService.UpdateResourceControl(resource.ID, &resource)
err = m.resourceControlService.Update(resource.ID, &resource)
if err != nil {
return err
}

View file

@ -41,7 +41,7 @@ func (m *Migrator) migrateDBVersionToDB32() error {
func (m *Migrator) updateRegistriesToDB32() error {
log.Info().Msg("updating registries")
registries, err := m.registryService.Registries()
registries, err := m.registryService.ReadAll()
if err != nil {
return err
}
@ -77,7 +77,7 @@ func (m *Migrator) updateRegistriesToDB32() error {
Namespaces: []string{},
}
}
m.registryService.UpdateRegistry(registry.ID, &registry)
m.registryService.Update(registry.ID, &registry)
}
return nil
}
@ -111,7 +111,7 @@ func (m *Migrator) updateDockerhubToDB32() error {
// we only have one migrated registry entry. Duplicates will be removed
// if they exist and which has been happening due to earlier migration bugs
migrated := false
registries, _ := m.registryService.Registries()
registries, _ := m.registryService.ReadAll()
for _, r := range registries {
if r.Type == registry.Type &&
r.Name == registry.Name &&
@ -123,7 +123,7 @@ func (m *Migrator) updateDockerhubToDB32() error {
migrated = true
} else {
// delete subsequent duplicates
m.registryService.DeleteRegistry(portainer.RegistryID(r.ID))
m.registryService.Delete(portainer.RegistryID(r.ID))
}
}
}
@ -180,7 +180,7 @@ func (m *Migrator) updateVolumeResourceControlToDB32() error {
return fmt.Errorf("failed fetching environments: %w", err)
}
resourceControls, err := m.resourceControlService.ResourceControls()
resourceControls, err := m.resourceControlService.ReadAll()
if err != nil {
return fmt.Errorf("failed fetching resource controls: %w", err)
}
@ -228,12 +228,12 @@ func (m *Migrator) updateVolumeResourceControlToDB32() error {
if newResourceID, ok := toUpdate[resourceControl.ID]; ok {
resourceControl.ResourceID = newResourceID
err := m.resourceControlService.UpdateResourceControl(resourceControl.ID, resourceControl)
err := m.resourceControlService.Update(resourceControl.ID, resourceControl)
if err != nil {
return fmt.Errorf("failed updating resource control %d: %w", resourceControl.ID, err)
}
} else {
err := m.resourceControlService.DeleteResourceControl(resourceControl.ID)
err := m.resourceControlService.Delete(resourceControl.ID)
if err != nil {
return fmt.Errorf("failed deleting resource control %d: %w", resourceControl.ID, err)
}

View file

@ -14,7 +14,7 @@ func (m *Migrator) migrateDBVersionToDB34() error {
// MigrateStackEntryPoint exported for testing
func MigrateStackEntryPoint(stackService dataservices.StackService) error {
stacks, err := stackService.Stacks()
stacks, err := stackService.ReadAll()
if err != nil {
return err
}
@ -26,7 +26,7 @@ func MigrateStackEntryPoint(stackService dataservices.StackService) error {
}
stack.GitConfig.ConfigFilePath = stack.EntryPoint
if err := stackService.UpdateStack(stack.ID, stack); err != nil {
if err := stackService.Update(stack.ID, stack); err != nil {
return err
}
}

View file

@ -16,7 +16,7 @@ func (m *Migrator) migrateDBVersionToDB36() error {
func (m *Migrator) migrateUsersToDB36() error {
log.Info().Msg("updating user authorizations")
users, err := m.userService.Users()
users, err := m.userService.ReadAll()
if err != nil {
return err
}
@ -27,7 +27,7 @@ func (m *Migrator) migrateUsersToDB36() error {
currentAuthorizations[portainer.OperationPortainerUserCreateToken] = true
currentAuthorizations[portainer.OperationPortainerUserRevokeToken] = true
user.PortainerAuthorizations = currentAuthorizations
err = m.userService.UpdateUser(user.ID, &user)
err = m.userService.Update(user.ID, &user)
if err != nil {
return err
}

View file

@ -9,7 +9,7 @@ import (
func (m *Migrator) migrateDBVersionToDB71() error {
log.Info().Msg("removing orphaned snapshots")
snapshots, err := m.snapshotService.Snapshots()
snapshots, err := m.snapshotService.ReadAll()
if err != nil {
return err
}
@ -26,7 +26,7 @@ func (m *Migrator) migrateDBVersionToDB71() error {
log.Debug().Int("endpoint_id", int(s.EndpointID)).Msg("removing snapshot")
err = m.snapshotService.DeleteSnapshot(s.EndpointID)
err = m.snapshotService.Delete(s.EndpointID)
if err != nil {
return err
}

View file

@ -22,7 +22,7 @@ func (m *Migrator) migrateDBVersionToDB90() error {
func (m *Migrator) updateEdgeStackStatusForDB90() error {
log.Info().Msg("clean up deleted endpoints from edge jobs")
edgeJobs, err := m.edgeJobService.EdgeJobs()
edgeJobs, err := m.edgeJobService.ReadAll()
if err != nil {
return err
}
@ -33,7 +33,7 @@ func (m *Migrator) updateEdgeStackStatusForDB90() error {
if dataservices.IsErrObjectNotFound(err) {
delete(edgeJob.Endpoints, endpointId)
err = m.edgeJobService.UpdateEdgeJob(edgeJob.ID, &edgeJob)
err = m.edgeJobService.Update(edgeJob.ID, &edgeJob)
if err != nil {
return err
}
@ -47,7 +47,7 @@ func (m *Migrator) updateEdgeStackStatusForDB90() error {
func (m *Migrator) updateUserThemeForDB90() error {
log.Info().Msg("updating existing user theme settings")
users, err := m.userService.Users()
users, err := m.userService.ReadAll()
if err != nil {
return err
}
@ -58,7 +58,7 @@ func (m *Migrator) updateUserThemeForDB90() error {
user.ThemeSettings.Color = user.UserTheme
}
if err := m.userService.UpdateUser(user.ID, user); err != nil {
if err := m.userService.Update(user.ID, user); err != nil {
return err
}
}