Files
paprika-api/MODEL_DESCRIPTION.md
2026-03-29 11:18:31 +02:00

2.4 KiB

Paprika API Model Descriptions

This document describes the main data models used in the Paprika API, including their fields and relationships.

User

The User model represents an authenticated user in the system.

  • id: Unique identifier (primary key).
  • fullName: The full name of the user (can be null).
  • email: The user's email address (unique, used for login).
  • password: Hashed password for authentication.
  • role: User role for authorization (e.g., 'user', 'admin').
  • createdAt: Timestamp when the user was created.
  • updatedAt: Timestamp when the user was last updated.

Category

Categories are used to group RestaurantMenuItem objects.

  • id: Unique identifier (primary key).
  • name: The primary name of the category (typically Hungarian).
  • nameHu: Hungarian translation of the category name.
  • nameEn: English translation of the category name.
  • slug: A URL-friendly version of the category name.
  • createdAt: Timestamp when the category was created.
  • updatedAt: Timestamp when the category was last updated.
  • Relationships:
    • menuItems: Has many RestaurantMenuItem records.

RestaurantMenu

Represents a specific daily or periodic menu.

  • id: Unique identifier (primary key).
  • name: The primary name of the menu (e.g., "2025.09.08. Hétfő").
  • nameHu: Hungarian translation of the menu name.
  • nameEn: English translation of the menu name.
  • createdAt: Timestamp when the menu was created.
  • updatedAt: Timestamp when the menu was last updated.
  • Relationships:
    • items: Many-to-many relationship with RestaurantMenuItem records via menu_item_menus table.

RestaurantMenuItem

Individual dishes or items within a RestaurantMenu.

  • id: Unique identifier (primary key).
  • name: The primary name of the item.
  • nameHu: Hungarian translation of the item name.
  • nameEn: English translation of the item name.
  • priceSmall: Price for a small portion.
  • priceLarge: Price for a large portion.
  • description: General description of the item.
  • descriptionHu: Hungarian translation of the description.
  • descriptionEn: English translation of the description.
  • categoryId: Foreign key connecting to Category.
  • createdAt: Timestamp when the item was created.
  • updatedAt: Timestamp when the item was last updated.
  • Relationships:
    • category: Belongs to a Category.
    • menus: Many-to-many relationship with RestaurantMenu records via menu_item_menus table.