graph

package
v0.4.1 Latest Latest
Warning

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

Go to latest
Published: Mar 1, 2023 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

Functions

func NewExecutableSchema

func NewExecutableSchema(cfg Config) graphql.ExecutableSchema

NewExecutableSchema creates an ExecutableSchema from the ResolverRoot interface.

Types

type AddtionalGeoLocation added in v0.1.0

type AddtionalGeoLocation struct {
	Latitude  float64         `json:"latitude"`
	Longitude float64         `json:"longitude"`
	Name      *db.DisplayText `json:"name"`
}

type AuthenticationAction

type AuthenticationAction string
const (
	AuthenticationActionRegister AuthenticationAction = "register"
	AuthenticationActionLogin    AuthenticationAction = "login"
	AuthenticationActionLink     AuthenticationAction = "link"
	AuthenticationActionAuth     AuthenticationAction = "auth"
)

func (AuthenticationAction) IsValid

func (e AuthenticationAction) IsValid() bool

func (AuthenticationAction) MarshalGQL

func (e AuthenticationAction) MarshalGQL(w io.Writer)

func (AuthenticationAction) String

func (e AuthenticationAction) String() string

func (*AuthenticationAction) UnmarshalGQL

func (e *AuthenticationAction) UnmarshalGQL(v interface{}) error

type BusinessDetailResolver added in v0.1.0

type BusinessDetailResolver interface {
	Website(ctx context.Context, obj *db.BusinessDetail) (*string, error)
}

type Channel added in v0.3.2

type Channel struct {
	ChannelID string `json:"channelId"`
}

type ChannelRequestResolver added in v0.1.0

type ChannelRequestResolver interface {
	PaymentHash(ctx context.Context, obj *db.ChannelRequest) (string, error)
	PaymentAddr(ctx context.Context, obj *db.ChannelRequest) (string, error)
	AmountMsat(ctx context.Context, obj *db.ChannelRequest) (string, error)
	Node(ctx context.Context, obj *db.ChannelRequest) (*db.Node, error)
	PendingChanID(ctx context.Context, obj *db.ChannelRequest) (string, error)
	Scid(ctx context.Context, obj *db.ChannelRequest) (string, error)
}

type ComplexityRoot

