Skip to main content

Interface: ChiveEnv

Defined in: src/api/types/context.ts:174

Hono environment bindings for Chive API.

Remarks

Extends Hono's generic types to provide type-safe access to injected services and request-scoped variables.

Example

import type { Context } from 'hono';
import type { ChiveEnv } from './types/context.js';

async function handler(c: Context<ChiveEnv>) {
const services = c.get('services');
const eprint = await services.eprint.getEprint(uri);
}

Properties

Bindings

Bindings: Record<string, never>

Defined in: src/api/types/context.ts:178

Environment bindings (unused in Node.js runtime).


Variables

Variables: object

Defined in: src/api/types/context.ts:183

Context variables set by middleware.

logger

logger: ILogger

Logger instance with request context.

pool?

optional pool: Pool

PostgreSQL connection pool for direct queries.

Remarks

Available for handlers that need raw SQL access (e.g., ORCID verification callback). Prefer using services for standard operations. May be undefined if not configured (e.g., in tests).

rateLimitTier

rateLimitTier: RateLimitTier

User's rate limit tier.

redis

redis: Redis

Redis client for rate limiting and caching.

requestId

requestId: string

Unique request identifier for correlation.

requestStartTime

requestStartTime: number

Request start time for duration tracking.

services

services: ChiveServices

Injected service instances.

user?

optional user: AuthenticatedUser

Authenticated user (undefined if anonymous).

validatedInput?

optional validatedInput: unknown

Validated request input (set by validation middleware).