optcg-db 0.4.0 → 0.4.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/db/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,MAAM,IAAI,CAAC;AAOpB,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,OAAO,CAAC;CACd;AAuBD,wBAAgB,OAAO,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,EAAE,CAAC,IAAI,CAoBlD;AAED,wBAAsB,KAAK,CAAC,CAAC,SAAS,EAAE,CAAC,cAAc,GAAG,EAAE,CAAC,cAAc,EACzE,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,OAAO,EAAE,GACjB,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAG5B;AAED,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAM/C"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/db/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,MAAM,IAAI,CAAC;AASpB,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,OAAO,CAAC;CACd;AAuBD,wBAAgB,OAAO,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,EAAE,CAAC,IAAI,CAoBlD;AAED,wBAAsB,KAAK,CAAC,CAAC,SAAS,EAAE,CAAC,cAAc,GAAG,EAAE,CAAC,cAAc,EACzE,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,OAAO,EAAE,GACjB,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAY5B;AAED,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAM/C"}
package/dist/db/client.js CHANGED
@@ -6,6 +6,8 @@ import "dotenv/config";
6
6
  import pg from "pg";
7
7
  import { logger } from "../shared/logger.js";
8
8
  const { Pool } = pg;
9
+ const SLOW_QUERY_MS = 250;
10
+ const SQL_PREVIEW_LENGTH = 180;
9
11
  let pool = null;
10
12
  /**
11
13
  * Build DB config from environment variables.
@@ -38,7 +40,7 @@ export function getPool(config) {
38
40
  database: c.database,
39
41
  ssl: c.ssl ? { rejectUnauthorized: false } : false,
40
42
  max: 10,
41
- idleTimeoutMillis: 30000,
43
+ idleTimeoutMillis: 600000,
42
44
  connectionTimeoutMillis: 5000,
43
45
  });
44
46
  pool.on("error", (err) => {
@@ -49,7 +51,16 @@ export function getPool(config) {
49
51
  }
50
52
  export async function query(text, params) {
51
53
  const p = getPool();
52
- return p.query(text, params);
54
+ const startedAt = process.hrtime.bigint();
55
+ try {
56
+ const result = await p.query(text, params);
57
+ logQueryTiming(text, params, result.rowCount, startedAt);
58
+ return result;
59
+ }
60
+ catch (error) {
61
+ logQueryTiming(text, params, null, startedAt, error);
62
+ throw error;
63
+ }
53
64
  }
54
65
  export async function closePool() {
55
66
  if (pool) {
@@ -58,4 +69,25 @@ export async function closePool() {
58
69
  logger.info("Database pool closed");
59
70
  }
60
71
  }
72
+ function logQueryTiming(text, params, rowCount, startedAt, error) {
73
+ const durationMs = Number(process.hrtime.bigint() - startedAt) / 1_000_000;
74
+ const payload = {
75
+ duration_ms: Number(durationMs.toFixed(1)),
76
+ row_count: rowCount,
77
+ param_count: params?.length ?? 0,
78
+ sql: summarizeSql(text),
79
+ ...(error instanceof Error ? { error: error.message } : {}),
80
+ };
81
+ if (error || durationMs >= SLOW_QUERY_MS) {
82
+ logger.warn("Slow database query", payload);
83
+ return;
84
+ }
85
+ logger.debug("Database query timing", payload);
86
+ }
87
+ function summarizeSql(text) {
88
+ const normalized = text.replace(/\s+/g, " ").trim();
89
+ if (normalized.length <= SQL_PREVIEW_LENGTH)
90
+ return normalized;
91
+ return normalized.slice(0, SQL_PREVIEW_LENGTH - 3) + "...";
92
+ }
61
93
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/db/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AAEpB,IAAI,IAAI,GAAmB,IAAI,CAAC;AAWhC;;;GAGG;AACH,SAAS,eAAe;IACtB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;IACjC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;IACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IACzC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACjF,CAAC;IACD,OAAO;QACL,IAAI;QACJ,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,MAAM,EAAE,EAAE,CAAC;QACjD,IAAI;QACJ,QAAQ;QACR,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,OAAO;QACxC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,MAAM;KAC/C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,MAAiB;IACvC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,CAAC,GAAG,MAAM,IAAI,eAAe,EAAE,CAAC;QACtC,IAAI,GAAG,IAAI,IAAI,CAAC;YACd,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK;YAClD,GAAG,EAAE,EAAE;YACP,iBAAiB,EAAE,KAAK;YACxB,uBAAuB,EAAE,IAAI;SAC9B,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACvB,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,KAAK,CACzB,IAAY,EACZ,MAAkB;IAElB,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;IACpB,OAAO,CAAC,CAAC,KAAK,CAAI,IAAI,EAAE,MAAM,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS;IAC7B,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,IAAI,GAAG,IAAI,CAAC;QACZ,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACtC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/db/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AACpB,MAAM,aAAa,GAAG,GAAG,CAAC;AAC1B,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAE/B,IAAI,IAAI,GAAmB,IAAI,CAAC;AAWhC;;;GAGG;AACH,SAAS,eAAe;IACtB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;IACjC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;IACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IACzC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACjF,CAAC;IACD,OAAO;QACL,IAAI;QACJ,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,MAAM,EAAE,EAAE,CAAC;QACjD,IAAI;QACJ,QAAQ;QACR,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,OAAO;QACxC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,MAAM;KAC/C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,MAAiB;IACvC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,CAAC,GAAG,MAAM,IAAI,eAAe,EAAE,CAAC;QACtC,IAAI,GAAG,IAAI,IAAI,CAAC;YACd,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK;YAClD,GAAG,EAAE,EAAE;YACP,iBAAiB,EAAE,MAAM;YACzB,uBAAuB,EAAE,IAAI;SAC9B,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACvB,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,KAAK,CACzB,IAAY,EACZ,MAAkB;IAElB,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;IACpB,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IAE1C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,KAAK,CAAI,IAAI,EAAE,MAAM,CAAC,CAAC;QAC9C,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACzD,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QACrD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS;IAC7B,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,IAAI,GAAG,IAAI,CAAC;QACZ,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACtC,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CACrB,IAAY,EACZ,MAA6B,EAC7B,QAAuB,EACvB,SAAiB,EACjB,KAAe;IAEf,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;IAC3E,MAAM,OAAO,GAAG;QACd,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1C,SAAS,EAAE,QAAQ;QACnB,WAAW,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;QAChC,GAAG,EAAE,YAAY,CAAC,IAAI,CAAC;QACvB,GAAG,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5D,CAAC;IAEF,IAAI,KAAK,IAAI,UAAU,IAAI,aAAa,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;QAC5C,OAAO;IACT,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACpD,IAAI,UAAU,CAAC,MAAM,IAAI,kBAAkB;QAAE,OAAO,UAAU,CAAC;IAC/D,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;AAC7D,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=restore.d.ts.map
@@ -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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"}
@@ -7,6 +7,7 @@ export interface Product {
7
7
  language: Language;
8
8
  name: string;
9
9
  source: string;
10
+ set_codes: string[] | null;
10
11
  tcgplayer_group_id: number | null;
11
12
  released_at: string | null;
12
13
  created_at: string;
@@ -42,6 +43,8 @@ export interface CardImage {
42
43
  variant_index: number;
43
44
  image_url: string;
44
45
  source_url: string | null;
46
+ artist: string | null;
47
+ artist_ocr: boolean;
45
48
  is_default: boolean;
46
49
  label: string | null;
47
50
  classified: boolean;
@@ -126,7 +129,7 @@ export type Language = "en" | "ja" | "fr" | "zh";
126
129
  /** Card types in OPTCG */
