b24544f115
Generated by create-expo-app 3.2.0.
32 lines
734 B
TypeScript
32 lines
734 B
TypeScript
const API_URL = process.env.EXPO_PUBLIC_API_URL;
|
|
|
|
export interface Product {
|
|
id: number;
|
|
title: string;
|
|
price: number;
|
|
description: string;
|
|
category: string;
|
|
image: string;
|
|
rating: Rating;
|
|
}
|
|
|
|
export interface Rating {
|
|
rate: number;
|
|
count: number;
|
|
}
|
|
|
|
export const fetchProducts = async (): Promise<Product[]> => {
|
|
const response = await fetch(`${API_URL}/products`);
|
|
return response.json();
|
|
};
|
|
|
|
export const fetchProduct = async (id: number): Promise<Product> => {
|
|
const response = await fetch(`${API_URL}/products/${id}`);
|
|
return response.json();
|
|
};
|
|
|
|
export const getCategories = async (): Promise<string[]> => {
|
|
const response = await fetch(`${API_URL}/products/categories`);
|
|
return response.json();
|
|
};
|