import { ICollection, IDb } from '@p81-common/p81-mongo-client'; import { ApplicationControlApplications, ApplicationControlApplicationsMetadata, } from '@p81-common/p81-mongo-validation-schemas'; import { Logger } from '@libs/types/'; export default class ApplicationControlService { appCtrlApplications!: ICollection; constructor(protected db: IDb) { this.appCtrlApplications = db.collection( ApplicationControlApplicationsMetadata, ); } async getBctiAppIdsByAppIds(appCtrlAppIds: string[], logger: Logger): Promise { try { const apps = await this.appCtrlApplications.distinct('bctiAppId', { _id: { $in: appCtrlAppIds }, }); return apps.map(String); } catch (err) { logger?.error({ message: 'Failed to fetch bctiAppIds from ApplicationControlApplications', err, }); throw err; } } }