default: {
    addProduct: ((product: {
        name: string;
        price: number;
        quantity: number;
    }) => Promise<any>);
    deleteProduct: ((id: number) => Promise<any>);
    fetchPagedProducts: ((page: number, size: number) => Promise<any>);
    fetchProducts: (() => Promise<any>);
    getProductById: ((id: number) => Promise<any>);
    searchProductsByName: ((name: string) => Promise<any>);
    updateProductPrice: ((id: number, price: number) => Promise<AxiosResponse<any, any, {}>>);
    updateProductQuantity: ((id: number, quantity: number) => Promise<AxiosResponse<any, any, {}>>);
} = ...

Type declaration

  • addProduct: ((product: {
        name: string;
        price: number;
        quantity: number;
    }) => Promise<any>)

    Creates a new product in the inventory

      • (product): Promise<any>
      • Parameters

        • product: {
              name: string;
              price: number;
              quantity: number;
          }

          Product data

          • name: string

            Product name

          • price: number

            Product price

          • quantity: number

            Stock quantity

        Returns Promise<any>

        Created product response

  • deleteProduct: ((id: number) => Promise<any>)

    Deletes a product from inventory by ID

      • (id): Promise<any>
      • Parameters

        • id: number

          Product ID to delete

        Returns Promise<any>

        Deletion confirmation response

  • fetchPagedProducts: ((page: number, size: number) => Promise<any>)

    Fetches paginated products with page and size parameters

    API request failure

      • (page, size): Promise<any>
      • Parameters

        • page: number

          Page number (0-indexed)

        • size: number

          Items per page

        Returns Promise<any>

        Paginated product data

  • fetchProducts: (() => Promise<any>)

    Fetches all products from the backend

      • (): Promise<any>
      • Returns Promise<any>

        List of all products

  • getProductById: ((id: number) => Promise<any>)

    Retrieves a specific product by ID

      • (id): Promise<any>
      • Parameters

        • id: number

          Product ID

        Returns Promise<any>

        Product data

  • searchProductsByName: ((name: string) => Promise<any>)

    Searches products by name (partial match supported)

    API request failure

      • (name): Promise<any>
      • Parameters

        • name: string

          Product name or partial name to search

        Returns Promise<any>

        Array of matching products (empty if none found)

  • updateProductPrice: ((id: number, price: number) => Promise<AxiosResponse<any, any, {}>>)

    Updates product price

      • (id, price): Promise<AxiosResponse<any, any, {}>>
      • Parameters

        • id: number

          Product ID

        • price: number

          New price value

        Returns Promise<AxiosResponse<any, any, {}>>

        Update confirmation response

  • updateProductQuantity: ((id: number, quantity: number) => Promise<AxiosResponse<any, any, {}>>)

    Updates product quantity

      • (id, quantity): Promise<AxiosResponse<any, any, {}>>
      • Parameters

        • id: number

          Product ID

        • quantity: number

          New quantity value

        Returns Promise<AxiosResponse<any, any, {}>>

        Update confirmation response