You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gitea/models/fixtures
Michael B. a90af22003
Let API create and edit system webhooks, attempt 2 (#33180)
This PR fixes inconsistencies between system and default webhooks in the
Gitea API. (See also #26418)
- A system webhook is a webhook that captures events for all
repositories.
- A default webhook is copied to a new repository when it is created. 

Before this PR `POST /api/v1/admin/hooks/` creates default webhooks (if
not configured otherwise) and `GET /api/v1/admin/hooks/` returns system
webhooks.

The PR introduces an optional query parameter to `GET
/api/v1/admin/hooks/` to enable selecting if either default, system or
both kind of webhooks should be retrieved. By default the flag is set to
return system webhooks keep current behaviour.

## Examples

### System Webhooks

#### Create

```
POST /api/v1/admin/hooks/

{
  "type": "gitea",
  "active": false,
  "branch_filter": "*",
  "events": [ "create", "..." ],
  "config": {
    "url": "http://...",
    "content_type": "json",
    "secret": "secret",
    "is_system_webhook": true // <-- controls hook type
  }
}
```

#### List
```
GET/api/v1/admin/hooks?type=system //type argument is optional here since it's the default
```

#### Others
The other relevant endpoints work as expected by referencing the hook by
id
```
GET /api/v1/admin/hooks/:id
PATCH /api/v1/admin/hooks/:id
DELETE /api/v1/admin/hooks/:id
```


### Default Webhooks

#### Create
```
POST /api/v1/admin/hooks/

{
  "type": "gitea",
  "active": false,
  "branch_filter": "*",
  "events": [ "create", "..." ],
  "config": {
    "url": "http://...",
    "content_type": "json",
    "secret": "secret",
    "is_system_webhook": false // optional, as false is the default value
  }
}
```

#### List
```
GET/api/v1/admin/hooks?type=default
```

#### Others
The other relevant endpoints work as expected by referencing the hook by
id
```
GET /api/v1/admin/hooks/:id
PATCH /api/v1/admin/hooks/:id
DELETE /api/v1/admin/hooks/:id
```
1 month ago
..
access.yml Add user blocking (#29028) 12 months ago
access_token.yml Fix more yaml lint errors (#27284) 1 year ago
action.yml
action_artifact.yml Add artifacts test fixture (#30300) 4 months ago
action_run.yml Fix bug on action list deleted branch (#32848) 2 months ago
action_run_job.yml Refactor fixture loading for testing (#33024) 2 months ago
action_runner_token.yml Add unit tests for action runner token (#27670) 1 year ago
action_task.yml Fix missing outputs for jobs with matrix (#32823) 2 months ago
action_task_output.yml Fix missing outputs for jobs with matrix (#32823) 2 months ago
attachment.yml Allow get release download files and lfs files with oauth2 token format (#26430) 1 year ago
branch.yml Fix bug on action list deleted branch (#32848) 2 months ago
collaboration.yml Add user blocking (#29028) 12 months ago
comment.yml Fix the logic of finding the latest pull review commit ID (#32139) 5 months ago
commit_status.yml
commit_status_index.yml Fix more yaml lint errors (#27284) 1 year ago
deploy_key.yml
email_address.yml Allow non-admin users to delete review requests (#29057) 1 year ago
external_login_user.yml
follow.yml
gpg_key.yml Fix verifyCommits error when push a new branch (#26664) 2 years ago
gpg_key_import.yml
hook_task.yml Store webhook event in database (#29145) 12 months ago
issue.yml Allow non-admin users to delete review requests (#29057) 1 year ago
issue_assignees.yml Add user blocking (#29028) 12 months ago
issue_index.yml Fix wrong display of recently pushed notification (#25812) 9 months ago
issue_label.yml
issue_user.yml
issue_watch.yml
label.yml Support org labels when adding labels by label names (#32988) 2 months ago
lfs_meta_object.yml Fix test fixtures for user2/lfs.git (#32477) 4 months ago
login_source.yml
milestone.yml
mirror.yml
notice.yml
notification.yml
oauth2_application.yml
oauth2_authorization_code.yml
oauth2_grant.yml
org_user.yml Limit org member view of restricted users (#32211) 4 months ago
project.yml Add default board to new projects, remove uncategorized pseudo-board (#29874) 11 months ago
project_board.yml Add default board to new projects, remove uncategorized pseudo-board (#29874) 11 months ago
project_issue.yml
protected_branch.yml
protected_tag.yml Refactor fixture loading for testing (#33024) 2 months ago
public_key.yml Fix more yaml lint errors (#27284) 1 year ago
pull_request.yml Update misspell to 0.5.1 and add `misspellings.csv` (#30573) 10 months ago
reaction.yml Fix more yaml lint errors (#27284) 1 year ago
release.yml Allow get release download files and lfs files with oauth2 token format (#26430) 1 year ago
renamed_branch.yml
repo_archiver.yml
repo_indexer_status.yml
repo_license.yml Support repo license (#24872) 5 months ago
repo_redirect.yml
repo_topic.yml
repo_transfer.yml Add user blocking (#29028) 12 months ago
repo_unit.yml Allow code search by filename (#32210) 5 months ago
repository.yml Reduce integration test overhead (#32475) 3 months ago
review.yml Use batch database operations instead of one by one to optimze api pulls (#32680) 3 months ago
star.yml Add user blocking (#29028) 12 months ago
stopwatch.yml
system_setting.yml disable gravatar in test (#32529) 3 months ago
team.yml Fix wrong display of recently pushed notification (#25812) 9 months ago
team_repo.yml Allow non-admin users to delete review requests (#29057) 1 year ago
team_unit.yml Fix wrong display of recently pushed notification (#25812) 9 months ago
team_user.yml Fix wrong display of recently pushed notification (#25812) 9 months ago
topic.yml
tracked_time.yml
two_factor.yml
user.yml Fix GetInactiveUsers (#32540) 3 months ago
user_blocking.yml Add user blocking (#29028) 12 months ago
user_open_id.yml
user_redirect.yml
watch.yml Add user blocking (#29028) 12 months ago
webauthn_credential.yml
webhook.yml Let API create and edit system webhooks, attempt 2 (#33180) 1 month ago