type ComplexityRoot struct {
	AddtionalGeoLocation struct {
		Latitude  func(childComplexity int) int
		Longitude func(childComplexity int) int
		Name      func(childComplexity int) int
	}

	BusinessDetail struct {
		Logo    func(childComplexity int) int
		Name    func(childComplexity int) int
		Website func(childComplexity int) int
	}

	Channel struct {
		ChannelID func(childComplexity int) int
	}

	ChannelRequest struct {
		AmountMsat                func(childComplexity int) int
		CltvExpiryDelta           func(childComplexity int) int
		FeeBaseMsat               func(childComplexity int) int
		FeeProportionalMillionths func(childComplexity int) int
		ID                        func(childComplexity int) int
		Node                      func(childComplexity int) int
		PaymentAddr               func(childComplexity int) int
		PaymentHash               func(childComplexity int) int
		PendingChanID             func(childComplexity int) int
		Scid                      func(childComplexity int) int
	}

	Connector struct {
		Amperage           func(childComplexity int) int
		Evse               func(childComplexity int) int
		Format             func(childComplexity int) int
		ID                 func(childComplexity int) int
		Identifier         func(childComplexity int) int
		LastUpdated        func(childComplexity int) int
		PowerType          func(childComplexity int) int
		Standard           func(childComplexity int) int
		Tariff             func(childComplexity int) int
		TariffID           func(childComplexity int) int
		TermsAndConditions func(childComplexity int) int
		Uid                func(childComplexity int) int
		Voltage            func(childComplexity int) int
		Wattage            func(childComplexity int) int
	}

	CountryAccount struct {
		Country   func(childComplexity int) int
		Latitude  func(childComplexity int) int
		Longitude func(childComplexity int) int
		Zoom      func(childComplexity int) int
	}

	CreateAuthentication struct {
		Code  func(childComplexity int) int
		LnURL func(childComplexity int) int
	}

	Credential struct {
		CountryCode func(childComplexity int) int
		ID          func(childComplexity int) int
		IsHub       func(childComplexity int) int
		PartyID     func(childComplexity int) int
		Url         func(childComplexity int) int
	}

	DisplayText struct {
		Language func(childComplexity int) int
		Text     func(childComplexity int) int
	}

	ElementRestriction struct {
		DayOfWeek   func(childComplexity int) int
		EndDate     func(childComplexity int) int
		EndTime     func(childComplexity int) int
		MaxDuration func(childComplexity int) int
		MaxKwh      func(childComplexity int) int
		MaxPower    func(childComplexity int) int
		MinDuration func(childComplexity int) int
		MinKwh      func(childComplexity int) int
		MinPower    func(childComplexity int) int
		StartDate   func(childComplexity int) int
		StartTime   func(childComplexity int) int
	}

	EmailSubscription struct {
		Email      func(childComplexity int) int
		ID         func(childComplexity int) int
		IsVerified func(childComplexity int) int
		Locale     func(childComplexity int) int
	}

	EnergyMix struct {
		EnergyProductName   func(childComplexity int) int
		EnergySources       func(childComplexity int) int
		EnvironmentalImpact func(childComplexity int) int
		IsGreenEnergy       func(childComplexity int) int
		SupplierName        func(childComplexity int) int
	}

	EnergySource struct {
		Percentage func(childComplexity int) int
		Source     func(childComplexity int) int
	}

	EnvironmentalImpact struct {
		Amount func(childComplexity int) int
		Source func(childComplexity int) int
	}

	Evse struct {
		Capabilities        func(childComplexity int) int
		Connectors          func(childComplexity int) int
		Directions          func(childComplexity int) int
		EvseID              func(childComplexity int) int
		FloorLevel          func(childComplexity int) int
		Geom                func(childComplexity int) int
		ID                  func(childComplexity int) int
		Identifier          func(childComplexity int) int
		Images              func(childComplexity int) int
		IsRemoteCapable     func(childComplexity int) int
		IsRfidCapable       func(childComplexity int) int
		LastUpdated         func(childComplexity int) int
		Location            func(childComplexity int) int
		ParkingRestrictions func(childComplexity int) int
		PhysicalReference   func(childComplexity int) int
		Status              func(childComplexity int) int
		StatusSchedule      func(childComplexity int) int
		Uid                 func(childComplexity int) int
	}

	ExceptionalPeriod struct {
		PeriodBegin func(childComplexity int) int
		PeriodEnd   func(childComplexity int) int
	}

	ExchangeAuthentication struct {
		Token func(childComplexity int) int
	}

	Geolocation struct {
		Latitude  func(childComplexity int) int
		Longitude func(childComplexity int) int
		Name      func(childComplexity int) int
	}

	Image struct {
		Category  func(childComplexity int) int
		Height    func(childComplexity int) int
		Thumbnail func(childComplexity int) int
		Type      func(childComplexity int) int
		Url       func(childComplexity int) int
		Width     func(childComplexity int) int
	}

	InvoiceRequest struct {
		CommissionFiat func(childComplexity int) int
		CommissionMsat func(childComplexity int) int
		Currency       func(childComplexity int) int
		ID             func(childComplexity int) int
		IsSettled      func(childComplexity int) int
		Memo           func(childComplexity int) int
		PaymentRequest func(childComplexity int) int
		PriceFiat      func(childComplexity int) int
		PriceMsat      func(childComplexity int) int
		Promotion      func(childComplexity int) int
		ReleaseDate    func(childComplexity int) int
		TaxFiat        func(childComplexity int) int
		TaxMsat        func(childComplexity int) int
		TotalFiat      func(childComplexity int) int
		TotalMsat      func(childComplexity int) int
	}

	ListLocation struct {
		AddedDate                func(childComplexity int) int
		AvailableEvses           func(childComplexity int) int
		Country                  func(childComplexity int) int
		CountryCode              func(childComplexity int) int
		Geom                     func(childComplexity int) int
		IsIntermediateCdrCapable func(childComplexity int) int
		IsPublished              func(childComplexity int) int
		IsRemoteCapable          func(childComplexity int) int
		IsRfidCapable            func(childComplexity int) int
		Name                     func(childComplexity int) int
		PartyID                  func(childComplexity int) int
		TotalEvses               func(childComplexity int) int
		UID                      func(childComplexity int) int
	}

	Location struct {
		Address                  func(childComplexity int) int
		AvailableEvses           func(childComplexity int) int
		ChargingWhenClosed       func(childComplexity int) int
		City                     func(childComplexity int) int
		Country                  func(childComplexity int) int
		Directions               func(childComplexity int) int
		EnergyMix                func(childComplexity int) int
		Evses                    func(childComplexity int) int
		Facilities               func(childComplexity int) int
		Geom                     func(childComplexity int) int
		ID                       func(childComplexity int) int
		Images                   func(childComplexity int) int
		IsExperimental           func(childComplexity int) int
		IsIntermediateCdrCapable func(childComplexity int) int
		IsRemoteCapable          func(childComplexity int) int
		IsRfidCapable            func(childComplexity int) int
		LastUpdated              func(childComplexity int) int
		Name                     func(childComplexity int) int
		OpeningTime              func(childComplexity int) int
		Operator                 func(childComplexity int) int
		Owner                    func(childComplexity int) int
		PostalCode               func(childComplexity int) int
		RelatedLocations         func(childComplexity int) int
		Suboperator              func(childComplexity int) int
		TimeZone                 func(childComplexity int) int
		TotalEvses               func(childComplexity int) int
		Type                     func(childComplexity int) int
		Uid                      func(childComplexity int) int
	}

	Mutation struct {
		CreateAuthentication     func(childComplexity int, action AuthenticationAction) int
		CreateChannelRequest     func(childComplexity int, input CreateChannelRequestInput) int
		CreateCredential         func(childComplexity int, input CreateCredentialInput) int
		CreateEmailSubscription  func(childComplexity int, input CreateEmailSubscriptionInput) int
		CreateParty              func(childComplexity int, input CreatePartyInput) int
		CreateReferral           func(childComplexity int, input CreateReferralInput) int
		CreateToken              func(childComplexity int, input CreateTokenInput) int
		CreateUser               func(childComplexity int, input CreateUserInput) int
		ExchangeAuthentication   func(childComplexity int, code string) int
		PingUser                 func(childComplexity int, id int64) int
		PongUser                 func(childComplexity int, input PongUserInput) int
		PublishLocation          func(childComplexity int, input PublishLocationInput) int
		RegisterCredential       func(childComplexity int, input RegisterCredentialInput) int
		StartSession             func(childComplexity int, input StartSessionInput) int
		StopSession              func(childComplexity int, input StopSessionInput) int
		SyncCredential           func(childComplexity int, input SyncCredentialInput) int
		UnregisterCredential     func(childComplexity int, input UnregisterCredentialInput) int
		UpdateInvoiceRequest     func(childComplexity int, input UpdateInvoiceRequestInput) int
		UpdateParty              func(childComplexity int, input UpdatePartyInput) int
		UpdateSessionInvoice     func(childComplexity int, id int64) int
		UpdateTokenAuthorization func(childComplexity int, input UpdateTokenAuthorizationInput) int
		UpdateTokens             func(childComplexity int, input UpdateTokensInput) int
		UpdateUser               func(childComplexity int, input UpdateUserInput) int
		VerifyEmailSubscription  func(childComplexity int, input VerifyEmailSubscriptionInput) int
	}

	Node struct {
		Addr   func(childComplexity int) int
		Alias  func(childComplexity int) int
		Pubkey func(childComplexity int) int
	}

	OpeningTime struct {
		ExceptionalClosings func(childComplexity int) int
		ExceptionalOpenings func(childComplexity int) int
		RegularHours        func(childComplexity int) int
		Twentyfourseven     func(childComplexity int) int
	}

	Party struct {
		CountryCode              func(childComplexity int) int
		IsIntermediateCdrCapable func(childComplexity int) int
		PartyID                  func(childComplexity int) int
		PublishLocation          func(childComplexity int) int
		PublishNullTariff        func(childComplexity int) int
	}

	PriceComponent struct {
		CommissionMsat func(childComplexity int) int
		Price          func(childComplexity int) int
		PriceMsat      func(childComplexity int) int
		StepSize       func(childComplexity int) int
		TaxMsat        func(childComplexity int) int
		Type           func(childComplexity int) int
	}

	Promotion struct {
		Code        func(childComplexity int) int
		Description func(childComplexity int) int
	}

	Query struct {
		GetConnector         func(childComplexity int, input GetConnectorInput) int
		GetEvse              func(childComplexity int, input GetEvseInput) int
		GetLocation          func(childComplexity int, input GetLocationInput) int
		GetRate              func(childComplexity int, currency string) int
		GetSession           func(childComplexity int, input GetSessionInput) int
		GetSessionInvoice    func(childComplexity int, id int64) int
		GetTariff            func(childComplexity int, input GetTariffInput) int
		GetUser              func(childComplexity int) int
		ListChannels         func(childComplexity int) int
		ListCountryAccounts  func(childComplexity int) int
		ListCredentials      func(childComplexity int) int
		ListInvoiceRequests  func(childComplexity int) int
		ListLocations        func(childComplexity int, input ListLocationsInput) int
		ListSessionInvoices  func(childComplexity int, input ListSessionInvoicesInput) int
		ListSessionUpdates   func(childComplexity int, id int64) int
		ListSessions         func(childComplexity int) int
		ListTokens           func(childComplexity int) int
		VerifyAuthentication func(childComplexity int, code string) int
	}

	Rate struct {
		LastUpdated func(childComplexity int) int
		Rate        func(childComplexity int) int
		RateMsat    func(childComplexity int) int
	}

	RegularHour struct {
		PeriodBegin func(childComplexity int) int
		PeriodEnd   func(childComplexity int) int
		Weekday     func(childComplexity int) int
	}

	ResultId struct {
		ID func(childComplexity int) int
	}

	ResultOk struct {
		Ok func(childComplexity int) int
	}

	Session struct {
		AuthMethod      func(childComplexity int) int
		AuthorizationID func(childComplexity int) int
		Connector       func(childComplexity int) int
		EndDatetime     func(childComplexity int) int
		Evse            func(childComplexity int) int
		ID              func(childComplexity int) int
		InvoiceRequest  func(childComplexity int) int
		Kwh             func(childComplexity int) int
		LastUpdated     func(childComplexity int) int
		Location        func(childComplexity int) int
		MeterID         func(childComplexity int) int
		SessionInvoices func(childComplexity int) int
		SessionUpdates  func(childComplexity int) int
		StartDatetime   func(childComplexity int) int
		Status          func(childComplexity int) int
		Uid             func(childComplexity int) int
	}

	SessionInvoice struct {
		CommissionFiat   func(childComplexity int) int
		CommissionMsat   func(childComplexity int) int
		Currency         func(childComplexity int) int
		CurrencyRate     func(childComplexity int) int
		CurrencyRateMsat func(childComplexity int) int
		EstimatedEnergy  func(childComplexity int) int
		EstimatedTime    func(childComplexity int) int
		ID               func(childComplexity int) int
		IsExpired        func(childComplexity int) int
		IsSettled        func(childComplexity int) int
		LastUpdated      func(childComplexity int) int
		MeteredEnergy    func(childComplexity int) int
		MeteredTime      func(childComplexity int) int
		PaymentRequest   func(childComplexity int) int
		PriceFiat        func(childComplexity int) int
		PriceMsat        func(childComplexity int) int
		Signature        func(childComplexity int) int
		TaxFiat          func(childComplexity int) int
		TaxMsat          func(childComplexity int) int
		TotalFiat        func(childComplexity int) int
		TotalMsat        func(childComplexity int) int
	}

	SessionUpdate struct {
		ID          func(childComplexity int) int
		Kwh         func(childComplexity int) int
		LastUpdated func(childComplexity int) int
		Status      func(childComplexity int) int
	}

	StartSession struct {
		AuthorizationID func(childComplexity int) int
		EvseUID         func(childComplexity int) int
		ID              func(childComplexity int) int
		LocationUID     func(childComplexity int) int
		Status          func(childComplexity int) int
		VerificationKey func(childComplexity int) int
	}

	StatusSchedule struct {
		PeriodBegin func(childComplexity int) int
		PeriodEnd   func(childComplexity int) int
		Status      func(childComplexity int) int
	}

	StopSession struct {
		ID         func(childComplexity int) int
		SessionUID func(childComplexity int) int
		Status     func(childComplexity int) int
	}

	Tariff struct {
		CommissionPercent        func(childComplexity int) int
		Currency                 func(childComplexity int) int
		CurrencyRate             func(childComplexity int) int
		CurrencyRateMsat         func(childComplexity int) int
		Elements                 func(childComplexity int) int
		EnergyMix                func(childComplexity int) int
		ID                       func(childComplexity int) int
		IsIntermediateCdrCapable func(childComplexity int) int
		TaxPercent               func(childComplexity int) int
		Uid                      func(childComplexity int) int
	}

	TariffElement struct {
		PriceComponents func(childComplexity int) int
		Restrictions    func(childComplexity int) int
	}

	TextDescription struct {
		Description func(childComplexity int) int
		Text        func(childComplexity int) int
	}

	Token struct {
		AuthID       func(childComplexity int) int
		ID           func(childComplexity int) int
		Type         func(childComplexity int) int
		Uid          func(childComplexity int) int
		VisualNumber func(childComplexity int) int
	}

	TokenAuthorization struct {
		AuthorizationID func(childComplexity int) int
		Authorized      func(childComplexity int) int
		CountryCode     func(childComplexity int) int
		Location        func(childComplexity int) int
		PartyID         func(childComplexity int) int
		Token           func(childComplexity int) int
		VerificationKey func(childComplexity int) int
	}

	User struct {
		DeviceToken  func(childComplexity int) int
		ID           func(childComplexity int) int
		Node         func(childComplexity int) int
		Pubkey       func(childComplexity int) int
		ReferralCode func(childComplexity int) int
	}

	VerifyAuthentication struct {
		Verified func(childComplexity int) int
	}
}

