order service
Mon Oct 28 2024 08:37:20 GMT+0000 (Coordinated Universal Time)
Saved by
@saurabhp643
import { Injectable, HttpException, HttpStatus } from '@nestjs/common';
import axios from 'axios';
import { ConfigService } from '@nestjs/config';
import { CreateOrderDto } from 'src/dto/create-order.dto';
import { IOrder } from 'src/services/Interfaces/IOrder.interface';
@Injectable()
export class OrderService {
private readonly xanoApiUrl: string;
constructor(private readonly configService: ConfigService) {
this.xanoApiUrl = `${this.configService.get<string>('XANO_API_URL')}`;
}
async createOrUpdateOrder(createOrderDto: CreateOrderDto): Promise<IOrder> {
console.log('Sending to Xano:', createOrderDto); // Log data before sending
try {
const response = await axios.post(this.xanoApiUrl, createOrderDto, {
headers: {
Authorization: `Bearer ${this.configService.get<string>('XANO_API_TOKEN')}`,
},
});
console.log('Xano Response:', response.data); // Log Xano response
return response.data;
} catch (error) {
console.error('Xano Error:', error.response?.data || error.message);
throw new HttpException(
`Failed to create or update order in Xano: ${error.message}`,
HttpStatus.INTERNAL_SERVER_ERROR,
);
}
}
async getAllOrders(): Promise<IOrder[]> {
try {
const response = await axios.get(this.xanoApiUrl);
return response.data;
} catch (error) {
throw new HttpException('Failed to retrieve orders from Xano', HttpStatus.INTERNAL_SERVER_ERROR);
}
}
}
content_copyCOPY
Comments