import { Injectable } from '@nestjs/common';
import { VitalsVibrasense } from './entities/vitals-vibrasense.entity';
import { DataSource } from 'typeorm';
import axios from 'axios';
@Injectable()
export class VitalsVibrasenseService {
  constructor(
    private readonly connection: DataSource,
  ) { }

  async create(createVitalsVibrasenseDto: VitalsVibrasense) {
    if (!createVitalsVibrasenseDto.hospital_id) {
      return {
        "status": "failed",
        "message": "Enter hospital_id to insert vitals"
      }
    }
    try {
      const [getBaseURL] = await this.connection.query(`select op_hub_base_url from hospitals where plenome_id = ?`, [createVitalsVibrasenseDto.hospital_id])
      const getAppointment = await axios.post(`${getBaseURL.op_hub_base_url}/op-hub-vitals-vibrasense`, createVitalsVibrasenseDto)
      return getAppointment.data
    } catch (error) {
      console.log(error, "error");
      throw new Error(error);
    }
  }

  async findAll(opd_id: any, hospital_id: any) {
    if (!opd_id && !hospital_id) {
      return {
        status: "failed",
        message: "enter hospital_id and opd_id to get vital details"
      }
    }
    try {
      const [getBaseURL] = await this.connection.query(`select op_hub_base_url from hospitals where plenome_id = ?`, [hospital_id])
      const getAppointment = await axios.get(`${getBaseURL.op_hub_base_url}/op-hub-vitals-vibrasense?opd_id=${opd_id}&hospital_id=${hospital_id}`)
      return getAppointment.data
    } catch (error) {
      console.log(error, "error");
      throw new Error(error);
    }
  }

  findOne(id: number) {
    return `This action returns a #${id} vitalsVibrasense`;
  }

  update(id: number, updateVitalsVibrasenseDto: VitalsVibrasense) {
    return `This action updates a #${id} vitalsVibrasense`;
  }

  remove(id: number) {
    return `This action removes a #${id} vitalsVibrasense`;
  }
}
