MCPcopy Create free account
hub / github.com/bricks-cloud/BricksLLM / handleUserValidationResult

Method handleUserValidationResult

internal/message/handler.go:263–314  ·  view source on GitHub ↗
(u *user.User, cost float64)

Source from the content-addressed store, hash-verified

261}
262
263func (h *Handler) handleUserValidationResult(u *user.User, cost float64) error {
264 err := h.uv.Validate(u, cost)
265
266 if err != nil {
267 telemetry.Incr("bricksllm.message.handler.handle_user_validation_result.validate_error", nil, 1)
268
269 if _, ok := err.(expirationError); ok {
270 telemetry.Incr("bricksllm.message.handler.handle_user_validation_result.expiraton_error", nil, 1)
271
272 truePtr := true
273 _, err = h.um.UpdateUser(u.Id, &user.UpdateUser{
274 Revoked: &truePtr,
275 RevokedReason: key.RevokedReasonExpired,
276 })
277
278 if err != nil {
279 telemetry.Incr("bricksllm.message.handler.handle_user_validation_result.update_user_error", nil, 1)
280 return err
281 }
282
283 return nil
284 }
285
286 if _, ok := err.(rateLimitError); ok {
287 telemetry.Incr("bricksllm.message.handler.handle_user_validation_result.rate_limit_error", nil, 1)
288
289 err = h.uac.Set(u.Id, u.RateLimitUnit)
290 if err != nil {
291 telemetry.Incr("bricksllm.message.handler.handle_user_validation_result.set_rate_limit_error", nil, 1)
292 return err
293 }
294
295 return nil
296 }
297
298 if _, ok := err.(costLimitError); ok {
299 telemetry.Incr("bricksllm.message.handler.handle_user_validation_result.cost_limit_error", nil, 1)
300
301 err = h.uac.Set(u.Id, u.CostLimitInUsdUnit)
302 if err != nil {
303 telemetry.Incr("bricksllm.message.handler.handle_user_validation_result.set_cost_limit_error", nil, 1)
304 return err
305 }
306
307 return nil
308 }
309
310 return err
311 }
312
313 return nil
314}
315
316func (h *Handler) HandleEventWithRequestAndResponse(m Message) error {
317 e, ok := m.Data.(*event.EventWithRequestAndContent)

Callers 1

Calls 4

IncrFunction · 0.92
ValidateMethod · 0.65
UpdateUserMethod · 0.65
SetMethod · 0.65

Tested by

no test coverage detected