import { Injectable } from '@nestjs/common';
import axios from 'axios';
import { DataSource } from 'typeorm';

@Injectable()
export class AppointmentStatusService {
  constructor(private readonly connection: DataSource
  ) { }

  async findAll(hospital_id: number) {
    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-appointment-status?hospital_id=${hospital_id}`)
      return getAppointment.data
    } catch (error) {
      console.log(error, "error");
      throw new Error(error);
    }
  }

  async appointment_status_tracking(hospital_id: number, appointment_id: string) {
    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-appointment-status/tracking?hospital_id=${hospital_id}&appointment_id=${appointment_id}`)
      return getAppointment.data
    } catch (error) {
      console.log(error, "error");
      throw new Error(error);
    }
  }

  async findAllForTracking(hospital_id: number) {
    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-appointment-status/statusList?hospital_id=${hospital_id}`)
      return getAppointment.data
    } catch (error) {
      console.log(error, "error");
      throw new Error(error);
    }
  }

}

