signoz/pkg/modules/preference/preference.go
2025-06-04 00:59:02 +05:30

50 lines
1.6 KiB
Go

package preference
import (
"context"
"net/http"
"github.com/SigNoz/signoz/pkg/types/preferencetypes"
"github.com/SigNoz/signoz/pkg/valuer"
)
type Module interface {
// Returns all preferences for the given organization
ListByOrg(context.Context, valuer.UUID) ([]*preferencetypes.GettablePreference, error)
// Returns the preference for the given organization by name.
GetByOrg(context.Context, valuer.UUID, preferencetypes.Name) (*preferencetypes.GettablePreference, error)
// Updates the preference for the given organization
UpdateByOrg(context.Context, valuer.UUID, preferencetypes.Name, string) error
// Returns all preferences for the given user
ListByUser(context.Context, valuer.UUID) ([]*preferencetypes.GettablePreference, error)
// Returns the preference for the given user by name.
GetByUser(context.Context, valuer.UUID, preferencetypes.Name) (*preferencetypes.GettablePreference, error)
// Updates the preference for the given user
UpdateByUser(context.Context, valuer.UUID, preferencetypes.Name, string) error
}
type Handler interface {
// Returns the preference for the given organization
GetByOrg(http.ResponseWriter, *http.Request)
// Updates the preference for the given organization
UpdateByOrg(http.ResponseWriter, *http.Request)
// Returns all preferences for the given organization
ListByOrg(http.ResponseWriter, *http.Request)
// Returns the preference for the given user
GetByUser(http.ResponseWriter, *http.Request)
// Updates the preference for the given user
UpdateByUser(http.ResponseWriter, *http.Request)
// Returns all preferences for the given user
ListByUser(http.ResponseWriter, *http.Request)
}