optcg-db 0.4.1 → 0.4.3
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/db/restore.d.ts +2 -0
- package/dist/db/restore.d.ts.map +1 -0
- package/dist/db/restore.js +77 -0
- package/dist/db/restore.js.map +1 -0
- package/dist/db/schema.d.ts +18 -3
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/schema.js +7 -7
- package/dist/db/schema.js.map +1 -1
- package/package.json +10 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"restore.d.ts","sourceRoot":"","sources":["../../src/db/restore.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { mkdtemp, rm } from "node:fs/promises";
|
|
2
|
+
import { tmpdir } from "node:os";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { spawn } from "node:child_process";
|
|
5
|
+
function requireEnv(name) {
|
|
6
|
+
const value = process.env[name];
|
|
7
|
+
if (!value)
|
|
8
|
+
throw new Error(`Missing required environment variable: ${name}`);
|
|
9
|
+
return value;
|
|
10
|
+
}
|
|
11
|
+
function run(command, args, env = process.env) {
|
|
12
|
+
return new Promise((resolve, reject) => {
|
|
13
|
+
const child = spawn(command, args, {
|
|
14
|
+
stdio: "inherit",
|
|
15
|
+
env,
|
|
16
|
+
});
|
|
17
|
+
child.on("error", reject);
|
|
18
|
+
child.on("exit", (code) => {
|
|
19
|
+
if (code === 0) {
|
|
20
|
+
resolve();
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
reject(new Error(`${command} exited with code ${code ?? "unknown"}`));
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
async function main() {
|
|
28
|
+
const dumpUrl = requireEnv("DUMP_URL");
|
|
29
|
+
const host = requireEnv("DB_HOST");
|
|
30
|
+
const port = process.env.DB_PORT ?? "5432";
|
|
31
|
+
const database = process.env.DB_NAME ?? "optcg";
|
|
32
|
+
const user = requireEnv("DB_USER");
|
|
33
|
+
const password = requireEnv("DB_PASSWORD");
|
|
34
|
+
const clean = process.env.RESTORE_CLEAN !== "false";
|
|
35
|
+
const jobs = process.env.RESTORE_JOBS ?? "1";
|
|
36
|
+
const tempDir = await mkdtemp(path.join(tmpdir(), "optcg-restore-"));
|
|
37
|
+
const dumpPath = path.join(tempDir, "database.dump");
|
|
38
|
+
try {
|
|
39
|
+
console.log(`Downloading dump from ${dumpUrl} ...`);
|
|
40
|
+
await run("curl", ["-fL", dumpUrl, "-o", dumpPath]);
|
|
41
|
+
const pgEnv = {
|
|
42
|
+
...process.env,
|
|
43
|
+
PGPASSWORD: password,
|
|
44
|
+
};
|
|
45
|
+
const args = [
|
|
46
|
+
"--verbose",
|
|
47
|
+
"--no-owner",
|
|
48
|
+
"--no-privileges",
|
|
49
|
+
"--host",
|
|
50
|
+
host,
|
|
51
|
+
"--port",
|
|
52
|
+
port,
|
|
53
|
+
"--username",
|
|
54
|
+
user,
|
|
55
|
+
"--dbname",
|
|
56
|
+
database,
|
|
57
|
+
"--jobs",
|
|
58
|
+
jobs,
|
|
59
|
+
];
|
|
60
|
+
if (clean) {
|
|
61
|
+
args.push("--clean", "--if-exists");
|
|
62
|
+
}
|
|
63
|
+
args.push(dumpPath);
|
|
64
|
+
console.log(`Restoring dump into ${database}@${host}:${port} ...`);
|
|
65
|
+
await run("pg_restore", args, pgEnv);
|
|
66
|
+
console.log("Restore completed successfully.");
|
|
67
|
+
}
|
|
68
|
+
finally {
|
|
69
|
+
await rm(tempDir, { recursive: true, force: true });
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
main().catch((error) => {
|
|
73
|
+
console.error("Restore failed");
|
|
74
|
+
console.error(error);
|
|
75
|
+
process.exitCode = 1;
|
|
76
|
+
});
|
|
77
|
+
//# sourceMappingURL=restore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"restore.js","sourceRoot":"","sources":["../../src/db/restore.ts"],"names":[],"mappings":"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"}
|
package/dist/db/schema.d.ts
CHANGED
|
@@ -41,8 +41,19 @@ export interface CardImage {
|
|
|
41
41
|
card_id: string;
|
|
42
42
|
product_id: string | null;
|
|
43
43
|
variant_index: number;
|
|
44
|
-
image_url: string;
|
|
44
|
+
image_url: string | null;
|
|
45
|
+
scan_url: string | null;
|
|
45
46
|
source_url: string | null;
|
|
47
|
+
artist: string | null;
|
|
48
|
+
artist_ocr: boolean;
|
|
49
|
+
artist_source: ArtistSource | null;
|
|
50
|
+
artist_ocr_status: ArtistOcrStatus;
|
|
51
|
+
artist_ocr_candidate: string | null;
|
|
52
|
+
artist_ocr_confidence: string | null;
|
|
53
|
+
artist_ocr_attempts: number;
|
|
54
|
+
artist_ocr_last_error: string | null;
|
|
55
|
+
artist_ocr_last_run_at: string | null;
|
|
56
|
+
artist_ocr_source_url: string | null;
|
|
46
57
|
is_default: boolean;
|
|
47
58
|
label: string | null;
|
|
48
59
|
classified: boolean;
|
|
@@ -127,7 +138,7 @@ export type Language = "en" | "ja" | "fr" | "zh";
|
|
|
127
138
|
/** Card types in OPTCG */
|
|
128
139
|
export type CardType = "Leader" | "Character" | "Event" | "Stage";
|
|
129
140
|
/** Rarity codes */
|
|
130
|
-
export type Rarity = "C" | "UC" | "R" | "SR" | "SEC" | "L" | "P" | "SP";
|
|
141
|
+
export type Rarity = "C" | "UC" | "R" | "SR" | "SEC" | "L" | "P" | "SP" | "TR";
|
|
131
142
|
/** Color values */
|
|
132
143
|
export type Color = "Red" | "Green" | "Blue" | "Purple" | "Black" | "Yellow";
|
|
133
144
|
/** Attribute values */
|
|
@@ -136,8 +147,12 @@ export type Attribute = "Strike" | "Slash" | "Special" | "Wisdom" | "Ranged";
|
|
|
136
147
|
export type DonFinish = "Normal" | "Foil" | "Gold";
|
|
137
148
|
/** TCGPlayer product types */
|
|
138
149
|
export type ProductType = "card" | "sealed" | "don";
|
|
150
|
+
/** Source of the canonical variant artist value */
|
|
151
|
+
export type ArtistSource = "manual" | "scrape" | "ocr";
|
|
152
|
+
/** OCR workflow state for a card image variant */
|
|
153
|
+
export type ArtistOcrStatus = "pending" | "processing" | "succeeded" | "failed" | "needs_review" | "skipped";
|
|
139
154
|
/** Label mapping from TCGPlayer suffix to card_images label */
|
|
140
155
|
export declare const TCGPLAYER_LABEL_MAP: Record<string, string>;
|
|
141
|
-
/** Suffixes that indicate the gold variant of an SP
|
|
156
|
+
/** Suffixes that indicate the gold variant of an SP label */
|
|
142
157
|
export declare const TCGPLAYER_GOLD_SP_SUFFIXES: Set<string>;
|
|
143
158
|
//# sourceMappingURL=schema.d.ts.map
|
package/dist/db/schema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC3B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"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"}
|
package/dist/db/schema.js
CHANGED
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
export const TCGPLAYER_LABEL_MAP = {
|
|
7
7
|
"": "Standard",
|
|
8
8
|
"(Alternate Art)": "Alternate Art",
|
|
9
|
-
"(SP)": "SP
|
|
10
|
-
"(SP) (Gold)": "SP
|
|
11
|
-
"(SP) (Silver)": "SP
|
|
12
|
-
"(SP) (Wanted Poster)": "SP
|
|
13
|
-
"(Wanted Poster)": "SP
|
|
9
|
+
"(SP)": "SP",
|
|
10
|
+
"(SP) (Gold)": "SP",
|
|
11
|
+
"(SP) (Silver)": "SP",
|
|
12
|
+
"(SP) (Wanted Poster)": "SP",
|
|
13
|
+
"(Wanted Poster)": "SP",
|
|
14
14
|
"(Manga)": "Manga Art",
|
|
15
15
|
"(Parallel) (Manga)": "Manga Art",
|
|
16
16
|
"(Alternate Art) (Manga)": "Manga Art",
|
|
@@ -28,8 +28,8 @@ export const TCGPLAYER_LABEL_MAP = {
|
|
|
28
28
|
"(Textured Foil)": "Textured Foil",
|
|
29
29
|
"(Pirate Foil)": "Jolly Roger Foil",
|
|
30
30
|
"(Jolly Roger Foil)": "Jolly Roger Foil",
|
|
31
|
-
"(TR)": "
|
|
31
|
+
"(TR)": "TR",
|
|
32
32
|
};
|
|
33
|
-
/** Suffixes that indicate the gold variant of an SP
|
|
33
|
+
/** Suffixes that indicate the gold variant of an SP label */
|
|
34
34
|
export const TCGPLAYER_GOLD_SP_SUFFIXES = new Set(["(SP) (Gold)"]);
|
|
35
35
|
//# sourceMappingURL=schema.js.map
|
package/dist/db/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAiLH,+DAA+D;AAC/D,MAAM,CAAC,MAAM,mBAAmB,GAA2B;IACzD,EAAE,EAAE,UAAU;IACd,iBAAiB,EAAE,eAAe;IAClC,MAAM,EAAE,IAAI;IACZ,aAAa,EAAE,IAAI;IACnB,eAAe,EAAE,IAAI;IACrB,sBAAsB,EAAE,IAAI;IAC5B,iBAAiB,EAAE,IAAI;IACvB,SAAS,EAAE,WAAW;IACtB,oBAAoB,EAAE,WAAW;IACjC,yBAAyB,EAAE,WAAW;IACtC,oCAAoC,EAAE,WAAW;IACjD,QAAQ,EAAE,MAAM;IAChB,aAAa,EAAE,WAAW;IAC1B,cAAc,EAAE,YAAY;IAC5B,YAAY,EAAE,UAAU;IACxB,SAAS,EAAE,OAAO;IAClB,iBAAiB,EAAE,SAAS;IAC5B,WAAW,EAAE,SAAS;IACtB,YAAY,EAAE,eAAe;IAC7B,uBAAuB,EAAE,eAAe;IACxC,2BAA2B,EAAE,eAAe;IAC5C,iBAAiB,EAAE,eAAe;IAClC,eAAe,EAAE,kBAAkB;IACnC,oBAAoB,EAAE,kBAAkB;IACxC,MAAM,EAAE,IAAI;CACb,CAAC;AAEF,6DAA6D;AAC7D,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "optcg-db",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Shared database layer (schema, migrations, connection pool) for the OPTCG Scryfall project",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "https://github.com/Reldnahc/optcg-db"
|
|
9
|
+
},
|
|
10
|
+
"homepage": "https://github.com/Reldnahc/optcg-db",
|
|
11
|
+
"bugs": {
|
|
12
|
+
"url": "https://github.com/Reldnahc/optcg-db/issues"
|
|
13
|
+
},
|
|
6
14
|
"exports": {
|
|
7
15
|
"./db/client.js": "./dist/db/client.js",
|
|
8
16
|
"./db/schema.js": "./dist/db/schema.js"
|
|
@@ -13,6 +21,7 @@
|
|
|
13
21
|
"scripts": {
|
|
14
22
|
"build": "tsc",
|
|
15
23
|
"migrate": "tsx src/db/migrate.ts",
|
|
24
|
+
"restore": "tsx src/db/restore.ts",
|
|
16
25
|
"prepublishOnly": "tsc",
|
|
17
26
|
"typecheck": "tsc --noEmit"
|
|
18
27
|
},
|