@developers-joyride/shortify
Version:
High performance URL shortener library with multi-database support (MongoDB, SQLite, PostgreSQL, MySQL)
21 lines (20 loc) • 814 B
TypeScript
import { EventEmitter } from "events";
import { IDatabaseAdapter, IUrl, SqliteConfig } from "../interfaces/database.interface";
export declare class SqliteAdapter extends EventEmitter implements IDatabaseAdapter {
private db;
private config;
private tableName;
private retryCount;
private _isConnected;
constructor(config: SqliteConfig);
connect(): Promise<boolean>;
private createTables;
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>;
}