Documentation
¶
Index ¶
- func AuthenticationMiddleware(next http.Handler) http.Handler
- func AuthorizationControlListHasAccess(ctx context.Context, action string, subject string) (error, bool)
- func GetEnv(key, fallback string) string
- func GetIp(r *http.Request) string
- func GetLocalIP() string
- func GetMacAddress() string
- func StreamAuthInterceptor(srv interface{}, ss grpc.ServerStream, info *grpc.StreamServerInfo, ...) error
- func TenantPartition(ctx context.Context) func(db *gorm.DB) *gorm.DB
- func ToContext(ctx context.Context, service *Service) context.Context
- func UnaryAuthInterceptor(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, ...) (interface{}, error)
- type AuthenticationClaims
- type BaseModel
- type BaseModelI
- type Migration
- type Option
- func Datastore(ctx context.Context, postgresqlConnection string, readOnly bool) Option
- func GrpcServer(grpcServer *grpc.Server) Option
- func HttpHandler(h http.Handler) Option
- func HttpOptions(httpOpts *server.Options) Option
- func RegisterPublisher(reference string, queueUrl string) Option
- func RegisterSubscriber(reference string, queueUrl string, concurrency int, handler SubscribeWorker) Option
- func ServerListener(listener net.Listener) Option
- func Translations(translationsFolder string, languages ...string) Option
- type Queue
- type Service
- func (s *Service) AddCleanupMethod(f func())
- func (s *Service) AddHealthCheck(checker health.Checker)
- func (s *Service) AddPreStartMethod(f func(s *Service))
- func (s *Service) Bundle() *i18n.Bundle
- func (s *Service) DB(ctx context.Context, readOnly bool) *gorm.DB
- func (s *Service) Init(opts ...Option)
- func (s *Service) InvokeRestService(ctx context.Context, method string, authorizationUrl string, ...) (int, []byte, error)
- func (s *Service) MigrateDatastore(ctx context.Context, migrationsDirPath string, migrations ...interface{}) error
- func (s Service) Publish(ctx context.Context, reference string, payload interface{}) error
- func (s Service) QID(ctx context.Context, payload []byte) (string, error)
- func (s Service) QObject(ctx context.Context, model BaseModelI) ([]byte, map[string]string, error)
- func (s *Service) Run(ctx context.Context, address string) error
- func (s *Service) Stop()
- type SubscribeWorker
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AuthenticationMiddleware ¶ added in v1.0.7
AuthenticationMiddleware Simple http middleware function to verify and extract authentication data supplied in a jwt as authorization bearer token
func AuthorizationControlListHasAccess ¶ added in v1.0.5
func GetLocalIP ¶
func GetLocalIP() string
func GetMacAddress ¶
func GetMacAddress() string
func StreamAuthInterceptor ¶ added in v1.0.7
func StreamAuthInterceptor(srv interface{}, ss grpc.ServerStream, info *grpc.StreamServerInfo, handler grpc.StreamHandler) error
StreamAuthInterceptor An authentication claims extractor that will always verify the information flowing in the streams as true jwt claims
func TenantPartition ¶ added in v1.0.7
func UnaryAuthInterceptor ¶ added in v1.0.7
func UnaryAuthInterceptor(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (interface{}, error)
UnaryAuthInterceptor Simple grpc interceptor to extract the jwt supplied via authorization bearer token and verify the authentication claims in the token
Types ¶
type AuthenticationClaims ¶ added in v1.0.7
type AuthenticationClaims struct {
ProfileID string `json:"profile_id,omitempty"`
TenantID string `json:"tenant_id,omitempty"`
PartitionID string `json:"partition_id,omitempty"`
AccessID string `json:"access_id,omitempty"`
jwt.StandardClaims
}
AuthenticationClaims Create a struct that will be encoded to a JWT. We add jwt.StandardClaims as an embedded type, to provide fields like expiry time
func ClaimsFromContext ¶ added in v1.0.7
func ClaimsFromContext(ctx context.Context) *AuthenticationClaims
ClaimsFromContext extracts authentication claims from the supplied context if any exist
func ClaimsFromMap ¶ added in v1.1.0
func ClaimsFromMap(m map[string]string) *AuthenticationClaims
ClaimsFromMap extracts authentication claims from the supplied map if they exist
func (*AuthenticationClaims) AsMetadata ¶ added in v1.0.7
func (a *AuthenticationClaims) AsMetadata() map[string]string
AsMetadata Creates a string map to be used as metadata in queue data
func (*AuthenticationClaims) ClaimsToContext ¶ added in v1.0.7
func (a *AuthenticationClaims) ClaimsToContext(ctx context.Context) context.Context
ClaimsToContext adds authentication claims to the current supplied context
type BaseModel ¶
type BaseModel struct {
ID string `gorm:"type:varchar(50);primary_key"`
CreatedAt time.Time
ModifiedAt time.Time
Version uint32 `gorm:"DEFAULT 0"`
TenantID string `gorm:"type:varchar(50);"`
PartitionID string `gorm:"type:varchar(50);"`
DeletedAt gorm.DeletedAt `sql:"index"`
}
BaseModel Our simple table holding all the migration data
func (*BaseModel) BeforeCreate ¶
BeforeCreate Ensures we update a migrations time stamps
func (*BaseModel) BeforeUpdate ¶
BeforeUpdate Updates time stamp every time we update status of a migration
type BaseModelI ¶
type BaseModelI interface {
GetID() string
}
type Migration ¶
type Migration struct {
BaseModel
Name string `gorm:"type:varchar(50);unique_index"`
Patch string `gorm:"type:text"`
AppliedAt sql.NullTime
}
Migration Our simple table holding all the migration data
type Option ¶
type Option func(service *Service)
func GrpcServer ¶
func HttpHandler ¶
func HttpOptions ¶
func RegisterPublisher ¶
func RegisterSubscriber ¶
func RegisterSubscriber(reference string, queueUrl string, concurrency int, handler SubscribeWorker) Option
func ServerListener ¶
func Translations ¶ added in v1.0.5
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
func FromContext ¶
func NewService ¶
func (*Service) AddCleanupMethod ¶
func (s *Service) AddCleanupMethod(f func())
func (*Service) AddHealthCheck ¶
func (*Service) AddPreStartMethod ¶ added in v1.1.3
func (*Service) InvokeRestService ¶ added in v1.0.15
func (*Service) MigrateDatastore ¶
func (s *Service) MigrateDatastore(ctx context.Context, migrationsDirPath string, migrations ...interface{}) error
MigrateDatastore finds missing migrations and records them in the database