Skip to main content

Interface: ICrossReferenceRepository

Defined in: Data/Repositories/ICrossReferenceRepository.ts:38

Interface for Cross-Reference repository Defines all operations for working with cross-reference databases

Methods

getEntriesForGroup()

getEntriesForGroup(groupId): ModuleCrossRefEntry[]

Defined in: Data/Repositories/ICrossReferenceRepository.ts:49

Target passages of a phrase group. Reads the unified verse_link table (source_type='cross_reference_group', WS-3) on a v2 module and the legacy cross_reference_entry table on a v1 module.

Parameters

groupId

number

Returns

ModuleCrossRefEntry[]


getEntryCount()

getEntryCount(verseId): number

Defined in: Data/Repositories/ICrossReferenceRepository.ts:87

Parameters

verseId

number

Returns

number


getGroupsForVerse()

getGroupsForVerse(verseId): CrossReferenceGroup[]

Defined in: Data/Repositories/ICrossReferenceRepository.ts:43

Parameters

verseId

number

Returns

CrossReferenceGroup[]


getGroupsWithEntries()

getGroupsWithEntries(verseId): CrossReferenceGroupWithEntries[]

Defined in: Data/Repositories/ICrossReferenceRepository.ts:50

Parameters

verseId

number

Returns

CrossReferenceGroupWithEntries[]


getGroupsWithEntriesForRange()

getGroupsWithEntriesForRange(startVerseId, endVerseId): CrossReferenceGroupWithEntries[]

Defined in: Data/Repositories/ICrossReferenceRepository.ts:66

Bulk variant: get every group (with entries) whose source anchor overlaps the inclusive range. Used by chapter aggregation services to avoid the N+1 query pattern of calling getGroupsWithEntries per verse.

Groups are returned in (verse_id_start, sort_order) order; entries within each group are returned in sort_order to match the legacy generation script.

Parameters

startVerseId

number

endVerseId

number

Returns

CrossReferenceGroupWithEntries[]


getModuleInfo()

getModuleInfo(): CrossReferenceModuleInfo | undefined

Defined in: Data/Repositories/ICrossReferenceRepository.ts:40

Returns

CrossReferenceModuleInfo | undefined


getReverseReferences()

getReverseReferences(verseId): ReverseReference[]

Defined in: Data/Repositories/ICrossReferenceRepository.ts:72

Parameters

verseId

number

Returns

ReverseReference[]


getReverseReferencesForRange()

getReverseReferencesForRange(startVerseId, endVerseId): RangeReverseReference[]

Defined in: Data/Repositories/ICrossReferenceRepository.ts:81

Bulk variant of getReverseReferences: every citing reference for any verse in the inclusive range, tagged with the target it cites.

Study mode's "Cited in" row asked this per verse per module — ~31 IPC round trips and 31 queries for one chapter of one module.

Parameters

startVerseId

number

endVerseId

number

Returns

RangeReverseReference[]


getVerseLinksForGroup()

getVerseLinksForGroup(groupId): VerseLinkRecord[]

Defined in: Data/Repositories/ICrossReferenceRepository.ts:56

A group's targets in the unified v2 shape. Empty on a v1 module.

Parameters

groupId

number

Returns

VerseLinkRecord[]


hasUnifiedVerseLinks(): boolean

Defined in: Data/Repositories/ICrossReferenceRepository.ts:54

True when this module stores its targets in the unified verse_link table.

Returns

boolean