data

package
v0.0.1-rc5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 16, 2023 License: GPL-3.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ResponderTypeUser     = "user"
	ResponderTypeSchedule = "schedule"
)

Variables

This section is empty.

Functions

func MapToJSONType

func MapToJSONType(in map[string]string) datatypes.JSONType[map[string]string]

Types

type Alert

type Alert struct {
	Item
	UniqueIdentifier string                                `json:"uniq_id" gorm:"index"`
	Status           string                                `json:"status"`
	StartsAt         time.Time                             `json:"starts_at"`
	EndsAt           time.Time                             `json:"ends_at,omitempty"`
	Title            string                                `json:"title"`
	Description      string                                `json:"description"`
	UrlMoreInfo      string                                `json:"url_more_info,omitempty"`
	Labels           datatypes.JSONType[map[string]string] `json:"labels"`
	ServiceID        uint                                  `json:"service_id" gorm:"index"`
}

func (*Alert) SafeToDelete

func (s *Alert) SafeToDelete(*Manager) error

func (*Alert) Validate

func (s *Alert) Validate(m *Manager) error

type DatabaseItem

type DatabaseItem interface {
	Validate(m *Manager) error
	SafeToDelete(m *Manager) error
}

type Error

type Error struct {
	Message string `json:"message"`
}

type Escalation

type Escalation struct {
	Item
	Name        string                       `json:"name"`
	Description string                       `json:"description"`
	Layers      *datatypes.JSONType[[]Layer] `json:"layers,omitempty"`
}

func (*Escalation) GetLayers

func (e *Escalation) GetLayers() ([]Layer, error)

func (*Escalation) SafeToDelete

func (e *Escalation) SafeToDelete(m *Manager) error

func (*Escalation) Validate

func (e *Escalation) Validate(*Manager) error

type Item

type Item struct {
	ID        uint           `json:"id" gorm:"primarykey"`
	CreatedAt time.Time      `json:"-"`
	UpdatedAt time.Time      `json:"-"`
	DeletedAt gorm.DeletedAt `json:"-" gorm:"index"`
}

type Layer

type Layer struct {
	Tier               uint   `json:"tier"`
	ResponderType      string `json:"responder_type"`
	ResponderReference string `json:"responder_reference"`
}

func (*Layer) SafeToDelete

func (l *Layer) SafeToDelete(*Manager) error

func (*Layer) Validate

func (l *Layer) Validate(*Manager) error
type Link struct {
	Item
	Url         string `json:"link"`
	Description string `json:"description"`
	ReferenceID int    `json:"-"`
}

func (*Link) SafeToDelete

func (l *Link) SafeToDelete(*Manager) error

func (*Link) Validate

func (l *Link) Validate(*Manager) error

type Manager

type Manager struct {
	// contains filtered or unexported fields
}

func New

func New(conf *config.DatabaseConfig) (*Manager, error)

func (*Manager) CreateUser

func (m *Manager) CreateUser(u *User) (*User, error)

func (*Manager) DeleteAlert

func (m *Manager) DeleteAlert(id uint) error

func (*Manager) DeleteEscalation

func (m *Manager) DeleteEscalation(id uint) error

func (*Manager) DeleteService

func (m *Manager) DeleteService(id uint) error

func (*Manager) DeleteTeam

func (m *Manager) DeleteTeam(id uint) error

func (*Manager) DeleteUser

func (m *Manager) DeleteUser(id uint) error

func (*Manager) GetAlert

func (m *Manager) GetAlert(id uint) (*Alert, error)

func (*Manager) GetAlertByName

func (m *Manager) GetAlertByName(AlertName string) (*Alert, error)

func (*Manager) GetAlertByUniqueID

func (m *Manager) GetAlertByUniqueID(id string) (*Alert, error)

func (*Manager) GetAlerts

func (m *Manager) GetAlerts() ([]*Alert, error)

func (*Manager) GetAlertsForAService

func (m *Manager) GetAlertsForAService(serviceID uint) ([]*Alert, error)

func (*Manager) GetEscalation

func (m *Manager) GetEscalation(id uint) (*Escalation, error)

func (*Manager) GetEscalations

func (m *Manager) GetEscalations() ([]*Escalation, error)

func (*Manager) GetService

func (m *Manager) GetService(id uint) (*Service, error)

func (*Manager) GetServiceByName

func (m *Manager) GetServiceByName(serviceName string) (*Service, error)

func (*Manager) GetServices

func (m *Manager) GetServices() ([]*Service, error)

func (*Manager) GetServicesOnEscalation

func (m *Manager) GetServicesOnEscalation(escalationID uint) ([]*Service, error)

func (*Manager) GetTeam

func (m *Manager) GetTeam(id uint) (*Team, error)

func (*Manager) GetTeamByName

func (m *Manager) GetTeamByName(teamName string) (*Team, error)

func (*Manager) GetTeams

func (m *Manager) GetTeams() ([]*Team, error)

func (*Manager) GetUser

func (m *Manager) GetUser(id uint) (*User, error)

func (*Manager) GetUserByEmail

func (m *Manager) GetUserByEmail(email string) (*User, error)

func (*Manager) GetUsers

func (m *Manager) GetUsers() ([]*User, error)

func (*Manager) UpdateAlert

func (m *Manager) UpdateAlert(a *Alert) (*Alert, error)

func (*Manager) UpdateEscalation

func (m *Manager) UpdateEscalation(e *Escalation) (*Escalation, error)

func (*Manager) UpdateService

func (m *Manager) UpdateService(s *Service) (*Service, error)

func (*Manager) UpdateTeam

func (m *Manager) UpdateTeam(t *Team) (*Team, error)

func (*Manager) UpdateUser

func (m *Manager) UpdateUser(u *User) (*User, error)

type Service

type Service struct {
	Item
	Name         string `json:"name" gorm:"index,unique"`
	TeamID       uint   `json:"team_id" gorm:"index"`
	Description  string `json:"description"`
	Link         string `json:"link,omitempty"`
	EscalationID uint   `json:"escalation_id" gorm:"index"`
}

func (*Service) SafeToDelete

func (s *Service) SafeToDelete(*Manager) error

func (*Service) Validate

func (s *Service) Validate(m *Manager) error

type Team

type Team struct {
	Item
	Name        string `json:"name" gorm:"index,unique"`
	Description string `json:"description"`
}

func (*Team) SafeToDelete

func (t *Team) SafeToDelete(*Manager) error

func (*Team) Validate

func (t *Team) Validate(*Manager) error

type User

type User struct {
	Item
	Email          string              `json:"email" gorm:"index,unique"`
	FirstName      string              `json:"first_name"`
	LastName       string              `json:"last_name"`
	UserType       string              `json:"user_type"`
	ContactMethods []UserContactMethod `json:"contact_methods" gorm:"foreignKey:ID;references:ID"`
}

func (*User) SafeToDelete

func (u *User) SafeToDelete(*Manager) error

func (*User) Validate

func (u *User) Validate(*Manager) error

type UserContactMethod

type UserContactMethod struct {
	Item
	Type    string `json:"type"`
	Address string `json:"address"`
	Summary string `json:"summary"`
}

func (*UserContactMethod) SafeToDelete

func (ucm *UserContactMethod) SafeToDelete(*Manager) error

func (*UserContactMethod) Validate

func (ucm *UserContactMethod) Validate(*Manager) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL