import { Injectable } from '@nestjs/common' import { HttpService } from '../services/http' import { BaseRepository } from './base.repository' const EXISTS = ` query existsAnamnesis($created_at: timestamptz!, $patient_id: String!, $user_id: String!) { anamnesis(where: {created_at: {_gte: $created_at}, done_at: {_is_null: false}, patient_id: {_eq: $patient_id}, user_id: {_eq: $user_id}}) { id } } ` @Injectable() export class AnamnesisRepository extends BaseRepository { constructor(protected readonly httpService: HttpService) { super(httpService, 'anamnesis') } async exists(createdAt: Date, userId: string, patientId: string): Promise { const { data } = await this.fetchGraphQL({ body: { query: EXISTS, variables: { created_at: createdAt.toISOString(), user_id: userId, patient_id: patientId }, }, }) return data.anamnesis?.length > 0 } }