@helloao/cli 0.0.20 → 0.2.0
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/README.md +136 -136
- package/dist/cjs/cli.cjs +5526 -6666
- package/dist/cjs/index.cjs +3830 -5150
- package/dist/esm/index.js +1233 -342
- package/dist/esm/index.js.map +4 -4
- package/dist/types/actions.d.ts +36 -0
- package/dist/types/db.d.ts +2 -2
- package/dist/types/ebible.d.ts +1 -1
- package/dist/types/files.d.ts +7 -1
- package/dist/types/openapi.d.ts +2 -0
- package/dist/types/uploads.d.ts +6 -0
- package/meta/ARBNAV.json +10 -10
- package/meta/BSB.json +10 -10
- package/meta/HBOMAS.json +10 -10
- package/meta/HINIRV.json +10 -10
- package/meta/eng_dra.json +10 -10
- package/migrations/20240420231455_initial/migration.sql +66 -66
- package/migrations/20240711173108_add_chapter_audio/migration.sql +13 -13
- package/migrations/20240724212651_add_hashing/migration.sql +25 -25
- package/migrations/20250625201152_add_extra_ebible_metadata/migration.sql +3 -3
- package/migrations/20250630200532_add_apocryhpa_flag/migration.sql +2 -2
- package/migrations/20250701195337_add_file_warnings/migration.sql +8 -8
- package/migrations/20251028135135_add_datasets/migration.sql +72 -72
- package/migrations/20251028144932_fix_dataset_types/migration.sql +50 -50
- package/migrations/20260217200934_add_license_notice/migration.sql +5 -0
- package/package.json +5 -2
- package/prisma-gen/edge.js +5 -3
- package/prisma-gen/index-browser.js +2 -0
- package/prisma-gen/index.d.ts +92 -0
- package/prisma-gen/index.js +5 -3
- package/prisma-gen/wasm.js +2 -0
- package/schema.prisma +2 -0
- package/prisma-gen/client.d.ts +0 -1
- package/prisma-gen/client.js +0 -4
package/dist/types/actions.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { PrismaClient } from './prisma-gen/index.js';
|
|
1
2
|
import { InputTranslationMetadata } from '@helloao/tools/generation/index.js';
|
|
2
3
|
import { UploadApiFromDatabaseOptions, UploadApiOptions } from './uploads.js';
|
|
3
4
|
export interface GetTranslationsItem {
|
|
@@ -236,5 +237,40 @@ export declare function uploadTestTranslation(input: string, options: UploadTest
|
|
|
236
237
|
/**
|
|
237
238
|
* Asks the user for the metadata for the translation.
|
|
238
239
|
*/
|
|
240
|
+
export interface UploadTypesenseVersesOptions {
|
|
241
|
+
translations?: string[];
|
|
242
|
+
language?: string;
|
|
243
|
+
}
|
|
244
|
+
export interface TypesenseSearchOptions {
|
|
245
|
+
translation?: string;
|
|
246
|
+
book?: string;
|
|
247
|
+
chapter?: string | number;
|
|
248
|
+
language?: string;
|
|
249
|
+
search?: string;
|
|
250
|
+
}
|
|
251
|
+
export declare function uploadTypesenseVerses(nodes: string[], apiKey: string, db: PrismaClient, options: UploadTypesenseVersesOptions): Promise<void>;
|
|
252
|
+
export declare function searchTypesenseVerses(nodes: string[], apiKey: string, options: TypesenseSearchOptions): Promise<import("typesense").SearchResponse<object>>;
|
|
239
253
|
export declare function askForMetadata(defaultId?: string): Promise<InputTranslationMetadata>;
|
|
254
|
+
export interface CopyOpenBibleAudioOptions {
|
|
255
|
+
/**
|
|
256
|
+
* The translation ID to copy (e.g. "BSB"). If omitted, all known translations are copied.
|
|
257
|
+
*/
|
|
258
|
+
translation?: string;
|
|
259
|
+
/**
|
|
260
|
+
* The readers to copy (e.g. ["hays", "souer"]). If omitted, all known readers for the translation are copied.
|
|
261
|
+
*/
|
|
262
|
+
readers?: string[];
|
|
263
|
+
/**
|
|
264
|
+
* Whether to overwrite existing files.
|
|
265
|
+
*/
|
|
266
|
+
overwrite?: boolean;
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Copies .mp3 files from the OpenBible filename format to the Free Use Bible API format:
|
|
270
|
+
* /api/{translationId}/{bookId}/{chapterNumber}/audio/{reader}.mp3
|
|
271
|
+
* @param srcDir The source directory containing .mp3 files in OpenBible filename format.
|
|
272
|
+
* @param destDir The destination directory for files in API format.
|
|
273
|
+
* @param options The options.
|
|
274
|
+
*/
|
|
275
|
+
export declare function copyOpenBibleAudio(srcDir: string, destDir: string, options?: CopyOpenBibleAudioOptions): Promise<void>;
|
|
240
276
|
//# sourceMappingURL=actions.d.ts.map
|
package/dist/types/db.d.ts
CHANGED
|
@@ -81,13 +81,13 @@ export declare function insertDatasetBooks(db: Database, dataset: DatasetDataset
|
|
|
81
81
|
export declare function insertDatasetContent(db: Database, dataset: DatasetDataset, book: DatasetDatasetBook, chapters: DatasetBookChapter[]): void;
|
|
82
82
|
export declare function getDbPathFromDir(dir: string): string;
|
|
83
83
|
export declare function getDbPath(p?: string | null): string;
|
|
84
|
-
export declare function getPrismaDb(path?: string | null): PrismaClient<{
|
|
84
|
+
export declare function getPrismaDb(path?: string | null): Promise<PrismaClient<{
|
|
85
85
|
datasources: {
|
|
86
86
|
db: {
|
|
87
87
|
url: string;
|
|
88
88
|
};
|
|
89
89
|
};
|
|
90
|
-
}, never, import("prisma-gen/runtime/library.js").DefaultArgs
|
|
90
|
+
}, never, import("./prisma-gen/runtime/library.js").DefaultArgs>>;
|
|
91
91
|
/**
|
|
92
92
|
* Gets the database from the given path. If no path is provided, the current working directory is used.
|
|
93
93
|
* @param path The path to the database. If not provided, the current working directory is used.
|
package/dist/types/ebible.d.ts
CHANGED
package/dist/types/files.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { InputFile, InputTranslationMetadata, OutputFile } from '@helloao/tools/generation/common-types.js';
|
|
2
2
|
import { Readable } from 'stream';
|
|
3
|
-
import { DatasetDataset } from '@helloao/tools/generation/dataset.js';
|
|
3
|
+
import { DatasetDataset, DatasetTranslation } from '@helloao/tools/generation/dataset.js';
|
|
4
4
|
/**
|
|
5
5
|
* Defines an interface that contains information about a serialized file.
|
|
6
6
|
*/
|
|
@@ -80,6 +80,12 @@ export declare function loadCommentariesFiles(dirs: string[]): Promise<InputFile
|
|
|
80
80
|
* @returns The list of files that were loaded, or null if the commentary has no metadata.
|
|
81
81
|
*/
|
|
82
82
|
export declare function loadCommentaryFiles(commentary: string): Promise<InputFile[] | null>;
|
|
83
|
+
/**
|
|
84
|
+
* Imports all the datasets from the given directory into the database in the current working directory.
|
|
85
|
+
* @param dir The directory that the datasets are located in.
|
|
86
|
+
* @param options The options.
|
|
87
|
+
*/
|
|
88
|
+
export declare function loadTranslationsFromDirectory(dir: string): Promise<DatasetTranslation[]>;
|
|
83
89
|
/**
|
|
84
90
|
* Imports all the datasets from the given directory into the database in the current working directory.
|
|
85
91
|
* @param dir The directory that the datasets are located in.
|
package/dist/types/uploads.d.ts
CHANGED
|
@@ -56,6 +56,11 @@ export interface UploadApiOptions {
|
|
|
56
56
|
* Whether to generate audio files for the API.
|
|
57
57
|
*/
|
|
58
58
|
generateAudioFiles?: boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Whether to generate the OpenAPI document for the API.
|
|
61
|
+
* Defaults to true.
|
|
62
|
+
*/
|
|
63
|
+
generateOpenApiDocument?: boolean;
|
|
59
64
|
/**
|
|
60
65
|
* Whether to generate pretty-printed JSON files.
|
|
61
66
|
*/
|
|
@@ -72,6 +77,7 @@ export interface UploadApiOptions {
|
|
|
72
77
|
* @param options The options to use for the upload.
|
|
73
78
|
*/
|
|
74
79
|
export declare function uploadApiFilesFromDatabase(db: PrismaClient, dest: string, options: UploadApiFromDatabaseOptions): Promise<void>;
|
|
80
|
+
export declare function uploadOpenApiDocument(dest: string, options: UploadApiFromDatabaseOptions): Promise<void>;
|
|
75
81
|
/**
|
|
76
82
|
* Generates the API files from the given datasets and uploads them to the specified destination.
|
|
77
83
|
* @param dest The destination to upload the API files to. Supported destinations are S3, zip files, and local directories.
|
package/meta/ARBNAV.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "ARBNAV",
|
|
3
|
-
"name": "كتاب الحياة",
|
|
4
|
-
"direction": "rtl",
|
|
5
|
-
"englishName": "New Arabic Version (Book of Life)",
|
|
6
|
-
"language": "arb",
|
|
7
|
-
"licenseUrl": "https://ebible.org/Scriptures/details.php?id=arbnav",
|
|
8
|
-
"shortName": "NAV",
|
|
9
|
-
"website": "https://ebible.org/Scriptures/details.php?id=arbnav"
|
|
10
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"id": "ARBNAV",
|
|
3
|
+
"name": "كتاب الحياة",
|
|
4
|
+
"direction": "rtl",
|
|
5
|
+
"englishName": "New Arabic Version (Book of Life)",
|
|
6
|
+
"language": "arb",
|
|
7
|
+
"licenseUrl": "https://ebible.org/Scriptures/details.php?id=arbnav",
|
|
8
|
+
"shortName": "NAV",
|
|
9
|
+
"website": "https://ebible.org/Scriptures/details.php?id=arbnav"
|
|
10
|
+
}
|
package/meta/BSB.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "BSB",
|
|
3
|
-
"name": "Berean Standard Bible",
|
|
4
|
-
"direction": "ltr",
|
|
5
|
-
"englishName": "Berean Standard Bible",
|
|
6
|
-
"language": "eng",
|
|
7
|
-
"licenseUrl": "https://berean.bible/",
|
|
8
|
-
"shortName": "BSB",
|
|
9
|
-
"website": "https://berean.bible/"
|
|
10
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"id": "BSB",
|
|
3
|
+
"name": "Berean Standard Bible",
|
|
4
|
+
"direction": "ltr",
|
|
5
|
+
"englishName": "Berean Standard Bible",
|
|
6
|
+
"language": "eng",
|
|
7
|
+
"licenseUrl": "https://berean.bible/",
|
|
8
|
+
"shortName": "BSB",
|
|
9
|
+
"website": "https://berean.bible/"
|
|
10
|
+
}
|
package/meta/HBOMAS.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "HBOMAS",
|
|
3
|
-
"name": "כתבי הקודש",
|
|
4
|
-
"direction": "rtl",
|
|
5
|
-
"englishName": "Hebrew Masoretic OT",
|
|
6
|
-
"language": "hbo",
|
|
7
|
-
"licenseUrl": "https://ebible.org/Scriptures/details.php?id=hbo",
|
|
8
|
-
"shortName": "MAS",
|
|
9
|
-
"website": "https://ebible.org/Scriptures/details.php?id=hbo"
|
|
10
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"id": "HBOMAS",
|
|
3
|
+
"name": "כתבי הקודש",
|
|
4
|
+
"direction": "rtl",
|
|
5
|
+
"englishName": "Hebrew Masoretic OT",
|
|
6
|
+
"language": "hbo",
|
|
7
|
+
"licenseUrl": "https://ebible.org/Scriptures/details.php?id=hbo",
|
|
8
|
+
"shortName": "MAS",
|
|
9
|
+
"website": "https://ebible.org/Scriptures/details.php?id=hbo"
|
|
10
|
+
}
|
package/meta/HINIRV.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "HINIRV",
|
|
3
|
-
"name": "इंडियन रिवाइज्ड वर्जन",
|
|
4
|
-
"direction": "ltr",
|
|
5
|
-
"englishName": "Hindi Indian Revised Version Bible",
|
|
6
|
-
"language": "hin",
|
|
7
|
-
"licenseUrl": "https://ebible.org/Scriptures/details.php?id=hin2017",
|
|
8
|
-
"shortName": "IRV",
|
|
9
|
-
"website": "https://ebible.org/Scriptures/details.php?id=hin2017"
|
|
10
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"id": "HINIRV",
|
|
3
|
+
"name": "इंडियन रिवाइज्ड वर्जन",
|
|
4
|
+
"direction": "ltr",
|
|
5
|
+
"englishName": "Hindi Indian Revised Version Bible",
|
|
6
|
+
"language": "hin",
|
|
7
|
+
"licenseUrl": "https://ebible.org/Scriptures/details.php?id=hin2017",
|
|
8
|
+
"shortName": "IRV",
|
|
9
|
+
"website": "https://ebible.org/Scriptures/details.php?id=hin2017"
|
|
10
|
+
}
|
package/meta/eng_dra.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "eng_dra",
|
|
3
|
-
"name": "Douay-Rheims 1899",
|
|
4
|
-
"direction": "ltr",
|
|
5
|
-
"englishName": "Douay-Rheims 1899",
|
|
6
|
-
"language": "eng",
|
|
7
|
-
"licenseUrl": "https://ebible.org/Scriptures/details.php?id=engDRA",
|
|
8
|
-
"shortName": "DRA",
|
|
9
|
-
"website": "https://ebible.org/Scriptures/details.php?id=engDRA"
|
|
10
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"id": "eng_dra",
|
|
3
|
+
"name": "Douay-Rheims 1899",
|
|
4
|
+
"direction": "ltr",
|
|
5
|
+
"englishName": "Douay-Rheims 1899",
|
|
6
|
+
"language": "eng",
|
|
7
|
+
"licenseUrl": "https://ebible.org/Scriptures/details.php?id=engDRA",
|
|
8
|
+
"shortName": "DRA",
|
|
9
|
+
"website": "https://ebible.org/Scriptures/details.php?id=engDRA"
|
|
10
|
+
}
|
|
@@ -1,66 +1,66 @@
|
|
|
1
|
-
-- CreateTable
|
|
2
|
-
CREATE TABLE "Translation" (
|
|
3
|
-
"id" TEXT NOT NULL PRIMARY KEY,
|
|
4
|
-
"name" TEXT NOT NULL,
|
|
5
|
-
"website" TEXT NOT NULL,
|
|
6
|
-
"licenseUrl" TEXT NOT NULL,
|
|
7
|
-
"shortName" TEXT,
|
|
8
|
-
"englishName" TEXT NOT NULL,
|
|
9
|
-
"language" TEXT NOT NULL,
|
|
10
|
-
"textDirection" TEXT NOT NULL
|
|
11
|
-
);
|
|
12
|
-
|
|
13
|
-
-- CreateTable
|
|
14
|
-
CREATE TABLE "Book" (
|
|
15
|
-
"id" TEXT NOT NULL,
|
|
16
|
-
"translationId" TEXT NOT NULL,
|
|
17
|
-
"name" TEXT NOT NULL,
|
|
18
|
-
"commonName" TEXT NOT NULL,
|
|
19
|
-
"title" TEXT,
|
|
20
|
-
"numberOfChapters" INTEGER NOT NULL,
|
|
21
|
-
|
|
22
|
-
PRIMARY KEY ("translationId", "id"),
|
|
23
|
-
CONSTRAINT "Book_translationId_fkey" FOREIGN KEY ("translationId") REFERENCES "Translation" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
|
|
24
|
-
);
|
|
25
|
-
|
|
26
|
-
-- CreateTable
|
|
27
|
-
CREATE TABLE "Chapter" (
|
|
28
|
-
"number" INTEGER NOT NULL,
|
|
29
|
-
"bookId" TEXT NOT NULL,
|
|
30
|
-
"translationId" TEXT NOT NULL,
|
|
31
|
-
"apiLink" TEXT NOT NULL,
|
|
32
|
-
|
|
33
|
-
PRIMARY KEY ("translationId", "bookId", "number"),
|
|
34
|
-
CONSTRAINT "Chapter_translationId_bookId_fkey" FOREIGN KEY ("translationId", "bookId") REFERENCES "Book" ("translationId", "id") ON DELETE RESTRICT ON UPDATE CASCADE,
|
|
35
|
-
CONSTRAINT "Chapter_translationId_fkey" FOREIGN KEY ("translationId") REFERENCES "Translation" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
|
|
36
|
-
);
|
|
37
|
-
|
|
38
|
-
-- CreateTable
|
|
39
|
-
CREATE TABLE "ChapterVerse" (
|
|
40
|
-
"number" INTEGER NOT NULL,
|
|
41
|
-
"chapterNumber" INTEGER NOT NULL,
|
|
42
|
-
"bookId" TEXT NOT NULL,
|
|
43
|
-
"translationId" TEXT NOT NULL,
|
|
44
|
-
"text" TEXT NOT NULL,
|
|
45
|
-
|
|
46
|
-
PRIMARY KEY ("translationId", "bookId", "chapterNumber", "number"),
|
|
47
|
-
CONSTRAINT "ChapterVerse_translationId_bookId_chapterNumber_fkey" FOREIGN KEY ("translationId", "bookId", "chapterNumber") REFERENCES "Chapter" ("translationId", "bookId", "number") ON DELETE RESTRICT ON UPDATE CASCADE,
|
|
48
|
-
CONSTRAINT "ChapterVerse_translationId_bookId_fkey" FOREIGN KEY ("translationId", "bookId") REFERENCES "Book" ("translationId", "id") ON DELETE RESTRICT ON UPDATE CASCADE,
|
|
49
|
-
CONSTRAINT "ChapterVerse_translationId_fkey" FOREIGN KEY ("translationId") REFERENCES "Translation" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
|
|
50
|
-
);
|
|
51
|
-
|
|
52
|
-
-- CreateTable
|
|
53
|
-
CREATE TABLE "ChapterFootnote" (
|
|
54
|
-
"id" INTEGER NOT NULL,
|
|
55
|
-
"chapterNumber" INTEGER NOT NULL,
|
|
56
|
-
"bookId" TEXT NOT NULL,
|
|
57
|
-
"translationId" TEXT NOT NULL,
|
|
58
|
-
"text" TEXT NOT NULL,
|
|
59
|
-
"verseNumber" INTEGER,
|
|
60
|
-
|
|
61
|
-
PRIMARY KEY ("translationId", "bookId", "chapterNumber", "id"),
|
|
62
|
-
CONSTRAINT "ChapterFootnote_translationId_bookId_chapterNumber_fkey" FOREIGN KEY ("translationId", "bookId", "chapterNumber") REFERENCES "Chapter" ("translationId", "bookId", "number") ON DELETE RESTRICT ON UPDATE CASCADE,
|
|
63
|
-
CONSTRAINT "ChapterFootnote_translationId_bookId_fkey" FOREIGN KEY ("translationId", "bookId") REFERENCES "Book" ("translationId", "id") ON DELETE RESTRICT ON UPDATE CASCADE,
|
|
64
|
-
CONSTRAINT "ChapterFootnote_translationId_fkey" FOREIGN KEY ("translationId") REFERENCES "Translation" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
|
|
65
|
-
CONSTRAINT "ChapterFootnote_translationId_bookId_chapterNumber_verseNumber_fkey" FOREIGN KEY ("translationId", "bookId", "chapterNumber", "verseNumber") REFERENCES "ChapterVerse" ("translationId", "bookId", "chapterNumber", "number") ON DELETE RESTRICT ON UPDATE CASCADE
|
|
66
|
-
);
|
|
1
|
+
-- CreateTable
|
|
2
|
+
CREATE TABLE "Translation" (
|
|
3
|
+
"id" TEXT NOT NULL PRIMARY KEY,
|
|
4
|
+
"name" TEXT NOT NULL,
|
|
5
|
+
"website" TEXT NOT NULL,
|
|
6
|
+
"licenseUrl" TEXT NOT NULL,
|
|
7
|
+
"shortName" TEXT,
|
|
8
|
+
"englishName" TEXT NOT NULL,
|
|
9
|
+
"language" TEXT NOT NULL,
|
|
10
|
+
"textDirection" TEXT NOT NULL
|
|
11
|
+
);
|
|
12
|
+
|
|
13
|
+
-- CreateTable
|
|
14
|
+
CREATE TABLE "Book" (
|
|
15
|
+
"id" TEXT NOT NULL,
|
|
16
|
+
"translationId" TEXT NOT NULL,
|
|
17
|
+
"name" TEXT NOT NULL,
|
|
18
|
+
"commonName" TEXT NOT NULL,
|
|
19
|
+
"title" TEXT,
|
|
20
|
+
"numberOfChapters" INTEGER NOT NULL,
|
|
21
|
+
|
|
22
|
+
PRIMARY KEY ("translationId", "id"),
|
|
23
|
+
CONSTRAINT "Book_translationId_fkey" FOREIGN KEY ("translationId") REFERENCES "Translation" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
|
|
24
|
+
);
|
|
25
|
+
|
|
26
|
+
-- CreateTable
|
|
27
|
+
CREATE TABLE "Chapter" (
|
|
28
|
+
"number" INTEGER NOT NULL,
|
|
29
|
+
"bookId" TEXT NOT NULL,
|
|
30
|
+
"translationId" TEXT NOT NULL,
|
|
31
|
+
"apiLink" TEXT NOT NULL,
|
|
32
|
+
|
|
33
|
+
PRIMARY KEY ("translationId", "bookId", "number"),
|
|
34
|
+
CONSTRAINT "Chapter_translationId_bookId_fkey" FOREIGN KEY ("translationId", "bookId") REFERENCES "Book" ("translationId", "id") ON DELETE RESTRICT ON UPDATE CASCADE,
|
|
35
|
+
CONSTRAINT "Chapter_translationId_fkey" FOREIGN KEY ("translationId") REFERENCES "Translation" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
|
|
36
|
+
);
|
|
37
|
+
|
|
38
|
+
-- CreateTable
|
|
39
|
+
CREATE TABLE "ChapterVerse" (
|
|
40
|
+
"number" INTEGER NOT NULL,
|
|
41
|
+
"chapterNumber" INTEGER NOT NULL,
|
|
42
|
+
"bookId" TEXT NOT NULL,
|
|
43
|
+
"translationId" TEXT NOT NULL,
|
|
44
|
+
"text" TEXT NOT NULL,
|
|
45
|
+
|
|
46
|
+
PRIMARY KEY ("translationId", "bookId", "chapterNumber", "number"),
|
|
47
|
+
CONSTRAINT "ChapterVerse_translationId_bookId_chapterNumber_fkey" FOREIGN KEY ("translationId", "bookId", "chapterNumber") REFERENCES "Chapter" ("translationId", "bookId", "number") ON DELETE RESTRICT ON UPDATE CASCADE,
|
|
48
|
+
CONSTRAINT "ChapterVerse_translationId_bookId_fkey" FOREIGN KEY ("translationId", "bookId") REFERENCES "Book" ("translationId", "id") ON DELETE RESTRICT ON UPDATE CASCADE,
|
|
49
|
+
CONSTRAINT "ChapterVerse_translationId_fkey" FOREIGN KEY ("translationId") REFERENCES "Translation" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
|
|
50
|
+
);
|
|
51
|
+
|
|
52
|
+
-- CreateTable
|
|
53
|
+
CREATE TABLE "ChapterFootnote" (
|
|
54
|
+
"id" INTEGER NOT NULL,
|
|
55
|
+
"chapterNumber" INTEGER NOT NULL,
|
|
56
|
+
"bookId" TEXT NOT NULL,
|
|
57
|
+
"translationId" TEXT NOT NULL,
|
|
58
|
+
"text" TEXT NOT NULL,
|
|
59
|
+
"verseNumber" INTEGER,
|
|
60
|
+
|
|
61
|
+
PRIMARY KEY ("translationId", "bookId", "chapterNumber", "id"),
|
|
62
|
+
CONSTRAINT "ChapterFootnote_translationId_bookId_chapterNumber_fkey" FOREIGN KEY ("translationId", "bookId", "chapterNumber") REFERENCES "Chapter" ("translationId", "bookId", "number") ON DELETE RESTRICT ON UPDATE CASCADE,
|
|
63
|
+
CONSTRAINT "ChapterFootnote_translationId_bookId_fkey" FOREIGN KEY ("translationId", "bookId") REFERENCES "Book" ("translationId", "id") ON DELETE RESTRICT ON UPDATE CASCADE,
|
|
64
|
+
CONSTRAINT "ChapterFootnote_translationId_fkey" FOREIGN KEY ("translationId") REFERENCES "Translation" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
|
|
65
|
+
CONSTRAINT "ChapterFootnote_translationId_bookId_chapterNumber_verseNumber_fkey" FOREIGN KEY ("translationId", "bookId", "chapterNumber", "verseNumber") REFERENCES "ChapterVerse" ("translationId", "bookId", "chapterNumber", "number") ON DELETE RESTRICT ON UPDATE CASCADE
|
|
66
|
+
);
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
-- CreateTable
|
|
2
|
-
CREATE TABLE "ChapterAudioUrl" (
|
|
3
|
-
"number" INTEGER NOT NULL,
|
|
4
|
-
"bookId" TEXT NOT NULL,
|
|
5
|
-
"translationId" TEXT NOT NULL,
|
|
6
|
-
"reader" TEXT NOT NULL,
|
|
7
|
-
"url" TEXT NOT NULL,
|
|
8
|
-
|
|
9
|
-
PRIMARY KEY ("translationId", "bookId", "number", "reader"),
|
|
10
|
-
CONSTRAINT "ChapterAudioUrl_translationId_bookId_fkey" FOREIGN KEY ("translationId", "bookId") REFERENCES "Book" ("translationId", "id") ON DELETE RESTRICT ON UPDATE CASCADE,
|
|
11
|
-
CONSTRAINT "ChapterAudioUrl_translationId_fkey" FOREIGN KEY ("translationId") REFERENCES "Translation" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
|
|
12
|
-
CONSTRAINT "ChapterAudioUrl_translationId_bookId_number_fkey" FOREIGN KEY ("translationId", "bookId", "number") REFERENCES "Chapter" ("translationId", "bookId", "number") ON DELETE RESTRICT ON UPDATE CASCADE
|
|
13
|
-
);
|
|
1
|
+
-- CreateTable
|
|
2
|
+
CREATE TABLE "ChapterAudioUrl" (
|
|
3
|
+
"number" INTEGER NOT NULL,
|
|
4
|
+
"bookId" TEXT NOT NULL,
|
|
5
|
+
"translationId" TEXT NOT NULL,
|
|
6
|
+
"reader" TEXT NOT NULL,
|
|
7
|
+
"url" TEXT NOT NULL,
|
|
8
|
+
|
|
9
|
+
PRIMARY KEY ("translationId", "bookId", "number", "reader"),
|
|
10
|
+
CONSTRAINT "ChapterAudioUrl_translationId_bookId_fkey" FOREIGN KEY ("translationId", "bookId") REFERENCES "Book" ("translationId", "id") ON DELETE RESTRICT ON UPDATE CASCADE,
|
|
11
|
+
CONSTRAINT "ChapterAudioUrl_translationId_fkey" FOREIGN KEY ("translationId") REFERENCES "Translation" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
|
|
12
|
+
CONSTRAINT "ChapterAudioUrl_translationId_bookId_number_fkey" FOREIGN KEY ("translationId", "bookId", "number") REFERENCES "Chapter" ("translationId", "bookId", "number") ON DELETE RESTRICT ON UPDATE CASCADE
|
|
13
|
+
);
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
-- AlterTable
|
|
2
|
-
ALTER TABLE "Book" ADD COLUMN "sha256" TEXT;
|
|
3
|
-
|
|
4
|
-
-- AlterTable
|
|
5
|
-
ALTER TABLE "Chapter" ADD COLUMN "sha256" TEXT;
|
|
6
|
-
|
|
7
|
-
-- AlterTable
|
|
8
|
-
ALTER TABLE "ChapterFootnote" ADD COLUMN "sha256" TEXT;
|
|
9
|
-
|
|
10
|
-
-- AlterTable
|
|
11
|
-
ALTER TABLE "ChapterVerse" ADD COLUMN "sha256" TEXT;
|
|
12
|
-
|
|
13
|
-
-- AlterTable
|
|
14
|
-
ALTER TABLE "Translation" ADD COLUMN "sha256" TEXT;
|
|
15
|
-
|
|
16
|
-
-- CreateTable
|
|
17
|
-
CREATE TABLE "InputFile" (
|
|
18
|
-
"translationId" TEXT NOT NULL,
|
|
19
|
-
"name" TEXT NOT NULL,
|
|
20
|
-
"format" TEXT NOT NULL,
|
|
21
|
-
"sha256" TEXT NOT NULL,
|
|
22
|
-
"sizeInBytes" INTEGER NOT NULL,
|
|
23
|
-
|
|
24
|
-
PRIMARY KEY ("translationId", "name")
|
|
25
|
-
);
|
|
1
|
+
-- AlterTable
|
|
2
|
+
ALTER TABLE "Book" ADD COLUMN "sha256" TEXT;
|
|
3
|
+
|
|
4
|
+
-- AlterTable
|
|
5
|
+
ALTER TABLE "Chapter" ADD COLUMN "sha256" TEXT;
|
|
6
|
+
|
|
7
|
+
-- AlterTable
|
|
8
|
+
ALTER TABLE "ChapterFootnote" ADD COLUMN "sha256" TEXT;
|
|
9
|
+
|
|
10
|
+
-- AlterTable
|
|
11
|
+
ALTER TABLE "ChapterVerse" ADD COLUMN "sha256" TEXT;
|
|
12
|
+
|
|
13
|
+
-- AlterTable
|
|
14
|
+
ALTER TABLE "Translation" ADD COLUMN "sha256" TEXT;
|
|
15
|
+
|
|
16
|
+
-- CreateTable
|
|
17
|
+
CREATE TABLE "InputFile" (
|
|
18
|
+
"translationId" TEXT NOT NULL,
|
|
19
|
+
"name" TEXT NOT NULL,
|
|
20
|
+
"format" TEXT NOT NULL,
|
|
21
|
+
"sha256" TEXT NOT NULL,
|
|
22
|
+
"sizeInBytes" INTEGER NOT NULL,
|
|
23
|
+
|
|
24
|
+
PRIMARY KEY ("translationId", "name")
|
|
25
|
+
);
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
-- AlterTable
|
|
2
|
-
ALTER TABLE "EBibleSource" ADD COLUMN "shortTitle" TEXT;
|
|
3
|
-
ALTER TABLE "EBibleSource" ADD COLUMN "textDirection" TEXT;
|
|
1
|
+
-- AlterTable
|
|
2
|
+
ALTER TABLE "EBibleSource" ADD COLUMN "shortTitle" TEXT;
|
|
3
|
+
ALTER TABLE "EBibleSource" ADD COLUMN "textDirection" TEXT;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
-- AlterTable
|
|
2
|
-
ALTER TABLE "Book" ADD COLUMN "isApocryphal" BOOLEAN;
|
|
1
|
+
-- AlterTable
|
|
2
|
+
ALTER TABLE "Book" ADD COLUMN "isApocryphal" BOOLEAN;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
-- CreateTable
|
|
2
|
-
CREATE TABLE "InputFileWarning" (
|
|
3
|
-
"name" TEXT NOT NULL,
|
|
4
|
-
"type" TEXT NOT NULL,
|
|
5
|
-
"message" TEXT NOT NULL,
|
|
6
|
-
|
|
7
|
-
PRIMARY KEY ("name", "type", "message")
|
|
8
|
-
);
|
|
1
|
+
-- CreateTable
|
|
2
|
+
CREATE TABLE "InputFileWarning" (
|
|
3
|
+
"name" TEXT NOT NULL,
|
|
4
|
+
"type" TEXT NOT NULL,
|
|
5
|
+
"message" TEXT NOT NULL,
|
|
6
|
+
|
|
7
|
+
PRIMARY KEY ("name", "type", "message")
|
|
8
|
+
);
|
|
@@ -1,72 +1,72 @@
|
|
|
1
|
-
-- CreateTable
|
|
2
|
-
CREATE TABLE "Dataset" (
|
|
3
|
-
"id" TEXT NOT NULL PRIMARY KEY,
|
|
4
|
-
"name" TEXT NOT NULL,
|
|
5
|
-
"website" TEXT NOT NULL,
|
|
6
|
-
"licenseUrl" TEXT NOT NULL,
|
|
7
|
-
"licenseNotes" TEXT,
|
|
8
|
-
"englishName" TEXT NOT NULL,
|
|
9
|
-
"language" TEXT NOT NULL,
|
|
10
|
-
"textDirection" TEXT NOT NULL,
|
|
11
|
-
"sha256" TEXT
|
|
12
|
-
);
|
|
13
|
-
|
|
14
|
-
-- CreateTable
|
|
15
|
-
CREATE TABLE "DatasetBook" (
|
|
16
|
-
"id" TEXT NOT NULL,
|
|
17
|
-
"datasetId" TEXT NOT NULL,
|
|
18
|
-
"name" TEXT NOT NULL,
|
|
19
|
-
"commonName" TEXT NOT NULL,
|
|
20
|
-
"introduction" TEXT,
|
|
21
|
-
"introductionSummary" TEXT,
|
|
22
|
-
"order" INTEGER NOT NULL,
|
|
23
|
-
"numberOfChapters" INTEGER NOT NULL,
|
|
24
|
-
"sha256" TEXT,
|
|
25
|
-
|
|
26
|
-
PRIMARY KEY ("datasetId", "id"),
|
|
27
|
-
CONSTRAINT "DatasetBook_datasetId_fkey" FOREIGN KEY ("datasetId") REFERENCES "Dataset" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
|
|
28
|
-
);
|
|
29
|
-
|
|
30
|
-
-- CreateTable
|
|
31
|
-
CREATE TABLE "DatasetChapter" (
|
|
32
|
-
"number" INTEGER NOT NULL,
|
|
33
|
-
"bookId" TEXT NOT NULL,
|
|
34
|
-
"datasetId" TEXT NOT NULL,
|
|
35
|
-
"json" TEXT NOT NULL,
|
|
36
|
-
"sha256" TEXT,
|
|
37
|
-
|
|
38
|
-
PRIMARY KEY ("datasetId", "bookId", "number"),
|
|
39
|
-
CONSTRAINT "DatasetChapter_datasetId_bookId_fkey" FOREIGN KEY ("datasetId", "bookId") REFERENCES "DatasetBook" ("datasetId", "id") ON DELETE RESTRICT ON UPDATE CASCADE,
|
|
40
|
-
CONSTRAINT "DatasetChapter_datasetId_fkey" FOREIGN KEY ("datasetId") REFERENCES "Dataset" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
|
|
41
|
-
);
|
|
42
|
-
|
|
43
|
-
-- CreateTable
|
|
44
|
-
CREATE TABLE "DatasetChapterVerse" (
|
|
45
|
-
"number" INTEGER NOT NULL,
|
|
46
|
-
"chapterNumber" INTEGER NOT NULL,
|
|
47
|
-
"bookId" TEXT NOT NULL,
|
|
48
|
-
"datasetId" TEXT NOT NULL,
|
|
49
|
-
"contentJson" TEXT NOT NULL,
|
|
50
|
-
"sha256" TEXT,
|
|
51
|
-
|
|
52
|
-
PRIMARY KEY ("datasetId", "bookId", "chapterNumber", "number"),
|
|
53
|
-
CONSTRAINT "DatasetChapterVerse_datasetId_bookId_chapterNumber_fkey" FOREIGN KEY ("datasetId", "bookId", "chapterNumber") REFERENCES "DatasetChapter" ("datasetId", "bookId", "number") ON DELETE RESTRICT ON UPDATE CASCADE,
|
|
54
|
-
CONSTRAINT "DatasetChapterVerse_datasetId_bookId_fkey" FOREIGN KEY ("datasetId", "bookId") REFERENCES "DatasetBook" ("datasetId", "id") ON DELETE RESTRICT ON UPDATE CASCADE,
|
|
55
|
-
CONSTRAINT "DatasetChapterVerse_datasetId_fkey" FOREIGN KEY ("datasetId") REFERENCES "Dataset" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
|
|
56
|
-
);
|
|
57
|
-
|
|
58
|
-
-- CreateTable
|
|
59
|
-
CREATE TABLE "DatasetReference" (
|
|
60
|
-
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
|
61
|
-
"datasetId" TEXT NOT NULL,
|
|
62
|
-
"bookId" TEXT NOT NULL,
|
|
63
|
-
"chapterNumber" INTEGER NOT NULL,
|
|
64
|
-
"verseNumber" INTEGER NOT NULL,
|
|
65
|
-
"endVerseNumber" INTEGER,
|
|
66
|
-
"score" INTEGER,
|
|
67
|
-
"sha256" TEXT,
|
|
68
|
-
CONSTRAINT "DatasetReference_datasetId_fkey" FOREIGN KEY ("datasetId") REFERENCES "Dataset" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
|
|
69
|
-
CONSTRAINT "DatasetReference_datasetId_bookId_fkey" FOREIGN KEY ("datasetId", "bookId") REFERENCES "DatasetBook" ("datasetId", "id") ON DELETE RESTRICT ON UPDATE CASCADE,
|
|
70
|
-
CONSTRAINT "DatasetReference_datasetId_bookId_chapterNumber_fkey" FOREIGN KEY ("datasetId", "bookId", "chapterNumber") REFERENCES "DatasetChapter" ("datasetId", "bookId", "number") ON DELETE RESTRICT ON UPDATE CASCADE,
|
|
71
|
-
CONSTRAINT "DatasetReference_datasetId_bookId_chapterNumber_verseNumber_fkey" FOREIGN KEY ("datasetId", "bookId", "chapterNumber", "verseNumber") REFERENCES "DatasetChapterVerse" ("datasetId", "bookId", "chapterNumber", "number") ON DELETE RESTRICT ON UPDATE CASCADE
|
|
72
|
-
);
|
|
1
|
+
-- CreateTable
|
|
2
|
+
CREATE TABLE "Dataset" (
|
|
3
|
+
"id" TEXT NOT NULL PRIMARY KEY,
|
|
4
|
+
"name" TEXT NOT NULL,
|
|
5
|
+
"website" TEXT NOT NULL,
|
|
6
|
+
"licenseUrl" TEXT NOT NULL,
|
|
7
|
+
"licenseNotes" TEXT,
|
|
8
|
+
"englishName" TEXT NOT NULL,
|
|
9
|
+
"language" TEXT NOT NULL,
|
|
10
|
+
"textDirection" TEXT NOT NULL,
|
|
11
|
+
"sha256" TEXT
|
|
12
|
+
);
|
|
13
|
+
|
|
14
|
+
-- CreateTable
|
|
15
|
+
CREATE TABLE "DatasetBook" (
|
|
16
|
+
"id" TEXT NOT NULL,
|
|
17
|
+
"datasetId" TEXT NOT NULL,
|
|
18
|
+
"name" TEXT NOT NULL,
|
|
19
|
+
"commonName" TEXT NOT NULL,
|
|
20
|
+
"introduction" TEXT,
|
|
21
|
+
"introductionSummary" TEXT,
|
|
22
|
+
"order" INTEGER NOT NULL,
|
|
23
|
+
"numberOfChapters" INTEGER NOT NULL,
|
|
24
|
+
"sha256" TEXT,
|
|
25
|
+
|
|
26
|
+
PRIMARY KEY ("datasetId", "id"),
|
|
27
|
+
CONSTRAINT "DatasetBook_datasetId_fkey" FOREIGN KEY ("datasetId") REFERENCES "Dataset" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
|
|
28
|
+
);
|
|
29
|
+
|
|
30
|
+
-- CreateTable
|
|
31
|
+
CREATE TABLE "DatasetChapter" (
|
|
32
|
+
"number" INTEGER NOT NULL,
|
|
33
|
+
"bookId" TEXT NOT NULL,
|
|
34
|
+
"datasetId" TEXT NOT NULL,
|
|
35
|
+
"json" TEXT NOT NULL,
|
|
36
|
+
"sha256" TEXT,
|
|
37
|
+
|
|
38
|
+
PRIMARY KEY ("datasetId", "bookId", "number"),
|
|
39
|
+
CONSTRAINT "DatasetChapter_datasetId_bookId_fkey" FOREIGN KEY ("datasetId", "bookId") REFERENCES "DatasetBook" ("datasetId", "id") ON DELETE RESTRICT ON UPDATE CASCADE,
|
|
40
|
+
CONSTRAINT "DatasetChapter_datasetId_fkey" FOREIGN KEY ("datasetId") REFERENCES "Dataset" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
|
|
41
|
+
);
|
|
42
|
+
|
|
43
|
+
-- CreateTable
|
|
44
|
+
CREATE TABLE "DatasetChapterVerse" (
|
|
45
|
+
"number" INTEGER NOT NULL,
|
|
46
|
+
"chapterNumber" INTEGER NOT NULL,
|
|
47
|
+
"bookId" TEXT NOT NULL,
|
|
48
|
+
"datasetId" TEXT NOT NULL,
|
|
49
|
+
"contentJson" TEXT NOT NULL,
|
|
50
|
+
"sha256" TEXT,
|
|
51
|
+
|
|
52
|
+
PRIMARY KEY ("datasetId", "bookId", "chapterNumber", "number"),
|
|
53
|
+
CONSTRAINT "DatasetChapterVerse_datasetId_bookId_chapterNumber_fkey" FOREIGN KEY ("datasetId", "bookId", "chapterNumber") REFERENCES "DatasetChapter" ("datasetId", "bookId", "number") ON DELETE RESTRICT ON UPDATE CASCADE,
|
|
54
|
+
CONSTRAINT "DatasetChapterVerse_datasetId_bookId_fkey" FOREIGN KEY ("datasetId", "bookId") REFERENCES "DatasetBook" ("datasetId", "id") ON DELETE RESTRICT ON UPDATE CASCADE,
|
|
55
|
+
CONSTRAINT "DatasetChapterVerse_datasetId_fkey" FOREIGN KEY ("datasetId") REFERENCES "Dataset" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
|
|
56
|
+
);
|
|
57
|
+
|
|
58
|
+
-- CreateTable
|
|
59
|
+
CREATE TABLE "DatasetReference" (
|
|
60
|
+
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
|
61
|
+
"datasetId" TEXT NOT NULL,
|
|
62
|
+
"bookId" TEXT NOT NULL,
|
|
63
|
+
"chapterNumber" INTEGER NOT NULL,
|
|
64
|
+
"verseNumber" INTEGER NOT NULL,
|
|
65
|
+
"endVerseNumber" INTEGER,
|
|
66
|
+
"score" INTEGER,
|
|
67
|
+
"sha256" TEXT,
|
|
68
|
+
CONSTRAINT "DatasetReference_datasetId_fkey" FOREIGN KEY ("datasetId") REFERENCES "Dataset" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
|
|
69
|
+
CONSTRAINT "DatasetReference_datasetId_bookId_fkey" FOREIGN KEY ("datasetId", "bookId") REFERENCES "DatasetBook" ("datasetId", "id") ON DELETE RESTRICT ON UPDATE CASCADE,
|
|
70
|
+
CONSTRAINT "DatasetReference_datasetId_bookId_chapterNumber_fkey" FOREIGN KEY ("datasetId", "bookId", "chapterNumber") REFERENCES "DatasetChapter" ("datasetId", "bookId", "number") ON DELETE RESTRICT ON UPDATE CASCADE,
|
|
71
|
+
CONSTRAINT "DatasetReference_datasetId_bookId_chapterNumber_verseNumber_fkey" FOREIGN KEY ("datasetId", "bookId", "chapterNumber", "verseNumber") REFERENCES "DatasetChapterVerse" ("datasetId", "bookId", "chapterNumber", "number") ON DELETE RESTRICT ON UPDATE CASCADE
|
|
72
|
+
);
|