forgejo/models/fixtures
Gusted a9c97110f9 feat: add configurable cooldown to claim usernames (#6422)
Add a new option that allows instances to set a cooldown period to claim
old usernames. In the context of public instances this can be used to
prevent old usernames to be claimed after they are free and allow
graceful migration (by making use of the redirect feature) to a new
username. The granularity of this cooldown is a day. By default this
feature is disabled and thus no cooldown period.

The `CreatedUnix` column is added the `user_redirect` table, for
existing redirects the timestamp is simply zero as we simply do not know
when they were created and are likely already over the cooldown period
if the instance configures one.

Users can always reclaim their 'old' user name again within the cooldown
period. Users can also always reclaim 'old' names of organization they
currently own within the cooldown period.

Creating and renaming users as an admin user are not affected by the
cooldown period for moderation and user support reasons.

To avoid abuse of the cooldown feature, such that a user holds a lot of
usernames, a new option is added `MAX_USER_REDIRECTS` which sets a limit
to the amount of user redirects a user may have, by default this is
disabled. If a cooldown period is set then the default is 5. This
feature operates independently of the cooldown period feature.

Added integration and unit testing.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/6422
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
Reviewed-by: Otto <otto@codeberg.org>
Co-authored-by: Gusted <postmaster@gusted.xyz>
Co-committed-by: Gusted <postmaster@gusted.xyz>
2025-01-24 04:16:56 +00:00
..
TestGetUnmergedPullRequestsByHeadInfoMax Add codespell support and fix a good number of typos with its help (#3270) 2024-05-09 13:49:37 +00:00
TestParseCommitWithSSHSignature [GITEA] Add noreply email address as verified for SSH signed Git commits 2024-02-05 16:09:40 +01:00
access.yml Allow non-admin users to delete review requests (#29057) 2024-02-26 22:30:27 +01:00
access_token.yml Fix more yaml lint errors (#27284) 2023-09-26 12:56:42 -04:00
action.yml fix action fixtures 2024-03-24 07:12:31 +01:00
action_artifact.yml Add artifacts test fixture (#30300) 2024-11-05 09:33:15 +01:00
action_run.yml Fix bug on action list deleted branch (#32848) 2024-12-22 07:21:38 +01:00
action_run_job.yml Add search action jobs for API routes, repo, org and global level (#6300) 2025-01-14 11:17:42 +00:00
action_runner.yml feat(cli): add --keep-labels flag to forgejo actions register (#4610) 2024-07-22 07:33:45 +00:00
action_runner_token.yml Add unit tests for action runner token (#27670) 2023-10-19 07:24:24 +00:00
action_task.yml Fix missing outputs for jobs with matrix (#32823) 2024-12-15 10:14:21 +01:00
action_task_output.yml Fix missing outputs for jobs with matrix (#32823) 2024-12-15 10:14:21 +01:00
attachment.yml Allow get release download files and lfs files with oauth2 token format (#26430) 2023-10-01 10:41:52 +00:00
branch.yml Fix bug on action list deleted branch (#32848) 2024-12-22 07:21:38 +01:00
collaboration.yml Allow non-admin users to delete review requests (#29057) 2024-02-26 22:30:27 +01:00
comment.yml Fix the logic of finding the latest pull review commit ID (#32139) 2024-10-06 07:44:28 +02:00
commit_status.yml feat: improve GetLatestCommitStatusForPairs 2024-11-16 13:23:40 +01:00
commit_status_index.yml Fix more yaml lint errors (#27284) 2023-09-26 12:56:42 -04:00
deploy_key.yml Writable deploy keys (closes #671) (#3225) 2018-01-07 00:55:53 +02:00
email_address.yml Allow non-admin users to delete review requests (#29057) 2024-02-26 22:30:27 +01:00
external_login_user.yml add test coverage for original author conversion during migrations (#18506) 2022-02-01 13:20:28 -05:00
federated_user.yml tests: improve actvititypub integration test code 2024-11-01 22:39:49 +01:00
federation_host.yml tests: improve actvititypub integration test code 2024-11-01 22:39:49 +01:00
follow.yml Fix user visible check (#21210) 2022-09-20 15:59:20 +08:00
forgejo_blocked_user.yml [MODERATION] User blocking 2024-02-05 15:56:45 +01:00
gpg_key.yml Fix verifyCommits error when push a new branch (#26664) 2023-08-30 02:27:53 +00:00
gpg_key_import.yml add .gpg url (match github behaviour) (#6610) 2019-04-14 12:43:56 -04:00
hook_task.yml test: check hook_task deletion 2024-05-24 10:31:41 +02:00
issue.yml [FEAT] Adds x-mode-only anchor styles to display images based if the theme is light or dark mode. (#3985) 2024-06-09 10:50:53 +00:00
issue_assignees.yml Fix issue overview for teams (#19652) 2022-05-16 17:49:17 +08:00
issue_index.yml [MODERATION] User blocking 2024-02-05 15:56:45 +01:00
issue_label.yml Add Organization Wide Labels (#10814) 2020-04-01 01:14:46 -03:00
issue_user.yml [API] ListIssues add more filters (#16174) 2021-06-16 18:33:37 -04:00
issue_watch.yml Refactor Issues Subscription (#8738) 2019-11-20 22:50:54 +08:00
label.yml Support org labels when adding labels by label names (#32988) 2024-12-28 19:32:09 +00:00
lfs_meta_object.yml test: LFS gc should not delete all metadata objects 2024-04-26 10:16:59 +02:00
login_source.yml Add LDAP integration tests (#3897) 2018-05-11 15:55:32 +08:00
milestone.yml Add some api integration tests (#18872) 2022-10-18 00:23:27 +08:00
mirror.yml Fix bug of branches API with tests (#25578) 2023-07-01 10:52:52 +08:00
notice.yml Unit tests for models/admin 2017-01-09 21:49:51 +01:00
notification.yml [API] Add notification endpoint (#9488) 2020-01-09 11:56:32 +00:00
oauth2_application.yml test(oauth): RFC 6749 Section 10.2 conformance 2024-06-05 17:50:15 +02:00
oauth2_authorization_code.yml Record OAuth client type at registration (#21316) 2022-10-24 15:59:24 +08:00
oauth2_grant.yml Record OAuth client type at registration (#21316) 2022-10-24 15:59:24 +08:00
org_user.yml Allow non-admin users to delete review requests (#29057) 2024-02-26 22:30:27 +01:00
project.yml Add default board to new projects, remove uncategorized pseudo-board (#29874) 2024-03-30 07:17:31 +01:00
project_board.yml Add default board to new projects, remove uncategorized pseudo-board (#29874) 2024-03-30 07:17:31 +01:00
project_issue.yml Kanban board (#8346) 2020-08-16 23:07:38 -04:00
protected_branch.yml Don't recreate database in integration tests (#1697) 2017-05-11 23:32:43 +08:00
protected_tag.yml Protected tag is no internal server error (#30962) 2024-05-19 13:12:35 +02:00
public_key.yml Fix more yaml lint errors (#27284) 2023-09-26 12:56:42 -04:00
pull_request.yml Add codespell support and fix a good number of typos with its help (#3270) 2024-05-09 13:49:37 +00:00
push_mirror.yml tests(api): POST /repos/{owner}/{repo}/push_mirrors coverage 2024-06-02 16:31:41 +02:00
reaction.yml Fix more yaml lint errors (#27284) 2023-09-26 12:56:42 -04:00
release.yml [GITEA] Improve HTML title on repositories 2024-02-05 16:05:50 +01:00
renamed_branch.yml Add a simple way to rename branch like gh (#15870) 2021-10-08 19:03:04 +02:00
repo_archiver.yml Rework repository archive (#14723) 2021-06-23 17:12:38 -04:00
repo_indexer_status.yml Code/repo search (#2582) 2017-10-27 09:10:54 +03:00
repo_redirect.yml Unit tests for repo redirects (#961) 2017-02-17 08:55:33 +08:00
repo_topic.yml Add API endpoint for accessing repo topics (#7963) 2019-09-03 23:46:24 +08:00
repo_transfer.yml Repository transfer has to be confirmed, if user can not create repo for new owner (#14792) 2021-03-01 01:47:30 +01:00
repo_unit.yml fix artifact range requests (#4218) 2024-07-10 05:28:01 +00:00
repository.yml fix: Add created_unix and updated_unix to repo1 fixture 2024-11-10 22:24:12 +01:00
review.yml Fix the logic of finding the latest pull review commit ID (#32139) 2024-10-06 07:44:28 +02:00
star.yml Unit tests for models/star (#752) 2017-01-25 18:37:10 +08:00
stopwatch.yml [API] extend StopWatch (#9196) 2019-12-11 23:23:05 -05:00
system_setting.yml disable gravatar in test (#32529) 2024-11-24 15:42:36 +00:00
team.yml Allow non-admin users to delete review requests (#29057) 2024-02-26 22:30:27 +01:00
team_repo.yml Allow non-admin users to delete review requests (#29057) 2024-02-26 22:30:27 +01:00
team_unit.yml Allow non-admin users to delete review requests (#29057) 2024-02-26 22:30:27 +01:00
team_user.yml Allow non-admin users to delete review requests (#29057) 2024-02-26 22:30:27 +01:00
topic.yml Add some api integration tests (#18872) 2022-10-18 00:23:27 +08:00
tracked_time.yml [API] Extend times API (#9200) 2019-12-27 20:30:58 +00:00
two_factor.yml feat: migrate TOTP secrets to keying 2024-11-27 00:34:16 +01:00
user.yml chore: Identify the created_unix in user fixtures 2024-12-16 23:27:37 +03:00
user_open_id.yml Show user OpenID URIs in their profile (#1314) 2017-03-20 09:31:08 +01:00
user_redirect.yml feat: add configurable cooldown to claim usernames (#6422) 2025-01-24 04:16:56 +00:00
watch.yml [MODERATION] User blocking 2024-02-05 15:56:45 +01:00
webauthn_credential.yml [FEAT] Add support for webauthn credential level 3 2024-08-29 10:05:03 +02:00
webhook.yml test: webhook fix branch filter tests 2024-04-30 09:38:35 +02:00