Collections
Functions
Functions
parseMentions
Extract
Signature:
parseMentions(content: string): ParsedMention[]
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
content | string | Yes | - The text content to parse |
Returns:
ParsedMention[] - Array of parsed mentions with identifier and position
Examples:
parseMentions('Hey
## resolveMentions
Resolve parsed mentions to full DiscussionMention objects
**Signature:**
```typescript
resolveMentions(parsed: ParsedMention[], agentLookup: Map<string, AgentLookupEntry>): DiscussionMention[]
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
parsed | ParsedMention[] | Yes | - Array of parsed mentions from mentionParser |
agentLookup | Map<string, AgentLookupEntry> | Yes | - Map of identifier to TeamMember info |
Returns:
DiscussionMention[] - Array of resolved DiscussionMention objects
Examples:
const lookup = new Map([
['viktor-petrov', { teamMemberId: 'team_abc', isAgent: true }]
]);
const resolved = resolveMentions(parsed, lookup);
nodeJsExample
Example 1: Node.js Script (Imperative API) Use when you need immediate results in scripts, CLI tools, or backend services
Signature:
nodeJsExample(db: RxDatabase): Promise<void>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | RxDatabase | Yes |
Returns:
Promise<void> -
reactiveExample
Example 2: Reactive API (Vanilla JavaScript) Use in browsers without frameworks for real-time updates
Signature:
reactiveExample(db: RxDatabase): void
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | RxDatabase | Yes |
filteredQueriesExample
Example 3: Filtered Queries with Indexes Use optimized queries with composite indexes
Signature:
filteredQueriesExample(db: RxDatabase): Promise<void>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | RxDatabase | Yes |
Returns:
Promise<void> -
paginationExample
Example 4: Pagination Implement pagination with limit and skip
Signature:
paginationExample(db: RxDatabase): Promise<void>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | RxDatabase | Yes |
Returns:
Promise<void> -
errorHandlingExample
Example 5: Error Handling Handle errors gracefully
Signature:
errorHandlingExample(db: RxDatabase): Promise<void>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | RxDatabase | Yes |
Returns:
Promise<void> -
batchOperationsExample
Example 6: Batch Operations Perform multiple operations efficiently
Signature:
batchOperationsExample(db: RxDatabase): Promise<void>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | RxDatabase | Yes |
Returns:
Promise<void> -
realTimeUpdatesExample
Example 7: Real-time Updates (Reactive) Monitor task changes in real-time
Signature:
realTimeUpdatesExample(db: RxDatabase): void
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | RxDatabase | Yes |
lifecycleExample
Example 8: Lifecycle Management Properly manage operator lifecycles
Signature:
lifecycleExample(db: RxDatabase): void
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | RxDatabase | Yes |
buildBaseFilters
Filter Builder Utilities
Provides helper functions for constructing RxDB MangoQuery selectors from typed filter objects. These utilities ensure consistent filter patterns across all collection queries.
Signature:
buildBaseFilters(filters: BaseFilters): MangoSelector
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
filters | BaseFilters | Yes |
Returns:
MangoSelector -
buildHierarchyFilters
Build hierarchy filter selector (workspaceId, projectId, milestoneId)
Hierarchy filters enable navigation through the organizational structure. Only the most specific filter should be applied to leverage composite indexes.
Index strategy:
- If milestoneId provided -> use [milestoneId, createdAt] index
- Else if projectId provided -> use [projectId, createdAt] index
- Else if workspaceId provided -> use [workspaceId, createdAt] index
- Else -> fallback to [orgId, createdAt] index (via base filters)
Signature:
buildHierarchyFilters(filters: HierarchyFilters): MangoSelector
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
filters | HierarchyFilters | Yes | - Hierarchy filter configuration |
Returns:
MangoSelector - Partial MangoQuery selector for hierarchy filters
Examples:
// Query tasks within a specific milestone (most specific)
const selector = buildHierarchyFilters({ milestoneId: 'milestone_789' });
// Result: { milestoneId: { $eq: 'milestone_789' } }
// Query tasks within a project (less specific)
const selector = buildHierarchyFilters({ projectId: 'project_456' });
// Result: { projectId: { $eq: 'project_456' } }
buildStatusFilters
Build status filter selector (status, completed, archived)
Status filters enable workflow-based queries across different entity states. Supports both single status and multiple status queries.
Signature:
buildStatusFilters(filters: StatusFilters): MangoSelector
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
filters | StatusFilters | Yes | - Status filter configuration |
Returns:
MangoSelector - Partial MangoQuery selector for status filters
Examples:
// Single status query
const selector = buildStatusFilters({ status: 'In Progress' });
// Result: { status: { $eq: 'In Progress' } }
// Multiple status query (OR condition)
const selector = buildStatusFilters({ status: ['To Do', 'In Progress'] });
// Result: { status: { $in: ['To Do', 'In Progress'] } }
// Completion query
const selector = buildStatusFilters({ completed: true });
// Result: { completed: { $eq: true } }
buildTimeFilters
Build time-based filter selector (createdAt, updatedAt, dueAt ranges)
Time filters enable date range queries for filtering by creation date, update date, or due date. Uses $gte and $lte operators for efficient index-based range queries.
Signature:
buildTimeFilters(filters: TimeFilters): MangoSelector
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
filters | TimeFilters | Yes | - Time filter configuration |
Returns:
MangoSelector - Partial MangoQuery selector for time filters
Examples:
// Created in date range
const selector = buildTimeFilters({
createdAfter: '2025-01-01T00:00:00.000Z',
createdBefore: '2025-12-31T23:59:59.999Z'
});
// Result: {
// createdAt: {
// $gte: '2025-01-01T00:00:00.000Z',
// $lte: '2025-12-31T23:59:59.999Z'
// }
// }
// Due in next 7 days
const now = new Date().toISOString();
const sevenDaysLater = new Date(Date.now() + 7 * 24 * 60 * 60 * 1000).toISOString();
const selector = buildTimeFilters({
dueAfter: now,
dueBefore: sevenDaysLater
});
buildCustomFilters
Build custom field filter selector
Enables filtering on arbitrary document fields with equality checks. Useful for collection-specific fields not covered by standard filters.
Note: Custom filters may not leverage indexes. Use base, hierarchy, status, and time filters whenever possible for optimal performance.
Signature:
buildCustomFilters(customFilters: Record<string, any>): MangoSelector
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
customFilters | Record<string, any> | Yes | - Key-value pairs for custom field filters |
Returns:
MangoSelector - Partial MangoQuery selector for custom filters
Examples:
// Filter by custom fields
const selector = buildCustomFilters({
categoryId: 'cat_123',
type: 'todo',
priority: 'high'
});
// Result: {
// categoryId: { $eq: 'cat_123' },
// type: { $eq: 'todo' },
// priority: { $eq: 'high' }
// }
mergeSelectors
Merge multiple filter selectors into a single selector
Combines partial selectors from different filter builders into a complete MangoQuery selector. Handles nested field merging properly.
Signature:
mergeSelectors(selectors: (MangoSelector | undefined)[]): MangoSelector
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
selectors | (MangoSelector | undefined)[] | Yes | - Array of partial selectors to merge |
Returns:
MangoSelector - Merged MangoQuery selector
Examples:
const baseSelector = buildBaseFilters({ orgId: 'org_123' });
const hierarchySelector = buildHierarchyFilters({ projectId: 'project_456' });
const statusSelector = buildStatusFilters({ status: 'In Progress' });
const mergedSelector = mergeSelectors([
baseSelector,
hierarchySelector,
statusSelector
]);
// Result: {
// orgId: { $eq: 'org_123' },
// archived: { $eq: false },
// projectId: { $eq: 'project_456' },
// status: { $eq: 'In Progress' }
// }
validateSelector
Validate selector for common mistakes
Checks for common query construction errors that could lead to poor performance or unexpected results.
Signature:
validateSelector(selector: MangoSelector | undefined): string[]
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
selector | MangoSelector | undefined | Yes | - MangoQuery selector to validate |
Returns:
string[] - Array of validation warnings (empty if valid)
Examples:
const selector = {
// Missing orgId - not multi-tenant safe!
status: { $eq: 'In Progress' }
};
const warnings = validateSelector(selector);
// Result: ['Missing required orgId filter for multi-tenant isolation']
getHierarchyLevel
Determine the hierarchy level based on provided filters
Analyzes hierarchy filters to determine which level of the hierarchy is being queried. This informs index selection for optimal query performance.
Priority order (most specific to least specific):
- milestone - Task-level queries
- project - Project-level queries
- workspace - Workspace-level queries
- org - Organization-level queries (fallback)
Signature:
getHierarchyLevel(filters: HierarchyFilters): "project" | "milestone" | "workspace" | "org"
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
filters | HierarchyFilters | Yes | - Hierarchy filter configuration |
Returns:
"project" \| "milestone" \| "workspace" \| "org" - The hierarchy level being queried
Examples:
// Task-level query (most specific)
getHierarchyLevel({ milestoneId: 'milestone_789' });
// Returns: 'milestone'
// Project-level query
getHierarchyLevel({ projectId: 'project_456' });
// Returns: 'project'
// Organization-level query (fallback)
getHierarchyLevel({});
// Returns: 'org'
selectBestIndex
Select the best composite index for a query
Analyzes the provided filters and collection schema to automatically select the most efficient composite index. Uses the most specific filter available to maximize index effectiveness.
Index selection strategy:
- Identify the most specific hierarchy filter present
- Check if collection has a composite index for that field
- Return the index field and confidence score
- Fallback to orgId index if no hierarchy filters present
Signature:
selectBestIndex(filters: HierarchyFilters, collectionName: string): IndexSelection
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
filters | HierarchyFilters | Yes | - Hierarchy filter configuration |
collectionName | string | Yes | - Name of the collection being queried |
Returns:
IndexSelection - Index selection recommendation
Examples:
// Query tasks by milestone (most efficient)
selectBestIndex({ milestoneId: 'milestone_789' }, 'tasks');
// Returns: {
// indexField: 'milestoneId',
// level: 'milestone',
// confidence: 1.0
// }
// Query tasks by project
selectBestIndex({ projectId: 'project_456' }, 'tasks');
// Returns: {
// indexField: 'projectId',
// level: 'project',
// confidence: 1.0
// }
// Query without hierarchy filters (fallback)
selectBestIndex({}, 'tasks');
// Returns: {
// indexField: 'orgId',
// level: 'org',
// confidence: 0.8
// }
buildHierarchicalQuery
Build a hierarchical query optimized for composite indexes
Constructs a complete MangoQuery that automatically uses the best available composite index based on the hierarchy filters provided. Ensures queries are structured to maximize RxDB's query performance.
Query construction strategy:
- Select the optimal composite index based on filters
- Build selector with most specific hierarchy filter first
- Add secondary filters after indexed fields
- Configure sort to use the same index (field + createdAt)
- Add pagination if specified
Signature:
buildHierarchicalQuery(options: { collectionName: string; orgId: string; hierarchy?: HierarchyFilters; additionalSelector?: Partial<MangoQuery<T>["selector"]>; sortDirection?: "asc" | "desc"; customSort?: MangoQuery<T>["sort"]; limit?: number; skip?: number; }): MangoQuery<T>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
options | { collectionName: string; orgId: string; hierarchy?: HierarchyFilters; additionalSelector?: Partial<MangoQuery<T>["selector"]>; sortDirection?: "asc" | "desc"; customSort?: MangoQuery<T>["sort"]; limit?: number; skip?: number; } | Yes | - Query configuration options |
Returns:
MangoQuery<T> - Complete MangoQuery optimized for performance
Examples:
// Optimized milestone-level task query
const query = buildHierarchicalQuery({
collectionName: 'tasks',
orgId: 'org_123',
hierarchy: { milestoneId: 'milestone_789' },
limit: 50,
sortDirection: 'desc'
});
// Uses [milestoneId, createdAt] index
// Result: {
// selector: {
// milestoneId: { $eq: 'milestone_789' },
// orgId: { $eq: 'org_123' },
// archived: { $eq: false }
// },
// sort: [{ createdAt: 'desc' }],
// limit: 50
// }
optimizeForIndex
Optimize a query for index usage
Analyzes an existing MangoQuery and restructures it to better utilize available composite indexes. This is useful when converting manually-built queries to use optimal index patterns.
Optimization strategy:
- Extract hierarchy filters from selector
- Identify best index for these filters
- Restructure selector to place indexed field first
- Adjust sort to use same index
- Return optimized query
Signature:
optimizeForIndex(query: MangoQuery<T>, collectionName: string): MangoQuery<T>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
query | MangoQuery<T> | Yes | - Original MangoQuery to optimize |
collectionName | string | Yes | - Collection name for index lookup |
Returns:
MangoQuery<T> - Optimized MangoQuery with better index usage
Examples:
// Sub-optimal query (fields in wrong order)
const originalQuery = {
selector: {
status: { $eq: 'In Progress' },
projectId: { $eq: 'project_456' },
orgId: { $eq: 'org_123' }
},
sort: [{ updatedAt: 'desc' }]
};
const optimized = optimizeForIndex(originalQuery, 'tasks');
// Returns: {
// selector: {
// projectId: { $eq: 'project_456' }, // Indexed field first
// orgId: { $eq: 'org_123' },
// status: { $eq: 'In Progress' }
// },
// sort: [{ createdAt: 'desc' }] // Sort by index field
// }
analyzeQueryPerformance
Analyze query performance and provide optimization hints
Evaluates a MangoQuery to determine if it's using indexes efficiently and provides actionable suggestions for improvement.
Analysis includes:
- Index usage detection
- Sort field optimization
- Selector field ordering
- Performance impact estimation
Signature:
analyzeQueryPerformance(query: MangoQuery, collectionName: string): QueryOptimizationHint
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
query | MangoQuery | Yes | - MangoQuery to analyze |
collectionName | string | Yes | - Collection name for index lookup |
Returns:
QueryOptimizationHint - Query optimization hints and suggestions
Examples:
const query = {
selector: {
orgId: { $eq: 'org_123' },
status: { $eq: 'In Progress' }
},
sort: [{ title: 'asc' }]
};
const hints = analyzeQueryPerformance(query, 'tasks');
// Returns: {
// isOptimal: false,
// indexUsed: 'orgId',
// suggestions: [
// 'Consider adding hierarchy filter (projectId or milestoneId) for better performance',
// 'Sort by createdAt instead of title to use composite index'
// ],
// performanceImpact: 'medium'
// }
getAvailableIndexes
Get available indexes for a collection
Returns the list of composite indexes available for a given collection. Useful for debugging and query planning.
Signature:
getAvailableIndexes(collectionName: string): string[][]
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
collectionName | string | Yes | - Collection name |
Returns:
string[][] - Array of available composite indexes
Examples:
getAvailableIndexes('tasks');
// Returns: [
// ['orgId', 'createdAt'],
// ['projectId', 'createdAt'],
// ['milestoneId', 'createdAt']
// ]
buildQuery
Query Builder Utilities
Provides a high-level API for constructing optimized RxDB queries from typed filter objects. Automatically handles composite index selection, selector construction, and sort optimization.
Key features:
- Automatic composite index selection based on hierarchy filters
- Type-safe filter construction
- Query validation and optimization hints
- Support for sorting, pagination, and custom filters
Signature:
buildQuery(options: QueryBuilderOptions<T> & { collectionName: string; }): MangoQuery<T>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
options | QueryBuilderOptions<T> & { collectionName: string; } | Yes |
Returns:
MangoQuery<T> -
Examples:
Basic Usage
```ts
// Build a simple task query
const query = buildQuery({
collectionName: 'tasks',
base: { orgId: 'org_123' },
hierarchy: { projectId: 'project_456' },
status: { status: 'In Progress' },
pagination: { limit: 50 }
});
```typescript
Advanced Usage
```ts
// Build a complex query with time filters and custom fields
const query = buildQuery({
collectionName: 'tasks',
base: { orgId: 'org_123', userId: 'user_789' },
hierarchy: { milestoneId: 'milestone_101' },
status: { status: ['To Do', 'In Progress'], completed: false },
time: {
createdAfter: '2025-01-01T00:00:00.000Z',
dueBefore: '2025-12-31T23:59:59.999Z'
},
custom: { type: 'todo', categoryId: 'cat_123' },
sort: { field: 'createdAt', direction: 'desc' },
pagination: { limit: 100, skip: 0 }
});
## buildSimpleQuery
Build a simple query with minimal configuration
Convenience function for common query patterns that don't require
complex filtering. Automatically handles base filters and pagination.
Use this for:
- Simple list queries (all tasks in org)
- Basic hierarchy queries (all tasks in project)
- Quick prototypes and testing
For complex queries with multiple filter types, use buildQuery() instead.
**Signature:**
```typescript
buildSimpleQuery(options: { collectionName: string; orgId: string; userId?: string; workspaceId?: string; projectId?: string; milestoneId?: string; trashed?: boolean; sortField?: string; sortDirection?: "asc" | "desc"; limit?: number; skip?: number; }): MangoQuery<T>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
options | { collectionName: string; orgId: string; userId?: string; workspaceId?: string; projectId?: string; milestoneId?: string; trashed?: boolean; sortField?: string; sortDirection?: "asc" | "desc"; limit?: number; skip?: number; } | Yes | - Simplified query options |
Returns:
MangoQuery<T> - Optimized MangoQuery
Examples:
All Tasks in Organization
```ts
const query = buildSimpleQuery({
collectionName: 'tasks',
orgId: 'org_123',
limit: 50
});
```typescript
Tasks in Project
```ts
const query = buildSimpleQuery({
collectionName: 'tasks',
orgId: 'org_123',
projectId: 'project_456',
limit: 100
});
```typescript
User-Scoped Tasks
```ts
const query = buildSimpleQuery({
collectionName: 'tasks',
orgId: 'org_123',
userId: 'user_789',
sortField: 'updatedAt',
sortDirection: 'desc'
});
## buildCountQuery
Build a count query for aggregation
Constructs a query optimized for counting documents without retrieving
full document data. Useful for pagination, statistics, and dashboards.
Count queries should:
- Use the same selector as the main query
- Omit limit/skip (count all matching docs)
- Not require sort (count doesn't care about order)
**Signature:**
```typescript
buildCountQuery(options: QueryBuilderOptions<T> & { collectionName: string; }): Pick<MangoQuery<T>, "selector">
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
options | QueryBuilderOptions<T> & { collectionName: string; } | Yes | - Query configuration (same as buildQuery) |
Returns:
Pick<MangoQuery<T>, "selector"> - MangoQuery optimized for counting
Examples:
Count Tasks in Project
```ts
const countQuery = buildCountQuery({
collectionName: 'tasks',
base: { orgId: 'org_123' },
hierarchy: { projectId: 'project_456' },
status: { completed: false }
});
// Use with RxDB
const count = await collection.count(countQuery.selector).exec();
## buildIdQuery
Build a query for fetching a single document by ID
Convenience function for primary key lookups. More efficient than
using findOne with a selector when you know the document ID.
Note: This returns a selector-only query. Use with collection.findOne()
instead of collection.find() for optimal performance.
**Signature:**
```typescript
buildIdQuery(id: string, orgId: string): Pick<MangoQuery<T>, "selector">
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | - Document ID |
orgId | string | Yes | - Organization ID (for validation) |
Returns:
Pick<MangoQuery<T>, "selector"> - MangoQuery selector for ID lookup
Examples:
Fetch Task by ID
```ts
const query = buildIdQuery('task_123', 'org_456');
// Use with RxDB
const doc = await collection.findOne(query.selector).exec();
## buildBatchIdQuery
Build a batch query for fetching multiple documents by IDs
Efficiently fetch multiple documents by their primary keys.
More performant than multiple individual queries.
**Signature:**
```typescript
buildBatchIdQuery(ids: string[], orgId: string, limit?: number | undefined): MangoQuery<T>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
ids | string[] | Yes | - Array of document IDs |
orgId | string | Yes | - Organization ID (for validation) |
limit | number | undefined | No | - Optional limit on results |
Returns:
MangoQuery<T> - MangoQuery for batch ID lookup
Examples:
Fetch Multiple Tasks
```ts
const query = buildBatchIdQuery(
['task_123', 'task_456', 'task_789'],
'org_abc'
);
// Use with RxDB
const docs = await collection.find(query).exec();
## buildSearchQuery
Build a search query with text matching
Constructs a query that searches across multiple text fields.
Uses regex matching for flexible text search.
Note: Regex queries may not use indexes efficiently. For large datasets,
consider using a dedicated search solution like ElasticSearch or Algolia.
**Signature:**
```typescript
buildSearchQuery(options: { collectionName: string; orgId: string; searchTerm: string; searchFields: string[]; projectId?: string; milestoneId?: string; caseSensitive?: boolean; limit?: number; }): MangoQuery<T>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
options | { collectionName: string; orgId: string; searchTerm: string; searchFields: string[]; projectId?: string; milestoneId?: string; caseSensitive?: boolean; limit?: number; } | Yes | - Search query configuration |
Returns:
MangoQuery<T> - MangoQuery with text search
Examples:
Search Tasks by Title and Description
```ts
const query = buildSearchQuery({
collectionName: 'tasks',
orgId: 'org_123',
searchTerm: 'authentication',
searchFields: ['title', 'description'],
projectId: 'project_456',
limit: 20
});
## useApproval
Hook to fetch a single approval by ID
Returns the approval object, loading state, and error
**Signature:**
```typescript
useApproval(db: any, approvalId?: string | undefined): UseApprovalResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
approvalId | string | undefined | No |
Returns:
UseApprovalResult -
useApprovals
Signature:
useApprovals(db: any, filters: ApprovalFilters, options?: UseApprovalsOptions | undefined): UseApprovalsResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
filters | ApprovalFilters | Yes | |
options | UseApprovalsOptions | undefined | No |
Returns:
UseApprovalsResult -
useCreateApproval
Signature:
useCreateApproval(db: any): UseMutationResult<ApprovalModel, CreateApprovalInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<ApprovalModel, CreateApprovalInput> -
useUpdateApproval
Signature:
useUpdateApproval(db: any): UseMutationResult<ApprovalModel, UpdateApprovalInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<ApprovalModel, UpdateApprovalInput> -
useDeleteApproval
Signature:
useDeleteApproval(db: any): UseMutationResult<void, string>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<void, string> -
useAttribute
Hook to fetch a single attribute by ID Returns the attribute object, loading state, and error
Signature:
useAttribute(db: any, attributeId?: string | undefined): UseAttributeResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
attributeId | string | undefined | No |
Returns:
UseAttributeResult -
useAttributes
Signature:
useAttributes(db: any, filters: AttributeFilters, options?: UseAttributesOptions | undefined): UseAttributesResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
filters | AttributeFilters | Yes | |
options | UseAttributesOptions | undefined | No |
Returns:
UseAttributesResult -
useCreateAttribute
Signature:
useCreateAttribute(db: any): UseMutationResult<AttributeModel, CreateAttributeInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<AttributeModel, CreateAttributeInput> -
useUpdateAttribute
Signature:
useUpdateAttribute(db: any): UseMutationResult<AttributeModel, UpdateAttributeInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<AttributeModel, UpdateAttributeInput> -
useDeleteAttribute
Signature:
useDeleteAttribute(db: any): UseMutationResult<void, string>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<void, string> -
useBusinessPlan
Signature:
useBusinessPlan(db: any, planId?: string | undefined): UseBusinessPlanResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
planId | string | undefined | No |
Returns:
UseBusinessPlanResult -
useBusinessPlans
Signature:
useBusinessPlans(db: any, filters: BusinessPlanFilters, options?: UseBusinessPlansOptions | undefined): UseBusinessPlansResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
filters | BusinessPlanFilters | Yes | |
options | UseBusinessPlansOptions | undefined | No |
Returns:
UseBusinessPlansResult -
useCreateBusinessPlan
Signature:
useCreateBusinessPlan(db: any): UseMutationResult<BusinessPlanModel, CreateBusinessPlanInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<BusinessPlanModel, CreateBusinessPlanInput> -
useUpdateBusinessPlan
Signature:
useUpdateBusinessPlan(db: any): UseMutationResult<BusinessPlanModel, UpdateBusinessPlanInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<BusinessPlanModel, UpdateBusinessPlanInput> -
useDeleteBusinessPlan
Signature:
useDeleteBusinessPlan(db: any): UseMutationResult<void, string>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<void, string> -
useClient
Hook to fetch a single client by ID Returns the client object, loading state, and error
Signature:
useClient(db: any, clientId?: string | undefined): UseClientResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
clientId | string | undefined | No |
Returns:
UseClientResult -
useClients
Signature:
useClients(db: any, filters: ClientFilters, options?: UseClientsOptions | undefined): UseClientsResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
filters | ClientFilters | Yes | |
options | UseClientsOptions | undefined | No |
Returns:
UseClientsResult -
useCreateClient
Signature:
useCreateClient(db: any): UseMutationResult<ClientModel, CreateClientInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<ClientModel, CreateClientInput> -
useUpdateClient
Signature:
useUpdateClient(db: any): UseMutationResult<ClientModel, UpdateClientInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<ClientModel, UpdateClientInput> -
useDeleteClient
Signature:
useDeleteClient(db: any): UseMutationResult<void, string>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<void, string> -
useCodebase
Hook to fetch a single codebase by ID Returns the codebase object, loading state, and error
Signature:
useCodebase(db: any, codebaseId?: string | undefined): UseCodebaseResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
codebaseId | string | undefined | No |
Returns:
UseCodebaseResult -
useCodebases
Signature:
useCodebases(db: any, filters: CodebaseFilters, options?: UseCodebasesOptions | undefined): UseCodebasesResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
filters | CodebaseFilters | Yes | |
options | UseCodebasesOptions | undefined | No |
Returns:
UseCodebasesResult -
useCreateCodebase
Signature:
useCreateCodebase(db: any): UseMutationResult<CodebaseModel, CreateCodebaseInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<CodebaseModel, CreateCodebaseInput> -
useUpdateCodebase
Signature:
useUpdateCodebase(db: any): UseMutationResult<CodebaseModel, UpdateCodebaseInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<CodebaseModel, UpdateCodebaseInput> -
useDeleteCodebase
Signature:
useDeleteCodebase(db: any): UseMutationResult<void, string>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<void, string> -
useCompetitor
Signature:
useCompetitor(db: any, competitorId?: string | undefined): UseCompetitorResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
competitorId | string | undefined | No |
Returns:
UseCompetitorResult -
useCompetitors
Signature:
useCompetitors(db: any, filters: CompetitorFilters, options?: UseCompetitorsOptions | undefined): UseCompetitorsResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
filters | CompetitorFilters | Yes | |
options | UseCompetitorsOptions | undefined | No |
Returns:
UseCompetitorsResult -
useCreateCompetitor
Signature:
useCreateCompetitor(db: any): UseMutationResult<CompetitorModel, CreateCompetitorInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<CompetitorModel, CreateCompetitorInput> -
useUpdateCompetitor
Signature:
useUpdateCompetitor(db: any): UseMutationResult<CompetitorModel, UpdateCompetitorInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<CompetitorModel, UpdateCompetitorInput> -
useDeleteCompetitor
Signature:
useDeleteCompetitor(db: any): UseMutationResult<void, string>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<void, string> -
useContact
Hook to fetch a single contact by ID Returns the contact object, loading state, and error
Signature:
useContact(db: any, contactId?: string | undefined): UseContactResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
contactId | string | undefined | No |
Returns:
UseContactResult -
useContacts
Signature:
useContacts(db: any, filters: ContactFilters, options?: UseContactsOptions | undefined): UseContactsResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
filters | ContactFilters | Yes | |
options | UseContactsOptions | undefined | No |
Returns:
UseContactsResult -
useCreateContact
Signature:
useCreateContact(db: any): UseMutationResult<ContactModel, CreateContactInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<ContactModel, CreateContactInput> -
useUpdateContact
Signature:
useUpdateContact(db: any): UseMutationResult<ContactModel, UpdateContactInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<ContactModel, UpdateContactInput> -
useDeleteContact
Signature:
useDeleteContact(db: any): UseMutationResult<void, string>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<void, string> -
useConversation
Hook to fetch a single conversation by ID Returns the conversation object, loading state, and error
Signature:
useConversation(db: any, conversationId?: string | undefined): UseConversationResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
conversationId | string | undefined | No |
Returns:
UseConversationResult -
useConversations
Signature:
useConversations(db: any, filters: ConversationFilters, options?: UseConversationsOptions | undefined): UseConversationsResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
filters | ConversationFilters | Yes | |
options | UseConversationsOptions | undefined | No |
Returns:
UseConversationsResult -
useCreateConversation
Signature:
useCreateConversation(db: any): UseMutationResult<ConversationModel, CreateConversationInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<ConversationModel, CreateConversationInput> -
useUpdateConversation
Signature:
useUpdateConversation(db: any): UseMutationResult<ConversationModel, UpdateConversationInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<ConversationModel, UpdateConversationInput> -
useDeleteConversation
Signature:
useDeleteConversation(db: any): UseMutationResult<void, string>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<void, string> -
useDiscussion
Hook to fetch a single discussion by ID Returns the discussion object, loading state, and error
Signature:
useDiscussion(db: any, discussionId?: string | undefined): UseDiscussionResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
discussionId | string | undefined | No |
Returns:
UseDiscussionResult -
useDiscussions
Signature:
useDiscussions(db: any, filters: DiscussionFilters, options?: UseDiscussionsOptions | undefined): UseDiscussionsResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
filters | DiscussionFilters | Yes | |
options | UseDiscussionsOptions | undefined | No |
Returns:
UseDiscussionsResult -
useCreateDiscussion
Signature:
useCreateDiscussion(db: any): UseMutationResult<DiscussionModel, CreateDiscussionInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<DiscussionModel, CreateDiscussionInput> -
useUpdateDiscussion
Signature:
useUpdateDiscussion(db: any): UseMutationResult<DiscussionModel, UpdateDiscussionInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<DiscussionModel, UpdateDiscussionInput> -
useDeleteDiscussion
Signature:
useDeleteDiscussion(db: any): UseMutationResult<void, string>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<void, string> -
useDocument
Hook to fetch a single document by ID Returns the document object, loading state, and error
Signature:
useDocument(db: any, documentId?: string | undefined): UseDocumentResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
documentId | string | undefined | No |
Returns:
UseDocumentResult -
useDocuments
Signature:
useDocuments(db: any, filters: DocumentFilters, options?: UseDocumentsOptions | undefined): UseDocumentsResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
filters | DocumentFilters | Yes | |
options | UseDocumentsOptions | undefined | No |
Returns:
UseDocumentsResult -
useCreateDocument
Signature:
useCreateDocument(db: any): UseMutationResult<DocumentModel, CreateDocumentInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<DocumentModel, CreateDocumentInput> -
useUpdateDocument
Signature:
useUpdateDocument(db: any): UseMutationResult<DocumentModel, UpdateDocumentInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<DocumentModel, UpdateDocumentInput> -
useDeleteDocument
Signature:
useDeleteDocument(db: any): UseMutationResult<void, string>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<void, string> -
useApproveDocument
Signature:
useApproveDocument(db: any): UseMutationResult<DocumentModel, { id: string; userId: string; }>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<DocumentModel, { id: string; userId: string; }> -
useFinAccount
Hook to fetch a single account by ID Returns the account object, loading state, and error
Signature:
useFinAccount(db: any, accountId?: string | undefined): UseFinAccountResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
accountId | string | undefined | No |
Returns:
UseFinAccountResult -
useFinAccounts
Signature:
useFinAccounts(db: any, filters: FinAccountFilters, options?: UseFinAccountsOptions | undefined): UseFinAccountsResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
filters | FinAccountFilters | Yes | |
options | UseFinAccountsOptions | undefined | No |
Returns:
UseFinAccountsResult -
useCreateFinAccount
Signature:
useCreateFinAccount(db: any): UseMutationResult<FinAccountModel, CreateFinAccountInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<FinAccountModel, CreateFinAccountInput> -
useUpdateFinAccount
Signature:
useUpdateFinAccount(db: any): UseMutationResult<FinAccountModel, UpdateFinAccountInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<FinAccountModel, UpdateFinAccountInput> -
useDeleteFinAccount
Signature:
useDeleteFinAccount(db: any): UseMutationResult<void, string>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<void, string> -
useFinBudget
Hook to fetch a single budget by ID Returns the budget object, loading state, and error
Signature:
useFinBudget(db: any, budgetId?: string | undefined): UseFinBudgetResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
budgetId | string | undefined | No |
Returns:
UseFinBudgetResult -
useFinBudgets
Signature:
useFinBudgets(db: any, filters: FinBudgetFilters, options?: UseFinBudgetsOptions | undefined): UseFinBudgetsResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
filters | FinBudgetFilters | Yes | |
options | UseFinBudgetsOptions | undefined | No |
Returns:
UseFinBudgetsResult -
useCreateFinBudget
Signature:
useCreateFinBudget(db: any): UseMutationResult<BudgetModel, CreateFinBudgetInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<BudgetModel, CreateFinBudgetInput> -
useUpdateFinBudget
Signature:
useUpdateFinBudget(db: any): UseMutationResult<BudgetModel, UpdateFinBudgetInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<BudgetModel, UpdateFinBudgetInput> -
useDeleteFinBudget
Signature:
useDeleteFinBudget(db: any): UseMutationResult<void, string>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<void, string> -
useFinCategory
Hook to fetch a single category by ID Returns the category object, loading state, and error
Signature:
useFinCategory(db: any, categoryId?: string | undefined): UseFinCategoryResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
categoryId | string | undefined | No |
Returns:
UseFinCategoryResult -
useFinCategories
Signature:
useFinCategories(db: any, filters: FinCategoryFilters, options?: UseFinCategoriesOptions | undefined): UseFinCategoriesResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
filters | FinCategoryFilters | Yes | |
options | UseFinCategoriesOptions | undefined | No |
Returns:
UseFinCategoriesResult -
useCreateFinCategory
Signature:
useCreateFinCategory(db: any): UseMutationResult<FinCategoryModel, CreateFinCategoryInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<FinCategoryModel, CreateFinCategoryInput> -
useUpdateFinCategory
Signature:
useUpdateFinCategory(db: any): UseMutationResult<FinCategoryModel, UpdateFinCategoryInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<FinCategoryModel, UpdateFinCategoryInput> -
useDeleteFinCategory
Signature:
useDeleteFinCategory(db: any): UseMutationResult<void, string>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<void, string> -
useFinIncomeStatement
Hook to fetch a single income statement by ID Returns the income statement object, loading state, and error
Signature:
useFinIncomeStatement(db: any, statementId?: string | undefined): UseFinIncomeStatementResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
statementId | string | undefined | No |
Returns:
UseFinIncomeStatementResult -
useFinIncomeStatements
Signature:
useFinIncomeStatements(db: any, filters: FinIncomeStatementFilters, options?: UseFinIncomeStatementsOptions | undefined): UseFinIncomeStatementsResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
filters | FinIncomeStatementFilters | Yes | |
options | UseFinIncomeStatementsOptions | undefined | No |
Returns:
UseFinIncomeStatementsResult -
useCreateFinIncomeStatement
Signature:
useCreateFinIncomeStatement(db: any): UseMutationResult<FinIncomeStatementModel, CreateFinIncomeStatementInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<FinIncomeStatementModel, CreateFinIncomeStatementInput> -
useUpdateFinIncomeStatement
Signature:
useUpdateFinIncomeStatement(db: any): UseMutationResult<FinIncomeStatementModel, UpdateFinIncomeStatementInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<FinIncomeStatementModel, UpdateFinIncomeStatementInput> -
useDeleteFinIncomeStatement
Signature:
useDeleteFinIncomeStatement(db: any): UseMutationResult<void, string>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<void, string> -
useFinScheduledTransaction
Hook to fetch a single scheduled transaction by ID Returns the transaction object, loading state, and error
Signature:
useFinScheduledTransaction(db: any, transactionId?: string | undefined): UseFinScheduledTransactionResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
transactionId | string | undefined | No |
Returns:
UseFinScheduledTransactionResult -
useFinScheduledTransactions
Signature:
useFinScheduledTransactions(db: any, filters: FinScheduledTransactionFilters, options?: UseFinScheduledTransactionsOptions | undefined): UseFinScheduledTransactionsResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
filters | FinScheduledTransactionFilters | Yes | |
options | UseFinScheduledTransactionsOptions | undefined | No |
Returns:
UseFinScheduledTransactionsResult -
useCreateFinScheduledTransaction
Signature:
useCreateFinScheduledTransaction(db: any): UseMutationResult<FinScheduledTransactionModel, CreateFinScheduledTransactionInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<FinScheduledTransactionModel, CreateFinScheduledTransactionInput> -
useUpdateFinScheduledTransaction
Signature:
useUpdateFinScheduledTransaction(db: any): UseMutationResult<FinScheduledTransactionModel, UpdateFinScheduledTransactionInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<FinScheduledTransactionModel, UpdateFinScheduledTransactionInput> -
useDeleteFinScheduledTransaction
Signature:
useDeleteFinScheduledTransaction(db: any): UseMutationResult<void, string>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<void, string> -
useFinTransaction
Hook to fetch a single transaction by ID Returns the transaction object, loading state, and error
Signature:
useFinTransaction(db: any, transactionId?: string | undefined): UseFinTransactionResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
transactionId | string | undefined | No |
Returns:
UseFinTransactionResult -
useFinTransactions
Signature:
useFinTransactions(db: any, filters: FinTransactionFilters, options?: UseFinTransactionsOptions | undefined): UseFinTransactionsResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
filters | FinTransactionFilters | Yes | |
options | UseFinTransactionsOptions | undefined | No |
Returns:
UseFinTransactionsResult -
useCreateFinTransaction
Signature:
useCreateFinTransaction(db: any): UseMutationResult<FinTransactionModel, CreateFinTransactionInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<FinTransactionModel, CreateFinTransactionInput> -
useUpdateFinTransaction
Signature:
useUpdateFinTransaction(db: any): UseMutationResult<FinTransactionModel, UpdateFinTransactionInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<FinTransactionModel, UpdateFinTransactionInput> -
useDeleteFinTransaction
Signature:
useDeleteFinTransaction(db: any): UseMutationResult<void, string>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<void, string> -
useFlow
Hook to fetch a single flow by ID Returns the flow object, loading state, and error
Signature:
useFlow(db: any, flowId?: string | undefined): UseFlowResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
flowId | string | undefined | No |
Returns:
UseFlowResult -
useFlows
Signature:
useFlows(db: any, filters: FlowFilters, options?: UseFlowsOptions | undefined): UseFlowsResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
filters | FlowFilters | Yes | |
options | UseFlowsOptions | undefined | No |
Returns:
UseFlowsResult -
useCreateFlow
Signature:
useCreateFlow(db: any): UseMutationResult<FlowModel, CreateFlowInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<FlowModel, CreateFlowInput> -
useUpdateFlow
Signature:
useUpdateFlow(db: any): UseMutationResult<FlowModel, UpdateFlowInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<FlowModel, UpdateFlowInput> -
useDeleteFlow
Signature:
useDeleteFlow(db: any): UseMutationResult<void, string>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<void, string> -
useGoal
Hook to fetch a single goal by ID Returns the goal object, loading state, and error
Signature:
useGoal(db: any, goalId?: string | undefined): UseGoalResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
goalId | string | undefined | No |
Returns:
UseGoalResult -
useGoals
Signature:
useGoals(db: any, filters: GoalFilters, options?: UseGoalsOptions | undefined): UseGoalsResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
filters | GoalFilters | Yes | |
options | UseGoalsOptions | undefined | No |
Returns:
UseGoalsResult -
useCreateGoal
Signature:
useCreateGoal(db: any): UseMutationResult<GoalModel, CreateGoalInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<GoalModel, CreateGoalInput> -
useUpdateGoal
Signature:
useUpdateGoal(db: any): UseMutationResult<GoalModel, UpdateGoalInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<GoalModel, UpdateGoalInput> -
useDeleteGoal
Signature:
useDeleteGoal(db: any): UseMutationResult<void, string>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<void, string> -
useInitiatives
Signature:
useInitiatives(db: any, filters: InitiativeFilters, options?: UseInitiativesOptions | undefined): UseInitiativesResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
filters | InitiativeFilters | Yes | |
options | UseInitiativesOptions | undefined | No |
Returns:
UseInitiativesResult -
useCreateInitiative
Signature:
useCreateInitiative(db: any): UseMutationResult<InitiativeModel, CreateInitiativeInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<InitiativeModel, CreateInitiativeInput> -
useUpdateInitiative
Signature:
useUpdateInitiative(db: any): UseMutationResult<InitiativeModel, UpdateInitiativeInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<InitiativeModel, UpdateInitiativeInput> -
useDeleteInitiative
Signature:
useDeleteInitiative(db: any): UseMutationResult<void, string>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<void, string> -
useMarketAnalysis
Signature:
useMarketAnalysis(db: any, analysisId?: string | undefined): UseMarketAnalysisResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
analysisId | string | undefined | No |
Returns:
UseMarketAnalysisResult -
useMarketAnalyses
Signature:
useMarketAnalyses(db: any, filters: MarketAnalysisFilters, options?: UseMarketAnalysesOptions | undefined): UseMarketAnalysesResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
filters | MarketAnalysisFilters | Yes | |
options | UseMarketAnalysesOptions | undefined | No |
Returns:
UseMarketAnalysesResult -
useCreateMarketAnalysis
Signature:
useCreateMarketAnalysis(db: any): UseMutationResult<MarketAnalysisModel, CreateMarketAnalysisInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<MarketAnalysisModel, CreateMarketAnalysisInput> -
useUpdateMarketAnalysis
Signature:
useUpdateMarketAnalysis(db: any): UseMutationResult<MarketAnalysisModel, UpdateMarketAnalysisInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<MarketAnalysisModel, UpdateMarketAnalysisInput> -
useDeleteMarketAnalysis
Signature:
useDeleteMarketAnalysis(db: any): UseMutationResult<void, string>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<void, string> -
useMessage
Hook to fetch a single message by ID Returns the message object, loading state, and error
Signature:
useMessage(db: any, messageId?: string | undefined): UseMessageResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
messageId | string | undefined | No |
Returns:
UseMessageResult -
useMessages
Signature:
useMessages(db: any, filters: MessageFilters, options?: UseMessagesOptions | undefined): UseMessagesResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
filters | MessageFilters | Yes | |
options | UseMessagesOptions | undefined | No |
Returns:
UseMessagesResult -
useCreateMessage
Signature:
useCreateMessage(db: any): UseMutationResult<MessageModel, CreateMessageInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<MessageModel, CreateMessageInput> -
useUpdateMessage
Signature:
useUpdateMessage(db: any): UseMutationResult<MessageModel, UpdateMessageInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<MessageModel, UpdateMessageInput> -
useDeleteMessage
Signature:
useDeleteMessage(db: any): UseMutationResult<void, string>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<void, string> -
useMilestone
Hook to fetch a single milestone by ID Returns the milestone object, loading state, and error
Signature:
useMilestone(db: any, milestoneId?: string | undefined): UseMilestoneResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
milestoneId | string | undefined | No |
Returns:
UseMilestoneResult -
useMilestones
React hook for querying milestones
Creates a MilestoneOperator query and subscribes to results. Automatically updates when milestones change in the database.
Signature:
useMilestones(db: any, filters: MilestoneFilters, options?: UseMilestonesOptions | undefined): UseMilestonesResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | - RxDatabase instance from useDatabase() |
filters | MilestoneFilters | Yes | - Milestone filters to apply |
options | UseMilestonesOptions | undefined | No | - Optional query options |
Returns:
UseMilestonesResult - UseMilestonesResult with milestones, isLoading, and error
Examples:
function MilestoneList() {
const { db } = useDatabase();
const { milestones, isLoading, error } = useMilestones(db, {
orgId: 'org_123',
projectId: 'project_456',
completed: false
}, {
sort: 'createdAt',
limit: 50
});
if (isLoading) return <div>Loading milestones...</div>;
if (error) return <div>Error: {error.message}</div>;
return (
<ul>
{milestones.map(milestone => (
<li key={milestone.id}>
{milestone.title} - {milestone.completed ? 'Complete' : 'In Progress'}
</li>
))}
</ul>
);
}
useCreateMilestone
React hook for creating milestones
Signature:
useCreateMilestone(db: any): UseMutationResult<MilestoneModel, CreateMilestoneInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | - RxDatabase instance from useDatabase() |
Returns:
UseMutationResult<MilestoneModel, CreateMilestoneInput> - UseMutationResult with mutate, mutateAsync, and state
Examples:
function CreateMilestoneForm({ orgId, projectId, goalId }: { orgId: string; projectId: string; goalId: string }) {
const { db } = useDatabase();
const userId = 'user_123';
const { mutate, isLoading, error, data } = useCreateMilestone(db);
const handleSubmit = (e) => {
e.preventDefault();
mutate({
name: 'milestone-1',
title: 'Milestone 1',
description: 'First milestone',
orgId,
userId,
projectId,
goalId
});
};
return <form onSubmit={handleSubmit}>...</form>;
}
useUpdateMilestone
React hook for updating milestones
Signature:
useUpdateMilestone(db: any): UseMutationResult<MilestoneModel, UpdateMilestoneInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | - RxDatabase instance from useDatabase() |
Returns:
UseMutationResult<MilestoneModel, UpdateMilestoneInput> - UseMutationResult with mutate, mutateAsync, and state
Examples:
function EditMilestoneForm({ milestoneId }: { milestoneId: string }) {
const { db } = useDatabase();
const { mutate, isLoading, error } = useUpdateMilestone(db);
const handleSubmit = (e) => {
e.preventDefault();
mutate({
id: milestoneId,
updates: {
title: 'Updated Title',
completed: true
}
});
};
return <form onSubmit={handleSubmit}>...</form>;
}
useDeleteMilestone
React hook for deleting milestones (soft delete)
Signature:
useDeleteMilestone(db: any): UseMutationResult<void, string>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | - RxDatabase instance from useDatabase() |
Returns:
UseMutationResult<void, string> - UseMutationResult with mutate, mutateAsync, and state
Examples:
function DeleteMilestoneButton({ milestoneId }: { milestoneId: string }) {
const { db } = useDatabase();
const { mutate, isLoading } = useDeleteMilestone(db);
const handleDelete = () => {
if (confirm('Delete this milestone?')) {
mutate(milestoneId);
}
};
return (
<button onClick={handleDelete} disabled={isLoading}>
{isLoading ? 'Deleting...' : 'Delete'}
</button>
);
}
useMutation
React hook for framework-agnostic MutationOperator
Subscribes to a MutationOperator's state and provides mutation functions. Handles null operators gracefully and cleans up subscriptions on unmount.
Signature:
useMutation(mutationOperator: MutationOperator<TData, TVariables> | null): UseMutationResult<TData, TVariables>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
mutationOperator | MutationOperator<TData, TVariables> | null | Yes | - MutationOperator instance or null |
Returns:
UseMutationResult<TData, TVariables> - UseMutationResult with mutate functions and state
Examples:
function CreateTaskForm() {
const db = useDatabase();
const mutationOperator = useMemo(() => {
if (!db) return null;
const taskOps = new TaskOperator(db);
return taskOps.createMutation();
}, [db]);
const { mutate, isLoading, error, data } = useMutation(mutationOperator);
const handleSubmit = (e) => {
e.preventDefault();
mutate({
title: 'New Task',
description: 'Task description',
orgId: 'org_123',
userId: 'user_456',
projectId: 'proj_789',
milestoneId: 'mile_101'
});
};
if (isLoading) return <div>Creating task...</div>;
if (error) return <div>Error: {error.message}</div>;
if (data) return <div>Task created: {data.id}</div>;
return <form onSubmit={handleSubmit}>...</form>;
}
useOpportunity
Hook to fetch a single opportunity by ID Returns the opportunity object, loading state, and error
Signature:
useOpportunity(db: any, opportunityId?: string | undefined): UseOpportunityResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
opportunityId | string | undefined | No |
Returns:
UseOpportunityResult -
useOpportunities
Signature:
useOpportunities(db: any, filters: OpportunityFilters, options?: UseOpportunitiesOptions | undefined): UseOpportunitiesResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
filters | OpportunityFilters | Yes | |
options | UseOpportunitiesOptions | undefined | No |
Returns:
UseOpportunitiesResult -
useCreateOpportunity
Signature:
useCreateOpportunity(db: any): UseMutationResult<OpportunityModel, CreateOpportunityInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<OpportunityModel, CreateOpportunityInput> -
useUpdateOpportunity
Signature:
useUpdateOpportunity(db: any): UseMutationResult<OpportunityModel, UpdateOpportunityInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<OpportunityModel, UpdateOpportunityInput> -
useDeleteOpportunity
Signature:
useDeleteOpportunity(db: any): UseMutationResult<void, string>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<void, string> -
useOrg
Hook to fetch a single org by ID Returns the org object, loading state, and error
Signature:
useOrg(db: any, orgId?: string | undefined): UseOrgResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
orgId | string | undefined | No |
Returns:
UseOrgResult -
useOrgs
React hook for querying orgs
Creates an OrgOperator query and subscribes to results. Automatically updates when orgs change in the database.
Signature:
useOrgs(db: any, filters: OrgFilters, options?: UseOrgsOptions | undefined): UseOrgsResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | - RxDatabase instance from useDatabase() |
filters | OrgFilters | Yes | - Org filters to apply |
options | UseOrgsOptions | undefined | No | - Optional query options |
Returns:
UseOrgsResult - UseOrgsResult with orgs, isLoading, and error
Examples:
function OrgList() {
const { db } = useDatabase();
const { orgs, isLoading, error } = useOrgs(db, {
orgId: 'org_123',
userId: 'user_456'
}, {
sort: 'createdAt',
limit: 50
});
if (isLoading) return <div>Loading orgs...</div>;
if (error) return <div>Error: {error.message}</div>;
return (
<ul>
{orgs.map(org => (
<li key={org.id}>
{org.name} - {org.description}
</li>
))}
</ul>
);
}
useCreateOrg
React hook for creating organizations
Signature:
useCreateOrg(db: any): UseMutationResult<OrgModel, CreateOrgInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | - RxDatabase instance from useDatabase() |
Returns:
UseMutationResult<OrgModel, CreateOrgInput> - UseMutationResult with mutate, mutateAsync, and state
Examples:
function CreateOrgForm() {
const { db } = useDatabase();
const { mutate, isLoading, error, data } = useCreateOrg(db);
const handleSubmit = (e) => {
e.preventDefault();
mutate({
name: 'My Organization',
description: 'Organization description',
userId: 'user_123'
});
};
if (isLoading) return <div>Creating...</div>;
if (error) return <div>Error: {error.message}</div>;
if (data) return <div>Created: {data.name}</div>;
return <form onSubmit={handleSubmit}>...</form>;
}
useUpdateOrg
React hook for updating organizations
Signature:
useUpdateOrg(db: any): UseMutationResult<OrgModel, UpdateOrgInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | - RxDatabase instance from useDatabase() |
Returns:
UseMutationResult<OrgModel, UpdateOrgInput> - UseMutationResult with mutate, mutateAsync, and state
Examples:
function EditOrgForm({ orgId }: { orgId: string }) {
const { db } = useDatabase();
const { mutate, isLoading, error } = useUpdateOrg(db);
const handleSubmit = (e) => {
e.preventDefault();
mutate({
id: orgId,
updates: {
name: 'Updated Name',
description: 'Updated description'
}
});
};
return <form onSubmit={handleSubmit}>...</form>;
}
useDeleteOrg
React hook for deleting organizations (soft delete)
Signature:
useDeleteOrg(db: any): UseMutationResult<void, string>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | - RxDatabase instance from useDatabase() |
Returns:
UseMutationResult<void, string> - UseMutationResult with mutate, mutateAsync, and state
Examples:
function DeleteOrgButton({ orgId }: { orgId: string }) {
const { db } = useDatabase();
const { mutate, isLoading } = useDeleteOrg(db);
const handleDelete = () => {
if (confirm('Delete this org?')) {
mutate(orgId);
}
};
return (
<button onClick={handleDelete} disabled={isLoading}>
{isLoading ? 'Deleting...' : 'Delete'}
</button>
);
}
useProducts
Signature:
useProducts(db: any, filters: ProductFilters, options?: UseProductsOptions | undefined): UseProductsResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
filters | ProductFilters | Yes | |
options | UseProductsOptions | undefined | No |
Returns:
UseProductsResult -
useCreateProduct
Signature:
useCreateProduct(db: any): UseMutationResult<ProductModel, CreateProductInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<ProductModel, CreateProductInput> -
useUpdateProduct
Signature:
useUpdateProduct(db: any): UseMutationResult<ProductModel, UpdateProductInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<ProductModel, UpdateProductInput> -
useDeleteProduct
Signature:
useDeleteProduct(db: any): UseMutationResult<void, string>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<void, string> -
useProject
Hook to fetch a single project by ID Returns the project object, loading state, and error
Signature:
useProject(db: any, projectId?: string | undefined): UseProjectResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
projectId | string | undefined | No |
Returns:
UseProjectResult -
useProjects
React hook for querying projects
Creates a ProjectOperator query and subscribes to results. Automatically updates when projects change in the database.
Signature:
useProjects(db: any, filters: ProjectFilters, options?: UseProjectsOptions | undefined): UseProjectsResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | - RxDatabase instance from useDatabase() |
filters | ProjectFilters | Yes | - Project filters to apply |
options | UseProjectsOptions | undefined | No | - Optional query options |
Returns:
UseProjectsResult - UseProjectsResult with projects, isLoading, and error
Examples:
function ProjectList() {
const { db } = useDatabase();
const { projects, isLoading, error } = useProjects(db, {
orgId: 'org_123',
goalId: 'goal_456',
}, {
sort: 'createdAt',
limit: 50
});
if (isLoading) return <div>Loading projects...</div>;
if (error) return <div>Error: {error.message}</div>;
return (
<ul>
{projects.map(project => (
<li key={project.id}>
{project.title}
</li>
))}
</ul>
);
}
useCreateProject
React hook for creating projects
Signature:
useCreateProject(db: any): UseMutationResult<ProjectModel, CreateProjectInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | - RxDatabase instance from useDatabase() |
Returns:
UseMutationResult<ProjectModel, CreateProjectInput> - UseMutationResult with mutate, mutateAsync, and state
Examples:
function CreateProjectForm({ orgId, goalId }: { orgId: string; goalId: string }) {
const { db } = useDatabase();
const userId = 'user_123';
const { mutate, isLoading, error, data } = useCreateProject(db);
const handleSubmit = (e) => {
e.preventDefault();
mutate({
name: 'my-project',
title: 'My Project',
description: 'Project description',
orgId,
userId,
goalId
});
};
if (isLoading) return <div>Creating...</div>;
if (error) return <div>Error: {error.message}</div>;
if (data) return <div>Created: {data.title}</div>;
return <form onSubmit={handleSubmit}>...</form>;
}
useUpdateProject
React hook for updating projects
Signature:
useUpdateProject(db: any): UseMutationResult<ProjectModel, UpdateProjectInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | - RxDatabase instance from useDatabase() |
Returns:
UseMutationResult<ProjectModel, UpdateProjectInput> - UseMutationResult with mutate, mutateAsync, and state
Examples:
function EditProjectForm({ projectId }: { projectId: string }) {
const { db } = useDatabase();
const { mutate, isLoading, error } = useUpdateProject(db);
const handleSubmit = (e) => {
e.preventDefault();
mutate({
id: projectId,
updates: {
title: 'Updated Title',
description: 'Updated description'
}
});
};
return <form onSubmit={handleSubmit}>...</form>;
}
useDeleteProject
React hook for deleting projects (soft delete)
Signature:
useDeleteProject(db: any): UseMutationResult<void, string>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | - RxDatabase instance from useDatabase() |
Returns:
UseMutationResult<void, string> - UseMutationResult with mutate, mutateAsync, and state
Examples:
function DeleteProjectButton({ projectId }: { projectId: string }) {
const { db } = useDatabase();
const { mutate, isLoading } = useDeleteProject(db);
const handleDelete = () => {
if (confirm('Delete this project?')) {
mutate(projectId);
}
};
return (
<button onClick={handleDelete} disabled={isLoading}>
{isLoading ? 'Deleting...' : 'Delete'}
</button>
);
}
useQuery
React hook for framework-agnostic QueryOperator
Subscribes to a QueryOperator's observable and manages state with React hooks. Handles null operators gracefully and cleans up subscriptions on unmount.
Signature:
useQuery(queryOperator: QueryOperator<T> | null): QueryResult<T>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
queryOperator | QueryOperator<T> | null | Yes | - QueryOperator instance or null |
Returns:
QueryResult<T> - QueryResult with data, isLoading, and error
Examples:
function TaskList() {
const db = useDatabase();
const queryOperator = useMemo(() => {
if (!db) return null;
const taskOps = new TaskOperator(db);
return taskOps.query({ orgId: 'org_123', status: 'In Progress' });
}, [db]);
const result = useQuery(queryOperator);
if (result.isLoading) return <div>Loading...</div>;
if (result.error) return <div>Error: {result.error.message}</div>;
return (
<ul>
{result.data.map(task => (
<li key={task.id}>{task.title}</li>
))}
</ul>
);
}
useRoadmap
Signature:
useRoadmap(db: any, roadmapId?: string | undefined): UseRoadmapResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
roadmapId | string | undefined | No |
Returns:
UseRoadmapResult -
useRoadmaps
Signature:
useRoadmaps(db: any, filters: RoadmapFilters, options?: UseRoadmapsOptions | undefined): UseRoadmapsResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
filters | RoadmapFilters | Yes | |
options | UseRoadmapsOptions | undefined | No |
Returns:
UseRoadmapsResult -
useCreateRoadmap
Signature:
useCreateRoadmap(db: any): UseMutationResult<RoadmapModel, CreateRoadmapInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<RoadmapModel, CreateRoadmapInput> -
useUpdateRoadmap
Signature:
useUpdateRoadmap(db: any): UseMutationResult<RoadmapModel, UpdateRoadmapInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<RoadmapModel, UpdateRoadmapInput> -
useDeleteRoadmap
Signature:
useDeleteRoadmap(db: any): UseMutationResult<void, string>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<void, string> -
useSession
Hook to fetch a single session by ID Returns the session object, loading state, and error
Signature:
useSession(db: any, sessionId?: string | undefined): UseSessionResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
sessionId | string | undefined | No |
Returns:
UseSessionResult -
useSessions
Signature:
useSessions(db: any, filters: SessionFilters, options?: UseSessionsOptions | undefined): UseSessionsResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
filters | SessionFilters | Yes | |
options | UseSessionsOptions | undefined | No |
Returns:
UseSessionsResult -
useCreateSession
Signature:
useCreateSession(db: any): UseMutationResult<SessionModel, CreateSessionInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<SessionModel, CreateSessionInput> -
useUpdateSession
Signature:
useUpdateSession(db: any): UseMutationResult<SessionModel, UpdateSessionInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<SessionModel, UpdateSessionInput> -
useDeleteSession
Signature:
useDeleteSession(db: any): UseMutationResult<void, string>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<void, string> -
useTask
Hook to fetch a single task by ID Returns the task object, loading state, and error
Signature:
useTask(db: any, taskId?: string | undefined): UseTaskResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
taskId | string | undefined | No |
Returns:
UseTaskResult -
useTasks
React hook for querying tasks
Creates a TaskOperator query and subscribes to results. Automatically updates when tasks change in the database.
Signature:
useTasks(db: any, filters: TaskFilters, options?: UseTasksOptions | undefined): UseTasksResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | - RxDatabase instance from useDatabase() |
filters | TaskFilters | Yes | - Task filters to apply |
options | UseTasksOptions | undefined | No | - Optional query options |
Returns:
UseTasksResult - UseTasksResult with tasks, isLoading, and error
Examples:
function TaskList() {
const { db } = useDatabase();
const { tasks, isLoading, error } = useTasks(db, {
orgId: 'org_123',
projectId: 'project_456',
status: 'In Progress'
}, {
sort: 'dueAt',
limit: 50
});
if (isLoading) return <div>Loading tasks...</div>;
if (error) return <div>Error: {error.message}</div>;
return (
<ul>
{tasks.map(task => (
<li key={task.id}>
{task.title} - {task.status}
</li>
))}
</ul>
);
}
useCreateTask
React hook for creating tasks
Provides a mutation function for creating new tasks.
Signature:
useCreateTask(db: any): UseMutationResult<TaskModel, CreateTaskInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | - RxDatabase instance from useDatabase() |
Returns:
UseMutationResult<TaskModel, CreateTaskInput> - UseMutationResult for task creation
Examples:
function CreateTaskForm() {
const { db } = useDatabase();
const { mutate, mutateAsync, isLoading, error, data } = useCreateTask(db);
const handleSubmit = async (e) => {
e.preventDefault();
try {
const task = await mutateAsync({
title: 'New Task',
description: 'Task description',
orgId: 'org_123',
userId: 'user_456',
projectId: 'proj_789',
milestoneId: 'mile_101'
});
console.log('Created task:', task.id);
} catch (err) {
console.error('Failed to create task:', err);
}
};
return (
<form onSubmit={handleSubmit}>
{isLoading && <div>Creating...</div>}
{error && <div>Error: {error.message}</div>}
{data && <div>Created task: {data.id}</div>}
<button type="submit" disabled={isLoading}>
Create Task
</button>
</form>
);
}
useUpdateTask
React hook for updating tasks
Provides a mutation function for updating existing tasks.
Signature:
useUpdateTask(db: any): UseMutationResult<TaskModel, UpdateTaskInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | - RxDatabase instance from useDatabase() |
Returns:
UseMutationResult<TaskModel, UpdateTaskInput> - UseMutationResult for task updates
Examples:
function TaskItem({ task }) {
const { db } = useDatabase();
const { mutate, isLoading } = useUpdateTask(db);
const handleStatusChange = (status) => {
mutate({
id: task.id,
updates: { status }
});
};
return (
<div>
<h3>{task.title}</h3>
<select
value={task.status}
onChange={(e) => handleStatusChange(e.target.value)}
disabled={isLoading}
>
<option value="To Do">To Do</option>
<option value="In Progress">In Progress</option>
<option value="Complete">Complete</option>
</select>
</div>
);
}
useDeleteTask
React hook for deleting tasks (soft delete)
Provides a mutation function for archiving tasks.
Signature:
useDeleteTask(db: any): UseMutationResult<void, string>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | - RxDatabase instance from useDatabase() |
Returns:
UseMutationResult<void, string> - UseMutationResult for task deletion
Examples:
function TaskItem({ task }) {
const { db } = useDatabase();
const { mutate, isLoading } = useDeleteTask(db);
const handleDelete = () => {
if (confirm('Delete this task?')) {
mutate(task.id);
}
};
return (
<div>
<h3>{task.title}</h3>
<button onClick={handleDelete} disabled={isLoading}>
{isLoading ? 'Deleting...' : 'Delete'}
</button>
</div>
);
}
useCompleteTask
React hook for completing tasks
Provides a mutation function for marking tasks as complete.
Signature:
useCompleteTask(db: any): UseMutationResult<TaskModel, string>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | - RxDatabase instance from useDatabase() |
Returns:
UseMutationResult<TaskModel, string> - UseMutationResult for task completion
Examples:
function TaskItem({ task }) {
const { db } = useDatabase();
const { mutate, isLoading } = useCompleteTask(db);
const handleComplete = () => {
mutate(task.id);
};
return (
<div>
<h3>{task.title}</h3>
<input
type="checkbox"
checked={task.completed}
onChange={handleComplete}
disabled={isLoading}
/>
<label>Complete</label>
</div>
);
}
useTemplate
Hook to fetch a single template by ID Returns the template object, loading state, and error
Signature:
useTemplate(db: any, templateId?: string | undefined): UseTemplateResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
templateId | string | undefined | No |
Returns:
UseTemplateResult -
useTemplates
Signature:
useTemplates(db: any, filters: TemplateFilters, options?: UseTemplatesOptions | undefined): UseTemplatesResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
filters | TemplateFilters | Yes | |
options | UseTemplatesOptions | undefined | No |
Returns:
UseTemplatesResult -
useCreateTemplate
Signature:
useCreateTemplate(db: any): UseMutationResult<TemplateModel, CreateTemplateInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<TemplateModel, CreateTemplateInput> -
useUpdateTemplate
Signature:
useUpdateTemplate(db: any): UseMutationResult<TemplateModel, UpdateTemplateInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<TemplateModel, UpdateTemplateInput> -
useDeleteTemplate
Signature:
useDeleteTemplate(db: any): UseMutationResult<void, string>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<void, string> -
useTimeEntry
Hook to fetch a single time entry by ID Returns the entry object, loading state, and error
Signature:
useTimeEntry(db: any, entryId?: string | undefined): UseTimeEntryResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
entryId | string | undefined | No |
Returns:
UseTimeEntryResult -
useTimeEntries
React hook for querying time entries
Creates a TimeEntryOperator query and subscribes to results. Automatically updates when time entries change in the database.
Signature:
useTimeEntries(db: any, filters: TimeEntryFilters, options?: UseTimeEntriesOptions | undefined): UseTimeEntriesResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | - RxDatabase instance from useDatabase() |
filters | TimeEntryFilters | Yes | - Time entry filters to apply |
options | UseTimeEntriesOptions | undefined | No | - Optional query options |
Returns:
UseTimeEntriesResult - UseTimeEntriesResult with timeEntries, isLoading, and error
Examples:
function TimeEntryList() {
const { db } = useDatabase();
const { timeEntries, isLoading, error } = useTimeEntries(db, {
orgId: 'org_123',
taskId: 'task_456',
userId: 'user_789'
}, {
sort: 'start',
limit: 50
});
if (isLoading) return <div>Loading time entries...</div>;
if (error) return <div>Error: {error.message}</div>;
return (
<ul>
{timeEntries.map(entry => (
<li key={entry.id}>
{entry.name} - {entry.duration}s
</li>
))}
</ul>
);
}
useCreateTimeEntry
React hook for creating time entries
Signature:
useCreateTimeEntry(db: any): UseMutationResult<TimeEntryModel, CreateTimeEntryInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | - RxDatabase instance from useDatabase() |
Returns:
UseMutationResult<TimeEntryModel, CreateTimeEntryInput> - UseMutationResult with mutate, mutateAsync, and state
Examples:
function CreateTimeEntryForm({ orgId, taskId }: { orgId: string; taskId: string }) {
const { db } = useDatabase();
const userId = 'user_123';
const { mutate, isLoading, error, data } = useCreateTimeEntry(db);
const handleSubmit = (e) => {
e.preventDefault();
const now = new Date().toISOString();
mutate({
name: 'Work Session',
start: now,
end: new Date(Date.now() + 3600000).toISOString(),
orgId,
userId,
taskId
});
};
return <form onSubmit={handleSubmit}>...</form>;
}
useUpdateTimeEntry
React hook for updating time entries
Signature:
useUpdateTimeEntry(db: any): UseMutationResult<TimeEntryModel, UpdateTimeEntryInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | - RxDatabase instance from useDatabase() |
Returns:
UseMutationResult<TimeEntryModel, UpdateTimeEntryInput> - UseMutationResult with mutate, mutateAsync, and state
Examples:
function EditTimeEntryForm({ timeEntryId }: { timeEntryId: string }) {
const { db } = useDatabase();
const { mutate, isLoading, error } = useUpdateTimeEntry(db);
const handleSubmit = (e) => {
e.preventDefault();
mutate({
id: timeEntryId,
updates: {
name: 'Updated Work Session',
end: new Date().toISOString()
}
});
};
return <form onSubmit={handleSubmit}>...</form>;
}
useDeleteTimeEntry
React hook for deleting time entries (soft delete)
Signature:
useDeleteTimeEntry(db: any): UseMutationResult<void, string>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | - RxDatabase instance from useDatabase() |
Returns:
UseMutationResult<void, string> - UseMutationResult with mutate, mutateAsync, and state
Examples:
function DeleteTimeEntryButton({ timeEntryId }: { timeEntryId: string }) {
const { db } = useDatabase();
const { mutate, isLoading } = useDeleteTimeEntry(db);
const handleDelete = () => {
if (confirm('Delete this time entry?')) {
mutate(timeEntryId);
}
};
return (
<button onClick={handleDelete} disabled={isLoading}>
{isLoading ? 'Deleting...' : 'Delete'}
</button>
);
}
useUser
Hook to fetch a single user by ID Returns the user object, loading state, and error
Signature:
useUser(db: any, userId?: string | undefined): UseUserResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
userId | string | undefined | No |
Returns:
UseUserResult -
useUsers
Signature:
useUsers(db: any, filters: UserFilters, options?: UseUsersOptions | undefined): UseUsersResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
filters | UserFilters | Yes | |
options | UseUsersOptions | undefined | No |
Returns:
UseUsersResult -
useCreateUser
Signature:
useCreateUser(db: any): UseMutationResult<UserModel, CreateUserInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<UserModel, CreateUserInput> -
useUpdateUser
Signature:
useUpdateUser(db: any): UseMutationResult<UserModel, UpdateUserInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<UserModel, UpdateUserInput> -
useDeleteUser
Signature:
useDeleteUser(db: any): UseMutationResult<void, string>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<void, string> -
useVariable
Hook to fetch a single variable by ID Returns the variable object, loading state, and error
Signature:
useVariable(db: any, variableId?: string | undefined): UseVariableResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
variableId | string | undefined | No |
Returns:
UseVariableResult -
useVariables
Signature:
useVariables(db: any, filters: VariablesFilters, options?: UseVariablesOptions | undefined): UseVariablesResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
filters | VariablesFilters | Yes | |
options | UseVariablesOptions | undefined | No |
Returns:
UseVariablesResult -
useCreateVariables
Signature:
useCreateVariables(db: any): UseMutationResult<VariablesModel, CreateVariablesInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<VariablesModel, CreateVariablesInput> -
useUpdateVariables
Signature:
useUpdateVariables(db: any): UseMutationResult<VariablesModel, UpdateVariablesInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<VariablesModel, UpdateVariablesInput> -
useDeleteVariables
Signature:
useDeleteVariables(db: any): UseMutationResult<void, string>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes |
Returns:
UseMutationResult<void, string> -
useWorkspace
Hook to fetch a single workspace by ID Returns the workspace object, loading state, and error
Signature:
useWorkspace(db: any, workspaceId?: string | undefined): UseWorkspaceResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | |
workspaceId | string | undefined | No |
Returns:
UseWorkspaceResult -
useWorkspaces
React hook for querying workspaces
Creates a WorkspaceOperator query and subscribes to results. Automatically updates when workspaces change in the database.
Signature:
useWorkspaces(db: any, filters: WorkspaceFilters, options?: UseWorkspacesOptions | undefined): UseWorkspacesResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | - RxDatabase instance from useDatabase() |
filters | WorkspaceFilters | Yes | - Workspace filters to apply |
options | UseWorkspacesOptions | undefined | No | - Optional query options |
Returns:
UseWorkspacesResult - UseWorkspacesResult with workspaces, isLoading, and error
Examples:
function WorkspaceList() {
const { db } = useDatabase();
const { workspaces, isLoading, error } = useWorkspaces(db, {
orgId: 'org_123',
status: 'active'
}, {
sort: 'createdAt',
limit: 50
});
if (isLoading) return <div>Loading workspaces...</div>;
if (error) return <div>Error: {error.message}</div>;
return (
<ul>
{workspaces.map(workspace => (
<li key={workspace.id}>
{workspace.title} - {workspace.status}
</li>
))}
</ul>
);
}
useCreateWorkspace
React hook for creating workspaces
Signature:
useCreateWorkspace(db: any): UseMutationResult<WorkspaceModel, CreateWorkspaceInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | - RxDatabase instance from useDatabase() |
Returns:
UseMutationResult<WorkspaceModel, CreateWorkspaceInput> - UseMutationResult with mutate, mutateAsync, and state
Examples:
function CreateWorkspaceForm({ orgId }: { orgId: string }) {
const { db } = useDatabase();
const userId = 'user_123';
const { mutate, isLoading, error, data } = useCreateWorkspace(db);
const handleSubmit = (e) => {
e.preventDefault();
mutate({
name: 'my-workspace',
title: 'My Workspace',
description: 'Workspace description',
orgId,
userId
});
};
if (isLoading) return <div>Creating...</div>;
if (error) return <div>Error: {error.message}</div>;
if (data) return <div>Created: {data.title}</div>;
return <form onSubmit={handleSubmit}>...</form>;
}
useUpdateWorkspace
React hook for updating workspaces
Signature:
useUpdateWorkspace(db: any): UseMutationResult<WorkspaceModel, UpdateWorkspaceInput>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | - RxDatabase instance from useDatabase() |
Returns:
UseMutationResult<WorkspaceModel, UpdateWorkspaceInput> - UseMutationResult with mutate, mutateAsync, and state
Examples:
function EditWorkspaceForm({ workspaceId }: { workspaceId: string }) {
const { db } = useDatabase();
const { mutate, isLoading, error } = useUpdateWorkspace(db);
const handleSubmit = (e) => {
e.preventDefault();
mutate({
id: workspaceId,
updates: {
title: 'Updated Title',
description: 'Updated description'
}
});
};
return <form onSubmit={handleSubmit}>...</form>;
}
useDeleteWorkspace
React hook for deleting workspaces (soft delete)
Signature:
useDeleteWorkspace(db: any): UseMutationResult<void, string>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
db | any | Yes | - RxDatabase instance from useDatabase() |
Returns:
UseMutationResult<void, string> - UseMutationResult with mutate, mutateAsync, and state
Examples:
function DeleteWorkspaceButton({ workspaceId }: { workspaceId: string }) {
const { db } = useDatabase();
const { mutate, isLoading } = useDeleteWorkspace(db);
const handleDelete = () => {
if (confirm('Delete this workspace?')) {
mutate(workspaceId);
}
};
return (
<button onClick={handleDelete} disabled={isLoading}>
{isLoading ? 'Deleting...' : 'Delete'}
</button>
);
}