Documentation
¶
Index ¶
- Constants
- func ExtractJwt(h http.Header) string
- func HMACKeyFunc(t *jwt.Token) (interface{}, error)
- func IDPAudience() string
- func IDPIssuer() string
- func RS256KeyFunc(t *jwt.Token) (interface{}, error)
- func Realm() string
- type ActivitiesPresenter
- type Adapter
- func (a Adapter) ActivitiesHandler(uc usecase.Activities) Handler
- func (a Adapter) CreateActivityHandler(uc usecase.CreateActivity) Handler
- func (a Adapter) CreateBookingHandler(uc usecase.CreateBooking) Handler
- func (a Adapter) CreateCustomerHandler(uc usecase.CreateCustomer) Handler
- func (a Adapter) CreateInvoiceHandler(uc usecase.CreateInvoice) Handler
- func (a Adapter) CreateProjectHandler(uc usecase.CreateProject) Handler
- func (a Adapter) CreateRateHandler(uc usecase.CreateRate) Handler
- func (a Adapter) DeleteBookingHandler(uc usecase.DeleteBooking) Handler
- func (a Adapter) GetInvoiceHandler(uc usecase.GetInvoice) Handler
- func (a Adapter) Handle(path string, handler Handler) *mux.Route
- func (a Adapter) InvoicePresenter(w http.ResponseWriter, r *http.Request) (InvoicePresenter, bool)
- func (a Adapter) ListenAndServe()
- func (a Adapter) ListenAndServeTLS()
- func (a Adapter) OAuth2AccessTokenHandler() Handler
- func (a Adapter) UpdateInvoiceHandler(updateInvoice usecase.UpdateInvoice) Handler
- type CacheableActivities
- type Claims
- type DefaultPresenter
- type Embedded
- type HALInvoice
- type HALInvoicePresenter
- type Handler
- type InvoicePresenter
- type JSONInvoicePresenter
- type Link
- type PDFInvoicePresenter
Constants ¶
const ( RoleAdmin = "ADMIN" RoleUser = "USER" )
These are the expected values for Claims.Roles.
const Key ctxKey = 1
Key is used to store/retrieve a Claims value from a context.Context.
Variables ¶
This section is empty.
Functions ¶
func ExtractJwt ¶
ExtractJwt extracts the jwt token from the header line.
func HMACKeyFunc ¶
func HMACKeyFunc(t *jwt.Token) (interface{}, error)
HMACKeyFunc verifies the token signing method and returns the shared HMAC secret as key used for signature validation.
func IDPAudience ¶
func IDPAudience() string
IDPAudience returns the configured issuer by consulting the environment variable "IDP_ISSUER".
func IDPIssuer ¶
func IDPIssuer() string
IDPIssuer returns the configured issuer by consulting the environment variable "IDP_ISSUER".
func RS256KeyFunc ¶
func RS256KeyFunc(t *jwt.Token) (interface{}, error)
RS256KeyFunc verifies the token signing method and returns the public signing key, matching the key identified by the tokens "kid" header value, used for signature validation.
Types ¶
type ActivitiesPresenter ¶
type ActivitiesPresenter struct { }
ActivitiesPresenter implements the presenter interface.
func NewActivitiesPresenter ¶
func NewActivitiesPresenter() ActivitiesPresenter
NewActivitiesPresenter instantiates an activities presenter.
func (ActivitiesPresenter) Present ¶
func (ActivitiesPresenter) Present(i interface{}) CacheableActivities
Present knows how to present the activities list combined with the last modified date.
type Adapter ¶
Adapter converts HTTP request data into domain objects.
func (Adapter) ActivitiesHandler ¶
func (a Adapter) ActivitiesHandler(uc usecase.Activities) Handler
ActivitiesHandler returns a handler that knows how to retrieve activities for a user.
func (Adapter) CreateActivityHandler ¶
func (a Adapter) CreateActivityHandler(uc usecase.CreateActivity) Handler
CreateActivityHandler returns a handler that knows how to create an activity.
func (Adapter) CreateBookingHandler ¶
func (a Adapter) CreateBookingHandler(uc usecase.CreateBooking) Handler
CreateBookingHandler returns a handler that knows how to create a booking.
func (Adapter) CreateCustomerHandler ¶
func (a Adapter) CreateCustomerHandler(uc usecase.CreateCustomer) Handler
CreateCustomerHandler returns a handler that knows how to create a customer.
func (Adapter) CreateInvoiceHandler ¶
func (a Adapter) CreateInvoiceHandler(uc usecase.CreateInvoice) Handler
CreateInvoiceHandler returns a handler that knows how to create an invoice.
func (Adapter) CreateProjectHandler ¶
func (a Adapter) CreateProjectHandler(uc usecase.CreateProject) Handler
CreateProjectHandler returns a handler that knows how to create a project.
func (Adapter) CreateRateHandler ¶
func (a Adapter) CreateRateHandler(uc usecase.CreateRate) Handler
CreateRateHandler returns a handler that knows how to create a rate.
func (Adapter) DeleteBookingHandler ¶
func (a Adapter) DeleteBookingHandler(uc usecase.DeleteBooking) Handler
DeleteBookingHandler returns a handler that knows how to delete a booking.
func (Adapter) GetInvoiceHandler ¶
func (a Adapter) GetInvoiceHandler(uc usecase.GetInvoice) Handler
GetInvoiceHandler returns a handler that knows how to deliver an invoice in either JSON or PDF format.
func (Adapter) InvoicePresenter ¶
func (a Adapter) InvoicePresenter(w http.ResponseWriter, r *http.Request) (InvoicePresenter, bool)
InvoicePresenter returns a presenter matching the 'Accept' request header.
func (Adapter) ListenAndServe ¶
func (a Adapter) ListenAndServe()
ListenAndServe launches a web server on port 8080.
func (Adapter) ListenAndServeTLS ¶
func (a Adapter) ListenAndServeTLS()
ListenAndServeTLS launches a web server on port 8080.
func (Adapter) OAuth2AccessTokenHandler ¶
OAuth2AccessTokenHandler exchanges the oauth code grant for an access token.
func (Adapter) UpdateInvoiceHandler ¶
func (a Adapter) UpdateInvoiceHandler(updateInvoice usecase.UpdateInvoice) Handler
UpdateInvoiceHandler returns a handler that knows how to update an ivoice.
type CacheableActivities ¶
CacheableActivities decorates activities with last modified date.
type Claims ¶
type Claims struct { Roles []string `json:"roles"` jwt.StandardClaims }
Claims represents the authorization claims transmitted via a JWT.
func (Claims) Authorized ¶
Authorized returns true if claims has at least one of the provided roles.
type HALInvoice ¶
type HALInvoice struct { domain.Invoice Links map[domain.Operation]Link `json:"_links"` // _links Embedded *Embedded `json:"_embedded,omitempty"` // _embedded }
HALInvoice decorates an invoice with HAL conform _link elements.
func NewHALInvoice ¶
func NewHALInvoice(i domain.Invoice) HALInvoice
NewHALInvoice instantiates a HAL invoice.
type HALInvoicePresenter ¶
type HALInvoicePresenter struct {
// contains filtered or unexported fields
}
HALInvoicePresenter structure.
func NewHALInvoicePresenter ¶
func NewHALInvoicePresenter(w http.ResponseWriter) HALInvoicePresenter
NewHALInvoicePresenter instantiates a HAL invoice presenter.
func (HALInvoicePresenter) Present ¶
func (p HALInvoicePresenter) Present(i interface{})
Present knows how to present a HAL invoice.
type Handler ¶
Handler is a type that handles http requests.
func OAuth2AccessCodeGrant ¶
OAuth2AccessCodeGrant decorator makes sure the redirect URI is valid.
type InvoicePresenter ¶
type InvoicePresenter interface {
Present(i interface{})
}
InvoicePresenter ...
type JSONInvoicePresenter ¶
type JSONInvoicePresenter struct {
// contains filtered or unexported fields
}
JSONInvoicePresenter ...
func NewJSONInvoicePresenter ¶
func NewJSONInvoicePresenter(w http.ResponseWriter) JSONInvoicePresenter
NewJSONInvoicePresenter ...
func (JSONInvoicePresenter) Present ¶
func (p JSONInvoicePresenter) Present(i interface{})
Present ...
type PDFInvoicePresenter ¶
type PDFInvoicePresenter struct {
// contains filtered or unexported fields
}
PDFInvoicePresenter ...
func NewPDFInvoicePresenter ¶
func NewPDFInvoicePresenter(w http.ResponseWriter, r *http.Request) PDFInvoicePresenter
NewPDFInvoicePresenter ...
func (PDFInvoicePresenter) Present ¶
func (p PDFInvoicePresenter) Present(i interface{})
Present ...