Documentation
¶
Index ¶
- Variables
- func NewExecutableSchema(cfg Config) graphql.ExecutableSchema
- type AddtionalGeoLocation
- type AuthenticationAction
- type BusinessDetailResolver
- type ChannelRequestResolver
- type ComplexityRoot
- type Config
- type ConnectorResolver
- type CreateAuthentication
- type CreateBusinessDetailInput
- type CreateChannelRequestInput
- type CreateCredentialInput
- type CreateEmailSubscriptionInput
- type CreateImageInput
- type CreateUserInput
- type DirectiveRoot
- type ElementRestrictionResolver
- type EnergyMixResolver
- type EnergySourceResolver
- type EnvironmentalImpactResolver
- type EvseResolver
- type ExceptionalPeriodResolver
- type ExchangeAuthentication
- type Geolocation
- type GetLocationInput
- type GetSessionInput
- type GetTariffInput
- type ImageResolver
- type ListLocation
- type ListLocationsInput
- type LocationResolver
- type MutationResolver
- type NodeResolver
- type OpeningTimeResolver
- type PriceComponentResolver
- type QueryResolver
- type Rate
- type RegisterCredentialInput
- type RegularHourResolver
- type ResolverRoot
- type Result
- type SessionInvoiceResolver
- type SessionResolver
- type StartSession
- type StartSessionInput
- type StatusScheduleResolver
- type StopSession
- type StopSessionInput
- type TariffElement
- type TariffResolver
- type TextDescription
- type UnregisterCredentialInput
- type UpdateUserInput
- type VerifyAuthentication
- type VerifyEmailSubscriptionInput
Constants ¶
This section is empty.
Variables ¶
View Source
var AllAuthenticationAction = []AuthenticationAction{ AuthenticationActionRegister, AuthenticationActionLogin, AuthenticationActionLink, AuthenticationActionAuth, }
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 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) }
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 } ChannelRequest struct { AmountMsat func(childComplexity int) int ID func(childComplexity int) int Node func(childComplexity int) int PaymentAddr func(childComplexity int) int PaymentHash func(childComplexity int) int } Connector struct { Amperage 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 } 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 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 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 } ListLocation struct { AvailableEvses func(childComplexity int) int Geom func(childComplexity int) int IsRemoteCapable func(childComplexity int) int IsRfidCapable func(childComplexity int) int Name 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 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 CreateUser func(childComplexity int, input CreateUserInput) int ExchangeAuthentication func(childComplexity int, code string) int RegisterCredential func(childComplexity int, input RegisterCredentialInput) int StartSession func(childComplexity int, input StartSessionInput) int StopSession func(childComplexity int, input StopSessionInput) int UnregisterCredential func(childComplexity int, input UnregisterCredentialInput) 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 } PriceComponent struct { Price func(childComplexity int) int StepSize func(childComplexity int) int Type func(childComplexity int) int } Query struct { 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 ListLocations func(childComplexity int, input ListLocationsInput) 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 } Result struct { ID 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 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 StartDatetime func(childComplexity int) int Status func(childComplexity int) int Uid func(childComplexity int) int } SessionInvoice struct { AmountFiat func(childComplexity int) int AmountMsat func(childComplexity int) int 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 ID func(childComplexity int) int IsExpired func(childComplexity int) int IsSettled func(childComplexity int) int LastUpdated func(childComplexity int) int PaymentRequest func(childComplexity int) int TaxFiat func(childComplexity int) int TaxMsat 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 } 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 { 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 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 } User struct { DeviceToken func(childComplexity int) int ID func(childComplexity int) int Pubkey 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) 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 CreateAuthentication ¶
type CreateBusinessDetailInput ¶ added in v0.1.0
type CreateBusinessDetailInput struct { Name string `json:"name"` Website *string `json:"website"` Logo *CreateImageInput `json:"logo"` }
type CreateChannelRequestInput ¶ added in v0.1.0
type CreateCredentialInput ¶ added in v0.1.0
type CreateImageInput ¶ added in v0.1.0
type CreateUserInput ¶
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 EnvironmentalImpactResolver ¶ added in v0.1.0
type EvseResolver ¶ added in v0.1.0
type EvseResolver interface { Identifier(ctx context.Context, obj *db.Evse) (*string, 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 ExchangeAuthentication ¶
type ExchangeAuthentication struct {
Token string `json:"token"`
}
type Geolocation ¶ added in v0.1.0
type GetLocationInput ¶ added in v0.1.0
type GetSessionInput ¶ added in v0.1.0
type GetTariffInput ¶ added in v0.1.0
type ImageResolver ¶ added in v0.1.0
type ListLocation ¶ added in v0.1.0
type ListLocationsInput ¶ added in v0.1.0
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) 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) (*Result, error) UnregisterCredential(ctx context.Context, input UnregisterCredentialInput) (*Result, error) CreateEmailSubscription(ctx context.Context, input CreateEmailSubscriptionInput) (*db.EmailSubscription, error) VerifyEmailSubscription(ctx context.Context, input VerifyEmailSubscriptionInput) (*db.EmailSubscription, error) CreateUser(ctx context.Context, input CreateUserInput) (*db.User, error) UpdateUser(ctx context.Context, input UpdateUserInput) (*db.User, error) }
type NodeResolver ¶ added in v0.1.0
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 PriceComponentResolver ¶ added in v0.1.0
type QueryResolver ¶
type QueryResolver interface { VerifyAuthentication(ctx context.Context, code string) (*VerifyAuthentication, error) GetLocation(ctx context.Context, input GetLocationInput) (*db.Location, error) ListLocations(ctx context.Context, input ListLocationsInput) ([]ListLocation, error) GetRate(ctx context.Context, currency string) (*Rate, error) GetSession(ctx context.Context, input GetSessionInput) (*db.Session, error) GetSessionInvoice(ctx context.Context, id int64) (*db.SessionInvoice, error) GetTariff(ctx context.Context, input GetTariffInput) (*db.Tariff, error) }
type RegisterCredentialInput ¶ added in v0.1.0
type RegularHourResolver ¶ added in v0.1.0
type ResolverRoot ¶
type ResolverRoot interface { BusinessDetail() BusinessDetailResolver ChannelRequest() ChannelRequestResolver Connector() ConnectorResolver ElementRestriction() ElementRestrictionResolver EnergyMix() EnergyMixResolver EnergySource() EnergySourceResolver EnvironmentalImpact() EnvironmentalImpactResolver Evse() EvseResolver ExceptionalPeriod() ExceptionalPeriodResolver Image() ImageResolver Location() LocationResolver Mutation() MutationResolver Node() NodeResolver OpeningTime() OpeningTimeResolver PriceComponent() PriceComponentResolver Query() QueryResolver RegularHour() RegularHourResolver Session() SessionResolver SessionInvoice() SessionInvoiceResolver StatusSchedule() StatusScheduleResolver Tariff() TariffResolver }
type SessionInvoiceResolver ¶ added in v0.1.0
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) Status(ctx context.Context, obj *db.Session) (string, error) LastUpdated(ctx context.Context, obj *db.Session) (string, error) }
type StartSession ¶ added in v0.1.0
type StartSessionInput ¶ added in v0.1.0
type StatusScheduleResolver ¶ added in v0.1.0
type StopSession ¶ added in v0.1.0
type StopSessionInput ¶ added in v0.1.0
type StopSessionInput struct {
SessionUID string `json:"sessionUid"`
}
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) 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 UnregisterCredentialInput ¶ added in v0.1.0
type UnregisterCredentialInput struct {
ID int64 `json:"id"`
}
type UpdateUserInput ¶ added in v0.1.0
type UpdateUserInput struct {
DeviceToken string `json:"deviceToken"`
}
type VerifyAuthentication ¶
type VerifyAuthentication struct {
Verified bool `json:"verified"`
}
Click to show internal directories.
Click to hide internal directories.