Merge pull request #5270 from owncloud/linter-fixes

Linter fixes
This commit is contained in:
David Christofas
2022-12-21 15:24:13 +01:00
committed by GitHub
14 changed files with 49 additions and 56 deletions
+6
View File
@@ -47,6 +47,12 @@ linters-settings:
severity:
default-severity: error
skip-dirs:
- protogen/gen
- docs
- deployments
- changelog
issues:
exclude-use-default: true
exclude-rules:
+11 -4
View File
@@ -33,6 +33,13 @@ import (
merrors "go-micro.dev/v4/errors"
)
const (
_spaceTypePersonal = "personal"
_spaceTypeProject = "project"
_sortDescending = "desc"
)
var (
_invalidSpaceNameCharacters = []string{`/`, `\`, `.`, `:`, `?`, `*`, `"`, `>`, `<`, `|`}
_maxSpaceNameLength = 255
@@ -253,8 +260,8 @@ func (g Graph) CreateDrive(w http.ResponseWriter, r *http.Request) {
driveType = *drive.DriveType
}
switch driveType {
case "", "project":
driveType = "project"
case "", _spaceTypeProject:
driveType = _spaceTypeProject
default:
logger.Debug().Str("type", driveType).Msg("could not create drive: drives of this type cannot be created via this api")
errorcode.InvalidRequest.Render(w, r, http.StatusBadRequest, "drives of this type cannot be created via this api")
@@ -275,7 +282,7 @@ func (g Graph) CreateDrive(w http.ResponseWriter, r *http.Request) {
csr.Opaque = utils.AppendPlainToOpaque(csr.Opaque, "spaceAlias", *drive.DriveAlias)
}
if driveType == "personal" {
if driveType == _spaceTypePersonal {
csr.Owner = us
}
@@ -911,7 +918,7 @@ func sortSpaces(req *godata.GoDataRequest, spaces []*libregraph.Drive) ([]*libre
return nil, errors.Errorf("we do not support <%s> as a order parameter", req.Query.OrderBy.OrderByItems[0].Field.Value)
}
if req.Query.OrderBy.OrderByItems[0].Order == "desc" {
if req.Query.OrderBy.OrderByItems[0].Order == _sortDescending {
sorter = sort.Reverse(sorter)
}
sort.Sort(sorter)
+2 -2
View File
@@ -56,7 +56,7 @@ var sortTests = []sortTest{
Query: &godata.GoDataQuery{
OrderBy: &godata.GoDataOrderByQuery{
OrderByItems: []*godata.OrderByItem{
{Field: &godata.Token{Value: "name"}, Order: "desc"},
{Field: &godata.Token{Value: "name"}, Order: _sortDescending},
},
},
},
@@ -94,7 +94,7 @@ var sortTests = []sortTest{
Query: &godata.GoDataQuery{
OrderBy: &godata.GoDataOrderByQuery{
OrderByItems: []*godata.OrderByItem{
{Field: &godata.Token{Value: "lastModifiedDateTime"}, Order: "desc"},
{Field: &godata.Token{Value: "lastModifiedDateTime"}, Order: _sortDescending},
},
},
},
+1 -1
View File
@@ -427,7 +427,7 @@ func sortGroups(req *godata.GoDataRequest, groups []*libregraph.Group) ([]*libre
return nil, fmt.Errorf("we do not support <%s> as a order parameter", req.Query.OrderBy.OrderByItems[0].Field.Value)
}
if req.Query.OrderBy.OrderByItems[0].Order == "desc" {
if req.Query.OrderBy.OrderByItems[0].Order == _sortDescending {
sorter = sort.Reverse(sorter)
}
sort.Sort(sorter)
+1 -1
View File
@@ -499,7 +499,7 @@ func sortUsers(req *godata.GoDataRequest, users []*libregraph.User) ([]*libregra
return nil, fmt.Errorf("we do not support <%s> as a order parameter", req.Query.OrderBy.OrderByItems[0].Field.Value)
}
if req.Query.OrderBy.OrderByItems[0].Order == "desc" {
if req.Query.OrderBy.OrderByItems[0].Order == _sortDescending {
sorter = sort.Reverse(sorter)
}
sort.Sort(sorter)
+2 -2
View File
@@ -139,7 +139,7 @@ func ensureEncryptionSecretExists(path string) error {
f, err := os.OpenFile(path, os.O_CREATE|os.O_WRONLY, 0600)
if err != nil {
return nil
return err
}
defer f.Close()
@@ -175,7 +175,7 @@ func ensureSigningPrivateKeyExists(paths []string) error {
f, err := os.OpenFile(path, os.O_CREATE|os.O_WRONLY, 0600)
if err != nil {
return nil
return err
}
defer f.Close()
+11 -21
View File
@@ -2,35 +2,32 @@ package svc
import (
"net/http"
"net/url"
"github.com/go-chi/chi/v5"
"github.com/owncloud/ocis/v2/services/ocs/pkg/service/v0/data"
"github.com/owncloud/ocis/v2/services/ocs/pkg/service/v0/response"
)
const (
_backendCS3 = "cs3"
)
// ListUserGroups lists a users groups
func (o Ocs) ListUserGroups(w http.ResponseWriter, r *http.Request) {
userid := chi.URLParam(r, "userid")
userid, _ = url.PathUnescape(userid)
switch o.config.AccountBackend {
case "cs3":
case _backendCS3:
// TODO
o.mustRender(w, r, response.DataRender(&data.Groups{}))
return
default:
o.logger.Fatal().Msgf("Invalid accounts backend type '%s'", o.config.AccountBackend)
}
return
}
// AddToGroup adds a user to a group
func (o Ocs) AddToGroup(w http.ResponseWriter, r *http.Request) {
switch o.config.AccountBackend {
case "cs3":
case _backendCS3:
// TODO
o.cs3WriteNotSupported(w, r)
return
default:
o.logger.Fatal().Msgf("Invalid accounts backend type '%s'", o.config.AccountBackend)
}
@@ -39,10 +36,9 @@ func (o Ocs) AddToGroup(w http.ResponseWriter, r *http.Request) {
// RemoveFromGroup removes a user from a group
func (o Ocs) RemoveFromGroup(w http.ResponseWriter, r *http.Request) {
switch o.config.AccountBackend {
case "cs3":
case _backendCS3:
// TODO
o.cs3WriteNotSupported(w, r)
return
default:
o.logger.Fatal().Msgf("Invalid accounts backend type '%s'", o.config.AccountBackend)
}
@@ -51,23 +47,20 @@ func (o Ocs) RemoveFromGroup(w http.ResponseWriter, r *http.Request) {
// ListGroups lists all groups
func (o Ocs) ListGroups(w http.ResponseWriter, r *http.Request) {
switch o.config.AccountBackend {
case "cs3":
case _backendCS3:
// TODO
o.mustRender(w, r, response.DataRender(&data.Groups{}))
return
default:
o.logger.Fatal().Msgf("Invalid accounts backend type '%s'", o.config.AccountBackend)
}
return
}
// AddGroup adds a group
// oC10 implementation: https://github.com/owncloud/core/blob/762780a23c9eadda4fb5fa8db99eba66a5100b6e/apps/provisioning_api/lib/Groups.php#L126-L154
func (o Ocs) AddGroup(w http.ResponseWriter, r *http.Request) {
switch o.config.AccountBackend {
case "cs3":
case _backendCS3:
o.cs3WriteNotSupported(w, r)
return
default:
o.logger.Fatal().Msgf("Invalid accounts backend type '%s'", o.config.AccountBackend)
}
@@ -76,9 +69,8 @@ func (o Ocs) AddGroup(w http.ResponseWriter, r *http.Request) {
// DeleteGroup deletes a group
func (o Ocs) DeleteGroup(w http.ResponseWriter, r *http.Request) {
switch o.config.AccountBackend {
case "cs3":
case _backendCS3:
o.cs3WriteNotSupported(w, r)
return
default:
o.logger.Fatal().Msgf("Invalid accounts backend type '%s'", o.config.AccountBackend)
}
@@ -87,12 +79,10 @@ func (o Ocs) DeleteGroup(w http.ResponseWriter, r *http.Request) {
// GetGroupMembers lists all members of a group
func (o Ocs) GetGroupMembers(w http.ResponseWriter, r *http.Request) {
switch o.config.AccountBackend {
case "cs3":
case _backendCS3:
// TODO
o.mustRender(w, r, response.DataRender(&data.Users{}))
return
default:
o.logger.Fatal().Msgf("Invalid accounts backend type '%s'", o.config.AccountBackend)
}
return
}
-8
View File
@@ -6,7 +6,6 @@ import (
"encoding/hex"
"net/http"
"net/url"
"strings"
storemsg "github.com/owncloud/ocis/v2/protogen/gen/ocis/messages/store/v0"
storesvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/store/v0"
@@ -37,7 +36,6 @@ func (o Ocs) GetSelf(w http.ResponseWriter, r *http.Request) {
GIDNumber: u.GidNumber,
}
o.mustRender(w, r, response.DataRender(d))
return
}
// GetUser returns the user with the given userid
@@ -237,11 +235,6 @@ func (o Ocs) ListUsers(w http.ResponseWriter, r *http.Request) {
}
}
// escapeValue escapes all special characters in the value
func escapeValue(value string) string {
return strings.ReplaceAll(value, "'", "''")
}
func (o Ocs) fetchAccountFromCS3Backend(ctx context.Context, name string) (*cs3.User, error) {
backend := o.getCS3Backend()
u, _, err := backend.GetUserByClaims(ctx, "username", name, false)
@@ -254,5 +247,4 @@ func (o Ocs) fetchAccountFromCS3Backend(ctx context.Context, name string) (*cs3.
func (o Ocs) cs3WriteNotSupported(w http.ResponseWriter, r *http.Request) {
o.logger.Warn().Msg("the CS3 backend does not support adding or updating users")
o.NotImplementedStub(w, r)
return
}
@@ -15,7 +15,7 @@ func (s Store) ListRoleAssignments(accountUUID string) ([]*settingsmsg.UserRoleA
assignmentsFolder := s.buildFolderPathForRoleAssignments(false)
assignmentFiles, err := os.ReadDir(assignmentsFolder)
if err != nil {
return records, nil
return nil, nil
}
for _, assignmentFile := range assignmentFiles {
@@ -23,7 +23,7 @@ func (s Store) ListBundles(bundleType settingsmsg.Bundle_Type, bundleIDs []strin
bundlesFolder := s.buildFolderPathForBundles(false)
bundleFiles, err := os.ReadDir(bundlesFolder)
if err != nil {
return []*settingsmsg.Bundle{}, nil
return nil, err
}
records := make([]*settingsmsg.Bundle, 0, len(bundleFiles))
@@ -133,7 +133,7 @@ func (s Store) AddSettingToBundle(bundleID string, setting *settingsmsg.Setting)
func (s Store) RemoveSettingFromBundle(bundleID string, settingID string) error {
bundle, err := s.ReadBundle(bundleID)
if err != nil {
return nil
return err
}
if ok := removeSetting(bundle, settingID); ok {
if _, err := s.WriteBundle(bundle); err != nil {
@@ -18,7 +18,7 @@ func (s Store) ListValues(bundleID, accountUUID string) ([]*settingsmsg.Value, e
valuesFolder := s.buildFolderPathForValues(false)
valueFiles, err := os.ReadDir(valuesFolder)
if err != nil {
return []*settingsmsg.Value{}, nil
return nil, err
}
records := make([]*settingsmsg.Value, 0, len(valueFiles))
@@ -71,7 +71,7 @@ func (s Store) ReadValueByUniqueIdentifiers(accountUUID, settingID string) (*set
s.Logger.Debug().Msgf("reading contents from file: %v", filepath.Join(valuesFolder, files[i].Name()))
if err := s.parseRecordFromFile(&r, filepath.Join(valuesFolder, files[i].Name())); err != nil {
s.Logger.Debug().Msgf("match found: %v", filepath.Join(valuesFolder, files[i].Name()))
return &settingsmsg.Value{}, nil
return nil, err
}
// if value saved without accountUUID, then it's a global value
+8 -4
View File
@@ -11,6 +11,10 @@ import (
"github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode"
)
const (
_backendCS3 = "cs3"
)
// ParseConfig loads configuration from known paths.
func ParseConfig(cfg *config.Config) error {
_, err := ociscfg.BindSourcesToStructs(cfg.Service.Name, cfg)
@@ -38,19 +42,19 @@ func Validate(cfg *config.Config) error {
return shared.MissingJWTTokenError(cfg.Service.Name)
}
if cfg.PublicSharingDriver == "cs3" && cfg.PublicSharingDrivers.CS3.SystemUserAPIKey == "" {
if cfg.PublicSharingDriver == _backendCS3 && cfg.PublicSharingDrivers.CS3.SystemUserAPIKey == "" {
return shared.MissingSystemUserApiKeyError(cfg.Service.Name)
}
if cfg.PublicSharingDriver == "cs3" && cfg.PublicSharingDrivers.CS3.SystemUserID == "" {
if cfg.PublicSharingDriver == _backendCS3 && cfg.PublicSharingDrivers.CS3.SystemUserID == "" {
return shared.MissingSystemUserID(cfg.Service.Name)
}
if cfg.UserSharingDriver == "cs3" && cfg.UserSharingDrivers.CS3.SystemUserAPIKey == "" {
if cfg.UserSharingDriver == _backendCS3 && cfg.UserSharingDrivers.CS3.SystemUserAPIKey == "" {
return shared.MissingSystemUserApiKeyError(cfg.Service.Name)
}
if cfg.UserSharingDriver == "cs3" && cfg.UserSharingDrivers.CS3.SystemUserID == "" {
if cfg.UserSharingDriver == _backendCS3 && cfg.UserSharingDrivers.CS3.SystemUserID == "" {
return shared.MissingSystemUserID(cfg.Service.Name)
}
@@ -82,13 +82,11 @@ func (g Thumbnail) GetThumbnail(ctx context.Context, req *thumbnailssvc.GetThumb
}
generator, err := thumbnail.GeneratorForType(tType)
if err != nil {
g.logger.Debug().Str("thumbnail_type", tType).Msg("unsupported thumbnail type")
return nil
return merrors.BadRequest(g.serviceID, "unsupported thumbnail type")
}
encoder, err := thumbnail.EncoderForType(tType)
if err != nil {
g.logger.Debug().Str("thumbnail_type", tType).Msg("unsupported thumbnail type")
return nil
return merrors.BadRequest(g.serviceID, "unsupported thumbnail type")
}
var key string
-4
View File
@@ -10,10 +10,6 @@ import (
"github.com/owncloud/ocis/v2/services/webdav/pkg/prop"
)
const (
_spaceTypeProject = "project"
)
type countingReader struct {
n int
r io.Reader