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
```
4 weeks ago
..
access.yml Add user blocking (#29028) 11 months ago
access_token.yml Fix more yaml lint errors (#27284) 1 year ago
action.yml Support "." char as user name for User/Orgs in RSS/ATOM/GPG/KEYS path ... (#23874) 2 years ago
action_artifact.yml Add artifacts test fixture (#30300) 3 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) 1 month 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) 11 months ago
comment.yml Fix the logic of finding the latest pull review commit ID (#32139) 4 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) 12 months ago
external_login_user.yml add test coverage for original author conversion during migrations (#18506) 3 years ago
follow.yml Fix user visible check (#21210) 2 years ago
gpg_key.yml Fix verifyCommits error when push a new branch (#26664) 1 year ago
gpg_key_import.yml
hook_task.yml Store webhook event in database (#29145) 11 months ago
issue.yml Allow non-admin users to delete review requests (#29057) 12 months ago
issue_assignees.yml Add user blocking (#29028) 11 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) 1 month ago
lfs_meta_object.yml Fix test fixtures for user2/lfs.git (#32477) 3 months ago
login_source.yml
milestone.yml Add some api integration tests (#18872) 2 years ago
mirror.yml Fix bug of branches API with tests (#25578) 2 years ago
notice.yml
notification.yml
oauth2_application.yml Record OAuth client type at registration (#21316) 2 years ago
oauth2_authorization_code.yml Record OAuth client type at registration (#21316) 2 years ago
oauth2_grant.yml Record OAuth client type at registration (#21316) 2 years ago
org_user.yml Limit org member view of restricted users (#32211) 3 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) 1 month 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 Add a simple way to rename branch like gh (#15870) 3 years ago
repo_archiver.yml
repo_indexer_status.yml
repo_license.yml Support repo license (#24872) 4 months ago
repo_redirect.yml
repo_topic.yml
repo_transfer.yml Add user blocking (#29028) 11 months ago
repo_unit.yml Allow code search by filename (#32210) 4 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) 2 months ago
star.yml Add user blocking (#29028) 11 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) 12 months 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 Add some api integration tests (#18872) 2 years ago
tracked_time.yml
two_factor.yml
user.yml Fix GetInactiveUsers (#32540) 3 months ago
user_blocking.yml Add user blocking (#29028) 11 months ago
user_open_id.yml
user_redirect.yml
watch.yml Add user blocking (#29028) 11 months ago
webauthn_credential.yml Add some api integration tests (#18872) 2 years ago
webhook.yml Let API create and edit system webhooks, attempt 2 (#33180) 4 weeks ago