127
130
  export type CardType = "Leader" | "Character" | "Event" | "Stage";
128
131
  /** Rarity codes */
129
- export type Rarity = "C" | "UC" | "R" | "SR" | "SEC" | "L" | "P" | "SP";
132
+ export type Rarity = "C" | "UC" | "R" | "SR" | "SEC" | "L" | "P" | "SP" | "TR";
130
133
  /** Color values */
131
134
  export type Color = "Red" | "Green" | "Blue" | "Purple" | "Black" | "Yellow";
132
135
  /** Attribute values */
@@ -137,6 +140,6 @@ export type DonFinish = "Normal" | "Foil" | "Gold";
137
140
  export type ProductType = "card" | "sealed" | "don";
138
141
  /** Label mapping from TCGPlayer suffix to card_images label */
139
142
  export declare const TCGPLAYER_LABEL_MAP: Record<string, string>;
140
- /** Suffixes that indicate the gold variant of an SP Card */
143
+ /** Suffixes that indicate the gold variant of an SP label */
141
144
  export declare const TCGPLAYER_GOLD_SP_SUFFIXES: Set<string>;
142
145
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"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"}
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 Card",
10
- "(SP) (Gold)": "SP Card",
11
- "(SP) (Silver)": "SP Card",
12
- "(SP) (Wanted Poster)": "SP Card",
13
- "(Wanted Poster)": "SP Card",
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",
@@ -25,11 +25,11 @@ export const TCGPLAYER_LABEL_MAP = {
25
25
  "(Parallel)": "Alternate Art",
26
26
  "(Super Alternate Art)": "Alternate Art",
27
27
  "(Red Super Alternate Art)": "Alternate Art",
28
- "(Textured Foil)": "Alternate Art",
29
- "(Pirate Foil)": "Alternate Art",
30
- "(Jolly Roger Foil)": "Alternate Art",
31
- "(TR)": "Alternate Art",
28
+ "(Textured Foil)": "Textured Foil",
29
+ "(Pirate Foil)": "Jolly Roger Foil",
30
+ "(Jolly Roger Foil)": "Jolly Roger Foil",
31
+ "(TR)": "TR",
32
32
  };
33
- /** Suffixes that indicate the gold variant of an SP Card */
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
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAyJH,+DAA+D;AAC/D,MAAM,CAAC,MAAM,mBAAmB,GAA2B;IACzD,EAAE,EAAE,UAAU;IACd,iBAAiB,EAAE,eAAe;IAClC,MAAM,EAAE,SAAS;IACjB,aAAa,EAAE,SAAS;IACxB,eAAe,EAAE,SAAS;IAC1B,sBAAsB,EAAE,SAAS;IACjC,iBAAiB,EAAE,SAAS;IAC5B,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,eAAe;IAChC,oBAAoB,EAAE,eAAe;IACrC,MAAM,EAAE,eAAe;CACxB,CAAC;AAEF,4DAA4D;AAC5D,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA4JH,+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.0",
3
+ "version": "0.4.2",
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
  },