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?
optionalpool: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?
optionaluser:AuthenticatedUser
Authenticated user (undefined if anonymous).
validatedInput?
optionalvalidatedInput:unknown
Validated request input (set by validation middleware).