type Config

type Config struct {
	Resolvers  ResolverRoot
	Directives DirectiveRoot
	Complexity ComplexityRoot
}

type ConnectorResolver added in v0.1.0

type ConnectorResolver interface {
	Identifier(ctx context.Context, obj *db.Connector) (*string, error)
	Evse(ctx context.Context, obj *db.Connector) (*db.Evse, error)
	Standard(ctx context.Context, obj *db.Connector) (string, error)
	Format(ctx context.Context, obj *db.Connector) (string, error)
	PowerType(ctx context.Context, obj *db.Connector) (string, error)

	TariffID(ctx context.Context, obj *db.Connector) (*string, error)
	Tariff(ctx context.Context, obj *db.Connector) (*db.Tariff, error)
	TermsAndConditions(ctx context.Context, obj *db.Connector) (*string, error)
	LastUpdated(ctx context.Context, obj *db.Connector) (string, error)
}

type CountryAccountResolver added in v0.3.2

type CountryAccountResolver interface {
	Longitude(ctx context.Context, obj *db.CountryAccount) (*float64, error)
	Latitude(ctx context.Context, obj *db.CountryAccount) (*float64, error)
	Zoom(ctx context.Context, obj *db.CountryAccount) (*float64, error)
}

type CreateAuthentication

