import { Injectable, InternalServerErrorException } from '@nestjs/common';
import { CreatePharmacyDto } from './dto/create-pharmacy.dto';
import { UpdatePharmacyDto } from './dto/update-pharmacy.dto';
import { DataSource } from 'typeorm';
import axios from 'axios';

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

  async findAll(token: string, hospital_id: number) {
    try {

      const [getBaseURL] = await this.connection.query(
        `select op_hub_base_url from hospitals where plenome_id = ?`,
        [hospital_id]
      );
      let url = `${getBaseURL.op_hub_base_url}/pharmacy?hospital_id=${hospital_id}`;
      const headers = {
        'authorization': token,
        'Accept': 'application/json',
        'Accept-Encoding': 'gzip, deflate, br',
        'Cache-Control': 'no-cache',
        'Connection': 'keep-alive',
        'Content-Type': 'application/json',
      }
      const find_all_process_list = await axios.get(url, { headers });

      return find_all_process_list.data;
    } catch (error) {
      console.log(error, "err");

      throw new InternalServerErrorException(`Error fetching pharmacy data`);
    }

  }

}
