import { DyFM_AnyError, DyFM_Error, DyFM_Error_Settings } from '@futdevpro/fsm-dynamo'; import { DyNTS_global_settings } from '../../_collections/global-settings.const'; import { DyNTS_SingletonServiceBase } from './singleton.service-base'; /** * */ export class DyNTS_SingletonService extends DyNTS_SingletonServiceBase { readonly defaultErrorUserMsg: string = `We encountered an unhandled Control Service Error, ` + `\nplease contact the responsible development team.`; protected getDefaultErrorSettings( fnName: string, error: DyFM_AnyError, issuer: string, /** @deprecated we wont support the separate user message in the future, use the message instead */ useMessageAsUserMessage: boolean = true, /* errorCode: string, */ ): DyFM_Error_Settings { return { status: (error as DyFM_Error)?.___status ?? 500, message: (error as Error)?.message ?? (error as DyFM_Error)?._message ?? `${fnName} was UNSUCCESSFUL (${DyNTS_global_settings.systemShortCodeName})`, addECToUserMsg: !(error as DyFM_Error)?.__userMessage, userMessage: (error as DyFM_Error)?.__userMessage ?? (useMessageAsUserMessage ? (error as Error)?.message : this.defaultErrorUserMsg), /* errorCode: errorCode, */ issuer: issuer, issuerService: this.constructor?.name, systemVersion: DyNTS_global_settings.systemVersion, error: error, }; } }