type CreateAuthentication struct {
	Code  string `json:"code"`
	LnURL string `json:"lnUrl"`
}

type CreateBusinessDetailInput added in v0.1.0

type CreateBusinessDetailInput struct {
	Name    string            `json:"name"`
	Website *string           `json:"website"`
}

type CreateChannelRequestInput added in v0.1.0

type CreateChannelRequestInput struct {
	// This field must be encoded as base64.
	PaymentHash string `json:"paymentHash"`
	// This field must be encoded as base64.
	PaymentAddr string `json:"paymentAddr"`
	AmountMsat  string `json:"amountMsat"`
}

type CreateCredentialInput added in v0.1.0

type CreateCredentialInput struct {
	ClientToken    *string                    `json:"clientToken"`
	URL            string                     `json:"url"`
	BusinessDetail *CreateBusinessDetailInput `json:"businessDetail"`
	CountryCode    string                     `json:"countryCode"`
	PartyID        string                     `json:"partyId"`
	IsHub          bool                       `json:"isHub"`
}

type CreateEmailSubscriptionInput

type CreateEmailSubscriptionInput struct {
	Email  string  `json:"email"`
	Locale *string `json:"locale"`
}

type CreateImageInput added in v0.1.0

type CreateImageInput struct {
	URL       string  `json:"url"`
	Thumbnail *string `json:"thumbnail"`
	Category  string  `json:"category"`
	Type      string  `json:"type"`
	Width     *int    `json:"width"`
	Height    *int    `json:"height"`
}

type CreatePartyInput added in v0.3.2

type CreatePartyInput struct {
	CredentialID             int64  `json:"credentialId"`
	CountryCode              string `json:"countryCode"`
	PartyID                  string `json:"partyId"`
	IsIntermediateCdrCapable bool   `json:"isIntermediateCdrCapable"`
	PublishLocation          bool   `json:"publishLocation"`
	PublishNullTariff        bool   `json:"publishNullTariff"`
}

type CreateReferralInput added in v0.3.2

type CreateReferralInput struct {
	Code     string `json:"code"`
	Referrer string `json:"referrer"`
}

type CreateTokenInput added in v0.3.2

type CreateTokenInput struct {
	UID     string  `json:"uid"`
	Type    *string `json:"type"`
	Allowed *string `json:"allowed"`
}

type CreateUserInput

type CreateUserInput struct {
	Code        string  `json:"code"`
	Pubkey      string  `json:"pubkey"`
	DeviceToken *string `json:"deviceToken"`
}

type DirectiveRoot

type DirectiveRoot struct {
}

type ElementRestrictionResolver added in v0.1.0

