import { DyNTS_global_settings } from '../../../_collections/global-settings.const'; import { DyNTS_DBUpdate } from '../../../_models/types/db-update.type'; import { DyNTS_DataService } from '../../../_services/base/data.service'; import { DyFM_AnyError, DyFM_DBFilter, DyFM_DataModel_Params, DyFM_Error, DyFM_ErrorLevel, DyFM_Error_Settings, DyFM_Log, DyFM_Object, DyFM_errorFlag, DyFM_Errors, DyFM_RelativeDate, DyFM_Paged, DyFM_SearchQuery, DyFM_SearchResult, DyFM_Errors_FixAttempt } from '@futdevpro/fsm-dynamo'; export abstract class DyNTS_Errors_ControlService< T_Error extends DyFM_Error, T_Errors extends DyFM_Errors > { debugLog: boolean = false; readonly version: string = DyNTS_global_settings.systemVersion; duplicationCounter: number; abstract recordError(data: T_Errors, issuer: string, alwaysRecord?: boolean): Promise; abstract handleInternalError( error: DyFM_AnyError | any, issuer: string, alwaysRecord?: boolean, ): Promise; abstract checkErrorIsStringifyableOrResolvable(error: T_Error, issuer: string): T_Error | 'UNRESOLVABLE'; abstract getPriorityMultiplierByLevel(level: DyFM_ErrorLevel, issuer: string): number; abstract getErrorsFromDate( date: Date, issuer: string, ): Promise>; abstract deleteError(errorId: string, issuer: string, alwaysDelete?: boolean): Promise; abstract deleteAllErrors(issuer: string, alwaysDelete?: boolean): Promise; abstract recordFixAttempt( errorId: string, version: string, hypothesis: string, issuer: string, notes?: string, ): Promise; abstract resolveError( errorId: string, issuer: string, notes?: string, ): Promise; abstract getErrorsByStatusPaged( status: string, range: DyFM_RelativeDate, pageSize: number, pageIndex: number, issuer: string, ): Promise>; abstract getErrorsInRange(range: DyFM_RelativeDate, issuer: string): Promise>; abstract getErrorsPaged( range: DyFM_RelativeDate, pageSize: number, pageIndex: number, issuer: string, ): Promise>; abstract getErrorsByCategoryPaged( category: string, range: DyFM_RelativeDate, pageSize: number, pageIndex: number, issuer: string, ): Promise>; abstract getLastErrors( range: DyFM_RelativeDate, pageSize: number, pageIndex: number, issuer: string, ): Promise>; abstract searchErrors( searchQuery: DyFM_SearchQuery, issuer: string, ): Promise>; }