aboutsummaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorFábio Barkoski <65479069+fabiobarkoski@users.noreply.github.com>2024-08-11 01:50:54 -0300
committerGitHub <noreply@github.com>2024-08-11 07:50:54 +0300
commite45a4c98292bf7c53700ff2f6f8e4dc7ba2e3e68 (patch)
tree788609058c17d65c6c0eaf9393fdbe44841e0c0d /services
parentff1779d7cf6d4adb04d9692f63948e83bc7a9022 (diff)
downloadgitea-e45a4c98292bf7c53700ff2f6f8e4dc7ba2e3e68.tar.gz
gitea-e45a4c98292bf7c53700ff2f6f8e4dc7ba2e3e68.zip
Move repository visibility to danger zone in the settings area (#31126)
Moved repository visibility to the danger zone in the settings area. To change the visibility, it is necessary to go to the danger zone, click on the private/public button, and accept the change in the modal. Resolves: #23826 --- ## Screenshots <details> <summary>Before</summary> Private repo: ![Private repo](https://github.com/go-gitea/gitea/assets/65479069/4313492a-4854-48bc-9f47-974e3539d791) Public repo: ![Public repo](https://github.com/go-gitea/gitea/assets/65479069/1c45f6e4-ee93-4799-9331-e9d4a7e0f16a) </details> <details> <summary>After</summary> Make private: ![Screenshot from 2024-05-28 21-35-38](https://github.com/go-gitea/gitea/assets/65479069/4887e28a-0514-4990-aa69-bf3ddc7e6c7d) Make private modal ![Screenshot from 2024-06-13 23-55-55](https://github.com/go-gitea/gitea/assets/65479069/9f5a7604-069b-41a2-973b-ee2d58e85953) ![Screenshot from 2024-06-13 23-53-09](https://github.com/go-gitea/gitea/assets/65479069/06c22726-eab2-4bce-8df7-62849dcce974) Make public: ![Screenshot from 2024-05-28 21-34-27](https://github.com/go-gitea/gitea/assets/65479069/6d388f99-0356-48a0-9d85-320cdba55179) Make public modal ![Screenshot from 2024-06-13 23-53-37](https://github.com/go-gitea/gitea/assets/65479069/8944972e-f2d4-4aea-ba96-b892febb5ced) </details> --------- Co-authored-by: Kemal Zebari <60799661+kemzeb@users.noreply.github.com>
Diffstat (limited to 'services')
-rw-r--r--services/repository/repository.go25
1 files changed, 25 insertions, 0 deletions
diff --git a/services/repository/repository.go b/services/repository/repository.go
index b7aac3cfe0..5306e7d45c 100644
--- a/services/repository/repository.go
+++ b/services/repository/repository.go
@@ -122,6 +122,31 @@ func UpdateRepository(ctx context.Context, repo *repo_model.Repository, visibili
return committer.Commit()
}
+func UpdateRepositoryVisibility(ctx context.Context, repo *repo_model.Repository, isPrivate bool) (err error) {
+ ctx, committer, err := db.TxContext(ctx)
+ if err != nil {
+ return err
+ }
+
+ defer committer.Close()
+
+ repo.IsPrivate = isPrivate
+
+ if err = repo_module.UpdateRepository(ctx, repo, true); err != nil {
+ return fmt.Errorf("UpdateRepositoryVisibility: %w", err)
+ }
+
+ return committer.Commit()
+}
+
+func MakeRepoPublic(ctx context.Context, repo *repo_model.Repository) (err error) {
+ return UpdateRepositoryVisibility(ctx, repo, false)
+}
+
+func MakeRepoPrivate(ctx context.Context, repo *repo_model.Repository) (err error) {
+ return UpdateRepositoryVisibility(ctx, repo, true)
+}
+
// LinkedRepository returns the linked repo if any
func LinkedRepository(ctx context.Context, a *repo_model.Attachment) (*repo_model.Repository, unit.Type, error) {
if a.IssueID != 0 {