type ElementRestrictionResolver interface {
	StartTime(ctx context.Context, obj *db.ElementRestriction) (*string, error)
	EndTime(ctx context.Context, obj *db.ElementRestriction) (*string, error)
	StartDate(ctx context.Context, obj *db.ElementRestriction) (*string, error)
	EndDate(ctx context.Context, obj *db.ElementRestriction) (*string, error)
	MinKwh(ctx context.Context, obj *db.ElementRestriction) (*float64, error)
	MaxKwh(ctx context.Context, obj *db.ElementRestriction) (*float64, error)
	MinPower(ctx context.Context, obj *db.ElementRestriction) (*float64, error)
	MaxPower(ctx context.Context, obj *db.ElementRestriction) (*float64, error)
	MinDuration(ctx context.Context, obj *db.ElementRestriction) (*int, error)
	MaxDuration(ctx context.Context, obj *db.ElementRestriction) (*int, error)
	DayOfWeek(ctx context.Context, obj *db.ElementRestriction) ([]string, error)
}

type EnergyMixResolver added in v0.1.0

type EnergyMixResolver interface {
	EnergySources(ctx context.Context, obj *db.EnergyMix) ([]db.EnergySource, error)
	EnvironmentalImpact(ctx context.Context, obj *db.EnergyMix) ([]db.EnvironmentalImpact, error)
	SupplierName(ctx context.Context, obj *db.EnergyMix) (*string, error)
	EnergyProductName(ctx context.Context, obj *db.EnergyMix) (*string, error)
}

type EnergySourceResolver added in v0.1.0

type EnergySourceResolver interface {
	Source(ctx context.Context, obj *db.EnergySource) (string, error)
}

type EnvironmentalImpactResolver added in v0.1.0

type EnvironmentalImpactResolver interface {
	Source(ctx context.Context, obj *db.EnvironmentalImpact) (string, error)
}

type EvseResolver added in v0.1.0

type EvseResolver interface {
	EvseID(ctx context.Context, obj *db.Evse) (*string, error)
	Identifier(ctx context.Context, obj *db.Evse) (*string, error)
	Location(ctx context.Context, obj *db.Evse) (*db.Location, error)
	Status(ctx context.Context, obj *db.Evse) (string, error)
	StatusSchedule(ctx context.Context, obj *db.Evse) ([]db.StatusSchedule, error)
	Capabilities(ctx context.Context, obj *db.Evse) ([]TextDescription, error)
	Connectors(ctx context.Context, obj *db.Evse) ([]db.Connector, error)
	FloorLevel(ctx context.Context, obj *db.Evse) (*string, error)
	Geom(ctx context.Context, obj *db.Evse) (*geom.Geometry4326, error)

	PhysicalReference(ctx context.Context, obj *db.Evse) (*string, error)
	Directions(ctx context.Context, obj *db.Evse) ([]db.DisplayText, error)
	ParkingRestrictions(ctx context.Context, obj *db.Evse) ([]TextDescription, error)
	Images(ctx context.Context, obj *db.Evse) ([]db.Image, error)
	LastUpdated(ctx context.Context, obj *db.Evse) (string, error)
}

type ExceptionalPeriodResolver added in v0.1.0

type ExceptionalPeriodResolver interface {
	PeriodBegin(ctx context.Context, obj *db.ExceptionalPeriod) (string, error)
	PeriodEnd(ctx context.Context, obj *db.ExceptionalPeriod) (string, error)
}

type ExchangeAuthentication

type ExchangeAuthentication struct {
	Token string `json:"token"`
}

type Geolocation added in v0.1.0

type Geolocation struct {
	Latitude  float64 `json:"latitude"`
	Longitude float64 `json:"longitude"`
	Name      *string `json:"name"`
}

type GetConnectorInput added in v0.3.2

type GetConnectorInput struct {
	ID         *int64  `json:"id"`
	Identifier *string `json:"identifier"`
}

type GetEvseInput added in v0.3.2

type GetEvseInput struct {
	ID         *int64  `json:"id"`
	UID        *string `json:"uid"`
	EvseID     *string `json:"evseId"`
	Identifier *string `json:"identifier"`
}

type GetLocationInput added in v0.1.0

type GetLocationInput struct {
	ID      *int64  `json:"id"`
	UID     *string `json:"uid"`
	Country *string `json:"country"`
}

type GetSessionInput added in v0.1.0

type GetSessionInput struct {
	ID              *int64  `json:"id"`
	UID             *string `json:"uid"`
	AuthorizationID *string `json:"authorizationId"`
}

type GetTariffInput added in v0.1.0

type GetTariffInput struct {
	ID  *int64  `json:"id"`
	UID *string `json:"uid"`
}

type ImageResolver added in v0.1.0

type ImageResolver interface {
	Thumbnail(ctx context.Context, obj *db.Image) (*string, error)
	Category(ctx context.Context, obj *db.Image) (string, error)

	Width(ctx context.Context, obj *db.Image) (*int, error)
	Height(ctx context.Context, obj *db.Image) (*int, error)
}

type InvoiceRequestResolver added in v0.3.2

type InvoiceRequestResolver interface {
	Promotion(ctx context.Context, obj *db.InvoiceRequest) (*db.Promotion, error)

	PriceFiat(ctx context.Context, obj *db.InvoiceRequest) (*float64, error)
	PriceMsat(ctx context.Context, obj *db.InvoiceRequest) (*int, error)
	CommissionFiat(ctx context.Context, obj *db.InvoiceRequest) (*float64, error)
	CommissionMsat(ctx context.Context, obj *db.InvoiceRequest) (*int, error)
	TaxFiat(ctx context.Context, obj *db.InvoiceRequest) (*float64, error)
	TaxMsat(ctx context.Context, obj *db.InvoiceRequest) (*int, error)

	PaymentRequest(ctx context.Context, obj *db.InvoiceRequest) (*string, error)

	ReleaseDate(ctx context.Context, obj *db.InvoiceRequest) (*string, error)
}

type ListLocation added in v0.1.0

