UNPKG

@developers-joyride/shortify

Version:

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

19 lines (18 loc) 772 B
import { EventEmitter } from "events"; import { IDatabaseAdapter, IUrl, MysqlConfig } from "../interfaces/database.interface"; export declare class MysqlAdapter extends EventEmitter implements IDatabaseAdapter { private pool; private config; private tableName; private isConnectedFlag; constructor(config: MysqlConfig); connect(): Promise<boolean>; createTables(): Promise<void>; 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>; }