@s-hirano-ist/s-scripts 1.23.5 → 1.24.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.
Files changed (51) hide show
  1. package/dist/cleanup-minio-images.js +5 -7
  2. package/dist/cleanup-minio-images.js.map +1 -1
  3. package/dist/enrich-books.js +10 -8
  4. package/dist/enrich-books.js.map +1 -1
  5. package/dist/fetch-articles.js +8 -6
  6. package/dist/fetch-articles.js.map +1 -1
  7. package/dist/fetch-books.js +24 -24
  8. package/dist/fetch-books.js.map +1 -1
  9. package/dist/fetch-images.js +22 -22
  10. package/dist/fetch-images.js.map +1 -1
  11. package/dist/fetch-notes.js +2 -2
  12. package/dist/fetch-notes.js.map +1 -1
  13. package/dist/find-duplicate-json-articles.js +1 -1
  14. package/dist/find-duplicate-json-articles.js.map +1 -1
  15. package/dist/fix-book-frontmatter.js +73 -53
  16. package/dist/fix-book-frontmatter.js.map +1 -1
  17. package/dist/fix-image-formats.js +2 -2
  18. package/dist/fix-image-formats.js.map +1 -1
  19. package/dist/infrastructures/articles-command-repository.d.ts +1 -1
  20. package/dist/infrastructures/articles-command-repository.d.ts.map +1 -1
  21. package/dist/infrastructures/articles-command-repository.js +3 -2
  22. package/dist/infrastructures/articles-command-repository.js.map +1 -1
  23. package/dist/infrastructures/books-command-repository.d.ts +1 -1
  24. package/dist/infrastructures/books-command-repository.d.ts.map +1 -1
  25. package/dist/infrastructures/books-command-repository.js +3 -2
  26. package/dist/infrastructures/books-command-repository.js.map +1 -1
  27. package/dist/infrastructures/images-command-repository.d.ts +1 -1
  28. package/dist/infrastructures/images-command-repository.d.ts.map +1 -1
  29. package/dist/infrastructures/images-command-repository.js +3 -2
  30. package/dist/infrastructures/images-command-repository.js.map +1 -1
  31. package/dist/infrastructures/notes-command-repository.d.ts +1 -1
  32. package/dist/infrastructures/notes-command-repository.d.ts.map +1 -1
  33. package/dist/infrastructures/notes-command-repository.js +3 -2
  34. package/dist/infrastructures/notes-command-repository.js.map +1 -1
  35. package/dist/ingest-articles.js +128 -105
  36. package/dist/ingest-articles.js.map +1 -1
  37. package/dist/ingest-books.js +112 -101
  38. package/dist/ingest-books.js.map +1 -1
  39. package/dist/ingest-images.js +7 -7
  40. package/dist/ingest-images.js.map +1 -1
  41. package/dist/ingest-notes.js +49 -43
  42. package/dist/ingest-notes.js.map +1 -1
  43. package/dist/rag/ingest.js +5 -5
  44. package/dist/rag/ingest.js.map +1 -1
  45. package/dist/s-content-format.js +1 -1
  46. package/dist/s-content-format.js.map +1 -1
  47. package/dist/update-json-articles.js +11 -9
  48. package/dist/update-json-articles.js.map +1 -1
  49. package/dist/update-raw-articles.js +9 -8
  50. package/dist/update-raw-articles.js.map +1 -1
  51. package/package.json +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"fix-book-frontmatter.js","sourceRoot":"","sources":["../src/fix-book-frontmatter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fix-book-frontmatter.js","sourceRoot":"","sources":["../src/fix-book-frontmatter.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
+ import { glob } from "glob";
2
3
  import { stat, unlink } from "node:fs/promises";
3
4
  import { basename, extname, join } from "node:path";
4
- import { glob } from "glob";
5
5
  import sharp from "sharp";
6
6
  const WEBP_QUALITY = 80;
7
7
  function isConvertibleImage(filePath) {
@@ -17,7 +17,7 @@ async function convertToWebp(inputPath, outputPath) {
17
17
  }
18
18
  async function processDirectory(directory, label, dryRun) {
19
19
  const files = await glob(`${directory}/*`);
20
- const convertible = files.filter(isConvertibleImage);
20
+ const convertible = files.filter((filePath) => isConvertibleImage(filePath));
21
21
  console.log(`\n📁 ${label}: ${convertible.length} 件の変換対象を検出(全 ${files.length} ファイル中)`);
22
22
  let converted = 0;
23
23
  let skipped = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"fix-image-formats.js","sourceRoot":"","sources":["../src/fix-image-formats.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fix-image-formats.js","sourceRoot":"","sources":["../src/fix-image-formats.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { IBatchCommandRepository } from "@s-hirano-ist/s-core/shared-kernel/repositories/batch-command-repository.interface";
2
- import type { Status } from "@s-hirano-ist/s-database";
2
+ import { type Status } from "@s-hirano-ist/s-database";
3
3
  /**
4
4
  * Prisma client type for transaction support.
5
5
  *
@@ -1 +1 @@
1
- {"version":3,"file":"articles-command-repository.d.ts","sourceRoot":"","sources":["../../src/infrastructures/articles-command-repository.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEX,uBAAuB,EAGvB,MAAM,oFAAoF,CAAC;AAC5F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAEvD;;;;;;;GAOG;AACH,KAAK,gBAAgB,GAAG;IACvB,OAAO,EAAE;QACR,UAAU,EAAE,CAAC,IAAI,EAAE;YAClB,KAAK,EAAE;gBAAE,MAAM,EAAE,MAAM,CAAC;gBAAC,MAAM,EAAE,MAAM,CAAA;aAAE,CAAC;YAC1C,IAAI,EAAE;gBAAE,MAAM,EAAE,MAAM,CAAC;gBAAC,UAAU,CAAC,EAAE,IAAI,CAAA;aAAE,CAAC;SAC5C,KAAK,OAAO,CAAC;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACjC,CAAC;IACF,YAAY,EAAE,CAAC,CAAC,SAAS,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,EACpD,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,KACX,OAAO,CAAC;SAAG,CAAC,IAAI,MAAM,CAAC,GAAG;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE;KAAE,CAAC,CAAC;CACpD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,+BAA+B,CAC9C,MAAM,EAAE,gBAAgB,GACtB,uBAAuB,CAqDzB"}
1
+ {"version":3,"file":"articles-command-repository.d.ts","sourceRoot":"","sources":["../../src/infrastructures/articles-command-repository.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEX,uBAAuB,EAGvB,MAAM,oFAAoF,CAAC;AAC5F,OAAO,EAAE,KAAK,MAAM,EAAwB,MAAM,0BAA0B,CAAC;AAE7E;;;;;;;GAOG;AACH,KAAK,gBAAgB,GAAG;IACvB,OAAO,EAAE;QACR,UAAU,EAAE,CAAC,IAAI,EAAE;YAClB,KAAK,EAAE;gBAAE,MAAM,EAAE,MAAM,CAAC;gBAAC,MAAM,EAAE,MAAM,CAAA;aAAE,CAAC;YAC1C,IAAI,EAAE;gBAAE,MAAM,EAAE,MAAM,CAAC;gBAAC,UAAU,CAAC,EAAE,IAAI,CAAA;aAAE,CAAC;SAC5C,KAAK,OAAO,CAAC;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACjC,CAAC;IACF,YAAY,EAAE,CAAC,CAAC,SAAS,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,EACpD,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,KACX,OAAO,CAAC;SAAG,CAAC,IAAI,MAAM,CAAC,GAAG;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE;KAAE,CAAC,CAAC;CACpD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,+BAA+B,CAC9C,MAAM,EAAE,gBAAgB,GACtB,uBAAuB,CAuDzB"}
@@ -1,3 +1,4 @@
1
+ import { withTransactionRetry } from "@s-hirano-ist/s-database";
1
2
  /**
2
3
  * Creates an Articles batch command repository for bulk operations.
3
4
  *
@@ -36,7 +37,7 @@ export function createArticlesCommandRepository(prisma) {
36
37
  return { count: result.count };
37
38
  },
38
39
  async resetStatus(userId, exportedAt) {
39
- const [finalized, marked] = await prisma.$transaction([
40
+ const [finalized, marked] = await withTransactionRetry(() => prisma.$transaction([
40
41
  prisma.article.updateMany({
41
42
  where: {
42
43
  userId: userId,
@@ -56,7 +57,7 @@ export function createArticlesCommandRepository(prisma) {
56
57
  status: "LAST_UPDATED",
57
58
  },
58
59
  }),
59
- ]);
60
+ ]));
60
61
  return {
61
62
  finalized: { count: finalized.count },
62
63
  marked: { count: marked.count },
@@ -1 +1 @@
1
- {"version":3,"file":"articles-command-repository.js","sourceRoot":"","sources":["../../src/infrastructures/articles-command-repository.ts"],"names":[],"mappings":"AAgCA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,+BAA+B,CAC9C,MAAwB;IAExB,OAAO;QACN,KAAK,CAAC,gBAAgB,CACrB,MAA8B;YAE9B,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;YAE5D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;gBAC9C,KAAK,EAAE;oBACN,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,UAAU;iBAClB;gBACD,IAAI,EAAE;oBACL,MAAM,EAAE,QAAQ;oBAChB,GAAG,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;iBAC7C;aACD,CAAC,CAAC;YAEH,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;QAChC,CAAC;QAED,KAAK,CAAC,WAAW,CAChB,MAAc,EACd,UAAsB;YAEtB,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;gBACrD,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;oBACzB,KAAK,EAAE;wBACN,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE,cAAc;qBACtB;oBACD,IAAI,EAAE;wBACL,MAAM,EAAE,UAAU;wBAClB,UAAU,EAAE,UAAU;qBACtB;iBACD,CAAC;gBACF,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;oBACzB,KAAK,EAAE;wBACN,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE,YAAY;qBACpB;oBACD,IAAI,EAAE;wBACL,MAAM,EAAE,cAAc;qBACtB;iBACD,CAAC;aACF,CAAC,CAAC;YAEH,OAAO;gBACN,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE;gBACrC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE;aAC/B,CAAC;QACH,CAAC;KACD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"articles-command-repository.js","sourceRoot":"","sources":["../../src/infrastructures/articles-command-repository.ts"],"names":[],"mappings":"AAUA,OAAO,EAAe,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAsB7E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,+BAA+B,CAC9C,MAAwB;IAExB,OAAO;QACN,KAAK,CAAC,gBAAgB,CACrB,MAA8B;YAE9B,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;YAE5D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;gBAC9C,KAAK,EAAE;oBACN,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,UAAU;iBAClB;gBACD,IAAI,EAAE;oBACL,MAAM,EAAE,QAAQ;oBAChB,GAAG,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;iBAC7C;aACD,CAAC,CAAC;YAEH,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;QAChC,CAAC;QAED,KAAK,CAAC,WAAW,CAChB,MAAc,EACd,UAAsB;YAEtB,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,MAAM,oBAAoB,CAAC,GAAG,EAAE,CAC3D,MAAM,CAAC,YAAY,CAAC;gBACnB,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;oBACzB,KAAK,EAAE;wBACN,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE,cAAc;qBACtB;oBACD,IAAI,EAAE;wBACL,MAAM,EAAE,UAAU;wBAClB,UAAU,EAAE,UAAU;qBACtB;iBACD,CAAC;gBACF,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;oBACzB,KAAK,EAAE;wBACN,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE,YAAY;qBACpB;oBACD,IAAI,EAAE;wBACL,MAAM,EAAE,cAAc;qBACtB;iBACD,CAAC;aACF,CAAC,CACF,CAAC;YAEF,OAAO;gBACN,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE;gBACrC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE;aAC/B,CAAC;QACH,CAAC;KACD,CAAC;AACH,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { IBatchCommandRepository } from "@s-hirano-ist/s-core/shared-kernel/repositories/batch-command-repository.interface";
2
- import type { Status } from "@s-hirano-ist/s-database";
2
+ import { type Status } from "@s-hirano-ist/s-database";
3
3
  type PrismaClientLike = {
4
4
  book: {
5
5
  updateMany: (args: {
@@ -1 +1 @@
1
- {"version":3,"file":"books-command-repository.d.ts","sourceRoot":"","sources":["../../src/infrastructures/books-command-repository.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEX,uBAAuB,EAGvB,MAAM,oFAAoF,CAAC;AAC5F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAEvD,KAAK,gBAAgB,GAAG;IACvB,IAAI,EAAE;QACL,UAAU,EAAE,CAAC,IAAI,EAAE;YAClB,KAAK,EAAE;gBAAE,MAAM,EAAE,MAAM,CAAC;gBAAC,MAAM,EAAE,MAAM,CAAA;aAAE,CAAC;YAC1C,IAAI,EAAE;gBAAE,MAAM,EAAE,MAAM,CAAC;gBAAC,UAAU,CAAC,EAAE,IAAI,CAAA;aAAE,CAAC;SAC5C,KAAK,OAAO,CAAC;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACjC,CAAC;IACF,YAAY,EAAE,CAAC,CAAC,SAAS,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,EACpD,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,KACX,OAAO,CAAC;SAAG,CAAC,IAAI,MAAM,CAAC,GAAG;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE;KAAE,CAAC,CAAC;CACpD,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC3C,MAAM,EAAE,gBAAgB,GACtB,uBAAuB,CAqDzB"}
1
+ {"version":3,"file":"books-command-repository.d.ts","sourceRoot":"","sources":["../../src/infrastructures/books-command-repository.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEX,uBAAuB,EAGvB,MAAM,oFAAoF,CAAC;AAC5F,OAAO,EAAE,KAAK,MAAM,EAAwB,MAAM,0BAA0B,CAAC;AAE7E,KAAK,gBAAgB,GAAG;IACvB,IAAI,EAAE;QACL,UAAU,EAAE,CAAC,IAAI,EAAE;YAClB,KAAK,EAAE;gBAAE,MAAM,EAAE,MAAM,CAAC;gBAAC,MAAM,EAAE,MAAM,CAAA;aAAE,CAAC;YAC1C,IAAI,EAAE;gBAAE,MAAM,EAAE,MAAM,CAAC;gBAAC,UAAU,CAAC,EAAE,IAAI,CAAA;aAAE,CAAC;SAC5C,KAAK,OAAO,CAAC;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACjC,CAAC;IACF,YAAY,EAAE,CAAC,CAAC,SAAS,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,EACpD,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,KACX,OAAO,CAAC;SAAG,CAAC,IAAI,MAAM,CAAC,GAAG;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE;KAAE,CAAC,CAAC;CACpD,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC3C,MAAM,EAAE,gBAAgB,GACtB,uBAAuB,CAuDzB"}
@@ -1,3 +1,4 @@
1
+ import { withTransactionRetry } from "@s-hirano-ist/s-database";
1
2
  /**
2
3
  * Creates a Books batch command repository for bulk operations.
3
4
  *
@@ -21,7 +22,7 @@ export function createBooksCommandRepository(prisma) {
21
22
  return { count: result.count };
22
23
  },
23
24
  async resetStatus(userId, exportedAt) {
24
- const [finalized, marked] = await prisma.$transaction([
25
+ const [finalized, marked] = await withTransactionRetry(() => prisma.$transaction([
25
26
  prisma.book.updateMany({
26
27
  where: {
27
28
  userId: userId,
@@ -41,7 +42,7 @@ export function createBooksCommandRepository(prisma) {
41
42
  status: "LAST_UPDATED",
42
43
  },
43
44
  }),
44
- ]);
45
+ ]));
45
46
  return {
46
47
  finalized: { count: finalized.count },
47
48
  marked: { count: marked.count },
@@ -1 +1 @@
1
- {"version":3,"file":"books-command-repository.js","sourceRoot":"","sources":["../../src/infrastructures/books-command-repository.ts"],"names":[],"mappings":"AAwBA;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAC3C,MAAwB;IAExB,OAAO;QACN,KAAK,CAAC,gBAAgB,CACrB,MAA8B;YAE9B,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;YAE5D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC3C,KAAK,EAAE;oBACN,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,UAAU;iBAClB;gBACD,IAAI,EAAE;oBACL,MAAM,EAAE,QAAQ;oBAChB,GAAG,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;iBAC7C;aACD,CAAC,CAAC;YAEH,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;QAChC,CAAC;QAED,KAAK,CAAC,WAAW,CAChB,MAAc,EACd,UAAsB;YAEtB,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;gBACrD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;oBACtB,KAAK,EAAE;wBACN,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE,cAAc;qBACtB;oBACD,IAAI,EAAE;wBACL,MAAM,EAAE,UAAU;wBAClB,UAAU,EAAE,UAAU;qBACtB;iBACD,CAAC;gBACF,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;oBACtB,KAAK,EAAE;wBACN,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE,YAAY;qBACpB;oBACD,IAAI,EAAE;wBACL,MAAM,EAAE,cAAc;qBACtB;iBACD,CAAC;aACF,CAAC,CAAC;YAEH,OAAO;gBACN,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE;gBACrC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE;aAC/B,CAAC;QACH,CAAC;KACD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"books-command-repository.js","sourceRoot":"","sources":["../../src/infrastructures/books-command-repository.ts"],"names":[],"mappings":"AAUA,OAAO,EAAe,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAc7E;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAC3C,MAAwB;IAExB,OAAO;QACN,KAAK,CAAC,gBAAgB,CACrB,MAA8B;YAE9B,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;YAE5D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC3C,KAAK,EAAE;oBACN,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,UAAU;iBAClB;gBACD,IAAI,EAAE;oBACL,MAAM,EAAE,QAAQ;oBAChB,GAAG,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;iBAC7C;aACD,CAAC,CAAC;YAEH,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;QAChC,CAAC;QAED,KAAK,CAAC,WAAW,CAChB,MAAc,EACd,UAAsB;YAEtB,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,MAAM,oBAAoB,CAAC,GAAG,EAAE,CAC3D,MAAM,CAAC,YAAY,CAAC;gBACnB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;oBACtB,KAAK,EAAE;wBACN,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE,cAAc;qBACtB;oBACD,IAAI,EAAE;wBACL,MAAM,EAAE,UAAU;wBAClB,UAAU,EAAE,UAAU;qBACtB;iBACD,CAAC;gBACF,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;oBACtB,KAAK,EAAE;wBACN,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE,YAAY;qBACpB;oBACD,IAAI,EAAE;wBACL,MAAM,EAAE,cAAc;qBACtB;iBACD,CAAC;aACF,CAAC,CACF,CAAC;YAEF,OAAO;gBACN,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE;gBACrC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE;aAC/B,CAAC;QACH,CAAC;KACD,CAAC;AACH,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { IBatchCommandRepository } from "@s-hirano-ist/s-core/shared-kernel/repositories/batch-command-repository.interface";
2
- import type { Status } from "@s-hirano-ist/s-database";
2
+ import { type Status } from "@s-hirano-ist/s-database";
3
3
  type PrismaClientLike = {
4
4
  image: {
5
5
  updateMany: (args: {
@@ -1 +1 @@
1
- {"version":3,"file":"images-command-repository.d.ts","sourceRoot":"","sources":["../../src/infrastructures/images-command-repository.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEX,uBAAuB,EAGvB,MAAM,oFAAoF,CAAC;AAC5F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAEvD,KAAK,gBAAgB,GAAG;IACvB,KAAK,EAAE;QACN,UAAU,EAAE,CAAC,IAAI,EAAE;YAClB,KAAK,EAAE;gBAAE,MAAM,EAAE,MAAM,CAAC;gBAAC,MAAM,EAAE,MAAM,CAAA;aAAE,CAAC;YAC1C,IAAI,EAAE;gBAAE,MAAM,EAAE,MAAM,CAAC;gBAAC,UAAU,CAAC,EAAE,IAAI,CAAA;aAAE,CAAC;SAC5C,KAAK,OAAO,CAAC;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACjC,CAAC;IACF,YAAY,EAAE,CAAC,CAAC,SAAS,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,EACpD,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,KACX,OAAO,CAAC;SAAG,CAAC,IAAI,MAAM,CAAC,GAAG;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE;KAAE,CAAC,CAAC;CACpD,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC5C,MAAM,EAAE,gBAAgB,GACtB,uBAAuB,CAqDzB"}
1
+ {"version":3,"file":"images-command-repository.d.ts","sourceRoot":"","sources":["../../src/infrastructures/images-command-repository.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEX,uBAAuB,EAGvB,MAAM,oFAAoF,CAAC;AAC5F,OAAO,EAAE,KAAK,MAAM,EAAwB,MAAM,0BAA0B,CAAC;AAE7E,KAAK,gBAAgB,GAAG;IACvB,KAAK,EAAE;QACN,UAAU,EAAE,CAAC,IAAI,EAAE;YAClB,KAAK,EAAE;gBAAE,MAAM,EAAE,MAAM,CAAC;gBAAC,MAAM,EAAE,MAAM,CAAA;aAAE,CAAC;YAC1C,IAAI,EAAE;gBAAE,MAAM,EAAE,MAAM,CAAC;gBAAC,UAAU,CAAC,EAAE,IAAI,CAAA;aAAE,CAAC;SAC5C,KAAK,OAAO,CAAC;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACjC,CAAC;IACF,YAAY,EAAE,CAAC,CAAC,SAAS,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,EACpD,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,KACX,OAAO,CAAC;SAAG,CAAC,IAAI,MAAM,CAAC,GAAG;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE;KAAE,CAAC,CAAC;CACpD,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC5C,MAAM,EAAE,gBAAgB,GACtB,uBAAuB,CAuDzB"}
@@ -1,3 +1,4 @@
1
+ import { withTransactionRetry } from "@s-hirano-ist/s-database";
1
2
  /**
2
3
  * Creates an Images batch command repository for bulk operations.
3
4
  *
@@ -21,7 +22,7 @@ export function createImagesCommandRepository(prisma) {
21
22
  return { count: result.count };
22
23
  },
23
24
  async resetStatus(userId, exportedAt) {
24
- const [finalized, marked] = await prisma.$transaction([
25
+ const [finalized, marked] = await withTransactionRetry(() => prisma.$transaction([
25
26
  prisma.image.updateMany({
26
27
  where: {
27
28
  userId: userId,
@@ -41,7 +42,7 @@ export function createImagesCommandRepository(prisma) {
41
42
  status: "LAST_UPDATED",
42
43
  },
43
44
  }),
44
- ]);
45
+ ]));
45
46
  return {
46
47
  finalized: { count: finalized.count },
47
48
  marked: { count: marked.count },
@@ -1 +1 @@
1
- {"version":3,"file":"images-command-repository.js","sourceRoot":"","sources":["../../src/infrastructures/images-command-repository.ts"],"names":[],"mappings":"AAwBA;;;;;GAKG;AACH,MAAM,UAAU,6BAA6B,CAC5C,MAAwB;IAExB,OAAO;QACN,KAAK,CAAC,gBAAgB,CACrB,MAA8B;YAE9B,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;YAE5D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;gBAC5C,KAAK,EAAE;oBACN,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,UAAU;iBAClB;gBACD,IAAI,EAAE;oBACL,MAAM,EAAE,QAAQ;oBAChB,GAAG,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;iBAC7C;aACD,CAAC,CAAC;YAEH,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;QAChC,CAAC;QAED,KAAK,CAAC,WAAW,CAChB,MAAc,EACd,UAAsB;YAEtB,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;gBACrD,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;oBACvB,KAAK,EAAE;wBACN,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE,cAAc;qBACtB;oBACD,IAAI,EAAE;wBACL,MAAM,EAAE,UAAU;wBAClB,UAAU,EAAE,UAAU;qBACtB;iBACD,CAAC;gBACF,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;oBACvB,KAAK,EAAE;wBACN,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE,YAAY;qBACpB;oBACD,IAAI,EAAE;wBACL,MAAM,EAAE,cAAc;qBACtB;iBACD,CAAC;aACF,CAAC,CAAC;YAEH,OAAO;gBACN,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE;gBACrC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE;aAC/B,CAAC;QACH,CAAC;KACD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"images-command-repository.js","sourceRoot":"","sources":["../../src/infrastructures/images-command-repository.ts"],"names":[],"mappings":"AAUA,OAAO,EAAe,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAc7E;;;;;GAKG;AACH,MAAM,UAAU,6BAA6B,CAC5C,MAAwB;IAExB,OAAO;QACN,KAAK,CAAC,gBAAgB,CACrB,MAA8B;YAE9B,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;YAE5D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;gBAC5C,KAAK,EAAE;oBACN,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,UAAU;iBAClB;gBACD,IAAI,EAAE;oBACL,MAAM,EAAE,QAAQ;oBAChB,GAAG,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;iBAC7C;aACD,CAAC,CAAC;YAEH,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;QAChC,CAAC;QAED,KAAK,CAAC,WAAW,CAChB,MAAc,EACd,UAAsB;YAEtB,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,MAAM,oBAAoB,CAAC,GAAG,EAAE,CAC3D,MAAM,CAAC,YAAY,CAAC;gBACnB,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;oBACvB,KAAK,EAAE;wBACN,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE,cAAc;qBACtB;oBACD,IAAI,EAAE;wBACL,MAAM,EAAE,UAAU;wBAClB,UAAU,EAAE,UAAU;qBACtB;iBACD,CAAC;gBACF,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;oBACvB,KAAK,EAAE;wBACN,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE,YAAY;qBACpB;oBACD,IAAI,EAAE;wBACL,MAAM,EAAE,cAAc;qBACtB;iBACD,CAAC;aACF,CAAC,CACF,CAAC;YAEF,OAAO;gBACN,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE;gBACrC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE;aAC/B,CAAC;QACH,CAAC;KACD,CAAC;AACH,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { IBatchCommandRepository } from "@s-hirano-ist/s-core/shared-kernel/repositories/batch-command-repository.interface";
2
- import type { Status } from "@s-hirano-ist/s-database";
2
+ import { type Status } from "@s-hirano-ist/s-database";
3
3
  type PrismaClientLike = {
4
4
  note: {
5
5
  updateMany: (args: {
@@ -1 +1 @@
1
- {"version":3,"file":"notes-command-repository.d.ts","sourceRoot":"","sources":["../../src/infrastructures/notes-command-repository.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEX,uBAAuB,EAGvB,MAAM,oFAAoF,CAAC;AAC5F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAEvD,KAAK,gBAAgB,GAAG;IACvB,IAAI,EAAE;QACL,UAAU,EAAE,CAAC,IAAI,EAAE;YAClB,KAAK,EAAE;gBAAE,MAAM,EAAE,MAAM,CAAC;gBAAC,MAAM,EAAE,MAAM,CAAA;aAAE,CAAC;YAC1C,IAAI,EAAE;gBAAE,MAAM,EAAE,MAAM,CAAC;gBAAC,UAAU,CAAC,EAAE,IAAI,CAAA;aAAE,CAAC;SAC5C,KAAK,OAAO,CAAC;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACjC,CAAC;IACF,YAAY,EAAE,CAAC,CAAC,SAAS,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,EACpD,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,KACX,OAAO,CAAC;SAAG,CAAC,IAAI,MAAM,CAAC,GAAG;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE;KAAE,CAAC,CAAC;CACpD,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC3C,MAAM,EAAE,gBAAgB,GACtB,uBAAuB,CAqDzB"}
1
+ {"version":3,"file":"notes-command-repository.d.ts","sourceRoot":"","sources":["../../src/infrastructures/notes-command-repository.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEX,uBAAuB,EAGvB,MAAM,oFAAoF,CAAC;AAC5F,OAAO,EAAE,KAAK,MAAM,EAAwB,MAAM,0BAA0B,CAAC;AAE7E,KAAK,gBAAgB,GAAG;IACvB,IAAI,EAAE;QACL,UAAU,EAAE,CAAC,IAAI,EAAE;YAClB,KAAK,EAAE;gBAAE,MAAM,EAAE,MAAM,CAAC;gBAAC,MAAM,EAAE,MAAM,CAAA;aAAE,CAAC;YAC1C,IAAI,EAAE;gBAAE,MAAM,EAAE,MAAM,CAAC;gBAAC,UAAU,CAAC,EAAE,IAAI,CAAA;aAAE,CAAC;SAC5C,KAAK,OAAO,CAAC;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACjC,CAAC;IACF,YAAY,EAAE,CAAC,CAAC,SAAS,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,EACpD,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,KACX,OAAO,CAAC;SAAG,CAAC,IAAI,MAAM,CAAC,GAAG;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE;KAAE,CAAC,CAAC;CACpD,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC3C,MAAM,EAAE,gBAAgB,GACtB,uBAAuB,CAuDzB"}
@@ -1,3 +1,4 @@
1
+ import { withTransactionRetry } from "@s-hirano-ist/s-database";
1
2
  /**
2
3
  * Creates a Notes batch command repository for bulk operations.
3
4
  *
@@ -21,7 +22,7 @@ export function createNotesCommandRepository(prisma) {
21
22
  return { count: result.count };
22
23
  },
23
24
  async resetStatus(userId, exportedAt) {
24
- const [finalized, marked] = await prisma.$transaction([
25
+ const [finalized, marked] = await withTransactionRetry(() => prisma.$transaction([
25
26
  prisma.note.updateMany({
26
27
  where: {
27
28
  userId: userId,
@@ -41,7 +42,7 @@ export function createNotesCommandRepository(prisma) {
41
42
  status: "LAST_UPDATED",
42
43
  },
43
44
  }),
44
- ]);
45
+ ]));
45
46
  return {
46
47
  finalized: { count: finalized.count },
47
48
  marked: { count: marked.count },
@@ -1 +1 @@
1
- {"version":3,"file":"notes-command-repository.js","sourceRoot":"","sources":["../../src/infrastructures/notes-command-repository.ts"],"names":[],"mappings":"AAwBA;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAC3C,MAAwB;IAExB,OAAO;QACN,KAAK,CAAC,gBAAgB,CACrB,MAA8B;YAE9B,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;YAE5D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC3C,KAAK,EAAE;oBACN,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,UAAU;iBAClB;gBACD,IAAI,EAAE;oBACL,MAAM,EAAE,QAAQ;oBAChB,GAAG,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;iBAC7C;aACD,CAAC,CAAC;YAEH,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;QAChC,CAAC;QAED,KAAK,CAAC,WAAW,CAChB,MAAc,EACd,UAAsB;YAEtB,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;gBACrD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;oBACtB,KAAK,EAAE;wBACN,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE,cAAc;qBACtB;oBACD,IAAI,EAAE;wBACL,MAAM,EAAE,UAAU;wBAClB,UAAU,EAAE,UAAU;qBACtB;iBACD,CAAC;gBACF,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;oBACtB,KAAK,EAAE;wBACN,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE,YAAY;qBACpB;oBACD,IAAI,EAAE;wBACL,MAAM,EAAE,cAAc;qBACtB;iBACD,CAAC;aACF,CAAC,CAAC;YAEH,OAAO;gBACN,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE;gBACrC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE;aAC/B,CAAC;QACH,CAAC;KACD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"notes-command-repository.js","sourceRoot":"","sources":["../../src/infrastructures/notes-command-repository.ts"],"names":[],"mappings":"AAUA,OAAO,EAAe,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAc7E;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAC3C,MAAwB;IAExB,OAAO;QACN,KAAK,CAAC,gBAAgB,CACrB,MAA8B;YAE9B,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;YAE5D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC3C,KAAK,EAAE;oBACN,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,UAAU;iBAClB;gBACD,IAAI,EAAE;oBACL,MAAM,EAAE,QAAQ;oBAChB,GAAG,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;iBAC7C;aACD,CAAC,CAAC;YAEH,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;QAChC,CAAC;QAED,KAAK,CAAC,WAAW,CAChB,MAAc,EACd,UAAsB;YAEtB,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,MAAM,oBAAoB,CAAC,GAAG,EAAE,CAC3D,MAAM,CAAC,YAAY,CAAC;gBACnB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;oBACtB,KAAK,EAAE;wBACN,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE,cAAc;qBACtB;oBACD,IAAI,EAAE;wBACL,MAAM,EAAE,UAAU;wBAClB,UAAU,EAAE,UAAU;qBACtB;iBACD,CAAC;gBACF,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;oBACtB,KAAK,EAAE;wBACN,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE,YAAY;qBACpB;oBACD,IAAI,EAAE;wBACL,MAAM,EAAE,cAAc;qBACtB;iBACD,CAAC;aACF,CAAC,CACF,CAAC;YAEF,OAAO;gBACN,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE;gBACrC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE;aAC/B,CAAC;QACH,CAAC;KACD,CAAC;AACH,CAAC"}
@@ -1,10 +1,24 @@
1
1
  #!/usr/bin/env node
2
- import { readFile } from "node:fs/promises";
3
- import { basename } from "node:path";
4
2
  import { makeExportedStatus, makeId, makeUserId, } from "@s-hirano-ist/s-core/shared-kernel/entities/common-entity";
5
3
  import { createPushoverService } from "@s-hirano-ist/s-notification";
6
4
  import { glob } from "glob";
5
+ import { readFile } from "node:fs/promises";
6
+ import { basename } from "node:path";
7
7
  const SCRIPT_NAME = "ingest-articles";
8
+ function isUnchanged(existing, item, fileQuote, fileOgImageUrl, fileOgTitle, fileOgDescription) {
9
+ return (existing.title === item.title &&
10
+ existing.quote === fileQuote &&
11
+ existing.ogImageUrl === fileOgImageUrl &&
12
+ existing.ogTitle === fileOgTitle &&
13
+ existing.ogDescription === fileOgDescription);
14
+ }
15
+ function outcomeKey(outcome) {
16
+ if (outcome === "inserted")
17
+ return "insertedCount";
18
+ if (outcome === "updated")
19
+ return "updatedCount";
20
+ return "skippedCount";
21
+ }
8
22
  async function main() {
9
23
  const dryRun = process.argv.includes("--dry-run");
10
24
  const env = {
@@ -29,6 +43,110 @@ async function main() {
29
43
  const userId = makeUserId(env.USERNAME_TO_EXPORT ?? "");
30
44
  const exported = makeExportedStatus();
31
45
  const fileUrls = new Set();
46
+ async function processExisting(existing, item) {
47
+ const fileQuote = item.quote ?? null;
48
+ const fileOgImageUrl = item.ogImageUrl ?? null;
49
+ const fileOgTitle = item.ogTitle ?? null;
50
+ const fileOgDescription = item.ogDescription ?? null;
51
+ if (isUnchanged(existing, item, fileQuote, fileOgImageUrl, fileOgTitle, fileOgDescription)) {
52
+ // console.log(
53
+ // `⏭️ スキップ(変更なし): ${item.title} (${item.url})`,
54
+ // );
55
+ return "skipped";
56
+ }
57
+ if (dryRun) {
58
+ console.log(`🔄 [dry-run] 更新予定: ${item.title} (${item.url})`);
59
+ }
60
+ else {
61
+ await prisma.article.update({
62
+ where: { id: existing.id },
63
+ data: {
64
+ title: item.title,
65
+ quote: fileQuote,
66
+ ogImageUrl: fileOgImageUrl,
67
+ ogTitle: fileOgTitle,
68
+ ogDescription: fileOgDescription,
69
+ },
70
+ });
71
+ console.log(`🔄 更新: ${item.title}`);
72
+ }
73
+ return "updated";
74
+ }
75
+ async function processNew(item, categoryId, existingArticlesMap) {
76
+ if (dryRun) {
77
+ console.log(`🔍 [dry-run] 挿入予定: ${item.title} (${item.url})`);
78
+ existingArticlesMap.set(item.url, {
79
+ id: "",
80
+ url: item.url,
81
+ title: item.title,
82
+ quote: item.quote ?? null,
83
+ ogImageUrl: item.ogImageUrl ?? null,
84
+ ogTitle: item.ogTitle ?? null,
85
+ ogDescription: item.ogDescription ?? null,
86
+ });
87
+ return "inserted";
88
+ }
89
+ await prisma.article.create({
90
+ data: {
91
+ id: String(makeId()),
92
+ title: item.title,
93
+ url: item.url,
94
+ quote: item.quote ?? null,
95
+ ogImageUrl: item.ogImageUrl ?? null,
96
+ ogTitle: item.ogTitle ?? null,
97
+ ogDescription: item.ogDescription ?? null,
98
+ categoryId,
99
+ status: exported.status,
100
+ exportedAt: exported.exportedAt,
101
+ userId,
102
+ createdAt: new Date(),
103
+ },
104
+ });
105
+ existingArticlesMap.set(item.url, {
106
+ id: "",
107
+ url: item.url,
108
+ title: item.title,
109
+ quote: item.quote ?? null,
110
+ ogImageUrl: item.ogImageUrl ?? null,
111
+ ogTitle: item.ogTitle ?? null,
112
+ ogDescription: item.ogDescription ?? null,
113
+ });
114
+ console.log(`✅ 挿入: ${item.title}`);
115
+ return "inserted";
116
+ }
117
+ async function processItem(item, categoryId, existingArticlesMap) {
118
+ fileUrls.add(item.url);
119
+ const existing = existingArticlesMap.get(item.url);
120
+ if (existing) {
121
+ return processExisting(existing, item);
122
+ }
123
+ return processNew(item, categoryId, existingArticlesMap);
124
+ }
125
+ async function resolveCategoryId(categoryName, categoryMap) {
126
+ const existingId = categoryMap.get(categoryName);
127
+ if (existingId) {
128
+ return { categoryId: existingId, created: false };
129
+ }
130
+ let categoryId;
131
+ if (dryRun) {
132
+ console.log(`🔍 [dry-run] カテゴリ作成予定: ${categoryName}`);
133
+ categoryId = `dry-run-${categoryName}`;
134
+ }
135
+ else {
136
+ const category = await prisma.category.create({
137
+ data: {
138
+ id: String(makeId()),
139
+ name: categoryName,
140
+ userId,
141
+ createdAt: new Date(),
142
+ },
143
+ });
144
+ categoryId = category.id;
145
+ console.log(`📂 カテゴリ作成: ${categoryName}`);
146
+ }
147
+ categoryMap.set(categoryName, categoryId);
148
+ return { categoryId, created: true };
149
+ }
32
150
  async function ingestArticles() {
33
151
  const files = await glob(`${contentsPath}/json/article/*.json`);
34
152
  console.log(`📁 ${files.length} 件のJSONファイルを検出しました。`);
@@ -50,9 +168,7 @@ async function main() {
50
168
  where: { userId },
51
169
  });
52
170
  const categoryMap = new Map(existingCategories.map((c) => [c.name, c.id]));
53
- let insertedCount = 0;
54
- let updatedCount = 0;
55
- let skippedCount = 0;
171
+ const counts = { insertedCount: 0, updatedCount: 0, skippedCount: 0 };
56
172
  let errorCount = 0;
57
173
  let categoryCreatedCount = 0;
58
174
  for (const filePath of files) {
@@ -60,107 +176,14 @@ async function main() {
60
176
  const content = await readFile(filePath, "utf-8");
61
177
  const json = JSON.parse(content);
62
178
  const categoryName = json.heading;
63
- let categoryId = categoryMap.get(categoryName);
64
- if (!categoryId) {
65
- if (dryRun) {
66
- console.log(`🔍 [dry-run] カテゴリ作成予定: ${categoryName}`);
67
- categoryId = `dry-run-${categoryName}`;
68
- }
69
- else {
70
- const category = await prisma.category.create({
71
- data: {
72
- id: String(makeId()),
73
- name: categoryName,
74
- userId,
75
- createdAt: new Date(),
76
- },
77
- });
78
- categoryId = category.id;
79
- console.log(`📂 カテゴリ作成: ${categoryName}`);
80
- }
81
- categoryMap.set(categoryName, categoryId);
179
+ const { categoryId, created } = await resolveCategoryId(categoryName, categoryMap);
180
+ if (created) {
82
181
  categoryCreatedCount++;
83
182
  }
84
183
  for (const item of json.body) {
85
184
  try {
86
- fileUrls.add(item.url);
87
- const existing = existingArticlesMap.get(item.url);
88
- if (existing) {
89
- const fileQuote = item.quote ?? null;
90
- const fileOgImageUrl = item.ogImageUrl ?? null;
91
- const fileOgTitle = item.ogTitle ?? null;
92
- const fileOgDescription = item.ogDescription ?? null;
93
- if (existing.title === item.title &&
94
- existing.quote === fileQuote &&
95
- existing.ogImageUrl === fileOgImageUrl &&
96
- existing.ogTitle === fileOgTitle &&
97
- existing.ogDescription === fileOgDescription) {
98
- // console.log(
99
- // `⏭️ スキップ(変更なし): ${item.title} (${item.url})`,
100
- // );
101
- skippedCount++;
102
- continue;
103
- }
104
- if (dryRun) {
105
- console.log(`🔄 [dry-run] 更新予定: ${item.title} (${item.url})`);
106
- }
107
- else {
108
- await prisma.article.update({
109
- where: { id: existing.id },
110
- data: {
111
- title: item.title,
112
- quote: fileQuote,
113
- ogImageUrl: fileOgImageUrl,
114
- ogTitle: fileOgTitle,
115
- ogDescription: fileOgDescription,
116
- },
117
- });
118
- console.log(`🔄 更新: ${item.title}`);
119
- }
120
- updatedCount++;
121
- continue;
122
- }
123
- if (dryRun) {
124
- console.log(`🔍 [dry-run] 挿入予定: ${item.title} (${item.url})`);
125
- insertedCount++;
126
- existingArticlesMap.set(item.url, {
127
- id: "",
128
- url: item.url,
129
- title: item.title,
130
- quote: item.quote ?? null,
131
- ogImageUrl: item.ogImageUrl ?? null,
132
- ogTitle: item.ogTitle ?? null,
133
- ogDescription: item.ogDescription ?? null,
134
- });
135
- continue;
136
- }
137
- await prisma.article.create({
138
- data: {
139
- id: String(makeId()),
140
- title: item.title,
141
- url: item.url,
142
- quote: item.quote ?? null,
143
- ogImageUrl: item.ogImageUrl ?? null,
144
- ogTitle: item.ogTitle ?? null,
145
- ogDescription: item.ogDescription ?? null,
146
- categoryId,
147
- status: exported.status,
148
- exportedAt: exported.exportedAt,
149
- userId,
150
- createdAt: new Date(),
151
- },
152
- });
153
- insertedCount++;
154
- existingArticlesMap.set(item.url, {
155
- id: "",
156
- url: item.url,
157
- title: item.title,
158
- quote: item.quote ?? null,
159
- ogImageUrl: item.ogImageUrl ?? null,
160
- ogTitle: item.ogTitle ?? null,
161
- ogDescription: item.ogDescription ?? null,
162
- });
163
- console.log(`✅ 挿入: ${item.title}`);
185
+ const outcome = await processItem(item, categoryId, existingArticlesMap);
186
+ counts[outcomeKey(outcome)]++;
164
187
  }
165
188
  catch (itemError) {
166
189
  console.error(`❌ エラー(${basename(filePath)} > ${item.title}):`, `url(${item.url.length}文字)=${item.url}`, `title(${item.title.length}文字)`, `quote(${(item.quote ?? "").length}文字)`, `ogImageUrl(${(item.ogImageUrl ?? "").length}文字)`, `ogTitle(${(item.ogTitle ?? "").length}文字)`, `ogDescription(${(item.ogDescription ?? "").length}文字)`, itemError);
@@ -174,9 +197,9 @@ async function main() {
174
197
  }
175
198
  }
176
199
  return {
177
- insertedCount,
178
- updatedCount,
179
- skippedCount,
200
+ insertedCount: counts.insertedCount,
201
+ updatedCount: counts.updatedCount,
202
+ skippedCount: counts.skippedCount,
180
203
  errorCount,
181
204
  categoryCreatedCount,
182
205
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ingest-articles.js","sourceRoot":"","sources":["../src/ingest-articles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ingest-articles.js","sourceRoot":"","sources":["../src/ingest-articles.ts"],"names":[],"mappings":"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"}