@codervisor/devlog-core
Version:
Core devlog management functionality
37 lines • 1.55 kB
TypeScript
/**
* DevlogService - Simplified business logic for devlog operations
*
* Replaces ProjectDevlogManager with a cleaner service-based approach
* that uses direct TypeORM repositories instead of complex storage abstractions.
*/
import type { DevlogEntry, DevlogFilter, DevlogId, DevlogStats, PaginatedResult, TimeSeriesRequest, TimeSeriesStats } from '../types/index.js';
export declare class DevlogService {
private projectId?;
private static instances;
private static readonly TTL_MS;
private database;
private devlogRepository;
private constructor();
/**
* Initialize the database connection if not already initialized
*/
private ensureInitialized;
/**
* Get singleton instance for specific projectId with TTL. If TTL expired, create new instance.
*/
static getInstance(projectId?: number): DevlogService;
get(id: DevlogId): Promise<DevlogEntry | null>;
save(entry: DevlogEntry): Promise<void>;
delete(id: DevlogId): Promise<void>;
list(filter?: DevlogFilter): Promise<PaginatedResult<DevlogEntry>>;
search(query: string, filter?: DevlogFilter): Promise<PaginatedResult<DevlogEntry>>;
getStats(filter?: DevlogFilter): Promise<DevlogStats>;
getTimeSeriesStats(projectId: number, request?: TimeSeriesRequest): Promise<TimeSeriesStats>;
getNextId(): Promise<DevlogId>;
private handleList;
/**
* Add project filter to devlog filter if project context is available
*/
private addProjectFilter;
}
//# sourceMappingURL=devlog-service.d.ts.map