ProductService (product.service.ts)

point-of-sale-angular · pagination, data-filtering, http-client, pos

Manages product data retrieval, state, pagination, and filtering through HTTP calls for an Angular e-commerce application.

import { Inject, Injectable } from '@angular/core';
import {
  Product,
  ProductDetails,
  SaveProductPayload,
} from '../models/product.model';
import { Pagination } from '../models/pagination.model';
import { ProductsFilter } from '../models/products-filter.model';
import { BehaviorSubject, Observable, of } from 'rxjs';
import { catchError, distinctUntilChanged, tap } from 'rxjs/operators';
import { createParamsFromObject } from '../utils/create-params-from-object';
import { HttpClient, HttpParams } from '@angular/common/http';
import { API_URL } from '@core/api.token';
import { ProductsFilterRes } from '@core/models/ProductsFilterRes';

export interface ProductsState {
  data: Product[];
  pagination: Pagination;
  filters: ProductsFilter | null;
  error: string | null;
  loading: bool

... (truncated -- full source via MCP)

See the full source, get the GitHub permalink, and search 40K more like it.

Get a free API key