Skip to main content

Interface: ICommentaryRepository

Defined in: Data/Repositories/ICommentaryRepository.ts:47

Interface for Commentary repository Defines all operations for working with commentary databases

Methods

createEntry()

createEntry(entry): CommentaryEntry

Defined in: Data/Repositories/ICommentaryRepository.ts:117

Parameters

entry

CommentaryEntry

Returns

CommentaryEntry


deleteEntry()

deleteEntry(entryId): boolean

Defined in: Data/Repositories/ICommentaryRepository.ts:119

Parameters

entryId

number

Returns

boolean


getAllEntrySummaries()

getAllEntrySummaries(): CommentaryEntrySummary[]

Defined in: Data/Repositories/ICommentaryRepository.ts:114

Returns

CommentaryEntrySummary[]


getBestEntryAnchorsForRange()

getBestEntryAnchorsForRange(startVerseId, endVerseId): CommentaryEntryAnchor[]

Defined in: Data/Repositories/ICommentaryRepository.ts:85

Bulk variant of getBestEntryForVerse: every entry ANCHOR (no content blob) whose range overlaps the inclusive verse range, ordered by verse_id_start.

VerseLinksService.getBatchVerseLinks reconstructs the per-verse answer by taking the first row that covers each verse, which is exactly what getBestEntryForVerse's ORDER BY verse_id_start LIMIT 1 returns. Reading anchors rather than entries matters: a module like Matthew Henry stores the same ~73 KB chapter blob on every verse row it covers, so a SELECT * over a chapter reads tens of megabytes to answer "is there an entry here".

Parameters

startVerseId

number

endVerseId

number

Returns

CommentaryEntryAnchor[]


getBestEntryForVerse()

getBestEntryForVerse(verseId): CommentaryEntry | undefined

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

Get the single best-match entry for a verse (first match by verse_id_start).

Parameters

verseId

number

Returns

CommentaryEntry | undefined


getEntriesByLevel()

getEntriesByLevel(level): CommentaryEntry[]

Defined in: Data/Repositories/ICommentaryRepository.ts:55

Parameters

level

"book" | "verse" | "passage" | "chapter"

Returns

CommentaryEntry[]


getEntriesForRange()

getEntriesForRange(startVerseId, endVerseId): CommentaryEntry[]

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

Parameters

startVerseId

number

endVerseId

number

Returns

CommentaryEntry[]


getEntriesForVerse()

getEntriesForVerse(verseId): CommentaryEntry[]

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

Parameters

verseId

number

Returns

CommentaryEntry[]


getEntry()

getEntry(entryId): CommentaryEntry | undefined

Defined in: Data/Repositories/ICommentaryRepository.ts:53

Parameters

entryId

number

Returns

CommentaryEntry | undefined


getEntryIdsReferencingVerse()

getEntryIdsReferencingVerse(verseId): number[]

Defined in: Data/Repositories/ICommentaryRepository.ts:109

Entry ids whose verse_link rows reference the given verse. Empty on a v1 module.

Parameters

verseId

number

Returns

number[]


getEntrySummariesForRange()

getEntrySummariesForRange(startVerseId, endVerseId): CommentaryEntrySummary[]

Defined in: Data/Repositories/ICommentaryRepository.ts:67

Anchors and sizes for a range, without the content blobs.

For callers that only need to know what exists and how big it is — the chapter-overview endpoint and the client's prefetch budget. Reading full entries for that is enormously wasteful: a module like Matthew Henry stores the same ~73 KB chapter blob on every verse row it covers, so a SELECT * over one chapter of every installed commentary reads tens of megabytes to compute a handful of word counts.

Parameters

startVerseId

number

endVerseId

number

Returns

CommentaryEntrySummary[]


getModuleInfo()

getModuleInfo(): CommentaryModuleInfo | undefined

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

Returns

CommentaryModuleInfo | undefined


getNextVerseWithContent()

getNextVerseWithContent(currentVerseId): number | undefined

Defined in: Data/Repositories/ICommentaryRepository.ts:112

Parameters

currentVerseId

number

Returns

number | undefined


getPreviousVerseWithContent()

getPreviousVerseWithContent(currentVerseId): number | undefined

Defined in: Data/Repositories/ICommentaryRepository.ts:113

Parameters

currentVerseId

number

Returns

number | undefined


getVerseLinksForEntry()

getVerseLinksForEntry(entryId): VerseLinkRecord[]

Defined in: Data/Repositories/ICommentaryRepository.ts:106

Scripture references carried by one entry, from the unified verse_link table (source_type='commentary_entry'). Empty on a v1 module.

Parameters

entryId

number

Returns

VerseLinkRecord[]


getVerseMentionRowsForRange()

getVerseMentionRowsForRange(startVerseId, endVerseId): CommentaryMentionRow[]

Defined in: Data/Repositories/ICommentaryRepository.ts:94

Bulk variant of getVerseMentions: one row per (entry, verse-link) pair whose link range overlaps [startVerseId, endVerseId].

Left un-aggregated on purpose — the per-verse counts getVerseMentions returns depend on which verse is being asked about, and a link row may span several of the verses in the range.

Parameters

startVerseId

number

endVerseId

number

Returns

CommentaryMentionRow[]


getVerseMentions()

getVerseMentions(verseId): object[]

Defined in: Data/Repositories/ICommentaryRepository.ts:100

Get entries from other verses that mention/reference this verse. Reads the unified verse_link table (WS-3) on v2 modules and the legacy verse_reference table on v1 modules.

Parameters

verseId

number

Returns

object[]


searchEntries()

searchEntries(query, options?): CommentaryEntry[]

Defined in: Data/Repositories/ICommentaryRepository.ts:68

Parameters

query

string

options?
limit?

number

Returns

CommentaryEntry[]


updateEntry()

updateEntry(entry): CommentaryEntry

Defined in: Data/Repositories/ICommentaryRepository.ts:118

Parameters

entry

CommentaryEntry

Returns

CommentaryEntry


updateModuleInfo()

updateModuleInfo(info): void

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

Parameters

info

CommentaryModuleInfo

Returns

void