Revert "Revert "App layer"" (#5)

This commit is contained in:
Nutcase
2026-04-17 16:08:27 +03:00
committed by GitHub
parent 828e7e39cf
commit 1b2b9d2412
20 changed files with 4881 additions and 32 deletions
+3 -12
View File
@@ -298,8 +298,6 @@ func (r *Resolver) SearchUsageEvents(ctx context.Context, query string, limit in
return r.charging.SearchUsageEvents(ctx, query, limit)
}
// --- Mutation resolvers ---
func (r *Resolver) CreateSubscriber(ctx context.Context, input CreateSubscriberInput) (*models.Subscriber, error) {
req := &services.CreateSubscriberRequest{
MSISDN: input.MSISDN,
@@ -443,8 +441,6 @@ func (r *Resolver) TriggerSystemMaintenance(ctx context.Context) (bool, error) {
return r.charging.TriggerMaintenance(ctx)
}
// --- Subscription resolvers ---
func (r *Resolver) SubscriberUpdates(ctx context.Context, subscriberId string) (<-chan *models.Subscriber, error) {
return r.subscriber.SubscribeToSubscriberUpdates(ctx, subscriberId)
}
@@ -454,15 +450,15 @@ func (r *Resolver) UsageUpdates(ctx context.Context, imsi string) (<-chan *model
}
func (r *Resolver) AlertUpdates(ctx context.Context, severity models.AlertSeverity) (<-chan *models.Alert, error) {
return r.subscriber.SubscribeToAlertUpdates(ctx, severity)
// Convert severity to string for the service call
severityStr := string(severity)
return r.subscriber.SubscribeToAlertUpdates(ctx, &severityStr)
}
func (r *Resolver) SystemStatsUpdates(ctx context.Context) (<-chan *models.SystemStats, error) {
return r.charging.SubscribeToSystemStatsUpdates(ctx)
}
// --- Filter / sort helpers ---
func buildUsageEventFilter(imsi *string, filter *UsageEventFilter) string {
conditions := []string{}
if imsi != nil {
@@ -491,13 +487,10 @@ func buildUsageEventFilter(imsi *string, filter *UsageEventFilter) string {
return ""
}
// --- ResolverRoot interface implementation ---
func (r *Resolver) Query() QueryResolver { return r }
func (r *Resolver) Mutation() MutationResolver { return r }
func (r *Resolver) Subscription() SubscriptionResolver { return r }
// ChargingSessions placeholder query resolver
func (r *Resolver) ChargingSessions(ctx context.Context, first *int, after *string, imsi *string, status *SessionStatus) (*ChargingSessionConnection, error) {
return &ChargingSessionConnection{
Edges: []*ChargingSessionEdge{},
@@ -511,8 +504,6 @@ func (r *Resolver) ChargingSession(ctx context.Context, sessionId string) (*Char
return nil, fmt.Errorf("charging session %s not found", sessionId)
}
// --- GraphQL handler setup ---
func SetupGraphQLHandler(router *gin.Engine, resolver *Resolver) {
graphqlHandler := handler.NewDefaultServer(
NewExecutableSchema(Config{Resolvers: resolver}),