Skip to main content

Class: ModuleMetadata

Defined in: Data/Models/Main/ModuleMetadata.ts:54

Module metadata entity from the main database Represents an installed module (Bible, commentary, dictionary, etc.)

Constructors

Constructor

new ModuleMetadata(data): ModuleMetadata

Defined in: Data/Models/Main/ModuleMetadata.ts:78

Parameters

data
abbreviation?

string

databasePath

string

features?

ModuleFeature[]

installedDate?

string

isIndexed?

boolean

languageCode?

string

lastIndexedDate?

string

lastUpdated?

string

metadata?

Metadata

moduleId?

number

moduleName

string

moduleType

"bible" | "commentary" | "dictionary" | "book" | "devotional" | "lexicon" | "topical_index" | "cross_reference" | "tag_graph"

moduleUuid?

string

sizeBytes?

number

swordMetadata?

Metadata

version?

string

Returns

ModuleMetadata

Properties

abbreviation?

optional abbreviation?: string

Defined in: Data/Models/Main/ModuleMetadata.ts:65


databasePath

databasePath: string

Defined in: Data/Models/Main/ModuleMetadata.ts:70


features

features: ModuleFeature[]

Defined in: Data/Models/Main/ModuleMetadata.ts:74


installedDate?

optional installedDate?: string

Defined in: Data/Models/Main/ModuleMetadata.ts:68


isIndexed

isIndexed: boolean

Defined in: Data/Models/Main/ModuleMetadata.ts:72


languageCode?

optional languageCode?: string

Defined in: Data/Models/Main/ModuleMetadata.ts:67


lastIndexedDate?

optional lastIndexedDate?: string

Defined in: Data/Models/Main/ModuleMetadata.ts:73


lastUpdated?

optional lastUpdated?: string

Defined in: Data/Models/Main/ModuleMetadata.ts:69


metadata?

optional metadata?: Metadata

Defined in: Data/Models/Main/ModuleMetadata.ts:76


moduleId?

optional moduleId?: number

Defined in: Data/Models/Main/ModuleMetadata.ts:55


moduleName

moduleName: string

Defined in: Data/Models/Main/ModuleMetadata.ts:64


moduleType

moduleType: "bible" | "commentary" | "dictionary" | "book" | "devotional" | "lexicon" | "topical_index" | "cross_reference" | "tag_graph"

Defined in: Data/Models/Main/ModuleMetadata.ts:63


moduleUuid?

optional moduleUuid?: string

Defined in: Data/Models/Main/ModuleMetadata.ts:62

Stable cross-database identity, from the module file's module_info.module_uuid (WS-4). Undefined for pre-2.0 modules that carry no UUID; abbreviation is the only fallback for those, and it is a weak one — two publishers can ship the same abbreviation.


sizeBytes?

optional sizeBytes?: number

Defined in: Data/Models/Main/ModuleMetadata.ts:71


swordMetadata?

optional swordMetadata?: Metadata

Defined in: Data/Models/Main/ModuleMetadata.ts:75


version?

optional version?: string

Defined in: Data/Models/Main/ModuleMetadata.ts:66

Methods

addFeature()

addFeature(feature): void

Defined in: Data/Models/Main/ModuleMetadata.ts:134

Add a feature to the module

Parameters

feature

ModuleFeature

Returns

void


getAbbreviation()

getAbbreviation(): string

Defined in: Data/Models/Main/ModuleMetadata.ts:168

Get the abbreviation or default to first word of name

Returns

string


getDisplayName()

getDisplayName(): string

Defined in: Data/Models/Main/ModuleMetadata.ts:117

Get the full display name with version

Returns

string


getSizeMB()

getSizeMB(): number

Defined in: Data/Models/Main/ModuleMetadata.ts:175

Get file size in MB

Returns

number


hasFeature()

hasFeature(feature): boolean

Defined in: Data/Models/Main/ModuleMetadata.ts:127

Check if the module has a specific feature

Parameters

feature

ModuleFeature

Returns

boolean


markAsIndexed()

markAsIndexed(): void

Defined in: Data/Models/Main/ModuleMetadata.ts:160

Mark the module as indexed

Returns

void


needsIndexing()

needsIndexing(): boolean

Defined in: Data/Models/Main/ModuleMetadata.ts:153

Check if the module needs indexing

Returns

boolean


removeFeature()

removeFeature(feature): void

Defined in: Data/Models/Main/ModuleMetadata.ts:143

Remove a feature from the module

Parameters

feature

ModuleFeature

Returns

void


toJSON()

toJSON(): ModuleMetadataJSON

Defined in: Data/Models/Main/ModuleMetadata.ts:182

Serialize to JSON with snake_case property names for frontend compatibility

Returns

ModuleMetadataJSON