Documentation
¶
Index ¶
- Constants
- type Config
- type IngestHandler
- type QueryMeterResponse
- type Router
- func (a *Router) CreateCreditGrant(w http.ResponseWriter, r *http.Request, ledgerID api.LedgerID)
- func (a *Router) CreateFeature(w http.ResponseWriter, r *http.Request)
- func (a *Router) CreateLedger(w http.ResponseWriter, r *http.Request)
- func (a *Router) CreateMeter(w http.ResponseWriter, r *http.Request)
- func (a *Router) CreatePortalToken(w http.ResponseWriter, r *http.Request)
- func (a *Router) DeleteFeature(w http.ResponseWriter, r *http.Request, featureID api.FeatureID)
- func (a *Router) DeleteMeter(w http.ResponseWriter, r *http.Request, meterIdOrSlug string)
- func (a *Router) DeleteSubject(w http.ResponseWriter, r *http.Request, idOrKey string)
- func (a *Router) GetCreditBalance(w http.ResponseWriter, r *http.Request, ledgerID ulid.ULID, ...)
- func (a *Router) GetCreditGrant(w http.ResponseWriter, r *http.Request, ledgerID api.LedgerID, ...)
- func (a *Router) GetCreditHistory(w http.ResponseWriter, r *http.Request, ledgerID api.LedgerID, ...)
- func (a *Router) GetFeature(w http.ResponseWriter, r *http.Request, featureID api.FeatureID)
- func (a *Router) GetMeter(w http.ResponseWriter, r *http.Request, meterIdOrSlug string)
- func (a *Router) GetSubject(w http.ResponseWriter, r *http.Request, idOrKey string)
- func (a *Router) IngestEvents(w http.ResponseWriter, r *http.Request)
- func (a *Router) InvalidatePortalTokens(w http.ResponseWriter, r *http.Request)
- func (a *Router) ListCreditGrants(w http.ResponseWriter, r *http.Request, params api.ListCreditGrantsParams)
- func (a *Router) ListCreditGrantsByLedger(w http.ResponseWriter, r *http.Request, ledgerID api.LedgerID, ...)
- func (a *Router) ListEvents(w http.ResponseWriter, r *http.Request, params api.ListEventsParams)
- func (a *Router) ListFeatures(w http.ResponseWriter, r *http.Request)
- func (a *Router) ListLedgers(w http.ResponseWriter, r *http.Request, params api.ListLedgersParams)
- func (a *Router) ListMeterSubjects(w http.ResponseWriter, r *http.Request, meterIDOrSlug string)
- func (a *Router) ListMeters(w http.ResponseWriter, r *http.Request)
- func (a *Router) ListPortalTokens(w http.ResponseWriter, r *http.Request, params api.ListPortalTokensParams)
- func (a *Router) ListSubjects(w http.ResponseWriter, r *http.Request)
- func (a *Router) QueryMeter(w http.ResponseWriter, r *http.Request, meterIDOrSlug string, ...)
- func (a *Router) QueryMeterWithMeter(ctx context.Context, w http.ResponseWriter, r *http.Request, ...)
- func (a *Router) QueryPortalMeter(w http.ResponseWriter, r *http.Request, meterSlug string, ...)
- func (a *Router) ResetCredit(w http.ResponseWriter, r *http.Request, ledgerID api.LedgerID)
- func (a *Router) UpsertSubject(w http.ResponseWriter, r *http.Request)
- func (a *Router) VoidCreditGrant(w http.ResponseWriter, r *http.Request, ledgerID api.LedgerID, ...)
Constants ¶
const (
// DefaultCreditQueryLimit specifies how many entries to return by default for credit related queries
DefaultCreditsQueryLimit = 1000
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { CreditConnector credit.Connector NamespaceManager *namespace.Manager StreamingConnector streaming.Connector IngestHandler http.Handler Meters meter.Repository PortalCORSEnabled bool PortalTokenStrategy *authenticator.PortalTokenStrategy ErrorHandler errorsx.Handler }
type IngestHandler ¶
type IngestHandler interface {
ServeHTTP(w http.ResponseWriter, r *http.Request, namespace string)
}
type QueryMeterResponse ¶
type QueryMeterResponse struct { WindowSize *models.WindowSize `json:"windowSize,omitempty"` From *time.Time `json:"from,omitempty"` To *time.Time `json:"to,omitempty"` Data []models.MeterQueryRow `json:"data"` }
QueryMeterResponse is returned by the QueryMeter endpoint.
func (QueryMeterResponse) Render ¶
func (resp QueryMeterResponse) Render(_ http.ResponseWriter, _ *http.Request) error
Render implements the chi renderer interface.
func (QueryMeterResponse) RenderCSV ¶
func (resp QueryMeterResponse) RenderCSV(w http.ResponseWriter, r *http.Request, _groupByKeys []string, meterIDOrSlug string)
RenderCSV renders the response as CSV.
type Router ¶
type Router struct {
// contains filtered or unexported fields
}
func (*Router) CreateCreditGrant ¶
Create credit grant, POST /api/v1/ledgers/{creditSubjectId}/grants
func (*Router) CreateFeature ¶
func (a *Router) CreateFeature(w http.ResponseWriter, r *http.Request)
Create feature, POST: /api/v1/features
func (*Router) CreateLedger ¶
func (a *Router) CreateLedger(w http.ResponseWriter, r *http.Request)
CreateLedger POS /api/v1/ledgers
func (*Router) CreateMeter ¶
func (a *Router) CreateMeter(w http.ResponseWriter, r *http.Request)
func (*Router) CreatePortalToken ¶
func (a *Router) CreatePortalToken(w http.ResponseWriter, r *http.Request)
CreatePortalToken creates a new portal token.
func (*Router) DeleteFeature ¶
Delete feature, DELETE:/api/v1/features/{featureID}
func (*Router) DeleteMeter ¶
func (*Router) DeleteSubject ¶
func (*Router) GetCreditBalance ¶
func (a *Router) GetCreditBalance(w http.ResponseWriter, r *http.Request, ledgerID ulid.ULID, params api.GetCreditBalanceParams)
Get credit balance, GET /api/v1/ledgers/{ledgerID}/balance
func (*Router) GetCreditGrant ¶
func (a *Router) GetCreditGrant(w http.ResponseWriter, r *http.Request, ledgerID api.LedgerID, creditGrantId api.CreditGrantID)
Get credit, GET /api/v1/ledgers/{ledgerID}/grants/{creditGrantId}
func (*Router) GetCreditHistory ¶
func (a *Router) GetCreditHistory(w http.ResponseWriter, r *http.Request, ledgerID api.LedgerID, params api.GetCreditHistoryParams)
Get credit balance, GET /api/v1/ledgers/{ledgerID}/history
func (*Router) GetFeature ¶
Get feature, GET:/api/v1/features/{featureID}
func (*Router) GetSubject ¶
func (*Router) IngestEvents ¶
func (a *Router) IngestEvents(w http.ResponseWriter, r *http.Request)
func (*Router) InvalidatePortalTokens ¶
func (a *Router) InvalidatePortalTokens(w http.ResponseWriter, r *http.Request)
func (*Router) ListCreditGrants ¶
func (a *Router) ListCreditGrants(w http.ResponseWriter, r *http.Request, params api.ListCreditGrantsParams)
List credit grants, GET /api/v1/ledgers/grants
func (*Router) ListCreditGrantsByLedger ¶
func (a *Router) ListCreditGrantsByLedger(w http.ResponseWriter, r *http.Request, ledgerID api.LedgerID, params api.ListCreditGrantsByLedgerParams)
List credit grants, GET /api/v1/ledgers/{ledgerID}/grants
func (*Router) ListEvents ¶
func (a *Router) ListEvents(w http.ResponseWriter, r *http.Request, params api.ListEventsParams)
func (*Router) ListFeatures ¶
func (a *Router) ListFeatures(w http.ResponseWriter, r *http.Request)
List features: GET /api/v1/features
func (*Router) ListLedgers ¶
func (a *Router) ListLedgers(w http.ResponseWriter, r *http.Request, params api.ListLedgersParams)
ListLedgers GET /api/v1/ledgers?subject=X&offset=Y&limit=Z
func (*Router) ListMeterSubjects ¶
ListMeterSubjects lists the subjects of a meter.
func (*Router) ListMeters ¶
func (a *Router) ListMeters(w http.ResponseWriter, r *http.Request)
func (*Router) ListPortalTokens ¶
func (a *Router) ListPortalTokens(w http.ResponseWriter, r *http.Request, params api.ListPortalTokensParams)
func (*Router) ListSubjects ¶
func (a *Router) ListSubjects(w http.ResponseWriter, r *http.Request)
func (*Router) QueryMeter ¶
func (a *Router) QueryMeter(w http.ResponseWriter, r *http.Request, meterIDOrSlug string, params api.QueryMeterParams)
QueryMeter queries the values stored for a meter.
func (*Router) QueryMeterWithMeter ¶
func (a *Router) QueryMeterWithMeter(ctx context.Context, w http.ResponseWriter, r *http.Request, logger *slog.Logger, meter models.Meter, params api.QueryMeterParams)
QueryMeter queries the values stored for a meter.
func (*Router) QueryPortalMeter ¶
func (a *Router) QueryPortalMeter(w http.ResponseWriter, r *http.Request, meterSlug string, params api.QueryPortalMeterParams)
func (*Router) ResetCredit ¶
Resets the credit POST /api/v1/ledgers/{ledgerID}/reset
func (*Router) UpsertSubject ¶
func (a *Router) UpsertSubject(w http.ResponseWriter, r *http.Request)
func (*Router) VoidCreditGrant ¶
func (a *Router) VoidCreditGrant(w http.ResponseWriter, r *http.Request, ledgerID api.LedgerID, creditGrantId api.CreditGrantID)
Void credit grant, DELETE /api/v1/ledgers/{ledgerID}/grants/{creditGrantID}