Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type BaseHandler ¶
func (*BaseHandler) LogRequest ¶
func (h *BaseHandler) LogRequest(r *http.Request, operation string)
func (*BaseHandler) WithTimeout ¶
func (h *BaseHandler) WithTimeout(r *http.Request) (context.Context, context.CancelFunc)
type CompanyHandler ¶
type CompanyHandler struct {
BaseHandler
// contains filtered or unexported fields
}
func NewCompanyHandler ¶
func NewCompanyHandler( logger *slog.Logger, config Config, companyRepository repository.CompanyRepository, timeProvider models.TimeProvider, ) *CompanyHandler
func (*CompanyHandler) Create ¶
func (h *CompanyHandler) Create() http.Handler
CreateCompany creates a new company.
func (*CompanyHandler) Delete ¶
func (h *CompanyHandler) Delete() http.Handler
DeleteCompany deletes an existing company by their unique identifier.
func (*CompanyHandler) Get ¶
func (h *CompanyHandler) Get() http.Handler
GetCompany retrieves a single company by their unique identifier.
func (*CompanyHandler) List ¶
func (h *CompanyHandler) List() http.Handler
ListCompanies retrieves a list of companies with optional filtering, sorting, and pagination.
func (*CompanyHandler) Update ¶
func (h *CompanyHandler) Update() http.Handler
UpdateCompany updates an existing company by their unique identifier.
type CompanyInput ¶
type CompanyInput struct {
Name string `json:"name"`
}
type ConfigItemHandler ¶
type ConfigItemHandler struct {
BaseHandler
// contains filtered or unexported fields
}
func NewConfigItemHandler ¶
func NewConfigItemHandler( logger *slog.Logger, config Config, ciRepository repository.ConfigItemRepository, timeProvider models.TimeProvider, ) *ConfigItemHandler
func (*ConfigItemHandler) Create ¶
func (h *ConfigItemHandler) Create() http.Handler
CreateConfigItem creates a new ci.
func (*ConfigItemHandler) Delete ¶
func (h *ConfigItemHandler) Delete() http.Handler
DeleteConfigItem deletes an existing ci by their unique identifier.
func (*ConfigItemHandler) Get ¶
func (h *ConfigItemHandler) Get() http.Handler
GetConfigItem retrieves a single ci by their unique identifier.
func (*ConfigItemHandler) List ¶
func (h *ConfigItemHandler) List() http.Handler
ListConfigItems retrieves a list of cis with optional filtering, sorting, and pagination.
func (*ConfigItemHandler) Update ¶
func (h *ConfigItemHandler) Update() http.Handler
UpdateConfigItem updates an existing ci by their unique identifier.
type ConfigItemInput ¶
type ConfigItemInput struct {
Name string `json:"name"`
}
type IncidentHandler ¶
type IncidentHandler struct {
BaseHandler
// contains filtered or unexported fields
}
func NewIncidentHandler ¶
func NewIncidentHandler( logger *slog.Logger, config Config, incidentRepository repository.IncidentRepository, timeProvider models.TimeProvider, ) *IncidentHandler
func (*IncidentHandler) Create ¶
func (h *IncidentHandler) Create() http.Handler
CreateIncident creates a new incident.
func (*IncidentHandler) Delete ¶
func (h *IncidentHandler) Delete() http.Handler
DeleteIncident deletes an existing incident by their unique identifier.
func (*IncidentHandler) Get ¶
func (h *IncidentHandler) Get() http.Handler
GetIncident retrieves a single incident by their unique identifier.
func (*IncidentHandler) List ¶
func (h *IncidentHandler) List() http.Handler
ListIncidents retrieves a list of incidents with optional filtering, sorting, and pagination.
func (*IncidentHandler) Update ¶
func (h *IncidentHandler) Update() http.Handler
UpdateIncident updates an existing incident by their unique identifier.
type IncidentInput ¶
type IncidentInput struct {
ID uuid.UUID `json:"id"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
ShortDescription string `json:"short_description"`
Description string `json:"description"`
ConfigurationItemID uuid.UUID `json:"configuration_item_id"`
CompanyID uuid.UUID `json:"company_id"`
AssignedToID uuid.NullUUID `json:"assigned_to_id"`
AssignedToName string `json:"assigned_to_name"`
State database.StateEnum `json:"state"`
}
type UserHandler ¶
type UserHandler struct {
BaseHandler
// contains filtered or unexported fields
}
func NewUserHandler ¶
func NewUserHandler( logger *slog.Logger, config Config, userRepository repository.UserRepository, timeProvider models.TimeProvider, ) *UserHandler
func (*UserHandler) Delete ¶
func (h *UserHandler) Delete() http.Handler
Delete deletes an existing user by their unique identifier.
func (*UserHandler) Get ¶
func (h *UserHandler) Get() http.Handler
Get retrieves a single user by their unique identifier.
func (*UserHandler) List ¶
func (h *UserHandler) List() http.Handler
List retrieves a list of users with optional filtering, sorting, and pagination.
func (*UserHandler) Update ¶
func (h *UserHandler) Update() http.Handler
Update updates an existing user by their unique identifier.
type UserInput ¶
type UserInput struct {
FirstName string `json:"first_name"`
LastName string `json:"last_name"`
Email string `json:"email"`
RoleID uuid.UUID `json:"role_id"`
DepartmentID uuid.UUID `json:"department_id"`
SendWelcomeEmail bool `json:"send_welcome_email"`
RequirePasswordChange bool `json:"require_password_change"`
}