type ListLocation struct {
	UID                      string            `json:"uid"`
	Name                     string            `json:"name"`
	CountryCode              *string           `json:"countryCode"`
	PartyID                  *string           `json:"partyId"`
	Country                  string            `json:"country"`
	Geom                     geom.Geometry4326 `json:"geom"`
	AvailableEvses           int               `json:"availableEvses"`
	TotalEvses               int               `json:"totalEvses"`
	IsIntermediateCdrCapable bool              `json:"isIntermediateCdrCapable"`
	IsPublished              bool              `json:"isPublished"`
	IsRemoteCapable          bool              `json:"isRemoteCapable"`
	IsRfidCapable            bool              `json:"isRfidCapable"`
	AddedDate                string            `json:"addedDate"`
}

type ListLocationsInput added in v0.1.0

type ListLocationsInput struct {
	Country         *string  `json:"country"`
	Interval        *int     `json:"interval"`
	IsExperimental  *bool    `json:"isExperimental"`
	IsRemoteCapable *bool    `json:"isRemoteCapable"`
	IsRfidCapable   *bool    `json:"isRfidCapable"`
	Limit           *int     `json:"limit"`
	XMin            *float64 `json:"xMin"`
	XMax            *float64 `json:"xMax"`
	YMin            *float64 `json:"yMin"`
	YMax            *float64 `json:"yMax"`
}

type ListSessionInvoicesInput added in v0.3.2

type ListSessionInvoicesInput struct {
	IsSettled *bool `json:"isSettled"`
	IsExpired *bool `json:"isExpired"`
}

type LocationResolver added in v0.1.0

type LocationResolver interface {
	Type(ctx context.Context, obj *db.Location) (string, error)
	Name(ctx context.Context, obj *db.Location) (*string, error)

	RelatedLocations(ctx context.Context, obj *db.Location) ([]AddtionalGeoLocation, error)
	Evses(ctx context.Context, obj *db.Location) ([]db.Evse, error)

	IsExperimental(ctx context.Context, obj *db.Location) (bool, error)

	Directions(ctx context.Context, obj *db.Location) ([]db.DisplayText, error)
	Operator(ctx context.Context, obj *db.Location) (*db.BusinessDetail, error)
	Suboperator(ctx context.Context, obj *db.Location) (*db.BusinessDetail, error)
	Owner(ctx context.Context, obj *db.Location) (*db.BusinessDetail, error)
	Facilities(ctx context.Context, obj *db.Location) ([]TextDescription, error)
	TimeZone(ctx context.Context, obj *db.Location) (*string, error)
	OpeningTime(ctx context.Context, obj *db.Location) (*db.OpeningTime, error)

	Images(ctx context.Context, obj *db.Location) ([]db.Image, error)
	EnergyMix(ctx context.Context, obj *db.Location) (*db.EnergyMix, error)
	LastUpdated(ctx context.Context, obj *db.Location) (string, error)
}

type MutationResolver

type MutationResolver interface {
	CreateAuthentication(ctx context.Context, action AuthenticationAction) (*CreateAuthentication, error)
	ExchangeAuthentication(ctx context.Context, code string) (*ExchangeAuthentication, error)
	CreateChannelRequest(ctx context.Context, input CreateChannelRequestInput) (*db.ChannelRequest, error)
	StartSession(ctx context.Context, input StartSessionInput) (*StartSession, error)
	StopSession(ctx context.Context, input StopSessionInput) (*StopSession, error)
	CreateCredential(ctx context.Context, input CreateCredentialInput) (*db.Credential, error)
	RegisterCredential(ctx context.Context, input RegisterCredentialInput) (*ResultID, error)
	SyncCredential(ctx context.Context, input SyncCredentialInput) (*ResultID, error)
	UnregisterCredential(ctx context.Context, input UnregisterCredentialInput) (*ResultID, error)
	CreateEmailSubscription(ctx context.Context, input CreateEmailSubscriptionInput) (*db.EmailSubscription, error)
	VerifyEmailSubscription(ctx context.Context, input VerifyEmailSubscriptionInput) (*db.EmailSubscription, error)
	UpdateInvoiceRequest(ctx context.Context, input UpdateInvoiceRequestInput) (*db.InvoiceRequest, error)
	PublishLocation(ctx context.Context, input PublishLocationInput) (*ResultOk, error)
	CreateParty(ctx context.Context, input CreatePartyInput) (*db.Party, error)
	UpdateParty(ctx context.Context, input UpdatePartyInput) (*db.Party, error)
	CreateReferral(ctx context.Context, input CreateReferralInput) (*ResultID, error)
	UpdateSessionInvoice(ctx context.Context, id int64) (*db.SessionInvoice, error)
	CreateToken(ctx context.Context, input CreateTokenInput) (*db.Token, error)
	UpdateTokens(ctx context.Context, input UpdateTokensInput) (*ResultOk, error)
	UpdateTokenAuthorization(ctx context.Context, input UpdateTokenAuthorizationInput) (*db.TokenAuthorization, error)
	CreateUser(ctx context.Context, input CreateUserInput) (*db.User, error)
	PingUser(ctx context.Context, id int64) (*ResultOk, error)
	PongUser(ctx context.Context, input PongUserInput) (*ResultOk, error)
	UpdateUser(ctx context.Context, input UpdateUserInput) (*db.User, error)
}

type NodeResolver added in v0.1.0

type NodeResolver interface {
	Addr(ctx context.Context, obj *db.Node) (string, error)
}

type OpeningTimeResolver added in v0.1.0

type OpeningTimeResolver interface {
	RegularHours(ctx context.Context, obj *db.OpeningTime) ([]db.RegularHour, error)

	ExceptionalOpenings(ctx context.Context, obj *db.OpeningTime) ([]db.ExceptionalPeriod, error)
	ExceptionalClosings(ctx context.Context, obj *db.OpeningTime) ([]db.ExceptionalPeriod, error)
}

