Select Git revision
api_component.go
-
Janne Mareike Koschinski authoredJanne Mareike Koschinski authored
api_component.go 2.22 KiB
package main
import "fmt"
import "encoding/json"
const (
ComponentStatusOperational = 1
ComponentStatusPerformanceIssues = 2
ComponentStatusPartialOutage = 3
ComponentStatusMajorOutage = 4
)
type ApiComponent struct {
Id int `json:"id,omitempty"`
Name string `json:"name,omitempty"`
Description string `json:"description,omitempty"`
Link string `json:"link,omitempty"`
Status int `json:"status,omitempty"`
Order int `json:"order,omitempty"`
GroupId int `json:"group_id,omitempty"`
CreatedAt string `json:"created_at,omitempty"`
UpdatedAt string `json:"updated_at,omitempty"`
DeletedAt string `json:"deleted_at,omitempty"`
StatusName string `json:"status_name,omitempty"`
Tags json.RawMessage `json:"tags,omitempty"`
}
type ApiComponentBody struct {
Name string `json:"name,omitempty"`
Description string `json:"description,omitempty"`
Link string `json:"link,omitempty"`
Status int `json:"status,omitempty"`
Order int `json:"order,omitempty"`
GroupId int `json:"group_id,omitempty"`
StatusName string `json:"status_name,omitempty"`
Tags json.RawMessage `json:"tags,omitempty"`
}
type ApiComponentRepo struct {
ConfigApi
}
func (api ConfigApi) Components() ApiComponentRepo {
return ApiComponentRepo{
api,
}
}
func (repo ApiComponentRepo) Get(id int) (component ApiComponent, err error) {
_, err = repo.Request(
&component,
"GET",
fmt.Sprintf("/components/%d", id),
nil,
)
return
}
func (repo ApiComponentRepo) Create(body ApiComponentBody) (component ApiComponent, err error) {
_, err = repo.Request(
&component,
"POST",
"/components",
body,
)
return
}
func (repo ApiComponentRepo) Save(id int, body ApiComponentBody) (component ApiComponent, err error) {
_, err = repo.Request(
&component,
"PUT",
fmt.Sprintf("/components/%d", id),
body,
)
return
}
func (repo ApiComponentRepo) Delete(id int) (err error) {
_, err = repo.Request(
nil,
"DELETE",
fmt.Sprintf("/components/%d", id),
nil,
)
return
}