mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2025-12-30 15:59:09 +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.
51 lines
1.9 KiB
Markdown
51 lines
1.9 KiB
Markdown
# Shared Data Types
|
|
|
|
This directory contains shared type definitions for Cherry Studio's data layer.
|
|
|
|
## Documentation
|
|
|
|
For comprehensive documentation, see:
|
|
- **Overview**: [docs/en/references/data/README.md](../../../docs/en/references/data/README.md)
|
|
- **Cache Types**: [cache-overview.md](../../../docs/en/references/data/cache-overview.md)
|
|
- **Preference Types**: [preference-overview.md](../../../docs/en/references/data/preference-overview.md)
|
|
- **API Types**: [api-types.md](../../../docs/en/references/data/api-types.md)
|
|
|
|
## Directory Structure
|
|
|
|
```
|
|
packages/shared/data/
|
|
├── api/ # Data API type system
|
|
│ ├── index.ts # Barrel exports
|
|
│ ├── apiTypes.ts # Core request/response types
|
|
│ ├── apiPaths.ts # Path template utilities
|
|
│ ├── apiErrors.ts # Error handling
|
|
│ └── schemas/ # Domain-specific API schemas
|
|
├── cache/ # Cache system type definitions
|
|
│ ├── cacheTypes.ts # Core cache types
|
|
│ ├── cacheSchemas.ts # Cache key schemas
|
|
│ └── cacheValueTypes.ts # Cache value types
|
|
├── preference/ # Preference system type definitions
|
|
│ ├── preferenceTypes.ts # Core preference types
|
|
│ └── preferenceSchemas.ts # Preference schemas
|
|
└── types/ # Shared data types
|
|
```
|
|
|
|
## Quick Reference
|
|
|
|
### Import Conventions
|
|
|
|
```typescript
|
|
// API infrastructure types (from barrel)
|
|
import type { DataRequest, DataResponse, ApiClient } from '@shared/data/api'
|
|
import { ErrorCode, DataApiError, DataApiErrorFactory } from '@shared/data/api'
|
|
|
|
// Domain DTOs (from schema files)
|
|
import type { Topic, CreateTopicDto } from '@shared/data/api/schemas/topic'
|
|
|
|
// Cache types
|
|
import type { UseCacheKey, UseSharedCacheKey } from '@shared/data/cache'
|
|
|
|
// Preference types
|
|
import type { PreferenceKeyType } from '@shared/data/preference'
|
|
```
|