@tomisakae/syosetu-api
Version:
Enterprise-grade Fastify TypeScript API for Syosetu.com data extraction using official API and web scraping. Run instantly with 'npx @tomisakae/syosetu-api'
53 lines • 1.17 kB
TypeScript
export interface ApiResponse<T = unknown> {
success: boolean;
data?: T;
error?: string;
message?: string;
timestamp: string;
}
export interface PaginationParams {
page?: number;
limit?: number;
offset?: number;
}
export interface CacheConfig {
ttl: number;
key: string;
}
export interface RateLimitConfig {
windowMs: number;
max: number;
message: string;
}
export interface LoggerConfig {
level: string;
prettyPrint: boolean;
}
export interface DatabaseConfig {
host: string;
port: number;
database: string;
username: string;
password: string;
}
export interface AppConfig {
port: number;
host: string;
nodeEnv: string;
apiTimeout: number;
maxConcurrentRequests: number;
cors: {
origin: string | string[];
credentials: boolean;
};
rateLimit: RateLimitConfig;
logger: LoggerConfig;
}
export type Environment = 'development' | 'production' | 'test' | 'staging';
export interface ErrorDetails {
code: string;
message: string;
details?: Record<string, unknown>;
stack?: string;
}
//# sourceMappingURL=common.types.d.ts.map