mirror of https://github.com/buster-so/buster.git
71 lines
1.7 KiB
Plaintext
71 lines
1.7 KiB
Plaintext
|
---
|
||
|
description: This will be used whenever we need a type for a request either from rest or web socket
|
||
|
globs: src/api/request_interfaces/**/*
|
||
|
---
|
||
|
# Cursor Rules
|
||
|
|
||
|
## Directory Structure
|
||
|
|
||
|
This directory contains all the namespaces, each organized into separate folders. Every namespace follows this structure:
|
||
|
|
||
|
```
|
||
|
/namespaces/
|
||
|
├── namespace1/
|
||
|
│ ├── index.ts
|
||
|
│ ├── interfaces.ts
|
||
|
├── namespace2/
|
||
|
│ ├── index.ts
|
||
|
│ ├── interfaces.ts
|
||
|
...
|
||
|
```
|
||
|
|
||
|
### File Descriptions
|
||
|
|
||
|
#### `index.ts`
|
||
|
- This file serves as the entry point for the namespace, exporting all relevant types and utilities.
|
||
|
|
||
|
#### `interfaces.ts`
|
||
|
- This file defines the TypeScript interfaces for the namespace.
|
||
|
- All interfaces must be documented using **TSDoc** to ensure clarity and maintainability.
|
||
|
|
||
|
Example:
|
||
|
```ts
|
||
|
/**
|
||
|
* Represents a user profile in the system.
|
||
|
*/
|
||
|
export interface UserProfile {
|
||
|
/** The unique identifier for the user */
|
||
|
id: string;
|
||
|
|
||
|
/** The user's display name */
|
||
|
name: string;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Parameters for fetching a collection list.
|
||
|
*/
|
||
|
export interface GetCollectionListParams {
|
||
|
/** Current page number (1-based indexing) */
|
||
|
page: number;
|
||
|
|
||
|
/** Number of items to display per page */
|
||
|
page_size: number;
|
||
|
|
||
|
/** When true, returns only collections shared with the current user */
|
||
|
shared_with_me?: boolean;
|
||
|
|
||
|
/** When true, returns only collections owned by the current user */
|
||
|
owned_by_me?: boolean;
|
||
|
}
|
||
|
```
|
||
|
|
||
|
## Usage
|
||
|
|
||
|
These namespace types will be imported into the following locations:
|
||
|
- `/src/api/buster_rest/*`
|
||
|
- `/src/api/buster_socket/*`
|
||
|
- `/src/api/buster_socket_query/*`
|
||
|
|
||
|
Ensure that all types are properly imported and used to maintain consistency across the codebase.
|
||
|
|