type PongUserInput added in v0.3.2

type PongUserInput struct {
	Pong string `json:"pong"`
}

type PriceComponentResolver added in v0.1.0

type PriceComponentResolver interface {
	Type(ctx context.Context, obj *db.PriceComponent) (string, error)

	PriceMsat(ctx context.Context, obj *db.PriceComponent) (int, error)
	CommissionMsat(ctx context.Context, obj *db.PriceComponent) (int, error)
	TaxMsat(ctx context.Context, obj *db.PriceComponent) (*int, error)
}

type PublishLocationInput added in v0.3.2

type PublishLocationInput struct {
	ID           *int64  `json:"id"`
	CredentialID *int64  `json:"credentialId"`
	CountryCode  *string `json:"countryCode"`
	PartyID      *string `json:"partyId"`
	IsPublished  bool    `json:"isPublished"`
}

type QueryResolver

type QueryResolver interface {
	VerifyAuthentication(ctx context.Context, code string) (*VerifyAuthentication, error)
	GetConnector(ctx context.Context, input GetConnectorInput) (*db.Connector, error)
	ListCountryAccounts(ctx context.Context) ([]db.CountryAccount, error)
	ListCredentials(ctx context.Context) ([]db.Credential, error)
	GetEvse(ctx context.Context, input GetEvseInput) (*db.Evse, error)
	ListInvoiceRequests(ctx context.Context) ([]db.InvoiceRequest, error)
	GetLocation(ctx context.Context, input GetLocationInput) (*db.Location, error)
	ListLocations(ctx context.Context, input ListLocationsInput) ([]ListLocation, error)
	ListChannels(ctx context.Context) ([]Channel, error)
	GetRate(ctx context.Context, currency string) (*Rate, error)
	GetSession(ctx context.Context, input GetSessionInput) (*db.Session, error)
	ListSessions(ctx context.Context) ([]db.Session, error)
	GetSessionInvoice(ctx context.Context, id int64) (*db.SessionInvoice, error)
	ListSessionInvoices(ctx context.Context, input ListSessionInvoicesInput) ([]db.SessionInvoice, error)
	ListSessionUpdates(ctx context.Context, id int64) ([]db.SessionUpdate, error)
	GetTariff(ctx context.Context, input GetTariffInput) (*db.Tariff, error)
	ListTokens(ctx context.Context) ([]db.Token, error)
	GetUser(ctx context.Context) (*db.User, error)
}

type Rate added in v0.1.0

type Rate struct {
	Rate        string `json:"rate"`
	RateMsat    string `json:"rateMsat"`
	LastUpdated string `json:"lastUpdated"`
}

type RegisterCredentialInput added in v0.1.0

type RegisterCredentialInput struct {
	ID          int64   `json:"id"`
	ClientToken *string `json:"clientToken"`
}

type RegularHourResolver added in v0.1.0

type RegularHourResolver interface {
	Weekday(ctx context.Context, obj *db.RegularHour) (int, error)
}

type ResolverRoot

type ResolverRoot interface {
	BusinessDetail() BusinessDetailResolver
	ChannelRequest() ChannelRequestResolver
	Connector() ConnectorResolver
	CountryAccount() CountryAccountResolver
	ElementRestriction() ElementRestrictionResolver
	EnergyMix() EnergyMixResolver
	EnergySource() EnergySourceResolver
	EnvironmentalImpact() EnvironmentalImpactResolver
	Evse() EvseResolver
	ExceptionalPeriod() ExceptionalPeriodResolver
	Image() ImageResolver
	InvoiceRequest() InvoiceRequestResolver
	Location() LocationResolver
	Mutation() MutationResolver
	Node() NodeResolver
	OpeningTime() OpeningTimeResolver
	PriceComponent() PriceComponentResolver
	Query() QueryResolver
	RegularHour() RegularHourResolver
	Session() SessionResolver
	SessionInvoice() SessionInvoiceResolver
	SessionUpdate() SessionUpdateResolver
	StatusSchedule() StatusScheduleResolver
	Tariff() TariffResolver
	Token() TokenResolver
	TokenAuthorization() TokenAuthorizationResolver
	User() UserResolver
}

type ResultID added in v0.3.2

type ResultID struct {
	ID int64 `json:"id"`
}

type ResultOk added in v0.3.2

type ResultOk struct {
	Ok bool `json:"ok"`
}

type SessionInvoiceResolver added in v0.1.0

type SessionInvoiceResolver interface {
	LastUpdated(ctx context.Context, obj *db.SessionInvoice) (string, error)
}

type SessionResolver added in v0.1.0

type SessionResolver interface {
	AuthorizationID(ctx context.Context, obj *db.Session) (*string, error)
	StartDatetime(ctx context.Context, obj *db.Session) (string, error)
	EndDatetime(ctx context.Context, obj *db.Session) (*string, error)

	AuthMethod(ctx context.Context, obj *db.Session) (string, error)
	Location(ctx context.Context, obj *db.Session) (*db.Location, error)
	Evse(ctx context.Context, obj *db.Session) (*db.Evse, error)
	Connector(ctx context.Context, obj *db.Session) (*db.Connector, error)
	MeterID(ctx context.Context, obj *db.Session) (*string, error)
	SessionInvoices(ctx context.Context, obj *db.Session) ([]db.SessionInvoice, error)
	SessionUpdates(ctx context.Context, obj *db.Session) ([]db.SessionUpdate, error)
	InvoiceRequest(ctx context.Context, obj *db.Session) (*db.InvoiceRequest, error)
	Status(ctx context.Context, obj *db.Session) (string, error)
	LastUpdated(ctx context.Context, obj *db.Session) (string, error)
}

