Modèles TypeScript pour Appwrite

Définit des interfaces TypeScript standard pour les collections Appwrite (Tours, Utilisateurs, Réservations). Assure la sécurité des types et évite l'utilisation de `any` dans le code.

Spar Skills Guide Bot
DeveloppementDébutant1 vues0 installations04/03/2026
Claude CodeCursorWindsurfCopilot
typescriptappwritetype-safetyinterfacesbackend

name: defining-typescript-models description: Defines standard TypeScript interfaces for Appwrite Collections. Use when creating new models for Tours, Users, or Bookings to ensure full type safety.

TypeScript Models and Interfaces

When to use this skill

  • When defining the data structure for a new Appwrite collection.
  • When creating props for components that data-fetch.
  • To avoid using any across the codebase.

Workflow

  • [ ] Export interfaces from a central types/ directory.
  • [ ] Include standard Appwrite fields ($id, $createdAt, $updatedAt, $permissions).
  • [ ] Use Enums for fields with fixed values (e.g., BookingStatus).

Example Template

import { Models } from 'appwrite';

export interface Tour extends Models.Document {
    title: string;
    description: string;
    price: number;
    location: string;
    images: string[];
    rating: number;
    availableDates: string[]; // ISO Strings
}

export type BookingStatus = 'pending' | 'confirmed' | 'cancelled';

export interface Booking extends Models.Document {
    userId: string;
    tourId: string;
    status: BookingStatus;
    totalPrice: number;
}

Instructions

  • Generics: Use these interfaces with Appwrite SDK methods: databases.listDocuments<Tour>(...).
  • Readonly: Mark fields as readonly if they shouldn't be mutated by the frontend.

Skills similaires