mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2025-12-31 00:10:22 +08:00
- Revised the README files for shared data and main data layers to improve clarity and structure. - Consolidated documentation on shared data types and API types, removing the now-deleted `api-design-guidelines.md`. - Streamlined directory structure descriptions and updated links to relevant documentation. - Enhanced quick reference sections for better usability and understanding of the data architecture.
1.4 KiB
1.4 KiB
Data API Type System
This directory contains type definitions for the DataApi system.
Documentation
- DataApi Overview: docs/en/references/data/data-api-overview.md
- API Types: api-types.md
- API Design Guidelines: api-design-guidelines.md
Directory Structure
packages/shared/data/api/
├── index.ts # Barrel exports
├── apiTypes.ts # Core request/response types
├── apiPaths.ts # Path template utilities
├── apiErrors.ts # Error handling
└── schemas/
├── index.ts # Schema composition
└── *.ts # Domain-specific schemas
Quick Reference
Import Conventions
// Infrastructure types (via barrel)
import type { DataRequest, DataResponse, ApiClient } from '@shared/data/api'
import { ErrorCode, DataApiError, DataApiErrorFactory } from '@shared/data/api'
// Domain DTOs (directly from schema files)
import type { Topic, CreateTopicDto } from '@shared/data/api/schemas/topic'
import type { Message, CreateMessageDto } from '@shared/data/api/schemas/message'
Adding New Schemas
- Create schema file in
schemas/(e.g.,topic.ts) - Register in
schemas/index.tsusing intersection type - Implement handlers in
src/main/data/api/handlers/