Commit Graph

14 Commits (dc8f59baa54d4f47edab6feb76a6903947584326)

Author SHA1 Message Date
Lunny Xiao f9f62b4c4c
Move delete deploy keys into service layer ()
Lunny Xiao f62f68cbdd
Move team related functions to service layer ()
There are still some functions under `models` after last big refactor
about `models`. This change will move all team related functions to
service layer with no code change.
yp05327 70b7df0e5e
Support repo license ()
Close 
Close 

## Solutions:
- Use
[google/licenseclassifier](https://github.com/google/licenseclassifier/)
Test result between
[google/licensecheck](https://github.com/google/licensecheck) and
[go-license-detector](https://github.com/go-enry/go-license-detector):
https://github.com/go-gitea/gitea/pull/24872#issuecomment-1560361167
Test result between
[google/licensecheck](https://github.com/google/licensecheck) and
[google/licenseclassifier](https://github.com/google/licenseclassifier/):
https://github.com/go-gitea/gitea/pull/24872#issuecomment-1576092178
- Generate License Convert Name List to avoid import license templates
with same contents
Gitea automatically get latest license data from[
spdx/license-list-data](https://github.com/spdx/license-list-data).
But unfortunately, some license templates have same contents. 
[click here to see the
list](https://github.com/go-gitea/gitea/pull/24872#issuecomment-1584141684)
So we will generate a list of these license templates with same contents
and create a new file to save the result when using `make
generate-license`. (Need to decide the save path)
- Save License info into a new table `repo_license`
Can easily support searching repo by license in the future.

## Screen shot
Single License:

![image](https://github.com/go-gitea/gitea/assets/18380374/41260bd7-0b4c-4038-8592-508706cffa9f)

Multiple Licenses:

![image](https://github.com/go-gitea/gitea/assets/18380374/34ce2f73-7e18-446b-9b96-ecc4fb61bd70)

Triggers:
- [x] Push commit to default branch
- [x] Create repo
- [x] Mirror repo
- [x] When Default Branch is changed, licenses should be updated

Todo:
- [x] Save Licenses info in to DB when there's a change to license file
in the commit
- [x] DB Migration
- [x] A nominal test?
- [x] Select which library to
use(https://github.com/go-gitea/gitea/pull/24872#issuecomment-1560361167)
- [x] API Support
- [x] Add repo license table
- ~Select license in settings if there are several licenses(Not
recommended)~
- License board(later, not in this PR)

![image](https://github.com/go-gitea/gitea/assets/18380374/2c3c3bf8-bcc2-4c6d-8ce0-81d1a9733878)

---------

Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: Denys Konovalov <kontakt@denyskon.de>
Co-authored-by: delvh <dev.lh@web.de>
Co-authored-by: KN4CK3R <admin@oldschoolhack.me>
Co-authored-by: 6543 <6543@obermui.de>
Co-authored-by: 6543 <m.huber@kithara.com>
Co-authored-by: a1012112796 <1012112796@qq.com>
Co-authored-by: techknowlogick <techknowlogick@gitea.com>
wxiaoguang 48d4580dd5
Clarify permission "HasAccess" behavior ()
Follow 

"HasAccess" behavior wasn't clear, to make it clear:

* Use a new name `HasAnyUnitAccess`, it will be easier to review related
code and permission problems.
* Separate everyone access mode to a separate field, then all calls to
HasAccess are reverted to old behavior before .
* Add new tests.

---------

Co-authored-by: Giteabot <teabot@gitea.io>
Zettat123 0fe9f93eb4
Check the token's owner and repository when registering a runner ()
Fix 
Lunny Xiao e2277d07ca
Move some asymkey functions to service layer ()
After the moving, all models will not depend on `util.Rename` so that I
can do next step refactoring.
KN4CK3R c337ff0ec7
Add user blocking ()
Fixes 

This PR adds the abbility to block a user from a personal account or
organization to restrict how the blocked user can interact with the
blocker. The docs explain what's the consequence of blocking a user.

Screenshots:


![grafik](https://github.com/go-gitea/gitea/assets/1666336/4ed884f3-e06a-4862-afd3-3b8aa2488dc6)


![grafik](https://github.com/go-gitea/gitea/assets/1666336/ae6d4981-f252-4f50-a429-04f0f9f1cdf1)


![grafik](https://github.com/go-gitea/gitea/assets/1666336/ca153599-5b0f-4b4a-90fe-18bdfd6f0b6b)

---------

Co-authored-by: Lauris BH <lauris@nix.lv>
Lunny Xiao df1e7d0067
Use db.Find instead of writing methods for every object ()
For those simple objects, it's unnecessary to write the find and count
methods again and again.
6543 e83f2cbbac
Add doctor dbconsistency fix to delete repos with no owner ()
to address 
replace 
JakobDev 3dc0c962bf
Delete repos of org when purge delete user ()
Fixes https://codeberg.org/forgejo/forgejo/issues/1514

I had to remove `RenameOrganization` to avoid circular import.

We should really add some foreign keys to the database.
Lunny Xiao 9852c92e9a
Remove unnecessary parameter ()
JakobDev 7047df36d4
Another round of `db.DefaultContext` refactor ()
Part of 

---------

Co-authored-by: KN4CK3R <admin@oldschoolhack.me>
JakobDev c548dde205
More refactoring of `db.DefaultContext` ()
Next step of 
Lunny Xiao 4f32abaf94
move repository deletion to service layer ()
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>