Skip to content

✅ Phase 1: Type Definitions & Database Queries #1375

@kurosh87

Description

@kurosh87

Completed

Type Definitions:

  • /lib/types/trip.ts - 20+ TypeScript interfaces for trip management
    • Trip, TripDay, TripItem types
    • Booking types (Flight, Hotel, Ticket, Transport, Restaurant)
    • Collaborator and permission types
    • Input validation types
  • /lib/types/heritage.ts - Heritage-specific types
    • UNESCO site types with criteria
    • POI and Circuit types
    • Geographic coordinate types
    • Search filter types
    • Region/civilization mapping

Database Query Functions:

  • /lib/db/queries-trips.ts - Full CRUD for trips
    • Trip lifecycle management
    • Day-by-day itinerary operations
    • Drag-and-drop item reordering
    • Collaboration queries
  • /lib/db/queries-heritage.ts - Heritage data access
    • Site search with multiple filters
    • Geographic distance calculations (Haversine)
    • Circuit management with stops
    • POI lookups
  • /lib/db/queries-bookings.ts - Booking management
    • Booking lifecycle
    • Document attachments
    • Type-specific queries (flights, hotels, etc.)

Features Implemented:

  • Type-safe database operations
  • Server-only imports for security
  • Proper error handling
  • Slug generation for URLs
  • Geographic proximity search

References:

  • FUNCTIONALITY_SPEC.md sections 1, 2
  • CLAUDE.md database schema overview

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions