mirror of
https://github.com/rocky-linux/peridot.git
synced 2024-10-19 07:55:07 +00:00
150 lines
4.8 KiB
Go
150 lines
4.8 KiB
Go
|
//
|
||
|
// Copyright 2021, Sander van Harmelen
|
||
|
//
|
||
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
||
|
// you may not use this file except in compliance with the License.
|
||
|
// You may obtain a copy of the License at
|
||
|
//
|
||
|
// http://www.apache.org/licenses/LICENSE-2.0
|
||
|
//
|
||
|
// Unless required by applicable law or agreed to in writing, software
|
||
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
||
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
|
// See the License for the specific language governing permissions and
|
||
|
// limitations under the License.
|
||
|
//
|
||
|
|
||
|
package gitlab
|
||
|
|
||
|
// systemHookEvent is used to pre-process events to determine the
|
||
|
// system hook event type.
|
||
|
type systemHookEvent struct {
|
||
|
BaseSystemEvent
|
||
|
ObjectKind string `json:"object_kind"`
|
||
|
}
|
||
|
|
||
|
// BaseSystemEvent contains system hook's common properties.
|
||
|
//
|
||
|
// GitLab API docs:
|
||
|
// https://docs.gitlab.com/ee/system_hooks/system_hooks.html
|
||
|
type BaseSystemEvent struct {
|
||
|
EventName string `json:"event_name"`
|
||
|
CreatedAt string `json:"created_at"`
|
||
|
UpdatedAt string `json:"updated_at"`
|
||
|
}
|
||
|
|
||
|
// ProjectSystemEvent represents a project system event.
|
||
|
//
|
||
|
// GitLab API docs:
|
||
|
// https://docs.gitlab.com/ee/system_hooks/system_hooks.html
|
||
|
type ProjectSystemEvent struct {
|
||
|
BaseSystemEvent
|
||
|
Name string `json:"name"`
|
||
|
Path string `json:"path"`
|
||
|
PathWithNamespace string `json:"path_with_namespace"`
|
||
|
ProjectID int `json:"project_id"`
|
||
|
OwnerName string `json:"owner_name"`
|
||
|
OwnerEmail string `json:"owner_email"`
|
||
|
ProjectVisibility string `json:"project_visibility"`
|
||
|
OldPathWithNamespace string `json:"old_path_with_namespace,omitempty"`
|
||
|
}
|
||
|
|
||
|
// GroupSystemEvent represents a group system event.
|
||
|
//
|
||
|
// GitLab API docs:
|
||
|
// https://docs.gitlab.com/ee/system_hooks/system_hooks.html
|
||
|
type GroupSystemEvent struct {
|
||
|
BaseSystemEvent
|
||
|
Name string `json:"name"`
|
||
|
Path string `json:"path"`
|
||
|
PathWithNamespace string `json:"full_path"`
|
||
|
GroupID int `json:"group_id"`
|
||
|
OwnerName string `json:"owner_name"`
|
||
|
OwnerEmail string `json:"owner_email"`
|
||
|
ProjectVisibility string `json:"project_visibility"`
|
||
|
OldPath string `json:"old_path,omitempty"`
|
||
|
OldPathWithNamespace string `json:"old_full_path,omitempty"`
|
||
|
}
|
||
|
|
||
|
// KeySystemEvent represents a key system event.
|
||
|
//
|
||
|
// GitLab API docs:
|
||
|
// https://docs.gitlab.com/ee/system_hooks/system_hooks.html
|
||
|
type KeySystemEvent struct {
|
||
|
BaseSystemEvent
|
||
|
ID int `json:"id"`
|
||
|
Username string `json:"username"`
|
||
|
Key string `json:"key"`
|
||
|
}
|
||
|
|
||
|
// UserSystemEvent represents a user system event.
|
||
|
//
|
||
|
// GitLab API docs:
|
||
|
// https://docs.gitlab.com/ee/system_hooks/system_hooks.html
|
||
|
type UserSystemEvent struct {
|
||
|
BaseSystemEvent
|
||
|
ID int `json:"user_id"`
|
||
|
Name string `json:"name"`
|
||
|
Username string `json:"username"`
|
||
|
OldUsername string `json:"old_username,omitempty"`
|
||
|
Email string `json:"email"`
|
||
|
}
|
||
|
|
||
|
// UserGroupSystemEvent represents a user group system event.
|
||
|
//
|
||
|
// GitLab API docs:
|
||
|
// https://docs.gitlab.com/ee/system_hooks/system_hooks.html
|
||
|
type UserGroupSystemEvent struct {
|
||
|
BaseSystemEvent
|
||
|
ID int `json:"user_id"`
|
||
|
Name string `json:"user_name"`
|
||
|
Username string `json:"user_username"`
|
||
|
Email string `json:"user_email"`
|
||
|
GroupID int `json:"group_id"`
|
||
|
GroupName string `json:"group_name"`
|
||
|
GroupPath string `json:"group_path"`
|
||
|
GroupAccess string `json:"group_access"`
|
||
|
}
|
||
|
|
||
|
// UserTeamSystemEvent represents a user team system event.
|
||
|
//
|
||
|
// GitLab API docs:
|
||
|
// https://docs.gitlab.com/ee/system_hooks/system_hooks.html
|
||
|
type UserTeamSystemEvent struct {
|
||
|
BaseSystemEvent
|
||
|
ID int `json:"user_id"`
|
||
|
Name string `json:"user_name"`
|
||
|
Username string `json:"user_username"`
|
||
|
Email string `json:"user_email"`
|
||
|
ProjectID int `json:"project_id"`
|
||
|
ProjectName string `json:"project_name"`
|
||
|
ProjectPath string `json:"project_path"`
|
||
|
ProjectPathWithNamespace string `json:"project_path_with_namespace"`
|
||
|
ProjectVisibility string `json:"project_visibility"`
|
||
|
AccessLevel string `json:"access_level"`
|
||
|
}
|
||
|
|
||
|
// PushSystemEvent represents a push system event.
|
||
|
//
|
||
|
// GitLab API docs:
|
||
|
// https://docs.gitlab.com/ee/system_hooks/system_hooks.html
|
||
|
type PushSystemEvent struct {
|
||
|
BaseSystemEvent
|
||
|
}
|
||
|
|
||
|
// TagPushSystemEvent represents a tag push system event.
|
||
|
//
|
||
|
// GitLab API docs:
|
||
|
// https://docs.gitlab.com/ee/system_hooks/system_hooks.html
|
||
|
type TagPushSystemEvent struct {
|
||
|
BaseSystemEvent
|
||
|
}
|
||
|
|
||
|
// RepositoryUpdateSystemEvent represents a repository updated system event.
|
||
|
//
|
||
|
// GitLab API docs:
|
||
|
// https://docs.gitlab.com/ee/system_hooks/system_hooks.html
|
||
|
type RepositoryUpdateSystemEvent struct {
|
||
|
BaseSystemEvent
|
||
|
}
|