Files
hms-licht-ton/frontend-nuxt-old/composables/useCart.ts
T
Agent Zero cd465e0564 feat: add MCP server with resources, tools, auth, and Traefik routing
- Add backend/app/mcp_server.py with FastMCP server (hms-cms)
- Resources: design-rules, page-structure, sync-status
- Tools: trigger_sync, get_sync_log, set_rentman_token, read_file,
  write_file, create_page, deploy, git_commit, git_status
- Bearer token auth via MCP_AUTH_TOKEN env var
- Mount MCP at /mcp with streamable HTTP transport
- Integrate session manager in FastAPI lifespan
- Add Traefik labels for external /mcp route on hms.media-on.de
- Add git, docker.io, curl to backend Dockerfile
- Mount repo root + docker socket in backend container
- Add mcp>=1.0.0 to requirements.txt
2026-07-12 15:58:22 +02:00

61 lines
1.4 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { useCartStore } from "~/stores/cart";
import { storeToRefs } from "pinia";
import type { EquipmentItem } from "~/composables/useEquipment";
/**
* Cart composable wraps the Pinia cart store for convenient use in components.
* Provides reactive refs and action methods.
*/export function useCart() {
const store = useCartStore();
const { items, totalCount, isEmpty, hasItems, apiItems } = storeToRefs(store);
function addItem(equipment: EquipmentItem): void {
store.addItem(equipment);
}
function addItemByFields(item: {
equipment_id: number;
name: string;
rental_price: number | null;
image_url: string | null;
}): void {
store.addItemByFields(item);
}
function removeItem(equipmentId: number): void {
store.removeItem(equipmentId);
}
function updateQuantity(equipmentId: number, quantity: number): void {
store.updateQuantity(equipmentId, quantity);
}
function incrementQuantity(equipmentId: number): void {
store.incrementQuantity(equipmentId);
}
function decrementQuantity(equipmentId: number): void {
store.decrementQuantity(equipmentId);
}
function clearCart(): void {
store.clearCart();
}
return {
items,
totalCount,
isEmpty,
hasItems,
apiItems,
addItem,
addItemByFields,
removeItem,
updateQuantity,
incrementQuantity,
decrementQuantity,
clearCart,
};
}