Skip to content

Class: InMemoryManagementStore

@roomful/relay


@roomful/relay / InMemoryManagementStore

Defined in: packages/relay/src/management/store.ts:81

A fully synchronous in-memory store suitable for single-process relays and development. All operations are O(1) lookups on Maps.

new InMemoryManagementStore(defaults): InMemoryManagementStore

Defined in: packages/relay/src/management/store.ts:86

RelayDefaults

InMemoryManagementStore

createProject(input): Project

Defined in: packages/relay/src/management/store.ts:102

Creates a project and returns the stored record.

string = ...

string = ...

Optional id; auto-generated when omitted. Must be unique.

Record<string, unknown> = ...

string = ...

string = ...

Project

ManagementStore.createProject


createRoom(projectId, input): RoomRecord

Defined in: packages/relay/src/management/store.ts:165

Creates a room record. Throws when the project does not exist.

string

boolean = ...

string = ...

Optional id; auto-generated when omitted.

Record<string, unknown> = ...

string = ...

number = ...

RoomRecord

ManagementStore.createRoom


deleteProject(projectId): boolean

Defined in: packages/relay/src/management/store.ts:143

Deletes a project and all associated rooms + quota. Returns true if it existed.

string

boolean

ManagementStore.deleteProject


deleteQuota(projectId): boolean

Defined in: packages/relay/src/management/store.ts:220

Removes the explicit quota for a project so it falls back to relay defaults.

string

boolean

ManagementStore.deleteQuota


deleteRoom(roomId): boolean

Defined in: packages/relay/src/management/store.ts:193

Deletes a room. Returns true if it existed.

string

boolean

ManagementStore.deleteRoom


getDefaults(): RelayDefaults

Defined in: packages/relay/src/management/store.ts:243

Returns the relay defaults the store was created with. Used by the management API to resolve effective quotas.

RelayDefaults


getProject(projectId): Project | null

Defined in: packages/relay/src/management/store.ts:98

Returns a single project, or null when not found.

string

Project | null

ManagementStore.getProject


getQuota(projectId): ProjectQuota | null

Defined in: packages/relay/src/management/store.ts:199

Returns the quota for a project, or null when the project has no explicit quota.

string

ProjectQuota | null

ManagementStore.getQuota


getRoom(roomId): RoomRecord | null

Defined in: packages/relay/src/management/store.ts:161

Returns a single room, or null when not found.

string

RoomRecord | null

ManagementStore.getRoom


getUsage(projectId): ProjectUsage

Defined in: packages/relay/src/management/store.ts:226

Returns a point-in-time usage snapshot for a project.

string

ProjectUsage

ManagementStore.getUsage


listProjects(ownerId): Project[]

Defined in: packages/relay/src/management/store.ts:90

Lists all projects visible to ownerId. Pass '*' to bypass filtering.

string

Project[]

ManagementStore.listProjects


listRooms(projectId): RoomRecord[]

Defined in: packages/relay/src/management/store.ts:157

Lists all rooms belonging to a project.

string

RoomRecord[]

ManagementStore.listRooms


setQuota(projectId, input): ProjectQuota

Defined in: packages/relay/src/management/store.ts:203

Creates or replaces the quota for a project.

string

number = ...

number = ...

number = ...

number = ...

number = ...

number = ...

number = ...

ProjectQuota

ManagementStore.setQuota


updateProject(projectId, input): Project | null

Defined in: packages/relay/src/management/store.ts:125

Updates a project in-place. Returns the updated record or null when not found.

string

string = ...

Record<string, unknown> = ...

string = ...

Project | null

ManagementStore.updateProject