All files / src/lib/api-docs/endpoints categories.ts

100% Statements 74/74
100% Branches 0/0
100% Functions 0/0
100% Lines 74/74

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 751x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x  
/**
 * Categories Endpoints
 * Product categories and organization endpoints
 */
 
import type { ApiEndpoint } from '@/types/api-docs';
 
export const categoriesEndpoints: ApiEndpoint[] = [
  {
    id: 'categories-list',
    method: 'GET',
    path: '/api/categories',
    summary: 'List all categories',
    description: 'Returns hierarchical list of product categories',
    category: 'categories',
    requiresAuth: false,
    responses: [
      {
        status: 200,
        description: 'List of categories',
        example: {
          success: true,
          data: {
            categories: [
              {
                id: 1,
                name: 'Electronics',
                slug: 'electronics',
                description: 'Electronic devices and accessories',
                parentId: null,
                children: [
                  { id: 2, name: 'Phones', slug: 'phones', parentId: 1 },
                ],
              },
            ],
          },
        },
      },
    ],
  },
  {
    id: 'categories-get',
    method: 'GET',
    path: '/api/categories/{id}',
    summary: 'Get category by ID',
    description: 'Returns a single category with its subcategories',
    category: 'categories',
    requiresAuth: false,
    parameters: [
      { name: 'id', type: 'number', required: true, location: 'path', description: 'Category ID' },
    ],
    responses: [
      {
        status: 200,
        description: 'Category details',
        example: {
          success: true,
          data: {
            id: 1,
            name: 'Electronics',
            slug: 'electronics',
            description: 'Electronic devices and accessories',
            products: [],
          },
        },
      },
      {
        status: 404,
        description: 'Category not found',
        example: { success: false, error: { code: 'NOT_FOUND', message: 'Category not found' } },
      },
    ],
  },
];