Skip to main content

Interface: ChiveEnv

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

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:205

Environment bindings (unused in Node.js runtime).


Variables​

Variables: object

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

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).