@helloao/cli 0.0.14 → 0.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/cli.cjs +644 -5
- package/dist/cjs/index.cjs +645 -5
- package/dist/esm/index.js +520 -11
- package/dist/esm/index.js.map +3 -3
- package/dist/types/actions.d.ts +6 -0
- package/dist/types/db.d.ts +18 -2
- package/dist/types/files.d.ts +7 -0
- package/migrations/20251028135135_add_datasets/migration.sql +72 -0
- package/migrations/20251028144932_fix_dataset_types/migration.sql +50 -0
- package/package.json +2 -2
- package/prisma-gen/edge.js +60 -4
- package/prisma-gen/index-browser.js +56 -1
- package/prisma-gen/index.d.ts +14386 -5389
- package/prisma-gen/index.js +60 -4
- package/prisma-gen/wasm.js +56 -1
- package/schema.prisma +104 -0
package/dist/cjs/index.cjs
CHANGED
|
@@ -5627,6 +5627,51 @@ var require_prisma_gen = __commonJS({
|
|
|
5627
5627
|
sha256: "sha256",
|
|
5628
5628
|
verseNumber: "verseNumber"
|
|
5629
5629
|
};
|
|
5630
|
+
exports2.Prisma.DatasetScalarFieldEnum = {
|
|
5631
|
+
id: "id",
|
|
5632
|
+
name: "name",
|
|
5633
|
+
website: "website",
|
|
5634
|
+
licenseUrl: "licenseUrl",
|
|
5635
|
+
licenseNotes: "licenseNotes",
|
|
5636
|
+
englishName: "englishName",
|
|
5637
|
+
language: "language",
|
|
5638
|
+
textDirection: "textDirection",
|
|
5639
|
+
sha256: "sha256"
|
|
5640
|
+
};
|
|
5641
|
+
exports2.Prisma.DatasetBookScalarFieldEnum = {
|
|
5642
|
+
id: "id",
|
|
5643
|
+
datasetId: "datasetId",
|
|
5644
|
+
order: "order",
|
|
5645
|
+
numberOfChapters: "numberOfChapters",
|
|
5646
|
+
sha256: "sha256"
|
|
5647
|
+
};
|
|
5648
|
+
exports2.Prisma.DatasetChapterScalarFieldEnum = {
|
|
5649
|
+
number: "number",
|
|
5650
|
+
bookId: "bookId",
|
|
5651
|
+
datasetId: "datasetId",
|
|
5652
|
+
json: "json",
|
|
5653
|
+
sha256: "sha256"
|
|
5654
|
+
};
|
|
5655
|
+
exports2.Prisma.DatasetChapterVerseScalarFieldEnum = {
|
|
5656
|
+
number: "number",
|
|
5657
|
+
chapterNumber: "chapterNumber",
|
|
5658
|
+
bookId: "bookId",
|
|
5659
|
+
datasetId: "datasetId",
|
|
5660
|
+
contentJson: "contentJson",
|
|
5661
|
+
sha256: "sha256"
|
|
5662
|
+
};
|
|
5663
|
+
exports2.Prisma.DatasetReferenceScalarFieldEnum = {
|
|
5664
|
+
id: "id",
|
|
5665
|
+
datasetId: "datasetId",
|
|
5666
|
+
bookId: "bookId",
|
|
5667
|
+
chapterNumber: "chapterNumber",
|
|
5668
|
+
verseNumber: "verseNumber",
|
|
5669
|
+
referenceBookId: "referenceBookId",
|
|
5670
|
+
referenceChapter: "referenceChapter",
|
|
5671
|
+
referenceVerse: "referenceVerse",
|
|
5672
|
+
endVerseNumber: "endVerseNumber",
|
|
5673
|
+
score: "score"
|
|
5674
|
+
};
|
|
5630
5675
|
exports2.Prisma.SortOrder = {
|
|
5631
5676
|
asc: "asc",
|
|
5632
5677
|
desc: "desc"
|
|
@@ -5649,7 +5694,12 @@ var require_prisma_gen = __commonJS({
|
|
|
5649
5694
|
ChapterAudioUrl: "ChapterAudioUrl",
|
|
5650
5695
|
ChapterVerse: "ChapterVerse",
|
|
5651
5696
|
CommentaryChapterVerse: "CommentaryChapterVerse",
|
|
5652
|
-
ChapterFootnote: "ChapterFootnote"
|
|
5697
|
+
ChapterFootnote: "ChapterFootnote",
|
|
5698
|
+
Dataset: "Dataset",
|
|
5699
|
+
DatasetBook: "DatasetBook",
|
|
5700
|
+
DatasetChapter: "DatasetChapter",
|
|
5701
|
+
DatasetChapterVerse: "DatasetChapterVerse",
|
|
5702
|
+
DatasetReference: "DatasetReference"
|
|
5653
5703
|
};
|
|
5654
5704
|
var config2 = {
|
|
5655
5705
|
"generator": {
|
|
@@ -5686,6 +5736,7 @@ var require_prisma_gen = __commonJS({
|
|
|
5686
5736
|
"db"
|
|
5687
5737
|
],
|
|
5688
5738
|
"activeProvider": "sqlite",
|
|
5739
|
+
"postinstall": false,
|
|
5689
5740
|
"inlineDatasources": {
|
|
5690
5741
|
"db": {
|
|
5691
5742
|
"url": {
|
|
@@ -5694,8 +5745,8 @@ var require_prisma_gen = __commonJS({
|
|
|
5694
5745
|
}
|
|
5695
5746
|
}
|
|
5696
5747
|
},
|
|
5697
|
-
"inlineSchema": 'datasource db {\n provider = "sqlite"\n url = "file:../../bible-api.dev.db"\n}\n\ngenerator client {\n provider = "prisma-client-js"\n output = "./prisma-gen"\n}\n\nmodel Translation {\n id String @id\n name String\n website String\n licenseUrl String\n licenseNotes String?\n shortName String?\n englishName String\n language String\n textDirection String\n\n // The SHA-256 hash of the translation\n // includes everything about the translation, including the books, chapters, verses, footnotes, etc.\n sha256 String?\n\n books Book[]\n chapters Chapter[]\n verses ChapterVerse[]\n footnotes ChapterFootnote[]\n audioUrls ChapterAudioUrl[]\n}\n\nmodel Commentary {\n id String @id\n name String\n website String\n licenseUrl String\n licenseNotes String?\n englishName String\n language String\n textDirection String\n\n // The SHA-256 hash of the translation\n // includes everything about the translation, including the books, chapters, verses, footnotes, etc.\n sha256 String?\n\n books CommentaryBook[]\n chapters CommentaryChapter[]\n verses CommentaryChapterVerse[]\n profiles CommentaryProfile[]\n}\n\n// The ebible.org source for a particular translation\n// Contains metadata that is useful for managing downloads\nmodel EBibleSource {\n id String @id\n\n // The URL to the USFM zip file download\n usfmZipUrl String?\n // The ETag of the downloaded USFM zip file\n usfmZipEtag String?\n\n languageCode String\n title String\n shortTitle String?\n textDirection String?\n redistributable Boolean\n description String\n copyright String\n FCBHID String\n updateDate DateTime\n sourceDate DateTime\n\n oldTestamentBooks Int\n oldTestamentChapters Int\n oldTestamentVerses Int\n newTestamentBooks Int\n newTestamentChapters Int\n newTestamentVerses Int\n apocryphaBooks Int\n apocryphaChapters Int\n apocryphaVerses Int\n\n // The ID of the translation that the source is for\n translationId String\n\n // The date that the source was downloaded\n usfmDownloadDate DateTime?\n\n // The path that the USFM was downloaded to\n usfmDownloadPath String?\n\n // The SHA-256 hash of the source\n // Can be used to determine if the source has changed\n sha256 String?\n}\n\n// Files that were input into the API generator\nmodel InputFile {\n // The ID of the translation that the file is for\n translationId String\n\n // The name of the file\n name String\n\n format String\n\n // The SHA-256 hash of the file\n sha256 String\n\n sizeInBytes Int\n\n @@id([translationId, name])\n}\n\nmodel InputFileWarning {\n // The name of the file\n name String\n\n // The type of the warning\n type String\n\n // The message of the warning\n message String\n\n @@id([name, type, message])\n}\n\nmodel Book {\n id String\n\n translationId String\n translation Translation @relation(fields: [translationId], references: [id])\n\n name String\n commonName String\n title String?\n order Int\n\n numberOfChapters Int\n\n isApocryphal Boolean? // Whether the book is an apocryphal book\n\n // The SHA-256 hash of the book\n sha256 String?\n\n chapters Chapter[]\n verses ChapterVerse[]\n footnotes ChapterFootnote[]\n audioUrls ChapterAudioUrl[]\n\n @@id([translationId, id])\n}\n\nmodel CommentaryBook {\n id String\n\n commentaryId String\n commentary Commentary @relation(fields: [commentaryId], references: [id])\n\n name String\n commonName String\n introduction String?\n introductionSummary String?\n order Int\n\n numberOfChapters Int\n\n // The SHA-256 hash of the book\n sha256 String?\n\n chapters CommentaryChapter[]\n verses CommentaryChapterVerse[]\n\n @@id([commentaryId, id])\n}\n\nmodel CommentaryProfile {\n id String\n\n commentaryId String\n commentary Commentary @relation(fields: [commentaryId], references: [id])\n\n subject String\n content String\n\n referenceBook String?\n referenceChapter Int?\n referenceVerse Int?\n referenceEndChapter Int?\n referenceEndVerse Int?\n\n json String // The JSON of the profile\n\n // The SHA-256 hash of the profile\n sha256 String?\n\n @@id([commentaryId, id])\n}\n\nmodel Chapter {\n number Int\n\n bookId String\n book Book @relation(fields: [translationId, bookId], references: [translationId, id])\n\n translationId String\n translation Translation @relation(fields: [translationId], references: [id])\n\n json String // The JSON of the chapter\n\n // The SHA-256 hash of the chapter\n sha256 String?\n\n verses ChapterVerse[]\n footnotes ChapterFootnote[]\n audioUrls ChapterAudioUrl[]\n\n @@id([translationId, bookId, number])\n}\n\nmodel CommentaryChapter {\n number Int\n\n bookId String\n book CommentaryBook @relation(fields: [commentaryId, bookId], references: [commentaryId, id])\n\n commentaryId String\n commentary Commentary @relation(fields: [commentaryId], references: [id])\n\n introduction String?\n json String // The JSON of the chapter\n\n // The SHA-256 hash of the chapter\n sha256 String?\n\n verses CommentaryChapterVerse[]\n\n @@id([commentaryId, bookId, number])\n}\n\nmodel ChapterAudioUrl {\n number Int\n bookId String\n book Book @relation(fields: [translationId, bookId], references: [translationId, id])\n\n translationId String\n translation Translation @relation(fields: [translationId], references: [id])\n\n chapter Chapter @relation(fields: [translationId, bookId, number], references: [translationId, bookId, number])\n\n reader String\n url String\n\n @@id([translationId, bookId, number, reader])\n}\n\nmodel ChapterVerse {\n number Int\n\n chapterNumber Int\n chapter Chapter @relation(fields: [translationId, bookId, chapterNumber], references: [translationId, bookId, number])\n\n bookId String\n book Book @relation(fields: [translationId, bookId], references: [translationId, id])\n\n translationId String\n translation Translation @relation(fields: [translationId], references: [id])\n\n text String // The text of the verse\n contentJson String // The JSON of the verse content\n\n // The SHA-256 hash of the verse\n sha256 String?\n\n footnotes ChapterFootnote[]\n\n @@id([translationId, bookId, chapterNumber, number])\n}\n\nmodel CommentaryChapterVerse {\n number Int\n\n chapterNumber Int\n chapter CommentaryChapter @relation(fields: [commentaryId, bookId, chapterNumber], references: [commentaryId, bookId, number])\n\n bookId String\n book CommentaryBook @relation(fields: [commentaryId, bookId], references: [commentaryId, id])\n\n commentaryId String\n commentary Commentary @relation(fields: [commentaryId], references: [id])\n\n text String // The text of the verse\n contentJson String // The JSON of the verse content\n\n // The SHA-256 hash of the verse\n sha256 String?\n\n @@id([commentaryId, bookId, chapterNumber, number])\n}\n\nmodel ChapterFootnote {\n id Int\n\n chapterNumber Int\n chapter Chapter @relation(fields: [translationId, bookId, chapterNumber], references: [translationId, bookId, number])\n\n bookId String\n book Book @relation(fields: [translationId, bookId], references: [translationId, id])\n\n translationId String\n translation Translation @relation(fields: [translationId], references: [id])\n\n text String\n\n // The SHA-256 hash of the footnote\n sha256 String?\n\n verseNumber Int?\n verse ChapterVerse? @relation(fields: [translationId, bookId, chapterNumber, verseNumber], references: [translationId, bookId, chapterNumber, number])\n\n @@id([translationId, bookId, chapterNumber, id])\n}\n',
|
|
5698
|
-
"inlineSchemaHash": "
|
|
5748
|
+
"inlineSchema": 'datasource db {\n provider = "sqlite"\n url = "file:../../bible-api.dev.db"\n}\n\ngenerator client {\n provider = "prisma-client-js"\n output = "./prisma-gen"\n}\n\nmodel Translation {\n id String @id\n name String\n website String\n licenseUrl String\n licenseNotes String?\n shortName String?\n englishName String\n language String\n textDirection String\n\n // The SHA-256 hash of the translation\n // includes everything about the translation, including the books, chapters, verses, footnotes, etc.\n sha256 String?\n\n books Book[]\n chapters Chapter[]\n verses ChapterVerse[]\n footnotes ChapterFootnote[]\n audioUrls ChapterAudioUrl[]\n}\n\nmodel Commentary {\n id String @id\n name String\n website String\n licenseUrl String\n licenseNotes String?\n englishName String\n language String\n textDirection String\n\n // The SHA-256 hash of the translation\n // includes everything about the translation, including the books, chapters, verses, footnotes, etc.\n sha256 String?\n\n books CommentaryBook[]\n chapters CommentaryChapter[]\n verses CommentaryChapterVerse[]\n profiles CommentaryProfile[]\n}\n\n// The ebible.org source for a particular translation\n// Contains metadata that is useful for managing downloads\nmodel EBibleSource {\n id String @id\n\n // The URL to the USFM zip file download\n usfmZipUrl String?\n // The ETag of the downloaded USFM zip file\n usfmZipEtag String?\n\n languageCode String\n title String\n shortTitle String?\n textDirection String?\n redistributable Boolean\n description String\n copyright String\n FCBHID String\n updateDate DateTime\n sourceDate DateTime\n\n oldTestamentBooks Int\n oldTestamentChapters Int\n oldTestamentVerses Int\n newTestamentBooks Int\n newTestamentChapters Int\n newTestamentVerses Int\n apocryphaBooks Int\n apocryphaChapters Int\n apocryphaVerses Int\n\n // The ID of the translation that the source is for\n translationId String\n\n // The date that the source was downloaded\n usfmDownloadDate DateTime?\n\n // The path that the USFM was downloaded to\n usfmDownloadPath String?\n\n // The SHA-256 hash of the source\n // Can be used to determine if the source has changed\n sha256 String?\n}\n\n// Files that were input into the API generator\nmodel InputFile {\n // The ID of the translation that the file is for\n translationId String\n\n // The name of the file\n name String\n\n format String\n\n // The SHA-256 hash of the file\n sha256 String\n\n sizeInBytes Int\n\n @@id([translationId, name])\n}\n\nmodel InputFileWarning {\n // The name of the file\n name String\n\n // The type of the warning\n type String\n\n // The message of the warning\n message String\n\n @@id([name, type, message])\n}\n\nmodel Book {\n id String\n\n translationId String\n translation Translation @relation(fields: [translationId], references: [id])\n\n name String\n commonName String\n title String?\n order Int\n\n numberOfChapters Int\n\n isApocryphal Boolean? // Whether the book is an apocryphal book\n\n // The SHA-256 hash of the book\n sha256 String?\n\n chapters Chapter[]\n verses ChapterVerse[]\n footnotes ChapterFootnote[]\n audioUrls ChapterAudioUrl[]\n\n @@id([translationId, id])\n}\n\nmodel CommentaryBook {\n id String\n\n commentaryId String\n commentary Commentary @relation(fields: [commentaryId], references: [id])\n\n name String\n commonName String\n introduction String?\n introductionSummary String?\n order Int\n\n numberOfChapters Int\n\n // The SHA-256 hash of the book\n sha256 String?\n\n chapters CommentaryChapter[]\n verses CommentaryChapterVerse[]\n\n @@id([commentaryId, id])\n}\n\nmodel CommentaryProfile {\n id String\n\n commentaryId String\n commentary Commentary @relation(fields: [commentaryId], references: [id])\n\n subject String\n content String\n\n referenceBook String?\n referenceChapter Int?\n referenceVerse Int?\n referenceEndChapter Int?\n referenceEndVerse Int?\n\n json String // The JSON of the profile\n\n // The SHA-256 hash of the profile\n sha256 String?\n\n @@id([commentaryId, id])\n}\n\nmodel Chapter {\n number Int\n\n bookId String\n book Book @relation(fields: [translationId, bookId], references: [translationId, id])\n\n translationId String\n translation Translation @relation(fields: [translationId], references: [id])\n\n json String // The JSON of the chapter\n\n // The SHA-256 hash of the chapter\n sha256 String?\n\n verses ChapterVerse[]\n footnotes ChapterFootnote[]\n audioUrls ChapterAudioUrl[]\n\n @@id([translationId, bookId, number])\n}\n\nmodel CommentaryChapter {\n number Int\n\n bookId String\n book CommentaryBook @relation(fields: [commentaryId, bookId], references: [commentaryId, id])\n\n commentaryId String\n commentary Commentary @relation(fields: [commentaryId], references: [id])\n\n introduction String?\n json String // The JSON of the chapter\n\n // The SHA-256 hash of the chapter\n sha256 String?\n\n verses CommentaryChapterVerse[]\n\n @@id([commentaryId, bookId, number])\n}\n\nmodel ChapterAudioUrl {\n number Int\n bookId String\n book Book @relation(fields: [translationId, bookId], references: [translationId, id])\n\n translationId String\n translation Translation @relation(fields: [translationId], references: [id])\n\n chapter Chapter @relation(fields: [translationId, bookId, number], references: [translationId, bookId, number])\n\n reader String\n url String\n\n @@id([translationId, bookId, number, reader])\n}\n\nmodel ChapterVerse {\n number Int\n\n chapterNumber Int\n chapter Chapter @relation(fields: [translationId, bookId, chapterNumber], references: [translationId, bookId, number])\n\n bookId String\n book Book @relation(fields: [translationId, bookId], references: [translationId, id])\n\n translationId String\n translation Translation @relation(fields: [translationId], references: [id])\n\n text String // The text of the verse\n contentJson String // The JSON of the verse content\n\n // The SHA-256 hash of the verse\n sha256 String?\n\n footnotes ChapterFootnote[]\n\n @@id([translationId, bookId, chapterNumber, number])\n}\n\nmodel CommentaryChapterVerse {\n number Int\n\n chapterNumber Int\n chapter CommentaryChapter @relation(fields: [commentaryId, bookId, chapterNumber], references: [commentaryId, bookId, number])\n\n bookId String\n book CommentaryBook @relation(fields: [commentaryId, bookId], references: [commentaryId, id])\n\n commentaryId String\n commentary Commentary @relation(fields: [commentaryId], references: [id])\n\n text String // The text of the verse\n contentJson String // The JSON of the verse content\n\n // The SHA-256 hash of the verse\n sha256 String?\n\n @@id([commentaryId, bookId, chapterNumber, number])\n}\n\nmodel ChapterFootnote {\n id Int\n\n chapterNumber Int\n chapter Chapter @relation(fields: [translationId, bookId, chapterNumber], references: [translationId, bookId, number])\n\n bookId String\n book Book @relation(fields: [translationId, bookId], references: [translationId, id])\n\n translationId String\n translation Translation @relation(fields: [translationId], references: [id])\n\n text String\n\n // The SHA-256 hash of the footnote\n sha256 String?\n\n verseNumber Int?\n verse ChapterVerse? @relation(fields: [translationId, bookId, chapterNumber, verseNumber], references: [translationId, bookId, chapterNumber, number])\n\n @@id([translationId, bookId, chapterNumber, id])\n}\n\nmodel Dataset {\n id String @id\n name String\n website String\n licenseUrl String\n licenseNotes String?\n englishName String\n language String\n textDirection String\n\n sha256 String?\n\n books DatasetBook[]\n chapters DatasetChapter[]\n verses DatasetChapterVerse[]\n references DatasetReference[]\n}\n\nmodel DatasetBook {\n id String\n\n datasetId String\n dataset Dataset @relation(fields: [datasetId], references: [id])\n\n order Int\n\n numberOfChapters Int\n\n // The SHA-256 hash of the book\n sha256 String?\n\n chapters DatasetChapter[]\n verses DatasetChapterVerse[]\n references DatasetReference[]\n\n @@id([datasetId, id])\n}\n\nmodel DatasetChapter {\n number Int\n\n bookId String\n book DatasetBook @relation(fields: [datasetId, bookId], references: [datasetId, id])\n\n datasetId String\n dataset Dataset @relation(fields: [datasetId], references: [id])\n\n json String // The JSON of the chapter\n\n // The SHA-256 hash of the chapter\n sha256 String?\n\n verses DatasetChapterVerse[]\n references DatasetReference[]\n\n @@id([datasetId, bookId, number])\n}\n\nmodel DatasetChapterVerse {\n number Int\n\n chapterNumber Int\n chapter DatasetChapter @relation(fields: [datasetId, bookId, chapterNumber], references: [datasetId, bookId, number])\n\n bookId String\n book DatasetBook @relation(fields: [datasetId, bookId], references: [datasetId, id])\n\n datasetId String\n dataset Dataset @relation(fields: [datasetId], references: [id])\n\n contentJson String // The JSON of the verse content\n\n // The SHA-256 hash of the verse\n sha256 String?\n\n references DatasetReference[]\n\n @@id([datasetId, bookId, chapterNumber, number])\n}\n\nmodel DatasetReference {\n id Int @id @default(autoincrement())\n\n datasetId String\n dataset Dataset @relation(fields: [datasetId], references: [id])\n\n bookId String\n book DatasetBook @relation(fields: [datasetId, bookId], references: [datasetId, id])\n\n chapterNumber Int\n chapter DatasetChapter @relation(fields: [datasetId, bookId, chapterNumber], references: [datasetId, bookId, number])\n\n verseNumber Int\n verse DatasetChapterVerse @relation(fields: [datasetId, bookId, chapterNumber, verseNumber], references: [datasetId, bookId, chapterNumber, number])\n\n referenceBookId String\n referenceChapter Int\n referenceVerse Int\n\n endVerseNumber Int?\n score Int?\n}\n',
|
|
5749
|
+
"inlineSchemaHash": "7a10a7fbc4f723508362c0cc38d7d07c19ce68e1db29be580483fe78ade713d3",
|
|
5699
5750
|
"copyEngine": true
|
|
5700
5751
|
};
|
|
5701
5752
|
var fs2 = require("fs");
|
|
@@ -5711,7 +5762,7 @@ var require_prisma_gen = __commonJS({
|
|
|
5711
5762
|
config2.dirname = path5.join(process.cwd(), alternativePath);
|
|
5712
5763
|
config2.isBundled = true;
|
|
5713
5764
|
}
|
|
5714
|
-
config2.runtimeDataModel = JSON.parse('{"models":{"Translation":{"dbName":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"name","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"website","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"licenseUrl","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"licenseNotes","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"shortName","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"englishName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"language","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"textDirection","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"sha256","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"books","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Book","relationName":"BookToTranslation","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"chapters","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Chapter","relationName":"ChapterToTranslation","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"verses","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"ChapterVerse","relationName":"ChapterVerseToTranslation","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"footnotes","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"ChapterFootnote","relationName":"ChapterFootnoteToTranslation","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"audioUrls","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"ChapterAudioUrl","relationName":"ChapterAudioUrlToTranslation","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"Commentary":{"dbName":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"name","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"website","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"licenseUrl","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"licenseNotes","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"englishName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"language","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"textDirection","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"sha256","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"books","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CommentaryBook","relationName":"CommentaryToCommentaryBook","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"chapters","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CommentaryChapter","relationName":"CommentaryToCommentaryChapter","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"verses","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CommentaryChapterVerse","relationName":"CommentaryToCommentaryChapterVerse","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"profiles","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CommentaryProfile","relationName":"CommentaryToCommentaryProfile","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"EBibleSource":{"dbName":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"usfmZipUrl","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"usfmZipEtag","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"languageCode","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"title","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"shortTitle","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"textDirection","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"redistributable","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Boolean","isGenerated":false,"isUpdatedAt":false},{"name":"description","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"copyright","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"FCBHID","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"updateDate","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","isGenerated":false,"isUpdatedAt":false},{"name":"sourceDate","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","isGenerated":false,"isUpdatedAt":false},{"name":"oldTestamentBooks","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"oldTestamentChapters","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"oldTestamentVerses","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"newTestamentBooks","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"newTestamentChapters","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"newTestamentVerses","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"apocryphaBooks","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"apocryphaChapters","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"apocryphaVerses","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"translationId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"usfmDownloadDate","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","isGenerated":false,"isUpdatedAt":false},{"name":"usfmDownloadPath","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"sha256","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"InputFile":{"dbName":null,"fields":[{"name":"translationId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"name","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"format","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"sha256","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"sizeInBytes","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false}],"primaryKey":{"name":null,"fields":["translationId","name"]},"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"InputFileWarning":{"dbName":null,"fields":[{"name":"name","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"type","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"message","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false}],"primaryKey":{"name":null,"fields":["name","type","message"]},"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"Book":{"dbName":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"translationId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"translation","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Translation","relationName":"BookToTranslation","relationFromFields":["translationId"],"relationToFields":["id"],"isGenerated":false,"isUpdatedAt":false},{"name":"name","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"commonName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"title","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"order","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"numberOfChapters","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"isApocryphal","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Boolean","isGenerated":false,"isUpdatedAt":false},{"name":"sha256","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"chapters","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Chapter","relationName":"BookToChapter","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"verses","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"ChapterVerse","relationName":"BookToChapterVerse","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"footnotes","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"ChapterFootnote","relationName":"BookToChapterFootnote","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"audioUrls","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"ChapterAudioUrl","relationName":"BookToChapterAudioUrl","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":{"name":null,"fields":["translationId","id"]},"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CommentaryBook":{"dbName":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"commentaryId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"commentary","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Commentary","relationName":"CommentaryToCommentaryBook","relationFromFields":["commentaryId"],"relationToFields":["id"],"isGenerated":false,"isUpdatedAt":false},{"name":"name","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"commonName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"introduction","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"introductionSummary","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"order","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"numberOfChapters","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"sha256","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"chapters","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CommentaryChapter","relationName":"CommentaryBookToCommentaryChapter","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"verses","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CommentaryChapterVerse","relationName":"CommentaryBookToCommentaryChapterVerse","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":{"name":null,"fields":["commentaryId","id"]},"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CommentaryProfile":{"dbName":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"commentaryId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"commentary","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Commentary","relationName":"CommentaryToCommentaryProfile","relationFromFields":["commentaryId"],"relationToFields":["id"],"isGenerated":false,"isUpdatedAt":false},{"name":"subject","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"content","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"referenceBook","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"referenceChapter","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"referenceVerse","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"referenceEndChapter","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"referenceEndVerse","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"json","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"sha256","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false}],"primaryKey":{"name":null,"fields":["commentaryId","id"]},"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"Chapter":{"dbName":null,"fields":[{"name":"number","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"bookId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"book","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Book","relationName":"BookToChapter","relationFromFields":["translationId","bookId"],"relationToFields":["translationId","id"],"isGenerated":false,"isUpdatedAt":false},{"name":"translationId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"translation","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Translation","relationName":"ChapterToTranslation","relationFromFields":["translationId"],"relationToFields":["id"],"isGenerated":false,"isUpdatedAt":false},{"name":"json","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"sha256","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"verses","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"ChapterVerse","relationName":"ChapterToChapterVerse","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"footnotes","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"ChapterFootnote","relationName":"ChapterToChapterFootnote","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"audioUrls","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"ChapterAudioUrl","relationName":"ChapterToChapterAudioUrl","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":{"name":null,"fields":["translationId","bookId","number"]},"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CommentaryChapter":{"dbName":null,"fields":[{"name":"number","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"bookId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"book","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CommentaryBook","relationName":"CommentaryBookToCommentaryChapter","relationFromFields":["commentaryId","bookId"],"relationToFields":["commentaryId","id"],"isGenerated":false,"isUpdatedAt":false},{"name":"commentaryId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"commentary","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Commentary","relationName":"CommentaryToCommentaryChapter","relationFromFields":["commentaryId"],"relationToFields":["id"],"isGenerated":false,"isUpdatedAt":false},{"name":"introduction","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"json","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"sha256","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"verses","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CommentaryChapterVerse","relationName":"CommentaryChapterToCommentaryChapterVerse","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":{"name":null,"fields":["commentaryId","bookId","number"]},"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"ChapterAudioUrl":{"dbName":null,"fields":[{"name":"number","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"bookId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"book","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Book","relationName":"BookToChapterAudioUrl","relationFromFields":["translationId","bookId"],"relationToFields":["translationId","id"],"isGenerated":false,"isUpdatedAt":false},{"name":"translationId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"translation","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Translation","relationName":"ChapterAudioUrlToTranslation","relationFromFields":["translationId"],"relationToFields":["id"],"isGenerated":false,"isUpdatedAt":false},{"name":"chapter","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Chapter","relationName":"ChapterToChapterAudioUrl","relationFromFields":["translationId","bookId","number"],"relationToFields":["translationId","bookId","number"],"isGenerated":false,"isUpdatedAt":false},{"name":"reader","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"url","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false}],"primaryKey":{"name":null,"fields":["translationId","bookId","number","reader"]},"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"ChapterVerse":{"dbName":null,"fields":[{"name":"number","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"chapterNumber","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"chapter","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Chapter","relationName":"ChapterToChapterVerse","relationFromFields":["translationId","bookId","chapterNumber"],"relationToFields":["translationId","bookId","number"],"isGenerated":false,"isUpdatedAt":false},{"name":"bookId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"book","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Book","relationName":"BookToChapterVerse","relationFromFields":["translationId","bookId"],"relationToFields":["translationId","id"],"isGenerated":false,"isUpdatedAt":false},{"name":"translationId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"translation","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Translation","relationName":"ChapterVerseToTranslation","relationFromFields":["translationId"],"relationToFields":["id"],"isGenerated":false,"isUpdatedAt":false},{"name":"text","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"contentJson","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"sha256","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"footnotes","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"ChapterFootnote","relationName":"ChapterFootnoteToChapterVerse","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":{"name":null,"fields":["translationId","bookId","chapterNumber","number"]},"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CommentaryChapterVerse":{"dbName":null,"fields":[{"name":"number","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"chapterNumber","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"chapter","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CommentaryChapter","relationName":"CommentaryChapterToCommentaryChapterVerse","relationFromFields":["commentaryId","bookId","chapterNumber"],"relationToFields":["commentaryId","bookId","number"],"isGenerated":false,"isUpdatedAt":false},{"name":"bookId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"book","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CommentaryBook","relationName":"CommentaryBookToCommentaryChapterVerse","relationFromFields":["commentaryId","bookId"],"relationToFields":["commentaryId","id"],"isGenerated":false,"isUpdatedAt":false},{"name":"commentaryId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"commentary","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Commentary","relationName":"CommentaryToCommentaryChapterVerse","relationFromFields":["commentaryId"],"relationToFields":["id"],"isGenerated":false,"isUpdatedAt":false},{"name":"text","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"contentJson","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"sha256","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false}],"primaryKey":{"name":null,"fields":["commentaryId","bookId","chapterNumber","number"]},"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"ChapterFootnote":{"dbName":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"chapterNumber","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"chapter","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Chapter","relationName":"ChapterToChapterFootnote","relationFromFields":["translationId","bookId","chapterNumber"],"relationToFields":["translationId","bookId","number"],"isGenerated":false,"isUpdatedAt":false},{"name":"bookId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"book","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Book","relationName":"BookToChapterFootnote","relationFromFields":["translationId","bookId"],"relationToFields":["translationId","id"],"isGenerated":false,"isUpdatedAt":false},{"name":"translationId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"translation","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Translation","relationName":"ChapterFootnoteToTranslation","relationFromFields":["translationId"],"relationToFields":["id"],"isGenerated":false,"isUpdatedAt":false},{"name":"text","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"sha256","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"verseNumber","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"verse","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"ChapterVerse","relationName":"ChapterFootnoteToChapterVerse","relationFromFields":["translationId","bookId","chapterNumber","verseNumber"],"relationToFields":["translationId","bookId","chapterNumber","number"],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":{"name":null,"fields":["translationId","bookId","chapterNumber","id"]},"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false}},"enums":{},"types":{}}');
|
|
5765
|
+
config2.runtimeDataModel = JSON.parse('{"models":{"Translation":{"dbName":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"name","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"website","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"licenseUrl","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"licenseNotes","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"shortName","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"englishName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"language","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"textDirection","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"sha256","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"books","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Book","relationName":"BookToTranslation","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"chapters","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Chapter","relationName":"ChapterToTranslation","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"verses","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"ChapterVerse","relationName":"ChapterVerseToTranslation","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"footnotes","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"ChapterFootnote","relationName":"ChapterFootnoteToTranslation","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"audioUrls","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"ChapterAudioUrl","relationName":"ChapterAudioUrlToTranslation","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"Commentary":{"dbName":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"name","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"website","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"licenseUrl","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"licenseNotes","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"englishName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"language","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"textDirection","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"sha256","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"books","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CommentaryBook","relationName":"CommentaryToCommentaryBook","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"chapters","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CommentaryChapter","relationName":"CommentaryToCommentaryChapter","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"verses","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CommentaryChapterVerse","relationName":"CommentaryToCommentaryChapterVerse","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"profiles","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CommentaryProfile","relationName":"CommentaryToCommentaryProfile","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"EBibleSource":{"dbName":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"usfmZipUrl","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"usfmZipEtag","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"languageCode","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"title","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"shortTitle","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"textDirection","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"redistributable","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Boolean","isGenerated":false,"isUpdatedAt":false},{"name":"description","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"copyright","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"FCBHID","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"updateDate","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","isGenerated":false,"isUpdatedAt":false},{"name":"sourceDate","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","isGenerated":false,"isUpdatedAt":false},{"name":"oldTestamentBooks","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"oldTestamentChapters","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"oldTestamentVerses","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"newTestamentBooks","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"newTestamentChapters","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"newTestamentVerses","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"apocryphaBooks","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"apocryphaChapters","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"apocryphaVerses","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"translationId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"usfmDownloadDate","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","isGenerated":false,"isUpdatedAt":false},{"name":"usfmDownloadPath","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"sha256","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"InputFile":{"dbName":null,"fields":[{"name":"translationId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"name","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"format","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"sha256","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"sizeInBytes","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false}],"primaryKey":{"name":null,"fields":["translationId","name"]},"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"InputFileWarning":{"dbName":null,"fields":[{"name":"name","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"type","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"message","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false}],"primaryKey":{"name":null,"fields":["name","type","message"]},"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"Book":{"dbName":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"translationId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"translation","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Translation","relationName":"BookToTranslation","relationFromFields":["translationId"],"relationToFields":["id"],"isGenerated":false,"isUpdatedAt":false},{"name":"name","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"commonName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"title","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"order","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"numberOfChapters","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"isApocryphal","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Boolean","isGenerated":false,"isUpdatedAt":false},{"name":"sha256","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"chapters","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Chapter","relationName":"BookToChapter","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"verses","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"ChapterVerse","relationName":"BookToChapterVerse","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"footnotes","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"ChapterFootnote","relationName":"BookToChapterFootnote","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"audioUrls","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"ChapterAudioUrl","relationName":"BookToChapterAudioUrl","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":{"name":null,"fields":["translationId","id"]},"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CommentaryBook":{"dbName":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"commentaryId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"commentary","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Commentary","relationName":"CommentaryToCommentaryBook","relationFromFields":["commentaryId"],"relationToFields":["id"],"isGenerated":false,"isUpdatedAt":false},{"name":"name","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"commonName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"introduction","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"introductionSummary","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"order","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"numberOfChapters","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"sha256","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"chapters","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CommentaryChapter","relationName":"CommentaryBookToCommentaryChapter","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"verses","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CommentaryChapterVerse","relationName":"CommentaryBookToCommentaryChapterVerse","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":{"name":null,"fields":["commentaryId","id"]},"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CommentaryProfile":{"dbName":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"commentaryId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"commentary","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Commentary","relationName":"CommentaryToCommentaryProfile","relationFromFields":["commentaryId"],"relationToFields":["id"],"isGenerated":false,"isUpdatedAt":false},{"name":"subject","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"content","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"referenceBook","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"referenceChapter","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"referenceVerse","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"referenceEndChapter","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"referenceEndVerse","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"json","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"sha256","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false}],"primaryKey":{"name":null,"fields":["commentaryId","id"]},"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"Chapter":{"dbName":null,"fields":[{"name":"number","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"bookId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"book","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Book","relationName":"BookToChapter","relationFromFields":["translationId","bookId"],"relationToFields":["translationId","id"],"isGenerated":false,"isUpdatedAt":false},{"name":"translationId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"translation","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Translation","relationName":"ChapterToTranslation","relationFromFields":["translationId"],"relationToFields":["id"],"isGenerated":false,"isUpdatedAt":false},{"name":"json","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"sha256","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"verses","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"ChapterVerse","relationName":"ChapterToChapterVerse","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"footnotes","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"ChapterFootnote","relationName":"ChapterToChapterFootnote","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"audioUrls","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"ChapterAudioUrl","relationName":"ChapterToChapterAudioUrl","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":{"name":null,"fields":["translationId","bookId","number"]},"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CommentaryChapter":{"dbName":null,"fields":[{"name":"number","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"bookId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"book","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CommentaryBook","relationName":"CommentaryBookToCommentaryChapter","relationFromFields":["commentaryId","bookId"],"relationToFields":["commentaryId","id"],"isGenerated":false,"isUpdatedAt":false},{"name":"commentaryId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"commentary","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Commentary","relationName":"CommentaryToCommentaryChapter","relationFromFields":["commentaryId"],"relationToFields":["id"],"isGenerated":false,"isUpdatedAt":false},{"name":"introduction","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"json","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"sha256","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"verses","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CommentaryChapterVerse","relationName":"CommentaryChapterToCommentaryChapterVerse","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":{"name":null,"fields":["commentaryId","bookId","number"]},"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"ChapterAudioUrl":{"dbName":null,"fields":[{"name":"number","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"bookId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"book","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Book","relationName":"BookToChapterAudioUrl","relationFromFields":["translationId","bookId"],"relationToFields":["translationId","id"],"isGenerated":false,"isUpdatedAt":false},{"name":"translationId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"translation","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Translation","relationName":"ChapterAudioUrlToTranslation","relationFromFields":["translationId"],"relationToFields":["id"],"isGenerated":false,"isUpdatedAt":false},{"name":"chapter","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Chapter","relationName":"ChapterToChapterAudioUrl","relationFromFields":["translationId","bookId","number"],"relationToFields":["translationId","bookId","number"],"isGenerated":false,"isUpdatedAt":false},{"name":"reader","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"url","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false}],"primaryKey":{"name":null,"fields":["translationId","bookId","number","reader"]},"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"ChapterVerse":{"dbName":null,"fields":[{"name":"number","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"chapterNumber","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"chapter","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Chapter","relationName":"ChapterToChapterVerse","relationFromFields":["translationId","bookId","chapterNumber"],"relationToFields":["translationId","bookId","number"],"isGenerated":false,"isUpdatedAt":false},{"name":"bookId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"book","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Book","relationName":"BookToChapterVerse","relationFromFields":["translationId","bookId"],"relationToFields":["translationId","id"],"isGenerated":false,"isUpdatedAt":false},{"name":"translationId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"translation","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Translation","relationName":"ChapterVerseToTranslation","relationFromFields":["translationId"],"relationToFields":["id"],"isGenerated":false,"isUpdatedAt":false},{"name":"text","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"contentJson","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"sha256","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"footnotes","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"ChapterFootnote","relationName":"ChapterFootnoteToChapterVerse","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":{"name":null,"fields":["translationId","bookId","chapterNumber","number"]},"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CommentaryChapterVerse":{"dbName":null,"fields":[{"name":"number","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"chapterNumber","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"chapter","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CommentaryChapter","relationName":"CommentaryChapterToCommentaryChapterVerse","relationFromFields":["commentaryId","bookId","chapterNumber"],"relationToFields":["commentaryId","bookId","number"],"isGenerated":false,"isUpdatedAt":false},{"name":"bookId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"book","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CommentaryBook","relationName":"CommentaryBookToCommentaryChapterVerse","relationFromFields":["commentaryId","bookId"],"relationToFields":["commentaryId","id"],"isGenerated":false,"isUpdatedAt":false},{"name":"commentaryId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"commentary","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Commentary","relationName":"CommentaryToCommentaryChapterVerse","relationFromFields":["commentaryId"],"relationToFields":["id"],"isGenerated":false,"isUpdatedAt":false},{"name":"text","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"contentJson","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"sha256","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false}],"primaryKey":{"name":null,"fields":["commentaryId","bookId","chapterNumber","number"]},"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"ChapterFootnote":{"dbName":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"chapterNumber","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"chapter","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Chapter","relationName":"ChapterToChapterFootnote","relationFromFields":["translationId","bookId","chapterNumber"],"relationToFields":["translationId","bookId","number"],"isGenerated":false,"isUpdatedAt":false},{"name":"bookId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"book","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Book","relationName":"BookToChapterFootnote","relationFromFields":["translationId","bookId"],"relationToFields":["translationId","id"],"isGenerated":false,"isUpdatedAt":false},{"name":"translationId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"translation","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Translation","relationName":"ChapterFootnoteToTranslation","relationFromFields":["translationId"],"relationToFields":["id"],"isGenerated":false,"isUpdatedAt":false},{"name":"text","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"sha256","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"verseNumber","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"verse","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"ChapterVerse","relationName":"ChapterFootnoteToChapterVerse","relationFromFields":["translationId","bookId","chapterNumber","verseNumber"],"relationToFields":["translationId","bookId","chapterNumber","number"],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":{"name":null,"fields":["translationId","bookId","chapterNumber","id"]},"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"Dataset":{"dbName":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"name","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"website","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"licenseUrl","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"licenseNotes","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"englishName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"language","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"textDirection","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"sha256","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"books","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DatasetBook","relationName":"DatasetToDatasetBook","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"chapters","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DatasetChapter","relationName":"DatasetToDatasetChapter","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"verses","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DatasetChapterVerse","relationName":"DatasetToDatasetChapterVerse","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"references","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DatasetReference","relationName":"DatasetToDatasetReference","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"DatasetBook":{"dbName":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"datasetId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"dataset","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Dataset","relationName":"DatasetToDatasetBook","relationFromFields":["datasetId"],"relationToFields":["id"],"isGenerated":false,"isUpdatedAt":false},{"name":"order","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"numberOfChapters","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"sha256","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"chapters","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DatasetChapter","relationName":"DatasetBookToDatasetChapter","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"verses","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DatasetChapterVerse","relationName":"DatasetBookToDatasetChapterVerse","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"references","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DatasetReference","relationName":"DatasetBookToDatasetReference","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":{"name":null,"fields":["datasetId","id"]},"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"DatasetChapter":{"dbName":null,"fields":[{"name":"number","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"bookId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"book","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DatasetBook","relationName":"DatasetBookToDatasetChapter","relationFromFields":["datasetId","bookId"],"relationToFields":["datasetId","id"],"isGenerated":false,"isUpdatedAt":false},{"name":"datasetId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"dataset","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Dataset","relationName":"DatasetToDatasetChapter","relationFromFields":["datasetId"],"relationToFields":["id"],"isGenerated":false,"isUpdatedAt":false},{"name":"json","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"sha256","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"verses","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DatasetChapterVerse","relationName":"DatasetChapterToDatasetChapterVerse","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"references","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DatasetReference","relationName":"DatasetChapterToDatasetReference","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":{"name":null,"fields":["datasetId","bookId","number"]},"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"DatasetChapterVerse":{"dbName":null,"fields":[{"name":"number","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"chapterNumber","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"chapter","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DatasetChapter","relationName":"DatasetChapterToDatasetChapterVerse","relationFromFields":["datasetId","bookId","chapterNumber"],"relationToFields":["datasetId","bookId","number"],"isGenerated":false,"isUpdatedAt":false},{"name":"bookId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"book","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DatasetBook","relationName":"DatasetBookToDatasetChapterVerse","relationFromFields":["datasetId","bookId"],"relationToFields":["datasetId","id"],"isGenerated":false,"isUpdatedAt":false},{"name":"datasetId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"dataset","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Dataset","relationName":"DatasetToDatasetChapterVerse","relationFromFields":["datasetId"],"relationToFields":["id"],"isGenerated":false,"isUpdatedAt":false},{"name":"contentJson","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"sha256","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"references","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DatasetReference","relationName":"DatasetChapterVerseToDatasetReference","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":{"name":null,"fields":["datasetId","bookId","chapterNumber","number"]},"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"DatasetReference":{"dbName":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","default":{"name":"autoincrement","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"datasetId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"dataset","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Dataset","relationName":"DatasetToDatasetReference","relationFromFields":["datasetId"],"relationToFields":["id"],"isGenerated":false,"isUpdatedAt":false},{"name":"bookId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"book","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DatasetBook","relationName":"DatasetBookToDatasetReference","relationFromFields":["datasetId","bookId"],"relationToFields":["datasetId","id"],"isGenerated":false,"isUpdatedAt":false},{"name":"chapterNumber","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"chapter","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DatasetChapter","relationName":"DatasetChapterToDatasetReference","relationFromFields":["datasetId","bookId","chapterNumber"],"relationToFields":["datasetId","bookId","number"],"isGenerated":false,"isUpdatedAt":false},{"name":"verseNumber","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"verse","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DatasetChapterVerse","relationName":"DatasetChapterVerseToDatasetReference","relationFromFields":["datasetId","bookId","chapterNumber","verseNumber"],"relationToFields":["datasetId","bookId","chapterNumber","number"],"isGenerated":false,"isUpdatedAt":false},{"name":"referenceBookId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","isGenerated":false,"isUpdatedAt":false},{"name":"referenceChapter","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"referenceVerse","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"endVerseNumber","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false},{"name":"score","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false}},"enums":{},"types":{}}');
|
|
5715
5766
|
defineDmmfProperty2(exports2.Prisma, config2.runtimeDataModel);
|
|
5716
5767
|
config2.engineWasm = void 0;
|
|
5717
5768
|
var { warnEnvConflicts: warnEnvConflicts2 } = require_library();
|
|
@@ -5751,6 +5802,7 @@ __export(db_exports, {
|
|
|
5751
5802
|
getMigrationsPath: () => getMigrationsPath,
|
|
5752
5803
|
getPrismaDb: () => getPrismaDb,
|
|
5753
5804
|
importCommentaries: () => importCommentaries,
|
|
5805
|
+
importDatasetOutput: () => importDatasetOutput,
|
|
5754
5806
|
importFileBatch: () => importFileBatch,
|
|
5755
5807
|
importFiles: () => importFiles,
|
|
5756
5808
|
importTranslationBatch: () => importTranslationBatch,
|
|
@@ -5759,12 +5811,16 @@ __export(db_exports, {
|
|
|
5759
5811
|
insertCommentaryBooks: () => insertCommentaryBooks,
|
|
5760
5812
|
insertCommentaryContent: () => insertCommentaryContent,
|
|
5761
5813
|
insertCommentaryProfiles: () => insertCommentaryProfiles,
|
|
5814
|
+
insertDatasetBooks: () => insertDatasetBooks,
|
|
5815
|
+
insertDatasetContent: () => insertDatasetContent,
|
|
5816
|
+
insertDatasets: () => insertDatasets,
|
|
5762
5817
|
insertFileMetadata: () => insertFileMetadata,
|
|
5763
5818
|
insertTranslationBooks: () => insertTranslationBooks,
|
|
5764
5819
|
insertTranslationContent: () => insertTranslationContent,
|
|
5765
5820
|
insertTranslations: () => insertTranslations,
|
|
5766
5821
|
loadAndImportBatch: () => loadAndImportBatch,
|
|
5767
5822
|
loadCommentaryDatasets: () => loadCommentaryDatasets,
|
|
5823
|
+
loadDatasetDatasets: () => loadDatasetDatasets,
|
|
5768
5824
|
loadDatasets: () => loadDatasets,
|
|
5769
5825
|
loadTranslationDatasets: () => loadTranslationDatasets,
|
|
5770
5826
|
serializeDatasets: () => serializeDatasets,
|
|
@@ -12680,6 +12736,115 @@ function generateApiForDataset(dataset, options = {}) {
|
|
|
12680
12736
|
api.commentaryBooks.push(commentaryBooks);
|
|
12681
12737
|
api.commentaryProfiles.push(commentaryProfiles);
|
|
12682
12738
|
}
|
|
12739
|
+
for (let { books, ...datasetInfo } of dataset.datasets ?? []) {
|
|
12740
|
+
const apiDataset = {
|
|
12741
|
+
...datasetInfo,
|
|
12742
|
+
availableFormats: ["json"],
|
|
12743
|
+
listOfBooksApiLink: listOfDatasetBooksApiLink(
|
|
12744
|
+
datasetInfo.id,
|
|
12745
|
+
apiPathPrefix
|
|
12746
|
+
),
|
|
12747
|
+
numberOfBooks: books.length,
|
|
12748
|
+
totalNumberOfChapters: 0,
|
|
12749
|
+
totalNumberOfVerses: 0,
|
|
12750
|
+
totalNumberOfReferences: 0,
|
|
12751
|
+
languageName: getNativeName2 ? getNativeName2(datasetInfo.language) ?? void 0 : void 0,
|
|
12752
|
+
languageEnglishName: getEnglishName2 ? getEnglishName2(datasetInfo.language) ?? void 0 : void 0
|
|
12753
|
+
};
|
|
12754
|
+
const datasetBooks = {
|
|
12755
|
+
dataset: apiDataset,
|
|
12756
|
+
books: []
|
|
12757
|
+
};
|
|
12758
|
+
let datasetChapters = [];
|
|
12759
|
+
for (let { chapters, ...book } of books) {
|
|
12760
|
+
const firstChapterNumber = chapters[0]?.chapter.number ?? null;
|
|
12761
|
+
const lastChapterNumber = chapters[chapters.length - 1]?.chapter.number ?? null;
|
|
12762
|
+
const apiBook = {
|
|
12763
|
+
...book,
|
|
12764
|
+
firstChapterNumber,
|
|
12765
|
+
firstChapterApiLink: bookDatasetChapterApiLink(
|
|
12766
|
+
datasetInfo.id,
|
|
12767
|
+
book.id,
|
|
12768
|
+
firstChapterNumber,
|
|
12769
|
+
"json",
|
|
12770
|
+
apiPathPrefix
|
|
12771
|
+
),
|
|
12772
|
+
lastChapterNumber,
|
|
12773
|
+
lastChapterApiLink: bookDatasetChapterApiLink(
|
|
12774
|
+
datasetInfo.id,
|
|
12775
|
+
book.id,
|
|
12776
|
+
lastChapterNumber,
|
|
12777
|
+
"json",
|
|
12778
|
+
apiPathPrefix
|
|
12779
|
+
),
|
|
12780
|
+
numberOfChapters: chapters.length,
|
|
12781
|
+
totalNumberOfVerses: 0,
|
|
12782
|
+
totalNumberOfReferences: 0
|
|
12783
|
+
};
|
|
12784
|
+
for (let { chapter } of chapters) {
|
|
12785
|
+
const apiBookChapter = {
|
|
12786
|
+
dataset: apiDataset,
|
|
12787
|
+
book: apiBook,
|
|
12788
|
+
chapter,
|
|
12789
|
+
thisChapterLink: bookDatasetChapterApiLink(
|
|
12790
|
+
datasetInfo.id,
|
|
12791
|
+
book.id,
|
|
12792
|
+
chapter.number,
|
|
12793
|
+
"json",
|
|
12794
|
+
apiPathPrefix
|
|
12795
|
+
),
|
|
12796
|
+
nextChapterApiLink: null,
|
|
12797
|
+
previousChapterApiLink: null,
|
|
12798
|
+
numberOfVerses: chapter.content.length,
|
|
12799
|
+
numberOfReferences: 0
|
|
12800
|
+
};
|
|
12801
|
+
for (let verse of chapter.content) {
|
|
12802
|
+
apiBookChapter.numberOfReferences += verse.references.length;
|
|
12803
|
+
}
|
|
12804
|
+
apiBook.totalNumberOfVerses += apiBookChapter.numberOfVerses;
|
|
12805
|
+
apiBook.totalNumberOfReferences += apiBookChapter.numberOfReferences;
|
|
12806
|
+
datasetChapters.push(apiBookChapter);
|
|
12807
|
+
if (!api.datasetBookChapters) {
|
|
12808
|
+
api.datasetBookChapters = [];
|
|
12809
|
+
}
|
|
12810
|
+
api.datasetBookChapters.push(apiBookChapter);
|
|
12811
|
+
}
|
|
12812
|
+
datasetBooks.books.push(apiBook);
|
|
12813
|
+
apiDataset.totalNumberOfChapters += apiBook.numberOfChapters;
|
|
12814
|
+
apiDataset.totalNumberOfVerses += apiBook.totalNumberOfVerses;
|
|
12815
|
+
apiDataset.totalNumberOfReferences += apiBook.totalNumberOfReferences;
|
|
12816
|
+
}
|
|
12817
|
+
for (let i = 0; i < datasetChapters.length; i++) {
|
|
12818
|
+
if (i > 0) {
|
|
12819
|
+
datasetChapters[i].previousChapterApiLink = bookDatasetChapterApiLink(
|
|
12820
|
+
datasetInfo.id,
|
|
12821
|
+
datasetChapters[i - 1].book.id,
|
|
12822
|
+
datasetChapters[i - 1].chapter.number,
|
|
12823
|
+
"json",
|
|
12824
|
+
apiPathPrefix
|
|
12825
|
+
);
|
|
12826
|
+
}
|
|
12827
|
+
if (i < datasetChapters.length - 1) {
|
|
12828
|
+
datasetChapters[i].nextChapterApiLink = bookDatasetChapterApiLink(
|
|
12829
|
+
datasetInfo.id,
|
|
12830
|
+
datasetChapters[i + 1].book.id,
|
|
12831
|
+
datasetChapters[i + 1].chapter.number,
|
|
12832
|
+
"json",
|
|
12833
|
+
apiPathPrefix
|
|
12834
|
+
);
|
|
12835
|
+
}
|
|
12836
|
+
}
|
|
12837
|
+
if (!api.availableDatasets) {
|
|
12838
|
+
api.availableDatasets = {
|
|
12839
|
+
datasets: []
|
|
12840
|
+
};
|
|
12841
|
+
}
|
|
12842
|
+
api.availableDatasets.datasets.push(apiDataset);
|
|
12843
|
+
if (!api.datasetBooks) {
|
|
12844
|
+
api.datasetBooks = [];
|
|
12845
|
+
}
|
|
12846
|
+
api.datasetBooks.push(datasetBooks);
|
|
12847
|
+
}
|
|
12683
12848
|
return api;
|
|
12684
12849
|
function getBookLink(book) {
|
|
12685
12850
|
return useCommonName ? book.commonName : book.id;
|
|
@@ -12739,6 +12904,29 @@ function generateFilesForApi(api) {
|
|
|
12739
12904
|
for (let bookChapter of api.commentaryBookChapters) {
|
|
12740
12905
|
files.push(jsonFile(bookChapter.thisChapterLink, bookChapter));
|
|
12741
12906
|
}
|
|
12907
|
+
if (api.availableDatasets) {
|
|
12908
|
+
files.push(
|
|
12909
|
+
jsonFile(
|
|
12910
|
+
`${api.pathPrefix}/api/available_datasets.json`,
|
|
12911
|
+
api.availableDatasets,
|
|
12912
|
+
true
|
|
12913
|
+
)
|
|
12914
|
+
);
|
|
12915
|
+
}
|
|
12916
|
+
if (api.datasetBooks) {
|
|
12917
|
+
for (let datasetBook of api.datasetBooks) {
|
|
12918
|
+
files.push(
|
|
12919
|
+
jsonFile(datasetBook.dataset.listOfBooksApiLink, datasetBook)
|
|
12920
|
+
);
|
|
12921
|
+
}
|
|
12922
|
+
}
|
|
12923
|
+
if (api.datasetBookChapters) {
|
|
12924
|
+
for (let datasetBookChapter of api.datasetBookChapters) {
|
|
12925
|
+
files.push(
|
|
12926
|
+
jsonFile(datasetBookChapter.thisChapterLink, datasetBookChapter)
|
|
12927
|
+
);
|
|
12928
|
+
}
|
|
12929
|
+
}
|
|
12742
12930
|
return files;
|
|
12743
12931
|
}
|
|
12744
12932
|
async function* generateOutputFilesFromDatasets(datasets, options) {
|
|
@@ -12754,6 +12942,9 @@ function listOfBooksApiLink(translationId, prefix = "") {
|
|
|
12754
12942
|
function listOfCommentaryBooksApiLink(commentaryId, prefix = "") {
|
|
12755
12943
|
return `${prefix}/api/c/${commentaryId}/books.json`;
|
|
12756
12944
|
}
|
|
12945
|
+
function listOfDatasetBooksApiLink(datasetId, prefix = "") {
|
|
12946
|
+
return `${prefix}/api/d/${datasetId}/books.json`;
|
|
12947
|
+
}
|
|
12757
12948
|
function bookChapterApiLink(translationId, commonName, chapterNumber, extension, prefix = "") {
|
|
12758
12949
|
return `${prefix}/api/${translationId}/${replaceSpacesWithUnderscores(
|
|
12759
12950
|
commonName
|
|
@@ -12769,6 +12960,11 @@ function bookChapterAudioApiLink(translationId, bookId, chapterNumber, reader, p
|
|
|
12769
12960
|
bookId
|
|
12770
12961
|
)}/${chapterNumber}.${reader}.mp3`;
|
|
12771
12962
|
}
|
|
12963
|
+
function bookDatasetChapterApiLink(translationId, commonName, chapterNumber, extension, prefix = "") {
|
|
12964
|
+
return `${prefix}/api/d/${translationId}/${replaceSpacesWithUnderscores(
|
|
12965
|
+
commonName
|
|
12966
|
+
)}/${chapterNumber}.${extension}`;
|
|
12967
|
+
}
|
|
12772
12968
|
function profilesCommentaryApiLink(translationId, extension, prefix = "") {
|
|
12773
12969
|
return `${prefix}/api/c/${translationId}/profiles.${extension}`;
|
|
12774
12970
|
}
|
|
@@ -12802,6 +12998,7 @@ __export(files_exports, {
|
|
|
12802
12998
|
hashInputFiles: () => hashInputFiles,
|
|
12803
12999
|
loadCommentariesFiles: () => loadCommentariesFiles,
|
|
12804
13000
|
loadCommentaryFiles: () => loadCommentaryFiles,
|
|
13001
|
+
loadDatasetsFromDirectory: () => loadDatasetsFromDirectory,
|
|
12805
13002
|
loadTranslationFiles: () => loadTranslationFiles,
|
|
12806
13003
|
loadTranslationsFiles: () => loadTranslationsFiles,
|
|
12807
13004
|
serializeFile: () => serializeFile,
|
|
@@ -13002,6 +13199,81 @@ async function loadCommentaryFiles(commentary) {
|
|
|
13002
13199
|
}
|
|
13003
13200
|
return await Promise.all(promises);
|
|
13004
13201
|
}
|
|
13202
|
+
async function loadDatasetsFromDirectory(dir) {
|
|
13203
|
+
const logger2 = log_exports.getLogger();
|
|
13204
|
+
let datasets = [];
|
|
13205
|
+
const apiDir = path.resolve(dir, "api");
|
|
13206
|
+
const availableDatasets = JSON.parse(
|
|
13207
|
+
await (0, import_promises.readFile)(path.resolve(apiDir, "available_datasets.json"), "utf-8")
|
|
13208
|
+
);
|
|
13209
|
+
datasets.push(
|
|
13210
|
+
...availableDatasets.datasets.map((d) => ({
|
|
13211
|
+
...d,
|
|
13212
|
+
books: []
|
|
13213
|
+
}))
|
|
13214
|
+
);
|
|
13215
|
+
for (let dataset of datasets) {
|
|
13216
|
+
const datasetDir = path.resolve(apiDir, "d", dataset.id);
|
|
13217
|
+
const booksList = await (0, import_promises.readdir)(datasetDir);
|
|
13218
|
+
for (let bookId of booksList) {
|
|
13219
|
+
if (bookId === "books.json") {
|
|
13220
|
+
continue;
|
|
13221
|
+
}
|
|
13222
|
+
const id2 = getBookId(bookId);
|
|
13223
|
+
if (!id2) {
|
|
13224
|
+
logger2.warn(`Unknown book directory: ${bookId}`);
|
|
13225
|
+
continue;
|
|
13226
|
+
}
|
|
13227
|
+
const book = {
|
|
13228
|
+
id: id2,
|
|
13229
|
+
chapters: [],
|
|
13230
|
+
order: bookOrderMap.get(id2)
|
|
13231
|
+
};
|
|
13232
|
+
dataset.books.push(book);
|
|
13233
|
+
const bookDir = path.resolve(datasetDir, bookId);
|
|
13234
|
+
const chapters = await (0, import_promises.readdir)(bookDir);
|
|
13235
|
+
for (let chapterFile of chapters) {
|
|
13236
|
+
const chapterJson = JSON.parse(
|
|
13237
|
+
await (0, import_promises.readFile)(path.resolve(bookDir, chapterFile), "utf-8")
|
|
13238
|
+
);
|
|
13239
|
+
if (chapterJson.chapter) {
|
|
13240
|
+
book.chapters.push({
|
|
13241
|
+
chapter: chapterJson.chapter
|
|
13242
|
+
});
|
|
13243
|
+
} else if (chapterJson.content) {
|
|
13244
|
+
const chapterNumber = parseInt(
|
|
13245
|
+
(0, import_path.basename)(chapterFile, (0, import_path.extname)(chapterFile))
|
|
13246
|
+
);
|
|
13247
|
+
if (isNaN(chapterNumber)) {
|
|
13248
|
+
logger2.warn(`Unknown chapter format: ${chapterFile}`);
|
|
13249
|
+
continue;
|
|
13250
|
+
}
|
|
13251
|
+
book.chapters.push({
|
|
13252
|
+
chapter: {
|
|
13253
|
+
number: chapterNumber,
|
|
13254
|
+
content: chapterJson.content.map((c) => ({
|
|
13255
|
+
verse: c.verse,
|
|
13256
|
+
references: (c.references ?? []).map(
|
|
13257
|
+
(ref) => ({
|
|
13258
|
+
book: ref.book,
|
|
13259
|
+
chapter: ref.chapter,
|
|
13260
|
+
verse: ref.verse,
|
|
13261
|
+
endVerse: ref.endVerse,
|
|
13262
|
+
score: ref.score ?? ref.votes
|
|
13263
|
+
})
|
|
13264
|
+
)
|
|
13265
|
+
}))
|
|
13266
|
+
}
|
|
13267
|
+
});
|
|
13268
|
+
} else {
|
|
13269
|
+
logger2.warn(`Unknown chapter format: ${chapterFile}`);
|
|
13270
|
+
continue;
|
|
13271
|
+
}
|
|
13272
|
+
}
|
|
13273
|
+
}
|
|
13274
|
+
}
|
|
13275
|
+
return datasets;
|
|
13276
|
+
}
|
|
13005
13277
|
async function loadTranslationMetadata(translation) {
|
|
13006
13278
|
const logger2 = log_exports.getLogger();
|
|
13007
13279
|
const metadataTs = path.resolve(translation, "metadata.ts");
|
|
@@ -13235,14 +13507,23 @@ async function importFileBatch(db, files, parser, overwrite) {
|
|
|
13235
13507
|
);
|
|
13236
13508
|
logger2.log("Generated", output.translations.length, "translations");
|
|
13237
13509
|
logger2.log("Generated", output.commentaries.length, "commentaries");
|
|
13510
|
+
importDatasetOutput(db, output);
|
|
13511
|
+
insertFileMetadata(db, changedFiles);
|
|
13512
|
+
}
|
|
13513
|
+
function importDatasetOutput(db, output) {
|
|
13514
|
+
const logger2 = log_exports.getLogger();
|
|
13238
13515
|
insertTranslations(db, output.translations);
|
|
13239
13516
|
updateTranslationHashes(db, output.translations);
|
|
13240
13517
|
insertCommentaries(db, output.commentaries);
|
|
13241
13518
|
updateCommentaryHashes(db, output.commentaries);
|
|
13242
|
-
|
|
13519
|
+
insertDatasets(db, output.datasets ?? []);
|
|
13520
|
+
updateDatasetHashes(db, output.datasets ?? []);
|
|
13243
13521
|
insertWarningMetadata(db, output.parseMessages);
|
|
13244
13522
|
logger2.log(`Inserted ${output.translations.length} translations into DB`);
|
|
13245
13523
|
logger2.log(`Inserted ${output.commentaries.length} commentaries into DB`);
|
|
13524
|
+
if (output.datasets) {
|
|
13525
|
+
logger2.log(`Inserted ${output.datasets.length} datasets into DB`);
|
|
13526
|
+
}
|
|
13246
13527
|
logger2.log(
|
|
13247
13528
|
`Produced ${output.parseMessages?.length ?? 0} warnings/errors.`
|
|
13248
13529
|
);
|
|
@@ -13955,6 +14236,248 @@ function updateCommentaryHashes(db, commentaries) {
|
|
|
13955
14236
|
updateCommentaries();
|
|
13956
14237
|
logger2.log(`Updated.`);
|
|
13957
14238
|
}
|
|
14239
|
+
function insertDatasets(db, datasets) {
|
|
14240
|
+
const translationUpsert = db.prepare(`INSERT INTO Dataset(
|
|
14241
|
+
id,
|
|
14242
|
+
name,
|
|
14243
|
+
language,
|
|
14244
|
+
textDirection,
|
|
14245
|
+
licenseUrl,
|
|
14246
|
+
licenseNotes,
|
|
14247
|
+
website,
|
|
14248
|
+
englishName
|
|
14249
|
+
) VALUES (
|
|
14250
|
+
@id,
|
|
14251
|
+
@name,
|
|
14252
|
+
@language,
|
|
14253
|
+
@textDirection,
|
|
14254
|
+
@licenseUrl,
|
|
14255
|
+
@licenseNotes,
|
|
14256
|
+
@website,
|
|
14257
|
+
@englishName
|
|
14258
|
+
) ON CONFLICT(id) DO
|
|
14259
|
+
UPDATE SET
|
|
14260
|
+
name=excluded.name,
|
|
14261
|
+
language=excluded.language,
|
|
14262
|
+
textDirection=excluded.textDirection,
|
|
14263
|
+
licenseUrl=excluded.licenseUrl,
|
|
14264
|
+
licenseNotes=excluded.licenseNotes,
|
|
14265
|
+
website=excluded.website,
|
|
14266
|
+
englishName=excluded.englishName;`);
|
|
14267
|
+
const insertManyTranslations = db.transaction(
|
|
14268
|
+
(datasets2) => {
|
|
14269
|
+
for (let dataset of datasets2) {
|
|
14270
|
+
translationUpsert.run({
|
|
14271
|
+
id: dataset.id,
|
|
14272
|
+
name: dataset.name,
|
|
14273
|
+
language: dataset.language,
|
|
14274
|
+
textDirection: dataset.textDirection,
|
|
14275
|
+
licenseUrl: dataset.licenseUrl,
|
|
14276
|
+
licenseNotes: dataset.licenseNotes,
|
|
14277
|
+
website: dataset.website,
|
|
14278
|
+
englishName: dataset.englishName
|
|
14279
|
+
});
|
|
14280
|
+
}
|
|
14281
|
+
}
|
|
14282
|
+
);
|
|
14283
|
+
insertManyTranslations(datasets);
|
|
14284
|
+
const deleteReferences = db.prepare(`DELETE FROM DatasetReference
|
|
14285
|
+
WHERE datasetId = @datasetId;`);
|
|
14286
|
+
for (let dataset of datasets) {
|
|
14287
|
+
deleteReferences.run({
|
|
14288
|
+
datasetId: dataset.id
|
|
14289
|
+
});
|
|
14290
|
+
insertDatasetBooks(db, dataset, dataset.books);
|
|
14291
|
+
}
|
|
14292
|
+
}
|
|
14293
|
+
function insertDatasetBooks(db, dataset, datasetBooks) {
|
|
14294
|
+
const bookUpsert = db.prepare(`INSERT INTO DatasetBook(
|
|
14295
|
+
id,
|
|
14296
|
+
datasetId,
|
|
14297
|
+
numberOfChapters,
|
|
14298
|
+
\`order\`
|
|
14299
|
+
) VALUES (
|
|
14300
|
+
@id,
|
|
14301
|
+
@datasetId,
|
|
14302
|
+
@numberOfChapters,
|
|
14303
|
+
@bookOrder
|
|
14304
|
+
) ON CONFLICT(id,datasetId) DO
|
|
14305
|
+
UPDATE SET
|
|
14306
|
+
numberOfChapters=excluded.numberOfChapters;`);
|
|
14307
|
+
const insertMany = db.transaction((books) => {
|
|
14308
|
+
for (let book of books) {
|
|
14309
|
+
if (!book) {
|
|
14310
|
+
continue;
|
|
14311
|
+
}
|
|
14312
|
+
bookUpsert.run({
|
|
14313
|
+
id: book.id,
|
|
14314
|
+
datasetId: dataset.id,
|
|
14315
|
+
numberOfChapters: book.chapters.length,
|
|
14316
|
+
bookOrder: book.order ?? 9999
|
|
14317
|
+
});
|
|
14318
|
+
}
|
|
14319
|
+
});
|
|
14320
|
+
insertMany(datasetBooks);
|
|
14321
|
+
for (let book of datasetBooks) {
|
|
14322
|
+
insertDatasetContent(db, dataset, book, book.chapters);
|
|
14323
|
+
}
|
|
14324
|
+
}
|
|
14325
|
+
function insertDatasetContent(db, dataset, book, chapters) {
|
|
14326
|
+
const logger2 = log_exports.getLogger();
|
|
14327
|
+
const chapterUpsert = db.prepare(`INSERT INTO DatasetChapter(
|
|
14328
|
+
datasetId,
|
|
14329
|
+
bookId,
|
|
14330
|
+
number,
|
|
14331
|
+
json
|
|
14332
|
+
) VALUES (
|
|
14333
|
+
@datasetId,
|
|
14334
|
+
@bookId,
|
|
14335
|
+
@number,
|
|
14336
|
+
@json
|
|
14337
|
+
) ON CONFLICT(datasetId,bookId,number) DO
|
|
14338
|
+
UPDATE SET
|
|
14339
|
+
json=excluded.json;`);
|
|
14340
|
+
const verseUpsert = db.prepare(`INSERT INTO DatasetChapterVerse(
|
|
14341
|
+
datasetId,
|
|
14342
|
+
bookId,
|
|
14343
|
+
chapterNumber,
|
|
14344
|
+
number,
|
|
14345
|
+
contentJson
|
|
14346
|
+
) VALUES (
|
|
14347
|
+
@datasetId,
|
|
14348
|
+
@bookId,
|
|
14349
|
+
@chapterNumber,
|
|
14350
|
+
@number,
|
|
14351
|
+
@contentJson
|
|
14352
|
+
) ON CONFLICT(datasetId,bookId,chapterNumber,number) DO
|
|
14353
|
+
UPDATE SET
|
|
14354
|
+
contentJson=excluded.contentJson;`);
|
|
14355
|
+
const referenceInsert = db.prepare(`INSERT INTO DatasetReference(
|
|
14356
|
+
datasetId,
|
|
14357
|
+
bookId,
|
|
14358
|
+
chapterNumber,
|
|
14359
|
+
verseNumber,
|
|
14360
|
+
referenceBookId,
|
|
14361
|
+
referenceChapter,
|
|
14362
|
+
referenceVerse,
|
|
14363
|
+
endVerseNumber,
|
|
14364
|
+
score
|
|
14365
|
+
) VALUES (
|
|
14366
|
+
@datasetId,
|
|
14367
|
+
@bookId,
|
|
14368
|
+
@chapterNumber,
|
|
14369
|
+
@verseNumber,
|
|
14370
|
+
@referenceBookId,
|
|
14371
|
+
@referenceChapter,
|
|
14372
|
+
@referenceVerse,
|
|
14373
|
+
@endVerseNumber,
|
|
14374
|
+
@score
|
|
14375
|
+
);`);
|
|
14376
|
+
const insertChaptersAndVerses = db.transaction(() => {
|
|
14377
|
+
for (let chapter of chapters) {
|
|
14378
|
+
chapterUpsert.run({
|
|
14379
|
+
datasetId: dataset.id,
|
|
14380
|
+
bookId: book.id,
|
|
14381
|
+
number: chapter.chapter.number,
|
|
14382
|
+
json: JSON.stringify(chapter.chapter)
|
|
14383
|
+
});
|
|
14384
|
+
for (let verse of chapter.chapter.content) {
|
|
14385
|
+
verseUpsert.run({
|
|
14386
|
+
datasetId: dataset.id,
|
|
14387
|
+
bookId: book.id,
|
|
14388
|
+
chapterNumber: chapter.chapter.number,
|
|
14389
|
+
number: verse.verse,
|
|
14390
|
+
contentJson: JSON.stringify(verse)
|
|
14391
|
+
});
|
|
14392
|
+
for (let ref of verse.references) {
|
|
14393
|
+
referenceInsert.run({
|
|
14394
|
+
datasetId: dataset.id,
|
|
14395
|
+
bookId: book.id,
|
|
14396
|
+
chapterNumber: chapter.chapter.number,
|
|
14397
|
+
verseNumber: verse.verse,
|
|
14398
|
+
referenceBookId: ref.book,
|
|
14399
|
+
referenceChapter: ref.chapter,
|
|
14400
|
+
referenceVerse: ref.verse,
|
|
14401
|
+
endVerseNumber: ref.endVerse ?? null,
|
|
14402
|
+
score: ref.score ?? null
|
|
14403
|
+
});
|
|
14404
|
+
}
|
|
14405
|
+
}
|
|
14406
|
+
}
|
|
14407
|
+
});
|
|
14408
|
+
insertChaptersAndVerses();
|
|
14409
|
+
}
|
|
14410
|
+
function updateDatasetHashes(db, datasets) {
|
|
14411
|
+
const logger2 = log_exports.getLogger();
|
|
14412
|
+
logger2.log(`Updating hashes for ${datasets.length} datasets.`);
|
|
14413
|
+
const updateTranslationHash = db.prepare(
|
|
14414
|
+
`UPDATE Dataset SET sha256 = @sha256 WHERE id = @datasetId;`
|
|
14415
|
+
);
|
|
14416
|
+
const updateBookHash = db.prepare(
|
|
14417
|
+
`UPDATE DatasetBook SET sha256 = @sha256 WHERE datasetId = @datasetId AND id = @bookId;`
|
|
14418
|
+
);
|
|
14419
|
+
const updateChapterHash = db.prepare(
|
|
14420
|
+
`UPDATE DatasetChapter SET sha256 = @sha256 WHERE datasetId = @datasetId AND bookId = @bookId AND number = @chapterNumber;`
|
|
14421
|
+
);
|
|
14422
|
+
const getBooks = db.prepare(
|
|
14423
|
+
"SELECT * FROM DatasetBook WHERE datasetId = ?;"
|
|
14424
|
+
);
|
|
14425
|
+
const getChapters = db.prepare(
|
|
14426
|
+
"SELECT * FROM DatasetChapter WHERE datasetId = @datasetId AND bookId = @bookId;"
|
|
14427
|
+
);
|
|
14428
|
+
for (let dataset of datasets) {
|
|
14429
|
+
const commentarySha = (0, import_hash2.sha256)().update(dataset.id).update(dataset.name).update(dataset.language).update(dataset.licenseUrl).update(dataset.textDirection).update(dataset.website).update(dataset.englishName);
|
|
14430
|
+
const books = getBooks.all(dataset.id);
|
|
14431
|
+
for (let book of books) {
|
|
14432
|
+
const chapters = getChapters.all({
|
|
14433
|
+
datasetId: dataset.id,
|
|
14434
|
+
bookId: book.id
|
|
14435
|
+
});
|
|
14436
|
+
const bookSha = (0, import_hash2.sha256)().update(book.datasetId).update(book.id).update(book.numberOfChapters).update(book.order);
|
|
14437
|
+
for (let chapter of chapters) {
|
|
14438
|
+
const hash2 = (0, import_hash2.sha256)().update(chapter.datasetId).update(chapter.bookId).update(chapter.number).update(chapter.json).digest("hex");
|
|
14439
|
+
chapter.sha256 = hash2;
|
|
14440
|
+
bookSha.update(hash2);
|
|
14441
|
+
}
|
|
14442
|
+
const updateChapters = db.transaction(() => {
|
|
14443
|
+
for (let chapter of chapters) {
|
|
14444
|
+
updateChapterHash.run({
|
|
14445
|
+
sha256: chapter.sha256,
|
|
14446
|
+
datasetId: chapter.datasetId,
|
|
14447
|
+
bookId: chapter.bookId,
|
|
14448
|
+
chapterNumber: chapter.number
|
|
14449
|
+
});
|
|
14450
|
+
}
|
|
14451
|
+
});
|
|
14452
|
+
updateChapters();
|
|
14453
|
+
const bookHash = bookSha.digest("hex");
|
|
14454
|
+
book.sha256 = bookHash;
|
|
14455
|
+
commentarySha.update(bookHash);
|
|
14456
|
+
}
|
|
14457
|
+
const updateBooks = db.transaction(() => {
|
|
14458
|
+
for (let book of books) {
|
|
14459
|
+
updateBookHash.run({
|
|
14460
|
+
sha256: book.sha256,
|
|
14461
|
+
datasetId: book.datasetId,
|
|
14462
|
+
bookId: book.id
|
|
14463
|
+
});
|
|
14464
|
+
}
|
|
14465
|
+
});
|
|
14466
|
+
updateBooks();
|
|
14467
|
+
const hash = commentarySha.digest("hex");
|
|
14468
|
+
dataset.sha256 = hash;
|
|
14469
|
+
}
|
|
14470
|
+
const updateDatasets = db.transaction(() => {
|
|
14471
|
+
for (let dataset of datasets) {
|
|
14472
|
+
updateTranslationHash.run({
|
|
14473
|
+
sha256: dataset.sha256,
|
|
14474
|
+
datasetId: dataset.id
|
|
14475
|
+
});
|
|
14476
|
+
}
|
|
14477
|
+
});
|
|
14478
|
+
updateDatasets();
|
|
14479
|
+
logger2.log(`Updated.`);
|
|
14480
|
+
}
|
|
13958
14481
|
function getDbPathFromDir(dir) {
|
|
13959
14482
|
dir = dir || process.cwd();
|
|
13960
14483
|
return import_path2.default.resolve(dir, "bible-api.db");
|
|
@@ -14038,6 +14561,7 @@ async function getDbFromPath(dbPath) {
|
|
|
14038
14561
|
async function* loadDatasets(db, perBatch = 50, translationsToLoad) {
|
|
14039
14562
|
yield* loadTranslationDatasets(db, perBatch, translationsToLoad);
|
|
14040
14563
|
yield* loadCommentaryDatasets(db, perBatch, translationsToLoad);
|
|
14564
|
+
yield* loadDatasetDatasets(db, perBatch, translationsToLoad);
|
|
14041
14565
|
}
|
|
14042
14566
|
async function* loadTranslationDatasets(db, translationsPerBatch = 50, translationsToLoad) {
|
|
14043
14567
|
const logger2 = log_exports.getLogger();
|
|
@@ -14238,6 +14762,84 @@ async function* loadCommentaryDatasets(db, perBatch = 50, commentariesToLoad) {
|
|
|
14238
14762
|
offset += pageSize;
|
|
14239
14763
|
}
|
|
14240
14764
|
}
|
|
14765
|
+
async function* loadDatasetDatasets(db, perBatch = 50, datasetsToLoad) {
|
|
14766
|
+
const logger2 = log_exports.getLogger();
|
|
14767
|
+
let offset = 0;
|
|
14768
|
+
let pageSize = perBatch;
|
|
14769
|
+
logger2.log("Generating dataset datasets in batches of", pageSize);
|
|
14770
|
+
const totalDatasets = await db.dataset.count();
|
|
14771
|
+
const totalBatches = Math.ceil(totalDatasets / pageSize);
|
|
14772
|
+
let batchNumber = 1;
|
|
14773
|
+
while (true) {
|
|
14774
|
+
logger2.log("Generating dataset batch", batchNumber, "of", totalBatches);
|
|
14775
|
+
batchNumber++;
|
|
14776
|
+
const datasetQuery = {
|
|
14777
|
+
skip: offset,
|
|
14778
|
+
take: pageSize
|
|
14779
|
+
};
|
|
14780
|
+
if (datasetsToLoad && datasetsToLoad.length > 0) {
|
|
14781
|
+
datasetQuery.where = {
|
|
14782
|
+
id: {
|
|
14783
|
+
in: datasetsToLoad
|
|
14784
|
+
}
|
|
14785
|
+
};
|
|
14786
|
+
}
|
|
14787
|
+
const datasets = await db.dataset.findMany(datasetQuery);
|
|
14788
|
+
if (datasets.length <= 0) {
|
|
14789
|
+
break;
|
|
14790
|
+
}
|
|
14791
|
+
const output = {
|
|
14792
|
+
translations: [],
|
|
14793
|
+
commentaries: [],
|
|
14794
|
+
datasets: []
|
|
14795
|
+
};
|
|
14796
|
+
for (let dataset of datasets) {
|
|
14797
|
+
const datasetDataset = {
|
|
14798
|
+
...dataset,
|
|
14799
|
+
textDirection: dataset.textDirection,
|
|
14800
|
+
books: []
|
|
14801
|
+
};
|
|
14802
|
+
output.datasets.push(datasetDataset);
|
|
14803
|
+
const books = await db.datasetBook.findMany({
|
|
14804
|
+
where: {
|
|
14805
|
+
datasetId: dataset.id
|
|
14806
|
+
},
|
|
14807
|
+
orderBy: {
|
|
14808
|
+
order: "asc"
|
|
14809
|
+
}
|
|
14810
|
+
});
|
|
14811
|
+
for (let book of books) {
|
|
14812
|
+
const chapters = await db.datasetChapter.findMany({
|
|
14813
|
+
where: {
|
|
14814
|
+
datasetId: dataset.id,
|
|
14815
|
+
bookId: book.id
|
|
14816
|
+
},
|
|
14817
|
+
orderBy: {
|
|
14818
|
+
number: "asc"
|
|
14819
|
+
}
|
|
14820
|
+
});
|
|
14821
|
+
const bookChapters = chapters.map(
|
|
14822
|
+
(chapter) => {
|
|
14823
|
+
const bookChapter = {
|
|
14824
|
+
chapter: JSON.parse(chapter.json)
|
|
14825
|
+
};
|
|
14826
|
+
for (let verse of bookChapter.chapter.content) {
|
|
14827
|
+
verse.references.sort((a, b2) => b2.score - a.score);
|
|
14828
|
+
}
|
|
14829
|
+
return bookChapter;
|
|
14830
|
+
}
|
|
14831
|
+
);
|
|
14832
|
+
const datasetBook = {
|
|
14833
|
+
...book,
|
|
14834
|
+
chapters: bookChapters
|
|
14835
|
+
};
|
|
14836
|
+
datasetDataset.books.push(datasetBook);
|
|
14837
|
+
}
|
|
14838
|
+
}
|
|
14839
|
+
yield output;
|
|
14840
|
+
offset += pageSize;
|
|
14841
|
+
}
|
|
14842
|
+
}
|
|
14241
14843
|
function serializeFilesFromDatabase(db, options = {}, translationsPerBatch = 50, translations) {
|
|
14242
14844
|
return serializeDatasets(
|
|
14243
14845
|
loadDatasets(db, translationsPerBatch, translations),
|
|
@@ -14689,6 +15291,7 @@ __export(actions_exports, {
|
|
|
14689
15291
|
generateTranslationFiles: () => generateTranslationFiles,
|
|
14690
15292
|
generateTranslationsFiles: () => generateTranslationsFiles,
|
|
14691
15293
|
getMetaPath: () => getMetaPath,
|
|
15294
|
+
importApi: () => importApi,
|
|
14692
15295
|
importCommentaries: () => importCommentaries2,
|
|
14693
15296
|
importCommentary: () => importCommentary,
|
|
14694
15297
|
importTranslation: () => importTranslation,
|
|
@@ -15016,6 +15619,25 @@ async function initDb(dbPath, options) {
|
|
|
15016
15619
|
CREATE TABLE "CommentaryChapterVerse" AS SELECT * FROM source.CommentaryChapterVerse
|
|
15017
15620
|
INNER JOIN source.Commentary ON source.Commentary.id = source.CommentaryChapterVerse.commentaryId
|
|
15018
15621
|
WHERE source.Commentary.language IN ${languages};
|
|
15622
|
+
|
|
15623
|
+
CREATE TABLE "Dataset" AS SELECT * FROM source.Dataset
|
|
15624
|
+
WHERE language IN ${languages};
|
|
15625
|
+
|
|
15626
|
+
CREATE TABLE "DatasetBook" AS SELECT * FROM source.DatasetBook
|
|
15627
|
+
INNER JOIN source.Dataset ON source.Dataset.id = source.DatasetBook.datasetId
|
|
15628
|
+
WHERE source.Dataset.language IN ${languages};
|
|
15629
|
+
|
|
15630
|
+
CREATE TABLE "DatasetChapter" AS SELECT * FROM source.DatasetChapter
|
|
15631
|
+
INNER JOIN source.Dataset ON source.Dataset.id = source.DatasetChapter.datasetId
|
|
15632
|
+
WHERE source.Dataset.language IN ${languages};
|
|
15633
|
+
|
|
15634
|
+
CREATE TABLE "DatasetChapterVerse" AS SELECT * FROM source.DatasetChapterVerse
|
|
15635
|
+
INNER JOIN source.Dataset ON source.Dataset.id = source.DatasetChapterVerse.datasetId
|
|
15636
|
+
WHERE source.Dataset.language IN ${languages};
|
|
15637
|
+
|
|
15638
|
+
CREATE TABLE "DatasetReference" AS SELECT * FROM source.DatasetReference
|
|
15639
|
+
INNER JOIN source.Dataset ON source.Dataset.id = source.DatasetReference.datasetId
|
|
15640
|
+
WHERE source.Dataset.language IN ${languages};
|
|
15019
15641
|
`);
|
|
15020
15642
|
} else {
|
|
15021
15643
|
db.exec(`
|
|
@@ -15032,6 +15654,11 @@ async function initDb(dbPath, options) {
|
|
|
15032
15654
|
CREATE TABLE "CommentaryBook" AS SELECT * FROM source.CommentaryBook;
|
|
15033
15655
|
CREATE TABLE "CommentaryChapter" AS SELECT * FROM source.CommentaryChapter;
|
|
15034
15656
|
CREATE TABLE "CommentaryChapterVerse" AS SELECT * FROM source.CommentaryChapterVerse;
|
|
15657
|
+
CREATE TABLE "Dataset" AS SELECT * FROM source.Dataset;
|
|
15658
|
+
CREATE TABLE "DatasetBook" AS SELECT * FROM source.DatasetBook;
|
|
15659
|
+
CREATE TABLE "DatasetChapter" AS SELECT * FROM source.DatasetChapter;
|
|
15660
|
+
CREATE TABLE "DatasetChapterVerse" AS SELECT * FROM source.DatasetChapterVerse;
|
|
15661
|
+
CREATE TABLE "DatasetReference" AS SELECT * FROM source.DatasetReference;
|
|
15035
15662
|
`);
|
|
15036
15663
|
}
|
|
15037
15664
|
logger2.log("Done.");
|
|
@@ -15120,6 +15747,19 @@ async function importCommentaries2(dir, options) {
|
|
|
15120
15747
|
db.close();
|
|
15121
15748
|
}
|
|
15122
15749
|
}
|
|
15750
|
+
async function importApi(dir, options) {
|
|
15751
|
+
const db = await getDb(options.db);
|
|
15752
|
+
try {
|
|
15753
|
+
const datasets = await loadDatasetsFromDirectory(dir);
|
|
15754
|
+
importDatasetOutput(db, {
|
|
15755
|
+
commentaries: [],
|
|
15756
|
+
translations: [],
|
|
15757
|
+
datasets
|
|
15758
|
+
});
|
|
15759
|
+
} finally {
|
|
15760
|
+
db.close();
|
|
15761
|
+
}
|
|
15762
|
+
}
|
|
15123
15763
|
async function fetchAudio(dir, translations, options = {}) {
|
|
15124
15764
|
const logger2 = log_exports.getLogger();
|
|
15125
15765
|
for (let translation of translations) {
|