PersistentAI API Documentation / @persistentai/fireflow-trpc / server / PgOwnershipResolver
Class: PgOwnershipResolver
Defined in: packages/fireflow-trpc/server/stores/ownership/PgOwnershipResolver.ts:21
PostgreSQL-based ownership resolver using UserStore for external account lookups
Provides backward compatibility for flows/executions created before user migration:
- New entities: owner_id = "USRxxx..." (internal ID)
- Old entities: owner_id = "persistentai-123" (PersistentAI ID)
This implementation queries the external_accounts table to resolve old IDs.
Implements
Constructors
Constructor
new PgOwnershipResolver(
userStore):PgOwnershipResolver
Defined in: packages/fireflow-trpc/server/stores/ownership/PgOwnershipResolver.ts:22
Parameters
userStore
Returns
PgOwnershipResolver
Methods
getAllUserIds()
getAllUserIds(
userId):Promise<string[]>
Defined in: packages/fireflow-trpc/server/stores/ownership/PgOwnershipResolver.ts:42
Get all possible owner IDs for a user
Returns an array containing:
- The user's internal ID (USR...)
- All linked external IDs (PersistentAI ID, demo ID, etc.)
Used for querying resources that may have either ID format.
Parameters
userId
string
User identifier (internal USR... format)
Returns
Promise<string[]>
Array of all possible owner IDs for this user
Implementation of
IOwnershipResolver.getAllUserIds
isOwner()
isOwner(
userId,ownerId):Promise<boolean>
Defined in: packages/fireflow-trpc/server/stores/ownership/PgOwnershipResolver.ts:24
Check if a user owns a resource based on owner ID
Handles both:
- Direct match: userId === ownerId (new entities)
- External match: userId's external accounts include ownerId (old entities)
Parameters
userId
string
User identifier (internal USR... format)
ownerId
string
Resource owner identifier (may be internal or external ID)
Returns
Promise<boolean>
true if user owns the resource