UNPKG

@developers-joyride/shortify

Version:

High performance URL shortener library with multi-database support (MongoDB, SQLite, PostgreSQL, MySQL)

28 lines (27 loc) 949 B
import { EventEmitter } from "events"; import { IDatabaseAdapter, IUrl } from "../interfaces/database.interface"; interface MongoConfig { mongoUri: string; maxRetries?: number; retryDelay?: number; collectionName?: string; } export declare class MongoAdapter extends EventEmitter implements IDatabaseAdapter { private mongoUri; private maxRetries; private retryDelay; private collectionName; private retryCount; private _isConnected; constructor(config: MongoConfig); connect(): Promise<boolean>; private retryConnection; disconnect(): Promise<void>; isConnected(): boolean; createUrl(url: Omit<IUrl, "createdAt">): Promise<IUrl>; findUrlByUrlId(urlId: string): Promise<IUrl | null>; findUrlByOriginalUrl(originalUrl: string): Promise<IUrl | null>; updateUrlClicks(urlId: string, clicks: number): Promise<void>; deleteUrl(urlId: string): Promise<boolean>; } export {};