type SessionUpdateResolver added in v0.4.1

type SessionUpdateResolver interface {
	Status(ctx context.Context, obj *db.SessionUpdate) (string, error)
	LastUpdated(ctx context.Context, obj *db.SessionUpdate) (string, error)
}

type StartSession added in v0.1.0

type StartSession struct {
	ID              int64   `json:"id"`
	Status          string  `json:"status"`
	AuthorizationID string  `json:"authorizationId"`
	VerificationKey *string `json:"verificationKey"`
	LocationUID     string  `json:"locationUid"`
	EvseUID         *string `json:"evseUid"`
}

type StartSessionInput added in v0.1.0

type StartSessionInput struct {
	LocationUID string  `json:"locationUid"`
	EvseUID     *string `json:"evseUid"`
}

type StatusScheduleResolver added in v0.1.0

type StatusScheduleResolver interface {
	PeriodBegin(ctx context.Context, obj *db.StatusSchedule) (string, error)
	PeriodEnd(ctx context.Context, obj *db.StatusSchedule) (*string, error)
	Status(ctx context.Context, obj *db.StatusSchedule) (string, error)
}

type StopSession added in v0.1.0

type StopSession struct {
	ID         int64  `json:"id"`
	Status     string `json:"status"`
	SessionUID string `json:"sessionUid"`
}

type StopSessionInput added in v0.1.0

type StopSessionInput struct {
	AuthorizationID string `json:"authorizationId"`
}

type SyncCredentialInput added in v0.3.2

type SyncCredentialInput struct {
	ID          int64   `json:"id"`
	FromDate    *string `json:"fromDate"`
	CountryCode *string `json:"countryCode"`
	PartyID     *string `json:"partyId"`
	WithTariffs *bool   `json:"withTariffs"`
}

type TariffElement added in v0.1.0

type TariffElement struct {
	PriceComponents []db.PriceComponent    `json:"priceComponents"`
	Restrictions    *db.ElementRestriction `json:"restrictions"`
}

type TariffResolver added in v0.1.0

type TariffResolver interface {
	CurrencyRate(ctx context.Context, obj *db.Tariff) (int, error)
	CurrencyRateMsat(ctx context.Context, obj *db.Tariff) (int, error)
	CommissionPercent(ctx context.Context, obj *db.Tariff) (float64, error)
	IsIntermediateCdrCapable(ctx context.Context, obj *db.Tariff) (bool, error)
	TaxPercent(ctx context.Context, obj *db.Tariff) (*float64, error)
	Elements(ctx context.Context, obj *db.Tariff) ([]TariffElement, error)
	EnergyMix(ctx context.Context, obj *db.Tariff) (*db.EnergyMix, error)
}

type TextDescription added in v0.1.0

type TextDescription struct {
	Text        string `json:"text"`
	Description string `json:"description"`
}

type TokenAuthorizationResolver added in v0.3.2

type TokenAuthorizationResolver interface {
	CountryCode(ctx context.Context, obj *db.TokenAuthorization) (*string, error)
	PartyID(ctx context.Context, obj *db.TokenAuthorization) (*string, error)
	Location(ctx context.Context, obj *db.TokenAuthorization) (*db.Location, error)
	Token(ctx context.Context, obj *db.TokenAuthorization) (*db.Token, error)

	VerificationKey(ctx context.Context, obj *db.TokenAuthorization) (*string, error)
}

type TokenResolver added in v0.3.2

type TokenResolver interface {
	Type(ctx context.Context, obj *db.Token) (string, error)

	VisualNumber(ctx context.Context, obj *db.Token) (*string, error)
}

type UnregisterCredentialInput added in v0.1.0

type UnregisterCredentialInput struct {
	ID int64 `json:"id"`
}

type UpdateInvoiceRequestInput added in v0.3.2

type UpdateInvoiceRequestInput struct {
	ID             int64  `json:"id"`
	PaymentRequest string `json:"paymentRequest"`
}

type UpdatePartyInput added in v0.3.2

type UpdatePartyInput struct {
	CredentialID             int64  `json:"credentialId"`
	CountryCode              string `json:"countryCode"`
	PartyID                  string `json:"partyId"`
	IsIntermediateCdrCapable bool   `json:"isIntermediateCdrCapable"`
	PublishLocation          bool   `json:"publishLocation"`
	PublishNullTariff        bool   `json:"publishNullTariff"`
}

type UpdateTokenAuthorizationInput added in v0.3.2

type UpdateTokenAuthorizationInput struct {
	AuthorizationID string `json:"authorizationId"`
	Authorized      bool   `json:"authorized"`
}

type UpdateTokensInput added in v0.3.2

type UpdateTokensInput struct {
	UserID  int64   `json:"userId"`
	UID     *string `json:"uid"`
	Allowed string  `json:"allowed"`
}

type UpdateUserInput added in v0.1.0

type UpdateUserInput struct {
	DeviceToken string  `json:"deviceToken"`
	Name        *string `json:"name"`
	Address     *string `json:"address"`
	PostalCode  *string `json:"postalCode"`
	City        *string `json:"city"`
}

type UserResolver added in v0.3.2

type UserResolver interface {
	DeviceToken(ctx context.Context, obj *db.User) (*string, error)
	ReferralCode(ctx context.Context, obj *db.User) (*string, error)
	Node(ctx context.Context, obj *db.User) (*db.Node, error)
}

type VerifyAuthentication

type VerifyAuthentication struct {
	Verified bool `json:"verified"`
}

type VerifyEmailSubscriptionInput

type VerifyEmailSubscriptionInput struct {
	Email            string `json:"email"`
	VerificationCode string `json:"verificationCode"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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