- internal/billing: Store interface + pgStore (pgx/v5 pool) + NoopStore - factory.go: NewStore() from BILLING_DSN env var (NoopStore fallback) - Server.billing: injected into Config, initialized in main - handleInvokeFunction: record invocation (TriggerConsole) - invokeInternalFunction: record invocation (TriggerHTTP) - handleCreateFunction: record event_type=create - handleCloneFunction: record event_type=clone - handleDeleteFunction: record event_type=delete - table: invocations (namespace, function_name, trigger_type, duration_ms, status_code...) - BILLING_DSN added to console.yaml - pgx/v5 added to go.mod/go.sum
9 lines
319 B
Go
9 lines
319 B
Go
package billing
|
|
|
|
// NoopStore — заглушка Store, которая тихо игнорирует все записи.
|
|
// Используется когда BILLING_DSN не задан.
|
|
type NoopStore struct{}
|
|
|
|
func (NoopStore) RecordInvocation(_ Invocation) {}
|
|
func (NoopStore) Close() {}
|