registry API

registry

package

API reference for the registry package.

F
function

Global

Returns

pkg/registry/registry.go:9-9
func Global() *Registry

{ return global }
S
struct

Registry

pkg/registry/registry.go:11-19
type Registry struct

Fields

Name Type Description
ServiceInit map[string]ServiceInit
RepoInit map[string]RepoInit
HandlerInit map[string]HandlerInit
MiddlewareInit map[string]MiddlewareInit
ModelProviders []ModelProvider
RouteProviders []RouteProvider
mu sync.RWMutex
F
function

New

Returns

pkg/registry/registry.go:21-28
func New() *Registry

{
	return &Registry{
		ServiceInit:    map[string]ServiceInit{},
		RepoInit:       map[string]RepoInit{},
		HandlerInit:    map[string]HandlerInit{},
		MiddlewareInit: map[string]MiddlewareInit{},
	}
}
F
function

RegisterService

Parameters

name
string
pkg/registry/registry.go:30-34
func RegisterService(name string, fn ServiceInit)

{
	global.mu.Lock()
	defer global.mu.Unlock()
	global.ServiceInit[name] = fn
}
F
function

RegisterRepository

Parameters

name
string
pkg/registry/registry.go:36-40
func RegisterRepository(name string, fn RepoInit)

{
	global.mu.Lock()
	defer global.mu.Unlock()
	global.RepoInit[name] = fn
}
F
function

RegisterHandler

Parameters

name
string
pkg/registry/registry.go:42-46
func RegisterHandler(name string, fn HandlerInit)

{
	global.mu.Lock()
	defer global.mu.Unlock()
	global.HandlerInit[name] = fn
}
F
function

RegisterMiddleware

Parameters

name
string
pkg/registry/registry.go:48-52
func RegisterMiddleware(name string, fn MiddlewareInit)

{
	global.mu.Lock()
	defer global.mu.Unlock()
	global.MiddlewareInit[name] = fn
}
F
function

RegisterModels

Parameters

pkg/registry/registry.go:54-58
func RegisterModels(fn ModelProvider)

{
	global.mu.Lock()
	defer global.mu.Unlock()
	global.ModelProviders = append(global.ModelProviders, fn)
}
F
function

RegisterRoutes

Parameters

pkg/registry/registry.go:60-64
func RegisterRoutes(fn RouteProvider)

{
	global.mu.Lock()
	defer global.mu.Unlock()
	global.RouteProviders = append(global.RouteProviders, fn)
}
T
type

ServiceInit

pkg/registry/types.go:5-5
type ServiceInit func(repos map[string]any) any
T
type

RepoInit

pkg/registry/types.go:6-6
type RepoInit func(deps map[string]any) any
T
type

HandlerInit

pkg/registry/types.go:7-7
type HandlerInit func(services map[string]any) any
T
type

MiddlewareInit

pkg/registry/types.go:8-8
type MiddlewareInit func(services map[string]any, sessionDur time.Duration) any
T
type

ModelProvider

pkg/registry/types.go:9-9
type ModelProvider func() []any
T
type

RouteProvider

pkg/registry/types.go:10-10
type RouteProvider func() []Route
S
struct

Route

pkg/registry/types.go:12-19
type Route struct

Fields

Name Type Description
Method string
Path string
HandlerName string
Middleware []string
Permissions []string
Meta map[string]any