diff --git a/apis/ees.go b/apis/ees.go new file mode 100644 index 000000000..0d92a5e18 --- /dev/null +++ b/apis/ees.go @@ -0,0 +1,50 @@ +/* +Real-time Online/Offline Charging System (OCS) for Telecom & ISP environments +Copyright (C) ITsysCOM GmbH + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see +*/ + +package apis + +import ( + "github.com/cgrates/birpc/context" + "github.com/cgrates/cgrates/ees" + "github.com/cgrates/cgrates/utils" +) + +// NewEeSv1 initializes the EeSv1 object. +func NewEeSv1(ees *ees.EeS) *EeSv1 { + return &EeSv1{ees: ees} +} + +// EeSv1 represents the RPC object to register for ips v1 APIs. +type EeSv1 struct { + ees *ees.EeS +} + +func (s *EeSv1) ProcessEvent(ctx *context.Context, cgrEv *utils.CGREventWithEeIDs, rply *map[string]map[string]any) error { + return s.ees.V1ProcessEvent(ctx, cgrEv, rply) +} + +// V1ArchiveEventsInReply should archive the events sent with existing exporters. The zipped content should be returned back as a reply. +func (s *EeSv1) ArchiveEventsInReply(ctx *context.Context, args *ees.ArchiveEventsArgs, reply *[]byte) error { + return s.ees.V1ArchiveEventsInReply(ctx, args, reply) +} + +// V1ResetExporterMetrics resets the metrics for a specific exporter identified by ExporterID. +// Returns utils.ErrNotFound if the exporter is not found in the cache. +func (s *EeSv1) ResetExporterMetrics(ctx *context.Context, params ees.V1ResetExporterMetricsParams, reply *string) error { + return s.ees.V1ResetExporterMetrics(ctx, params, reply) +}