1. Para criar esse serviço nós iremos lá dentro da pasta de services e vamos criar o productService.ts

  2. Dentro dela iremos criar a tipagem dos parâmetros que vamos usar para criar o produto

    interface AddProductParams {
      name: string;
      price: string;
      description: string;
      category: string;
      addressId: string;
      images: Image[];
      published: string;
    }
    
  3. Agora nós iremos criar o serviço em si de criar o produto

    const productService = {
      addProduct: async (params: AddProductParams) => {
        const token = await SecureStore.getItemAsync("onebitshop-token");
    
        const { name, price, description, category, addressId, images, published } =
          params;
    
        let formdata = new FormData();
    
        formdata.append("name", name);
        formdata.append("price", price);
        formdata.append("description", description);
        formdata.append("category", category);
        formdata.append("addressId", addressId);
        formdata.append("published", published);
        images.map((image) => {
          formdata.append("images", {
            // @ts-ignore
            name: image.filename,
            uri: image.uri,
            type: image.type,
          });
        });
    
        const res = await api.post("/products", formdata, {
          headers: {
            Accept: "application/json",
            "Content-Type": "multipart/form-data",
            Authorization: `Bearer ${token}`,
          },
        });
      
        return res;
      },
    };
    
    export default productService;