import { injectable, /* inject, */ BindingScope, Provider, inject, } from '@loopback/core'; import {Count, Filter, Where} from '@loopback/repository'; import {getService} from '@loopback/service-proxy'; import { SuccessResponse } from '@sourcefuse-npm/alivio-lib'; import {MoodFactorLogsServiceDataSource} from '../datasources/mood-factor-logs-service.datasource'; import { MoodFactorLogs, SleepLogs, Selfi, SentimentAnalysis, TaxonomyAnalysis, TaxonomyBatchAnalysis, SentimentBatchAnalysis, Followup, FollowupAlert, PendingTaksAlerts, } from '../models'; /* * Fix the service type. Possible options can be: * - import {MoodFactorLogsService} from 'your-module'; * - export type MoodFactorLogsService = string; * - export interface MoodFactorLogsService {} */ export interface MoodFactorLogsService { logMoodFactors(mood: MoodFactorLogs, token?: string): Promise; getMoodFactorsLog( filter?: Filter, token?: string, ): Promise; getMoodFactorsLogsCount( where?: Where, token?: string, ): Promise; logSleep(sleep: SleepLogs, token?: string): Promise; getSleepLog(filter?: Filter, token?: string): Promise; getSleepLogsCount(where?: Where, token?: string): Promise; getSefies( patientId: number, token?: string, limit?: number, offset?: number, ): Promise; addSelfi(patientId: number, imageUrl: string, token?: string): Promise; deleteSelfi(id: number, selfiId: number, token?: string): Promise; deleteAllSelfi( id: number, where: Where, token?: string, ): Promise; getSentiment(text: string, token?: string): Promise; getSentimentBatch( text: string[], token?: string, ): Promise; getTaxonomy(text: string, token?: string): Promise; getTaxonomyBatch( text: string[], token?: string, ): Promise; addFollowup(patientId: number, followup: Followup, token?: string): Promise; deleteFollowup(id: number, followupId: number, token?: string): Promise; getFollowups( patientId: number, token?: string, filter?: Filter, ): Promise; getFollowup(id: number, followupId: number, token?: string): Promise; updateFollowup(id: number, followupId: number, followup: Followup,token?: string): Promise; getFollowupAlerts(token?: string): Promise; getPendingTasksAlerts(token?:string):Promise; updatePendingTasksAlerts(id: number,pendingTask: PendingTaksAlerts,token?: string): Promise; getPatientFollowupsCount( patientId: number, token?: string, ): Promise; updatePatientFollowup( followupId: number, followupStatus:FollowupAlert, token?: string, ): Promise; getFollowupAlertCount( token?: string, ): Promise; getPendingTasklAlertCount( token?: string, ): Promise; getAppoinmentslAlertCount( token?: string, ): Promise; } @injectable({scope: BindingScope.TRANSIENT}) export class MoodFactorLogsServiceProvider implements Provider { constructor( @inject('datasources.MoodFactorLogsService') protected dataSource: MoodFactorLogsServiceDataSource = new MoodFactorLogsServiceDataSource(), ) {} value(): Promise { return getService(this.dataSource); } }