router

package
v1.0.0-beta.69 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 7, 2024 License: Apache-2.0 Imports: 27 Imported by: 0

Documentation

Index

Constants

View Source
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

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 NewRouter

func NewRouter(config Config) (*Router, error)

func (*Router) CreateCreditGrant

func (a *Router) CreateCreditGrant(w http.ResponseWriter, r *http.Request, ledgerID api.LedgerID)

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

func (a *Router) DeleteFeature(w http.ResponseWriter, r *http.Request, featureID api.FeatureID)

Delete feature, DELETE:/api/v1/features/{featureID}

func (*Router) DeleteMeter

func (a *Router) DeleteMeter(w http.ResponseWriter, r *http.Request, meterIdOrSlug string)

func (*Router) DeleteSubject

func (a *Router) DeleteSubject(w http.ResponseWriter, r *http.Request, idOrKey string)

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

func (a *Router) GetFeature(w http.ResponseWriter, r *http.Request, featureID api.FeatureID)

Get feature, GET:/api/v1/features/{featureID}

func (*Router) GetMeter

func (a *Router) GetMeter(w http.ResponseWriter, r *http.Request, meterIdOrSlug string)

func (*Router) GetSubject

func (a *Router) GetSubject(w http.ResponseWriter, r *http.Request, idOrKey string)

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

func (a *Router) ListMeterSubjects(w http.ResponseWriter, r *http.Request, meterIDOrSlug string)

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

func (a *Router) ResetCredit(w http.ResponseWriter, r *http.Request, ledgerID api.LedgerID)

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}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL