/** * Shared OpenAPI components scanned by `scripts/generateApiDocs.js`. * Route-specific paths live as `@openapi` blocks next to each handler. * * @openapi * components: * securitySchemes: * cookieAuth: * type: apiKey * in: cookie * name: token * description: HTTP-only session cookie set by POST /auth/login * schemas: * Error: * type: object * required: [error] * properties: * error: * type: string * User: * type: object * required: [id, email, selectedCompanyId] * properties: * id: * type: integer * email: * type: string * format: email * selectedCompanyId: * type: integer * nullable: true * picture: * type: string * format: uri * Company: * type: object * properties: * id: * type: integer * iso639: * type: string * name: * type: string * taxrate: * type: number * reducedtaxrate: * type: number * Category: * type: object * properties: * id: * type: integer * parentId: * type: integer * nullable: true * sort: * type: integer * name: * type: string * ArticleSummary: * type: object * properties: * id: * type: integer * parentId: * type: integer * name: * type: string * sku: * type: string * ArticleDetail: * type: object * description: Full article payload (unit, brand, categoryIds, photos, eans, prices, …) * additionalProperties: true */ export {};