diff options
author | Fábio Barkoski <65479069+fabiobarkoski@users.noreply.github.com> | 2024-08-11 01:50:54 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-11 07:50:54 +0300 |
commit | e45a4c98292bf7c53700ff2f6f8e4dc7ba2e3e68 (patch) | |
tree | 788609058c17d65c6c0eaf9393fdbe44841e0c0d /services | |
parent | ff1779d7cf6d4adb04d9692f63948e83bc7a9022 (diff) | |
download | gitea-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.go | 25 |
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 { |