app

package
v0.0.0-...-537082a Latest Latest
Warning

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

Go to latest
Published: May 27, 2026 License: AGPL-3.0 Imports: 43 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var API_PAGE_SIZE int32 = int32(utils.Must(utils.GetEnvInt("API_PAGE_SIZE", int(api.LIMIT_DEFAULT))))
View Source
var AVAILABILITY_ADAPTER = utils.GetEnv("AVAILABILITY_ADAPTER", "zoom")
View Source
var BROKER_MODE = utils.GetEnv("BROKER_MODE", "opaque")
View Source
var CLIENT_DELAY = utils.GetEnv("CLIENT_DELAY", "0ms")
View Source
var CONSORTIUM_SYMBOL = utils.GetEnv("CONSORTIUM_SYMBOL", "")
View Source
var DB_DATABASE = utils.GetEnv("DB_DATABASE", "crosslink")
View Source
var DB_EXPLAIN_ANALYZE, _ = utils.GetEnvBool("DB_EXPLAIN_ANALYZE", false)
View Source
var DB_HOST = utils.GetEnv("DB_HOST", "localhost")
View Source
var DB_MIGRATE, _ = utils.GetEnvBool("DB_MIGRATE", true)
View Source
var DB_PASSWORD = utils.GetEnv("DB_PASSWORD", "crosslink")
View Source
var DB_PORT = utils.GetEnv("DB_PORT", "25432")
View Source
var DB_PROVISION, _ = utils.GetEnvBool("DB_PROVISION", false)
View Source
var DB_SCHEMA = utils.GetEnv("DB_SCHEMA", "crosslink_broker")
View Source
var DB_TYPE = utils.GetEnv("DB_TYPE", "postgres")
View Source
var DB_USER = utils.GetEnv("DB_USER", "crosslink")
View Source
var DIRECTORY_ADAPTER = utils.GetEnv("DIRECTORY_ADAPTER", "mock")
View Source
var DIRECTORY_API_URL = utils.GetEnv("DIRECTORY_API_URL", "http://localhost:8081/directory/entries")
View Source
var ENABLE_JSON_LOG = utils.GetEnv("ENABLE_JSON_LOG", "false")
View Source
var HOLDINGS_ADAPTER = utils.GetEnv("HOLDINGS_ADAPTER", "mock")
View Source
var HOLDINGS_FORMAT = utils.GetEnv("HOLDINGS_FORMAT", "reservoir")
View Source
var HOLDINGS_ISXN_LOOKUP, _ = utils.GetEnvBool("HOLDINGS_ISXN_LOOKUP", false)
View Source
var HOLDINGS_SRU_URL = common.GetEnvWithDeprecated("HOLDINGS_SRU_URL", "SRU_URL", "http://localhost:8081/sru")
View Source
var HTTP_PORT = utils.Must(utils.GetEnvInt("HTTP_PORT", 8081))
View Source
var LOG_LEVEL = utils.GetEnv("LOG_LEVEL", "INFO")
View Source
var MAX_MESSAGE_SIZE, _ = utils.GetEnvAny("MAX_MESSAGE_SIZE", int(100*1024), func(val string) (int, error) {
	v, err := humanize.ParseBytes(val)
	if err != nil && v > uint64(math.MaxInt) {
		appCtx.Logger().Error("MAX_MESSAGE_SIZE value is too large, using default")
		return 0, fmt.Errorf("value %s is too large", val)
	}
	return int(v), err
})
View Source
var METAPROXY_URL = utils.GetEnv("METAPROXY_URL", "")
View Source
var MigrationsFolder = "file://migrations"
View Source
var SHUTDOWN_DELAY, _ = utils.GetEnvAny("SHUTDOWN_DELAY", time.Duration(15*float64(time.Second)), func(val string) (time.Duration, error) {
	d, err := time.ParseDuration(val)
	if err != nil {
		return 0, fmt.Errorf("invalid SHUTDOWN_DELAY value: %s", val)
	}
	return d, nil
})
View Source
var ServeMux *http.ServeMux
View Source
var TENANT_TO_SYMBOL = os.Getenv("TENANT_TO_SYMBOL")

Functions

func AddDefaultHandlers

func AddDefaultHandlers(eventBus events.EventBus, iso18626Client client.Iso18626Client,
	supplierLocator service.SupplierLocator, workflowManager service.WorkflowManager, iso18626Handler handler.Iso18626Handler,
	prActionService prservice.PatronRequestActionService, prApiHandler prapi.PatronRequestApiHandler, sseBroker *api.SseBroker)

func CreateEventBus

func CreateEventBus(eventRepo events.EventRepo) events.EventBus

func CreateEventRepo

func CreateEventRepo(dbPool *pgxpool.Pool) events.EventRepo

func HandleHealthz

func HandleHealthz(w http.ResponseWriter, r *http.Request)

func InitDbPool

func InitDbPool() (*pgxpool.Pool, error)

func Run

func Run(ctx context.Context) error

func RunDbUp

func RunDbUp() error

func StartEventBus

func StartEventBus(ctx context.Context, eventBus events.EventBus) error

func StartScheduler

func StartScheduler(ctx context.Context, schedRepo sched_db.SchedRepo, eventBus events.EventBus) error

StartScheduler creates the scheduler service, begins listening on sched_db.SchedulerChannel, and launches the scheduling loop in a background goroutine.

func StartServer

func StartServer(ctx Context) error

Types

type Context

type Context struct {
	EventBus        events.EventBus
	IllRepo         ill_db.IllRepo
	EventRepo       events.EventRepo
	DirAdapter      adapter.DirectoryLookupAdapter
	PrRepo          pr_db.PrRepo
	TenantResolver  *tenant.TenantResolver
	ApiHandler      api.ApiHandler
	PrApiHandler    prapi.PatronRequestApiHandler
	SseBroker       *api.SseBroker
	PsApiHandler    psapi.PullSlipApiHandler
	SchedApiHandler schedapi.SchedulerApiHandler
}

func Init

func Init(ctx context.Context) (Context, error)

Jump to

Keyboard shortcuts

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