Skip to content

ChainGraph API Documentation / @badaitech/chaingraph-trpc / server / DBFlowStore

Class: DBFlowStore ​

Defined in: packages/chaingraph-trpc/server/stores/flowStore/dbFlowStore.ts:26

In-memory implementation of flow storage

Implements ​

Constructors ​

Constructor ​

new DBFlowStore(db, cacheEnabled, nodeRegistry): DBFlowStore

Defined in: packages/chaingraph-trpc/server/stores/flowStore/dbFlowStore.ts:36

Parameters ​

db ​

NodePgDatabase<Record<string, unknown>> & object

cacheEnabled ​

boolean = true

nodeRegistry ​

NodeRegistry = ...

Returns ​

DBFlowStore

Methods ​

createFlow() ​

createFlow(metadata): Promise<Flow>

Defined in: packages/chaingraph-trpc/server/stores/flowStore/dbFlowStore.ts:49

Creates a new flow with given metadata

Parameters ​

metadata ​

FlowMetadata

Flow metadata

Returns ​

Promise<Flow>

Created flow ID

Implementation of ​

IFlowStore.createFlow


deleteFlow() ​

deleteFlow(flowId): Promise<boolean>

Defined in: packages/chaingraph-trpc/server/stores/flowStore/dbFlowStore.ts:133

Deletes flow

Parameters ​

flowId ​

string

Flow identifier

Returns ​

Promise<boolean>

true if flow was deleted, false if not found

Implementation of ​

IFlowStore.deleteFlow


getFlow() ​

getFlow(flowId): Promise<Flow | null>

Defined in: packages/chaingraph-trpc/server/stores/flowStore/dbFlowStore.ts:68

Retrieves flow by ID

Parameters ​

flowId ​

string

Flow identifier

Returns ​

Promise<Flow | null>

Flow instance or null if not found

Implementation of ​

IFlowStore.getFlow


getFlowMetadata() ​

getFlowMetadata(flowId): Promise<FlowMetadata | null>

Defined in: packages/chaingraph-trpc/server/stores/flowStore/dbFlowStore.ts:99

Parameters ​

flowId ​

string

Returns ​

Promise<FlowMetadata | null>

Implementation of ​

IFlowStore.getFlowMetadata


hasAccess() ​

hasAccess(flowId, userId, cacheEnabled): Promise<boolean>

Defined in: packages/chaingraph-trpc/server/stores/flowStore/dbFlowStore.ts:169

Checks if user has access to flow

Parameters ​

flowId ​

string

Flow identifier

userId ​

string

User identifier

cacheEnabled ​

boolean = true

Returns ​

Promise<boolean>

true if user has access, false otherwise

Implementation of ​

IFlowStore.hasAccess


listFlows() ​

listFlows(ownerId, orderBy, limit): Promise<FlowMetadata[]>

Defined in: packages/chaingraph-trpc/server/stores/flowStore/dbFlowStore.ts:112

Lists all available flows ordered by updatedAt desc

Parameters ​

ownerId ​

string

orderBy ​

ListOrderBy

limit ​

number

Returns ​

Promise<FlowMetadata[]>

Array of flows

Implementation of ​

IFlowStore.listFlows


lockFlow() ​

lockFlow(flowId, timeout): Promise<void>

Defined in: packages/chaingraph-trpc/server/stores/flowStore/dbFlowStore.ts:210

Locks a flow to prevent concurrent modifications. If the flow is already locked, this method will block until the lock is released.

Parameters ​

flowId ​

string

Flow identifier

timeout ​

number = 5000

Lock timeout in milliseconds (default: 5000 ms)

Returns ​

Promise<void>

Throws ​

Error if flow doesn't exist

Implementation of ​

IFlowStore.lockFlow


unlockFlow() ​

unlockFlow(flowId): Promise<void>

Defined in: packages/chaingraph-trpc/server/stores/flowStore/dbFlowStore.ts:250

Unlocks a previously locked flow and grants lock to the next waiter if any

Parameters ​

flowId ​

string

Flow identifier

Returns ​

Promise<void>

Throws ​

Error if flow doesn't exist

Implementation of ​

IFlowStore.unlockFlow


updateFlow() ​

updateFlow(flow): Promise<Flow>

Defined in: packages/chaingraph-trpc/server/stores/flowStore/dbFlowStore.ts:149

Updates flow with new data

Parameters ​

flow ​

Flow

Flow data

Returns ​

Promise<Flow>

Updated flow

Implementation of ​

IFlowStore.updateFlow

Licensed under BUSL-1.1