diff --git a/models/repo/hidden_folder.go b/models/repo/hidden_folder.go index 08d2c854f1..b0bcb0b36e 100644 --- a/models/repo/hidden_folder.go +++ b/models/repo/hidden_folder.go @@ -11,9 +11,8 @@ import ( "code.gitcaddy.com/server/v3/modules/timeutil" ) -// RepoHiddenFolder represents a folder that is hidden from the code browser -// for non-admin users. -type RepoHiddenFolder struct { +// HiddenFolder represents a folder hidden from the code browser for non-admin users. +type HiddenFolder struct { ID int64 `xorm:"pk autoincr"` RepoID int64 `xorm:"UNIQUE(s) INDEX NOT NULL"` FolderPath string `xorm:"UNIQUE(s) NOT NULL"` @@ -21,12 +20,12 @@ type RepoHiddenFolder struct { } func init() { - db.RegisterModel(new(RepoHiddenFolder)) + db.RegisterModel(new(HiddenFolder)) } // GetHiddenFolders returns all hidden folders for a repository. -func GetHiddenFolders(ctx context.Context, repoID int64) ([]*RepoHiddenFolder, error) { - folders := make([]*RepoHiddenFolder, 0) +func GetHiddenFolders(ctx context.Context, repoID int64) ([]*HiddenFolder, error) { + folders := make([]*HiddenFolder, 0) return folders, db.GetEngine(ctx).Where("repo_id = ?", repoID).OrderBy("folder_path").Find(&folders) } @@ -45,12 +44,12 @@ func GetHiddenFolderPaths(ctx context.Context, repoID int64) (map[string]bool, e // IsHiddenFolder checks if a specific folder path is hidden. func IsHiddenFolder(ctx context.Context, repoID int64, folderPath string) (bool, error) { - return db.GetEngine(ctx).Where("repo_id = ? AND folder_path = ?", repoID, folderPath).Exist(&RepoHiddenFolder{}) + return db.GetEngine(ctx).Where("repo_id = ? AND folder_path = ?", repoID, folderPath).Exist(&HiddenFolder{}) } // AddHiddenFolder adds a folder to the hidden list. func AddHiddenFolder(ctx context.Context, repoID int64, folderPath string) error { - _, err := db.GetEngine(ctx).Insert(&RepoHiddenFolder{ + _, err := db.GetEngine(ctx).Insert(&HiddenFolder{ RepoID: repoID, FolderPath: folderPath, }) @@ -59,7 +58,7 @@ func AddHiddenFolder(ctx context.Context, repoID int64, folderPath string) error // RemoveHiddenFolder removes a folder from the hidden list. func RemoveHiddenFolder(ctx context.Context, repoID int64, folderPath string) error { - _, err := db.GetEngine(ctx).Where("repo_id = ? AND folder_path = ?", repoID, folderPath).Delete(&RepoHiddenFolder{}) + _, err := db.GetEngine(ctx).Where("repo_id = ? AND folder_path = ?", repoID, folderPath).Delete(&HiddenFolder{}) return err } diff --git a/routers/web/repo/view_home.go b/routers/web/repo/view_home.go index bef5b6126f..f9a7fec18b 100644 --- a/routers/web/repo/view_home.go +++ b/routers/web/repo/view_home.go @@ -416,7 +416,7 @@ func handleRepoViewSubmodule(ctx *context.Context, commitSubmoduleFile *git.Comm // isDotfilePath checks if any segment of the path starts with "." func isDotfilePath(treePath string) bool { - for _, segment := range strings.Split(treePath, "/") { + for segment := range strings.SplitSeq(treePath, "/") { if strings.HasPrefix(segment, ".") { return true } diff --git a/services/repository/files/tree.go b/services/repository/files/tree.go index a06a02e0bb..f867061fc1 100644 --- a/services/repository/files/tree.go +++ b/services/repository/files/tree.go @@ -192,7 +192,7 @@ func sortTreeViewNodes(nodes []*TreeViewNode) { }) } -func listTreeNodes(ctx context.Context, repoLink string, renderedIconPool *fileicon.RenderedIconPool, commit *git.Commit, tree *git.Tree, treePath, subPath string, hiddenPaths map[string]bool, isAdmin bool, hideDotfiles bool) ([]*TreeViewNode, error) { +func listTreeNodes(ctx context.Context, repoLink string, renderedIconPool *fileicon.RenderedIconPool, commit *git.Commit, tree *git.Tree, treePath, subPath string, hiddenPaths map[string]bool, isAdmin, hideDotfiles bool) ([]*TreeViewNode, error) { entries, err := tree.ListEntries() if err != nil { return nil, err @@ -237,7 +237,7 @@ func listTreeNodes(ctx context.Context, repoLink string, renderedIconPool *filei return nodes, nil } -func GetTreeViewNodes(ctx context.Context, repoLink string, renderedIconPool *fileicon.RenderedIconPool, commit *git.Commit, treePath, subPath string, hiddenPaths map[string]bool, isAdmin bool, hideDotfiles bool) ([]*TreeViewNode, error) { +func GetTreeViewNodes(ctx context.Context, repoLink string, renderedIconPool *fileicon.RenderedIconPool, commit *git.Commit, treePath, subPath string, hiddenPaths map[string]bool, isAdmin, hideDotfiles bool) ([]*TreeViewNode, error) { entry, err := commit.GetTreeEntryByPath(treePath) if err != nil { return nil, err diff --git a/services/repository/files/tree_test.go b/services/repository/files/tree_test.go index 39977e9b60..92262ff242 100644 --- a/services/repository/files/tree_test.go +++ b/services/repository/files/tree_test.go @@ -75,7 +75,7 @@ func TestGetTreeViewNodes(t *testing.T) { mockOpenIconForFolder := func(id string) template.HTML { return template.HTML(``) } - treeNodes, err := GetTreeViewNodes(ctx, curRepoLink, renderedIconPool, ctx.Repo.Commit, "", "") + treeNodes, err := GetTreeViewNodes(ctx, curRepoLink, renderedIconPool, ctx.Repo.Commit, "", "", nil, false, false) assert.NoError(t, err) assert.Equal(t, []*TreeViewNode{ { @@ -87,7 +87,7 @@ func TestGetTreeViewNodes(t *testing.T) { }, }, treeNodes) - treeNodes, err = GetTreeViewNodes(ctx, curRepoLink, renderedIconPool, ctx.Repo.Commit, "", "docs/README.md") + treeNodes, err = GetTreeViewNodes(ctx, curRepoLink, renderedIconPool, ctx.Repo.Commit, "", "docs/README.md", nil, false, false) assert.NoError(t, err) assert.Equal(t, []*TreeViewNode{ { @@ -107,7 +107,7 @@ func TestGetTreeViewNodes(t *testing.T) { }, }, treeNodes) - treeNodes, err = GetTreeViewNodes(ctx, curRepoLink, renderedIconPool, ctx.Repo.Commit, "docs", "README.md") + treeNodes, err = GetTreeViewNodes(ctx, curRepoLink, renderedIconPool, ctx.Repo.Commit, "docs", "README.md", nil, false, false) assert.NoError(t, err) assert.Equal(t, []*TreeViewNode{ {