diff --git a/ee/query-service/app/api/api.go b/ee/query-service/app/api/api.go index a433502c2f..3d57291561 100644 --- a/ee/query-service/app/api/api.go +++ b/ee/query-service/app/api/api.go @@ -17,8 +17,6 @@ import ( "github.com/SigNoz/signoz/pkg/http/middleware" "github.com/SigNoz/signoz/pkg/http/render" "github.com/SigNoz/signoz/pkg/licensing" - "github.com/SigNoz/signoz/pkg/modules/quickfilter" - quickfilterscore "github.com/SigNoz/signoz/pkg/modules/quickfilter/core" baseapp "github.com/SigNoz/signoz/pkg/query-service/app" "github.com/SigNoz/signoz/pkg/query-service/app/cloudintegrations" "github.com/SigNoz/signoz/pkg/query-service/app/integrations" @@ -59,8 +57,6 @@ type APIHandler struct { // NewAPIHandler returns an APIHandler func NewAPIHandler(opts APIHandlerOptions, signoz *signoz.SigNoz) (*APIHandler, error) { - quickfiltermodule := quickfilterscore.NewQuickFilters(quickfilterscore.NewStore(signoz.SQLStore)) - quickFilter := quickfilter.NewAPI(quickfiltermodule) baseHandler, err := baseapp.NewAPIHandler(baseapp.APIHandlerOpts{ Reader: opts.DataConnector, PreferSpanMetrics: opts.PreferSpanMetrics, @@ -73,8 +69,6 @@ func NewAPIHandler(opts APIHandlerOptions, signoz *signoz.SigNoz) (*APIHandler, LicensingAPI: httplicensing.NewLicensingAPI(signoz.Licensing), FieldsAPI: fields.NewAPI(signoz.TelemetryStore), Signoz: signoz, - QuickFilters: quickFilter, - QuickFilterModule: quickfiltermodule, }) if err != nil { diff --git a/pkg/modules/quickfilter/api.go b/pkg/modules/quickfilter/implquickfilter/handler.go similarity index 58% rename from pkg/modules/quickfilter/api.go rename to pkg/modules/quickfilter/implquickfilter/handler.go index add2c4c3b6..65d0477a28 100644 --- a/pkg/modules/quickfilter/api.go +++ b/pkg/modules/quickfilter/implquickfilter/handler.go @@ -1,37 +1,33 @@ -package quickfilter +package implquickfilter import ( "encoding/json" + "net/http" + "github.com/SigNoz/signoz/pkg/http/render" + "github.com/SigNoz/signoz/pkg/modules/quickfilter" "github.com/SigNoz/signoz/pkg/types/authtypes" "github.com/SigNoz/signoz/pkg/types/quickfiltertypes" "github.com/SigNoz/signoz/pkg/valuer" "github.com/gorilla/mux" - "net/http" ) -type API interface { - GetQuickFilters(http.ResponseWriter, *http.Request) - UpdateQuickFilters(http.ResponseWriter, *http.Request) - GetSignalFilters(http.ResponseWriter, *http.Request) +type handler struct { + module quickfilter.Module } -type quickFiltersAPI struct { - usecase Usecase +func NewHandler(module quickfilter.Module) quickfilter.Handler { + return &handler{module: module} } -func NewAPI(usecase Usecase) API { - return &quickFiltersAPI{usecase: usecase} -} - -func (q *quickFiltersAPI) GetQuickFilters(rw http.ResponseWriter, r *http.Request) { +func (handler *handler) GetQuickFilters(rw http.ResponseWriter, r *http.Request) { claims, err := authtypes.ClaimsFromContext(r.Context()) if err != nil { render.Error(rw, err) return } - filters, err := q.usecase.GetQuickFilters(r.Context(), valuer.MustNewUUID(claims.OrgID)) + filters, err := handler.module.GetQuickFilters(r.Context(), valuer.MustNewUUID(claims.OrgID)) if err != nil { render.Error(rw, err) return @@ -40,7 +36,7 @@ func (q *quickFiltersAPI) GetQuickFilters(rw http.ResponseWriter, r *http.Reques render.Success(rw, http.StatusOK, filters) } -func (q *quickFiltersAPI) UpdateQuickFilters(rw http.ResponseWriter, r *http.Request) { +func (handler *handler) UpdateQuickFilters(rw http.ResponseWriter, r *http.Request) { claims, err := authtypes.ClaimsFromContext(r.Context()) if err != nil { render.Error(rw, err) @@ -54,7 +50,7 @@ func (q *quickFiltersAPI) UpdateQuickFilters(rw http.ResponseWriter, r *http.Req return } - err = q.usecase.UpdateQuickFilters(r.Context(), valuer.MustNewUUID(claims.OrgID), req.Signal, req.Filters) + err = handler.module.UpdateQuickFilters(r.Context(), valuer.MustNewUUID(claims.OrgID), req.Signal, req.Filters) if err != nil { render.Error(rw, err) return @@ -63,7 +59,7 @@ func (q *quickFiltersAPI) UpdateQuickFilters(rw http.ResponseWriter, r *http.Req render.Success(rw, http.StatusNoContent, nil) } -func (q *quickFiltersAPI) GetSignalFilters(rw http.ResponseWriter, r *http.Request) { +func (handler *handler) GetSignalFilters(rw http.ResponseWriter, r *http.Request) { claims, err := authtypes.ClaimsFromContext(r.Context()) if err != nil { render.Error(rw, err) @@ -77,7 +73,7 @@ func (q *quickFiltersAPI) GetSignalFilters(rw http.ResponseWriter, r *http.Reque return } - filters, err := q.usecase.GetSignalFilters(r.Context(), valuer.MustNewUUID(claims.OrgID), validatedSignal) + filters, err := handler.module.GetSignalFilters(r.Context(), valuer.MustNewUUID(claims.OrgID), validatedSignal) if err != nil { render.Error(rw, err) return diff --git a/pkg/modules/quickfilter/core/core.go b/pkg/modules/quickfilter/implquickfilter/module.go similarity index 70% rename from pkg/modules/quickfilter/core/core.go rename to pkg/modules/quickfilter/implquickfilter/module.go index 261ea0eac2..b1ebc9117f 100644 --- a/pkg/modules/quickfilter/core/core.go +++ b/pkg/modules/quickfilter/implquickfilter/module.go @@ -1,9 +1,9 @@ -package core +package implquickfilter import ( "context" "encoding/json" - "fmt" + "github.com/SigNoz/signoz/pkg/errors" "github.com/SigNoz/signoz/pkg/modules/quickfilter" v3 "github.com/SigNoz/signoz/pkg/query-service/model/v3" @@ -11,18 +11,17 @@ import ( "github.com/SigNoz/signoz/pkg/valuer" ) -type usecase struct { +type module struct { store quickfiltertypes.QuickFilterStore } -// NewQuickFilters creates a new quick filters usecase -func NewQuickFilters(store quickfiltertypes.QuickFilterStore) quickfilter.Usecase { - return &usecase{store: store} +func NewModule(store quickfiltertypes.QuickFilterStore) quickfilter.Module { + return &module{store: store} } // GetQuickFilters returns all quick filters for an organization -func (u *usecase) GetQuickFilters(ctx context.Context, orgID valuer.UUID) ([]*quickfiltertypes.SignalFilters, error) { - storedFilters, err := u.store.Get(ctx, orgID) +func (module *module) GetQuickFilters(ctx context.Context, orgID valuer.UUID) ([]*quickfiltertypes.SignalFilters, error) { + storedFilters, err := module.store.Get(ctx, orgID) if err != nil { return nil, errors.Wrapf(err, errors.TypeInternal, errors.CodeInternal, "error fetching organization filters") } @@ -40,8 +39,8 @@ func (u *usecase) GetQuickFilters(ctx context.Context, orgID valuer.UUID) ([]*qu } // GetSignalFilters returns quick filters for a specific signal in an organization -func (u *usecase) GetSignalFilters(ctx context.Context, orgID valuer.UUID, signal quickfiltertypes.Signal) (*quickfiltertypes.SignalFilters, error) { - storedFilter, err := u.store.GetBySignal(ctx, orgID, signal.StringValue()) +func (m *module) GetSignalFilters(ctx context.Context, orgID valuer.UUID, signal quickfiltertypes.Signal) (*quickfiltertypes.SignalFilters, error) { + storedFilter, err := m.store.GetBySignal(ctx, orgID, signal.StringValue()) if err != nil { return nil, err } @@ -64,7 +63,7 @@ func (u *usecase) GetSignalFilters(ctx context.Context, orgID valuer.UUID, signa } // UpdateQuickFilters updates quick filters for a specific signal in an organization -func (u *usecase) UpdateQuickFilters(ctx context.Context, orgID valuer.UUID, signal quickfiltertypes.Signal, filters []v3.AttributeKey) error { +func (module *module) UpdateQuickFilters(ctx context.Context, orgID valuer.UUID, signal quickfiltertypes.Signal, filters []v3.AttributeKey) error { // Validate each filter for _, filter := range filters { if err := filter.Validate(); err != nil { @@ -79,7 +78,7 @@ func (u *usecase) UpdateQuickFilters(ctx context.Context, orgID valuer.UUID, sig } // Check if filter exists - existingFilter, err := u.store.GetBySignal(ctx, orgID, signal.StringValue()) + existingFilter, err := module.store.GetBySignal(ctx, orgID, signal.StringValue()) if err != nil { return errors.Wrapf(err, errors.TypeInternal, errors.CodeInternal, "error checking existing filters") } @@ -100,17 +99,18 @@ func (u *usecase) UpdateQuickFilters(ctx context.Context, orgID valuer.UUID, sig } // Persist filter - if err := u.store.Upsert(ctx, filter); err != nil { - return errors.Wrapf(err, errors.TypeInternal, errors.CodeInternal, fmt.Sprintf("error upserting filter for signal: %s", signal.StringValue())) + if err := module.store.Upsert(ctx, filter); err != nil { + return err } return nil } -func (u *usecase) SetDefaultConfig(ctx context.Context, orgID valuer.UUID) error { +func (module *module) SetDefaultConfig(ctx context.Context, orgID valuer.UUID) error { storableQuickFilters, err := quickfiltertypes.NewDefaultQuickFilter(orgID) if err != nil { - return errors.Wrapf(err, errors.TypeInternal, errors.CodeInternal, "error creating default quick filters") + return err } - return u.store.Create(ctx, storableQuickFilters) + + return module.store.Create(ctx, storableQuickFilters) } diff --git a/pkg/modules/quickfilter/core/store.go b/pkg/modules/quickfilter/implquickfilter/store.go similarity index 98% rename from pkg/modules/quickfilter/core/store.go rename to pkg/modules/quickfilter/implquickfilter/store.go index 5d829e5da8..05f7e55cf1 100644 --- a/pkg/modules/quickfilter/core/store.go +++ b/pkg/modules/quickfilter/implquickfilter/store.go @@ -1,8 +1,9 @@ -package core +package implquickfilter import ( "context" "database/sql" + "github.com/SigNoz/signoz/pkg/errors" "github.com/SigNoz/signoz/pkg/sqlstore" "github.com/SigNoz/signoz/pkg/types/quickfiltertypes" diff --git a/pkg/modules/quickfilter/usecase.go b/pkg/modules/quickfilter/quickfilter.go similarity index 73% rename from pkg/modules/quickfilter/usecase.go rename to pkg/modules/quickfilter/quickfilter.go index 19a1b622b0..6528b966fc 100644 --- a/pkg/modules/quickfilter/usecase.go +++ b/pkg/modules/quickfilter/quickfilter.go @@ -2,14 +2,22 @@ package quickfilter import ( "context" + "net/http" + v3 "github.com/SigNoz/signoz/pkg/query-service/model/v3" "github.com/SigNoz/signoz/pkg/types/quickfiltertypes" "github.com/SigNoz/signoz/pkg/valuer" ) -type Usecase interface { +type Module interface { GetQuickFilters(ctx context.Context, orgID valuer.UUID) ([]*quickfiltertypes.SignalFilters, error) UpdateQuickFilters(ctx context.Context, orgID valuer.UUID, signal quickfiltertypes.Signal, filters []v3.AttributeKey) error GetSignalFilters(ctx context.Context, orgID valuer.UUID, signal quickfiltertypes.Signal) (*quickfiltertypes.SignalFilters, error) SetDefaultConfig(ctx context.Context, orgID valuer.UUID) error } + +type Handler interface { + GetQuickFilters(http.ResponseWriter, *http.Request) + UpdateQuickFilters(http.ResponseWriter, *http.Request) + GetSignalFilters(http.ResponseWriter, *http.Request) +} diff --git a/pkg/query-service/app/http_handler.go b/pkg/query-service/app/http_handler.go index 4caad03633..f116eb799c 100644 --- a/pkg/query-service/app/http_handler.go +++ b/pkg/query-service/app/http_handler.go @@ -24,7 +24,6 @@ import ( "github.com/SigNoz/signoz/pkg/http/middleware" "github.com/SigNoz/signoz/pkg/http/render" "github.com/SigNoz/signoz/pkg/licensing" - "github.com/SigNoz/signoz/pkg/modules/quickfilter" "github.com/SigNoz/signoz/pkg/query-service/app/cloudintegrations/services" "github.com/SigNoz/signoz/pkg/query-service/app/integrations" "github.com/SigNoz/signoz/pkg/query-service/app/metricsexplorer" @@ -142,10 +141,6 @@ type APIHandler struct { FieldsAPI *fields.API Signoz *signoz.SigNoz - - QuickFilters quickfilter.API - - QuickFilterModule quickfilter.Usecase } type APIHandlerOpts struct { @@ -182,10 +177,6 @@ type APIHandlerOpts struct { FieldsAPI *fields.API Signoz *signoz.SigNoz - - QuickFilters quickfilter.API - - QuickFilterModule quickfilter.Usecase } // NewAPIHandler returns an APIHandler @@ -248,8 +239,6 @@ func NewAPIHandler(opts APIHandlerOpts) (*APIHandler, error) { LicensingAPI: opts.LicensingAPI, Signoz: opts.Signoz, FieldsAPI: opts.FieldsAPI, - QuickFilters: opts.QuickFilters, - QuickFilterModule: opts.QuickFilterModule, } logsQueryBuilder := logsv4.PrepareLogsQuery @@ -576,9 +565,9 @@ func (aH *APIHandler) RegisterRoutes(router *mux.Router, am *middleware.AuthZ) { router.HandleFunc("/api/v1/org/preferences/{preferenceId}", am.AdminAccess(aH.Signoz.Handlers.Preference.UpdateOrg)).Methods(http.MethodPut) // Quick Filters - router.HandleFunc("/api/v1/orgs/me/filters", am.ViewAccess(aH.QuickFilters.GetQuickFilters)).Methods(http.MethodGet) - router.HandleFunc("/api/v1/orgs/me/filters/{signal}", am.ViewAccess(aH.QuickFilters.GetSignalFilters)).Methods(http.MethodGet) - router.HandleFunc("/api/v1/orgs/me/filters", am.AdminAccess(aH.QuickFilters.UpdateQuickFilters)).Methods(http.MethodPut) + router.HandleFunc("/api/v1/orgs/me/filters", am.ViewAccess(aH.Signoz.Handlers.QuickFilter.GetQuickFilters)).Methods(http.MethodGet) + router.HandleFunc("/api/v1/orgs/me/filters/{signal}", am.ViewAccess(aH.Signoz.Handlers.QuickFilter.GetSignalFilters)).Methods(http.MethodGet) + router.HandleFunc("/api/v1/orgs/me/filters", am.AdminAccess(aH.Signoz.Handlers.QuickFilter.UpdateQuickFilters)).Methods(http.MethodPut) // === Authentication APIs === router.HandleFunc("/api/v1/invite", am.AdminAccess(aH.Signoz.Handlers.User.CreateInvite)).Methods(http.MethodPost) @@ -2029,7 +2018,7 @@ func (aH *APIHandler) registerUser(w http.ResponseWriter, r *http.Request) { return } - _, apiErr := auth.Register(context.Background(), &req, aH.Signoz.Alertmanager, aH.Signoz.Modules.Organization, aH.Signoz.Modules.User, aH.QuickFilterModule) + _, apiErr := auth.Register(context.Background(), &req, aH.Signoz.Alertmanager, aH.Signoz.Modules.Organization, aH.Signoz.Modules.User, aH.Signoz.Modules.QuickFilter) if apiErr != nil { RespondError(w, apiErr, nil) return diff --git a/pkg/query-service/app/server.go b/pkg/query-service/app/server.go index 08a26c8799..fbd35320c0 100644 --- a/pkg/query-service/app/server.go +++ b/pkg/query-service/app/server.go @@ -15,8 +15,6 @@ import ( "github.com/SigNoz/signoz/pkg/apis/fields" "github.com/SigNoz/signoz/pkg/http/middleware" "github.com/SigNoz/signoz/pkg/licensing/nooplicensing" - "github.com/SigNoz/signoz/pkg/modules/quickfilter" - quickfilterscore "github.com/SigNoz/signoz/pkg/modules/quickfilter/core" "github.com/SigNoz/signoz/pkg/prometheus" "github.com/SigNoz/signoz/pkg/query-service/agentConf" "github.com/SigNoz/signoz/pkg/query-service/app/clickhouseReader" @@ -138,8 +136,6 @@ func NewServer(serverOptions *ServerOptions) (*Server, error) { telemetry.GetInstance().SetUserCountCallback(telemetry.GetUserCount) telemetry.GetInstance().SetDashboardsInfoCallback(telemetry.GetDashboardsInfo) - quickfiltermodule := quickfilterscore.NewQuickFilters(quickfilterscore.NewStore(serverOptions.SigNoz.SQLStore)) - quickFilter := quickfilter.NewAPI(quickfiltermodule) apiHandler, err := NewAPIHandler(APIHandlerOpts{ Reader: reader, PreferSpanMetrics: serverOptions.PreferSpanMetrics, @@ -153,8 +149,6 @@ func NewServer(serverOptions *ServerOptions) (*Server, error) { LicensingAPI: nooplicensing.NewLicenseAPI(), FieldsAPI: fields.NewAPI(serverOptions.SigNoz.TelemetryStore), Signoz: serverOptions.SigNoz, - QuickFilters: quickFilter, - QuickFilterModule: quickfiltermodule, }) if err != nil { return nil, err diff --git a/pkg/query-service/auth/auth.go b/pkg/query-service/auth/auth.go index e29d02bee6..d157083d4e 100644 --- a/pkg/query-service/auth/auth.go +++ b/pkg/query-service/auth/auth.go @@ -47,7 +47,7 @@ func RegisterOrgAndFirstUser(ctx context.Context, req *types.PostableRegisterOrg } // First user registration -func Register(ctx context.Context, req *types.PostableRegisterOrgAndAdmin, alertmanager alertmanager.Alertmanager, organizationModule organization.Module, userModule user.Module, quickfiltermodule quickfilter.Usecase) (*types.User, *model.ApiError) { +func Register(ctx context.Context, req *types.PostableRegisterOrgAndAdmin, alertmanager alertmanager.Alertmanager, organizationModule organization.Module, userModule user.Module, quickfiltermodule quickfilter.Module) (*types.User, *model.ApiError) { user, err := RegisterOrgAndFirstUser(ctx, req, organizationModule, userModule) if err != nil { return nil, err diff --git a/pkg/query-service/tests/integration/filter_suggestions_test.go b/pkg/query-service/tests/integration/filter_suggestions_test.go index b0e02b1ec4..92c8d5abf2 100644 --- a/pkg/query-service/tests/integration/filter_suggestions_test.go +++ b/pkg/query-service/tests/integration/filter_suggestions_test.go @@ -13,8 +13,6 @@ import ( "github.com/SigNoz/signoz/pkg/emailing" "github.com/SigNoz/signoz/pkg/emailing/noopemailing" - "github.com/SigNoz/signoz/pkg/modules/quickfilter" - quickfilterscore "github.com/SigNoz/signoz/pkg/modules/quickfilter/core" "github.com/SigNoz/signoz/pkg/types/authtypes" "github.com/SigNoz/signoz/pkg/http/middleware" @@ -312,7 +310,6 @@ func NewFilterSuggestionsTestBed(t *testing.T) *FilterSuggestionsTestBed { userModule := impluser.NewModule(impluser.NewStore(testDB), jwt, emailing, providerSettings) userHandler := impluser.NewHandler(userModule) modules := signoz.NewModules(testDB, userModule) - quickFilterModule := quickfilter.NewAPI(quickfilterscore.NewQuickFilters(quickfilterscore.NewStore(testDB))) apiHandler, err := app.NewAPIHandler(app.APIHandlerOpts{ Reader: reader, @@ -321,7 +318,6 @@ func NewFilterSuggestionsTestBed(t *testing.T) *FilterSuggestionsTestBed { Modules: modules, Handlers: signoz.NewHandlers(modules, userHandler), }, - QuickFilters: quickFilterModule, }) if err != nil { t.Fatalf("could not create a new ApiHandler: %v", err) diff --git a/pkg/query-service/tests/integration/logparsingpipeline_test.go b/pkg/query-service/tests/integration/logparsingpipeline_test.go index a28b91fb32..6caa38e6fa 100644 --- a/pkg/query-service/tests/integration/logparsingpipeline_test.go +++ b/pkg/query-service/tests/integration/logparsingpipeline_test.go @@ -15,8 +15,6 @@ import ( "github.com/SigNoz/signoz/pkg/emailing/noopemailing" "github.com/SigNoz/signoz/pkg/instrumentation/instrumentationtest" "github.com/SigNoz/signoz/pkg/modules/organization/implorganization" - "github.com/SigNoz/signoz/pkg/modules/quickfilter" - quickfilterscore "github.com/SigNoz/signoz/pkg/modules/quickfilter/core" "github.com/SigNoz/signoz/pkg/modules/user" "github.com/SigNoz/signoz/pkg/modules/user/impluser" "github.com/SigNoz/signoz/pkg/query-service/agentConf" @@ -489,7 +487,6 @@ func NewTestbedWithoutOpamp(t *testing.T, sqlStore sqlstore.SQLStore) *LogPipeli userHandler := impluser.NewHandler(userModule) modules := signoz.NewModules(sqlStore, userModule) handlers := signoz.NewHandlers(modules, userHandler) - quickFilterModule := quickfilter.NewAPI(quickfilterscore.NewQuickFilters(quickfilterscore.NewStore(sqlStore))) apiHandler, err := app.NewAPIHandler(app.APIHandlerOpts{ LogsParsingPipelineController: controller, @@ -498,7 +495,6 @@ func NewTestbedWithoutOpamp(t *testing.T, sqlStore sqlstore.SQLStore) *LogPipeli Modules: modules, Handlers: handlers, }, - QuickFilters: quickFilterModule, }) if err != nil { t.Fatalf("could not create a new ApiHandler: %v", err) diff --git a/pkg/query-service/tests/integration/signoz_cloud_integrations_test.go b/pkg/query-service/tests/integration/signoz_cloud_integrations_test.go index 76ea8f590f..934f45ce8e 100644 --- a/pkg/query-service/tests/integration/signoz_cloud_integrations_test.go +++ b/pkg/query-service/tests/integration/signoz_cloud_integrations_test.go @@ -11,8 +11,6 @@ import ( "github.com/SigNoz/signoz/pkg/emailing" "github.com/SigNoz/signoz/pkg/emailing/noopemailing" - "github.com/SigNoz/signoz/pkg/modules/quickfilter" - quickfilterscore "github.com/SigNoz/signoz/pkg/modules/quickfilter/core" "github.com/SigNoz/signoz/pkg/types/authtypes" "github.com/SigNoz/signoz/pkg/http/middleware" @@ -375,7 +373,6 @@ func NewCloudIntegrationsTestBed(t *testing.T, testDB sqlstore.SQLStore) *CloudI userHandler := impluser.NewHandler(userModule) modules := signoz.NewModules(testDB, userModule) handlers := signoz.NewHandlers(modules, userHandler) - quickFilterModule := quickfilter.NewAPI(quickfilterscore.NewQuickFilters(quickfilterscore.NewStore(testDB))) apiHandler, err := app.NewAPIHandler(app.APIHandlerOpts{ Reader: reader, @@ -385,7 +382,6 @@ func NewCloudIntegrationsTestBed(t *testing.T, testDB sqlstore.SQLStore) *CloudI Modules: modules, Handlers: handlers, }, - QuickFilters: quickFilterModule, }) if err != nil { t.Fatalf("could not create a new ApiHandler: %v", err) diff --git a/pkg/query-service/tests/integration/signoz_integrations_test.go b/pkg/query-service/tests/integration/signoz_integrations_test.go index 8751ef5c2a..d39098d7db 100644 --- a/pkg/query-service/tests/integration/signoz_integrations_test.go +++ b/pkg/query-service/tests/integration/signoz_integrations_test.go @@ -11,8 +11,6 @@ import ( "github.com/SigNoz/signoz/pkg/emailing" "github.com/SigNoz/signoz/pkg/emailing/noopemailing" - "github.com/SigNoz/signoz/pkg/modules/quickfilter" - quickfilterscore "github.com/SigNoz/signoz/pkg/modules/quickfilter/core" "github.com/SigNoz/signoz/pkg/http/middleware" "github.com/SigNoz/signoz/pkg/instrumentation/instrumentationtest" @@ -581,9 +579,6 @@ func NewIntegrationsTestBed(t *testing.T, testDB sqlstore.SQLStore) *Integration userHandler := impluser.NewHandler(userModule) modules := signoz.NewModules(testDB, userModule) handlers := signoz.NewHandlers(modules, userHandler) - - quickFilterModule := quickfilter.NewAPI(quickfilterscore.NewQuickFilters(quickfilterscore.NewStore(testDB))) - apiHandler, err := app.NewAPIHandler(app.APIHandlerOpts{ Reader: reader, IntegrationsController: controller, @@ -594,7 +589,6 @@ func NewIntegrationsTestBed(t *testing.T, testDB sqlstore.SQLStore) *Integration Modules: modules, Handlers: handlers, }, - QuickFilters: quickFilterModule, }) if err != nil { t.Fatalf("could not create a new ApiHandler: %v", err) diff --git a/pkg/signoz/handler.go b/pkg/signoz/handler.go index 3196806106..375ec93afe 100644 --- a/pkg/signoz/handler.go +++ b/pkg/signoz/handler.go @@ -9,6 +9,8 @@ import ( "github.com/SigNoz/signoz/pkg/modules/organization/implorganization" "github.com/SigNoz/signoz/pkg/modules/preference" "github.com/SigNoz/signoz/pkg/modules/preference/implpreference" + "github.com/SigNoz/signoz/pkg/modules/quickfilter" + "github.com/SigNoz/signoz/pkg/modules/quickfilter/implquickfilter" "github.com/SigNoz/signoz/pkg/modules/savedview" "github.com/SigNoz/signoz/pkg/modules/savedview/implsavedview" "github.com/SigNoz/signoz/pkg/modules/user" @@ -21,6 +23,7 @@ type Handlers struct { SavedView savedview.Handler Apdex apdex.Handler Dashboard dashboard.Handler + QuickFilter quickfilter.Handler } func NewHandlers(modules Modules, user user.Handler) Handlers { @@ -31,5 +34,6 @@ func NewHandlers(modules Modules, user user.Handler) Handlers { SavedView: implsavedview.NewHandler(modules.SavedView), Apdex: implapdex.NewHandler(modules.Apdex), Dashboard: impldashboard.NewHandler(modules.Dashboard), + QuickFilter: implquickfilter.NewHandler(modules.QuickFilter), } } diff --git a/pkg/signoz/module.go b/pkg/signoz/module.go index 7fa06b54c2..399e189ea1 100644 --- a/pkg/signoz/module.go +++ b/pkg/signoz/module.go @@ -9,6 +9,8 @@ import ( "github.com/SigNoz/signoz/pkg/modules/organization/implorganization" "github.com/SigNoz/signoz/pkg/modules/preference" "github.com/SigNoz/signoz/pkg/modules/preference/implpreference" + "github.com/SigNoz/signoz/pkg/modules/quickfilter" + "github.com/SigNoz/signoz/pkg/modules/quickfilter/implquickfilter" "github.com/SigNoz/signoz/pkg/modules/savedview" "github.com/SigNoz/signoz/pkg/modules/savedview/implsavedview" "github.com/SigNoz/signoz/pkg/modules/user" @@ -23,6 +25,7 @@ type Modules struct { SavedView savedview.Module Apdex apdex.Module Dashboard dashboard.Module + QuickFilter quickfilter.Module } func NewModules(sqlstore sqlstore.SQLStore, user user.Module) Modules { @@ -33,5 +36,6 @@ func NewModules(sqlstore sqlstore.SQLStore, user user.Module) Modules { SavedView: implsavedview.NewModule(sqlstore), Apdex: implapdex.NewModule(sqlstore), Dashboard: impldashboard.NewModule(sqlstore), + QuickFilter: implquickfilter.NewModule(implquickfilter.NewStore(sqlstore)), } } diff --git a/pkg/types/quickfiltertypes/filter.go b/pkg/types/quickfiltertypes/filter.go index ecfa9cfdb9..9d00833c7e 100644 --- a/pkg/types/quickfiltertypes/filter.go +++ b/pkg/types/quickfiltertypes/filter.go @@ -2,12 +2,13 @@ package quickfiltertypes import ( "encoding/json" + "time" + "github.com/SigNoz/signoz/pkg/errors" v3 "github.com/SigNoz/signoz/pkg/query-service/model/v3" "github.com/SigNoz/signoz/pkg/types" "github.com/SigNoz/signoz/pkg/valuer" "github.com/uptrace/bun" - "time" ) type Signal struct { @@ -48,7 +49,7 @@ func NewSignal(s string) (Signal, error) { case "exceptions": return SignalExceptions, nil default: - return Signal{}, errors.Newf(errors.TypeInternal, errors.CodeInternal, "invalid signal: "+s) + return Signal{}, errors.Newf(errors.TypeInvalidInput, errors.CodeInvalidInput, "invalid signal: %s", s) } }