@luzzle/core 0.0.33 → 0.0.35

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 (224) hide show
  1. package/dist/src/database/client.d.ts +4 -0
  2. package/dist/src/database/client.js +12 -0
  3. package/dist/src/database/client.js.map +1 -0
  4. package/dist/src/database/client.test.d.ts +1 -0
  5. package/dist/src/database/client.test.js +34 -0
  6. package/dist/src/database/client.test.js.map +1 -0
  7. package/dist/src/database/database.mock.d.ts +22 -0
  8. package/dist/src/database/database.mock.js +42 -0
  9. package/dist/src/database/database.mock.js.map +1 -0
  10. package/dist/src/database/migrations/2023-05-26T15:04:19.094Z.d.ts +3 -0
  11. package/dist/src/database/migrations/2023-05-26T15:04:19.094Z.js +49 -0
  12. package/dist/src/database/migrations/2023-05-26T15:04:19.094Z.js.map +1 -0
  13. package/dist/src/database/migrations/2023-10-30T23:24:40Z.d.ts +3 -0
  14. package/dist/src/database/migrations/2023-10-30T23:24:40Z.js +35 -0
  15. package/dist/src/database/migrations/2023-10-30T23:24:40Z.js.map +1 -0
  16. package/dist/src/database/migrations/2023-11-22T14:55:18Z.d.ts +3 -0
  17. package/dist/src/database/migrations/2023-11-22T14:55:18Z.js +16 -0
  18. package/dist/src/database/migrations/2023-11-22T14:55:18Z.js.map +1 -0
  19. package/dist/src/database/migrations/2023-11-27T04:32:07Z.d.ts +3 -0
  20. package/dist/src/database/migrations/2023-11-27T04:32:07Z.js +30 -0
  21. package/dist/src/database/migrations/2023-11-27T04:32:07Z.js.map +1 -0
  22. package/dist/src/database/migrations/2024-01-01T23:30:29Z.d.ts +3 -0
  23. package/dist/src/database/migrations/2024-01-01T23:30:29Z.js +11 -0
  24. package/dist/src/database/migrations/2024-01-01T23:30:29Z.js.map +1 -0
  25. package/dist/src/database/migrations/2024-01-06T15:52:43Z.d.ts +3 -0
  26. package/dist/src/database/migrations/2024-01-06T15:52:43Z.js +16 -0
  27. package/dist/src/database/migrations/2024-01-06T15:52:43Z.js.map +1 -0
  28. package/dist/src/database/migrations/2024-02-09T16:33:10Z.d.ts +3 -0
  29. package/dist/src/database/migrations/2024-02-09T16:33:10Z.js +37 -0
  30. package/dist/src/database/migrations/2024-02-09T16:33:10Z.js.map +1 -0
  31. package/dist/src/database/migrations/2024-02-13T05:56:43Z.d.ts +3 -0
  32. package/dist/src/database/migrations/2024-02-13T05:56:43Z.js +116 -0
  33. package/dist/src/database/migrations/2024-02-13T05:56:43Z.js.map +1 -0
  34. package/dist/src/database/migrations/2024-02-24T03:05:47Z-add-texts-table.d.ts +3 -0
  35. package/dist/src/database/migrations/2024-02-24T03:05:47Z-add-texts-table.js +42 -0
  36. package/dist/src/database/migrations/2024-02-24T03:05:47Z-add-texts-table.js.map +1 -0
  37. package/dist/src/database/migrations/2024-02-26T05:37:37Z-add-cache-table.d.ts +3 -0
  38. package/dist/src/database/migrations/2024-02-26T05:37:37Z-add-cache-table.js +20 -0
  39. package/dist/src/database/migrations/2024-02-26T05:37:37Z-add-cache-table.js.map +1 -0
  40. package/dist/src/database/migrations/2024-03-01T01:01:47Z-fix-trigger-bugs.d.ts +3 -0
  41. package/dist/src/database/migrations/2024-03-01T01:01:47Z-fix-trigger-bugs.js +43 -0
  42. package/dist/src/database/migrations/2024-03-01T01:01:47Z-fix-trigger-bugs.js.map +1 -0
  43. package/dist/src/database/migrations/2024-06-15T17:17:51Z-add-games-table.d.ts +3 -0
  44. package/dist/src/database/migrations/2024-06-15T17:17:51Z-add-games-table.js +54 -0
  45. package/dist/src/database/migrations/2024-06-15T17:17:51Z-add-games-table.js.map +1 -0
  46. package/dist/src/database/migrations/2024-06-24T20:16:48Z-remove-book-open-library-fields.d.ts +3 -0
  47. package/dist/src/database/migrations/2024-06-24T20:16:48Z-remove-book-open-library-fields.js +23 -0
  48. package/dist/src/database/migrations/2024-06-24T20:16:48Z-remove-book-open-library-fields.js.map +1 -0
  49. package/dist/src/database/migrations/2024-06-29T16:31:33Z-add-piece-manager-table.d.ts +3 -0
  50. package/dist/src/database/migrations/2024-06-29T16:31:33Z-add-piece-manager-table.js +17 -0
  51. package/dist/src/database/migrations/2024-06-29T16:31:33Z-add-piece-manager-table.js.map +1 -0
  52. package/dist/src/database/migrations/2024-07-14T06:59:07Z-remove-pieces.d.ts +3 -0
  53. package/dist/src/database/migrations/2024-07-14T06:59:07Z-remove-pieces.js +15 -0
  54. package/dist/src/database/migrations/2024-07-14T06:59:07Z-remove-pieces.js.map +1 -0
  55. package/dist/src/database/migrations/2024-11-06T15:27:05Z-remove-tags.d.ts +3 -0
  56. package/dist/src/database/migrations/2024-11-06T15:27:05Z-remove-tags.js +26 -0
  57. package/dist/src/database/migrations/2024-11-06T15:27:05Z-remove-tags.js.map +1 -0
  58. package/dist/src/database/migrations/2024-11-08T05:59:37Z-remove-pieces-items-unique-tables.d.ts +3 -0
  59. package/dist/src/database/migrations/2024-11-08T05:59:37Z-remove-pieces-items-unique-tables.js +24 -0
  60. package/dist/src/database/migrations/2024-11-08T05:59:37Z-remove-pieces-items-unique-tables.js.map +1 -0
  61. package/dist/src/database/migrations/2024-11-13T14:51:17Z-track-file-paths-on-piece.d.ts +3 -0
  62. package/dist/src/database/migrations/2024-11-13T14:51:17Z-track-file-paths-on-piece.js +54 -0
  63. package/dist/src/database/migrations/2024-11-13T14:51:17Z-track-file-paths-on-piece.js.map +1 -0
  64. package/dist/src/database/migrations/2024-12-15T06:35:24Z-track-assets-on-piece.d.ts +3 -0
  65. package/dist/src/database/migrations/2024-12-15T06:35:24Z-track-assets-on-piece.js +10 -0
  66. package/dist/src/database/migrations/2024-12-15T06:35:24Z-track-assets-on-piece.js.map +1 -0
  67. package/dist/src/database/migrations.d.ts +3 -0
  68. package/dist/src/database/migrations.js +16 -0
  69. package/dist/src/database/migrations.js.map +1 -0
  70. package/dist/src/database/migrations.test.d.ts +1 -0
  71. package/dist/src/database/migrations.test.js +37 -0
  72. package/dist/src/database/migrations.test.js.map +1 -0
  73. package/dist/src/database/tables/index.d.ts +21 -0
  74. package/dist/src/database/tables/index.js +7 -0
  75. package/dist/src/database/tables/index.js.map +1 -0
  76. package/dist/src/database/tables/pieces_cache.schema.d.ts +13 -0
  77. package/dist/src/database/tables/pieces_cache.schema.js +2 -0
  78. package/dist/src/database/tables/pieces_cache.schema.js.map +1 -0
  79. package/dist/src/database/tables/pieces_items.schema.d.ts +16 -0
  80. package/dist/src/database/tables/pieces_items.schema.js +2 -0
  81. package/dist/src/database/tables/pieces_items.schema.js.map +1 -0
  82. package/dist/src/database/tables/pieces_manager.schema.d.ts +13 -0
  83. package/dist/src/database/tables/pieces_manager.schema.js +2 -0
  84. package/dist/src/database/tables/pieces_manager.schema.js.map +1 -0
  85. package/dist/src/database/utils.d.ts +8 -0
  86. package/dist/src/database/utils.js +2 -0
  87. package/dist/src/database/utils.js.map +1 -0
  88. package/dist/src/database/utils.test.d.ts +1 -0
  89. package/dist/src/database/utils.test.js +9 -0
  90. package/dist/src/database/utils.test.js.map +1 -0
  91. package/dist/src/index.d.ts +11 -0
  92. package/dist/src/index.js +12 -0
  93. package/dist/src/index.js.map +1 -0
  94. package/dist/src/index.test.d.ts +1 -0
  95. package/dist/src/index.test.js +9 -0
  96. package/dist/src/index.test.js.map +1 -0
  97. package/dist/src/lib/ajv.d.ts +6 -0
  98. package/dist/src/lib/ajv.js +25 -0
  99. package/dist/src/lib/ajv.js.map +1 -0
  100. package/dist/src/lib/ajv.test.d.ts +1 -0
  101. package/dist/src/lib/ajv.test.js +43 -0
  102. package/dist/src/lib/ajv.test.js.map +1 -0
  103. package/dist/src/lib/frontmatter.d.ts +4 -0
  104. package/dist/src/lib/frontmatter.js +8 -0
  105. package/dist/src/lib/frontmatter.js.map +1 -0
  106. package/dist/src/lib/frontmatter.test.d.ts +1 -0
  107. package/dist/src/lib/frontmatter.test.js +37 -0
  108. package/dist/src/lib/frontmatter.test.js.map +1 -0
  109. package/dist/src/lib/markdown.d.ts +7 -0
  110. package/dist/src/lib/markdown.js +21 -0
  111. package/dist/src/lib/markdown.js.map +1 -0
  112. package/dist/src/lib/markdown.test.d.ts +1 -0
  113. package/dist/src/lib/markdown.test.js +34 -0
  114. package/dist/src/lib/markdown.test.js.map +1 -0
  115. package/dist/src/llm/google.d.ts +6 -0
  116. package/dist/src/llm/google.js +91 -0
  117. package/dist/src/llm/google.js.map +1 -0
  118. package/dist/src/llm/google.test.d.ts +1 -0
  119. package/dist/src/llm/google.test.js +253 -0
  120. package/dist/src/llm/google.test.js.map +1 -0
  121. package/dist/src/pieces/Piece.d.ts +66 -0
  122. package/dist/src/pieces/Piece.fixtures.d.ts +43 -0
  123. package/dist/src/pieces/Piece.fixtures.js +83 -0
  124. package/dist/src/pieces/Piece.fixtures.js.map +1 -0
  125. package/dist/src/pieces/Piece.js +256 -0
  126. package/dist/src/pieces/Piece.js.map +1 -0
  127. package/dist/src/pieces/Piece.test.d.ts +1 -0
  128. package/dist/src/pieces/Piece.test.js +839 -0
  129. package/dist/src/pieces/Piece.test.js.map +1 -0
  130. package/dist/src/pieces/Pieces.d.ts +55 -0
  131. package/dist/src/pieces/Pieces.js +144 -0
  132. package/dist/src/pieces/Pieces.js.map +1 -0
  133. package/dist/src/pieces/Pieces.test.d.ts +1 -0
  134. package/dist/src/pieces/Pieces.test.js +327 -0
  135. package/dist/src/pieces/Pieces.test.js.map +1 -0
  136. package/dist/src/pieces/assets.d.ts +5 -0
  137. package/dist/src/pieces/assets.js +6 -0
  138. package/dist/src/pieces/assets.js.map +1 -0
  139. package/dist/src/pieces/cache.d.ts +20 -0
  140. package/dist/src/pieces/cache.fixtures.d.ts +3 -0
  141. package/dist/src/pieces/cache.fixtures.js +12 -0
  142. package/dist/src/pieces/cache.fixtures.js.map +1 -0
  143. package/dist/src/pieces/cache.js +49 -0
  144. package/dist/src/pieces/cache.js.map +1 -0
  145. package/dist/src/pieces/cache.test.d.ts +1 -0
  146. package/dist/src/pieces/cache.test.js +98 -0
  147. package/dist/src/pieces/cache.test.js.map +1 -0
  148. package/dist/src/pieces/index.d.ts +8 -0
  149. package/dist/src/pieces/index.js +9 -0
  150. package/dist/src/pieces/index.js.map +1 -0
  151. package/dist/src/pieces/item.d.ts +9 -0
  152. package/dist/src/pieces/item.js +79 -0
  153. package/dist/src/pieces/item.js.map +1 -0
  154. package/dist/src/pieces/item.test.d.ts +1 -0
  155. package/dist/src/pieces/item.test.js +215 -0
  156. package/dist/src/pieces/item.test.js.map +1 -0
  157. package/dist/src/pieces/items.d.ts +39 -0
  158. package/dist/src/pieces/items.js +45 -0
  159. package/dist/src/pieces/items.js.map +1 -0
  160. package/dist/src/pieces/items.test.d.ts +1 -0
  161. package/dist/src/pieces/items.test.js +100 -0
  162. package/dist/src/pieces/items.test.js.map +1 -0
  163. package/dist/src/pieces/json.schema.d.ts +6 -0
  164. package/dist/src/pieces/json.schema.js +58 -0
  165. package/dist/src/pieces/json.schema.js.map +1 -0
  166. package/dist/src/pieces/json.schema.test.d.ts +1 -0
  167. package/dist/src/pieces/json.schema.test.js +27 -0
  168. package/dist/src/pieces/json.schema.test.js.map +1 -0
  169. package/dist/src/pieces/manager.d.ts +22 -0
  170. package/dist/src/pieces/manager.js +43 -0
  171. package/dist/src/pieces/manager.js.map +1 -0
  172. package/dist/src/pieces/manager.test.d.ts +1 -0
  173. package/dist/src/pieces/manager.test.js +72 -0
  174. package/dist/src/pieces/manager.test.js.map +1 -0
  175. package/dist/src/pieces/utils/frontmatter.d.ts +33 -0
  176. package/dist/src/pieces/utils/frontmatter.js +69 -0
  177. package/dist/src/pieces/utils/frontmatter.js.map +1 -0
  178. package/dist/src/pieces/utils/frontmatter.test.d.ts +1 -0
  179. package/dist/src/pieces/utils/frontmatter.test.js +185 -0
  180. package/dist/src/pieces/utils/frontmatter.test.js.map +1 -0
  181. package/dist/src/pieces/utils/markdown.d.ts +10 -0
  182. package/dist/src/pieces/utils/markdown.js +9 -0
  183. package/dist/src/pieces/utils/markdown.js.map +1 -0
  184. package/dist/src/pieces/utils/markdown.test.d.ts +1 -0
  185. package/dist/src/pieces/utils/markdown.test.js +38 -0
  186. package/dist/src/pieces/utils/markdown.test.js.map +1 -0
  187. package/dist/src/pieces/utils/piece.d.ts +13 -0
  188. package/dist/src/pieces/utils/piece.fixtures.d.ts +19 -0
  189. package/dist/src/pieces/utils/piece.fixtures.js +39 -0
  190. package/dist/src/pieces/utils/piece.fixtures.js.map +1 -0
  191. package/dist/src/pieces/utils/piece.js +142 -0
  192. package/dist/src/pieces/utils/piece.js.map +1 -0
  193. package/dist/src/pieces/utils/piece.test.d.ts +1 -0
  194. package/dist/src/pieces/utils/piece.test.js +333 -0
  195. package/dist/src/pieces/utils/piece.test.js.map +1 -0
  196. package/dist/src/storage/abstract.d.ts +19 -0
  197. package/dist/src/storage/abstract.js +4 -0
  198. package/dist/src/storage/abstract.js.map +1 -0
  199. package/dist/src/storage/fs.d.ts +22 -0
  200. package/dist/src/storage/fs.js +84 -0
  201. package/dist/src/storage/fs.js.map +1 -0
  202. package/dist/src/storage/fs.test.d.ts +1 -0
  203. package/dist/src/storage/fs.test.js +222 -0
  204. package/dist/src/storage/fs.test.js.map +1 -0
  205. package/dist/src/storage/index.d.ts +5 -0
  206. package/dist/src/storage/index.js +4 -0
  207. package/dist/src/storage/index.js.map +1 -0
  208. package/dist/src/storage/storage.mock.d.ts +2 -0
  209. package/dist/src/storage/storage.mock.js +18 -0
  210. package/dist/src/storage/storage.mock.js.map +1 -0
  211. package/dist/src/storage/types.d.ts +6 -0
  212. package/dist/src/storage/types.js +2 -0
  213. package/dist/src/storage/types.js.map +1 -0
  214. package/dist/src/storage/webdav.d.ts +25 -0
  215. package/dist/src/storage/webdav.js +65 -0
  216. package/dist/src/storage/webdav.js.map +1 -0
  217. package/dist/src/storage/webdav.test.d.ts +1 -0
  218. package/dist/src/storage/webdav.test.js +194 -0
  219. package/dist/src/storage/webdav.test.js.map +1 -0
  220. package/dist/tsconfig.tsbuildinfo +1 -0
  221. package/dist/vite.config.d.ts +2 -0
  222. package/dist/vite.config.js +36 -0
  223. package/dist/vite.config.js.map +1 -0
  224. package/package.json +2 -2
@@ -0,0 +1,20 @@
1
+ import { sql } from 'kysely';
2
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3
+ export async function up(db) {
4
+ await db.schema
5
+ .createTable('pieces_cache')
6
+ .ifNotExists()
7
+ .addColumn('id', 'text', (col) => col.primaryKey().notNull())
8
+ .addColumn('slug', 'text', (col) => col.notNull())
9
+ .addColumn('type', 'text', (col) => col.notNull())
10
+ .addColumn('content_hash', 'text')
11
+ .addColumn('date_added', 'datetime', (col) => col.defaultTo(sql `((julianday('now') - 2440587.5)*86400000)`).notNull())
12
+ .addColumn('date_updated', 'datetime')
13
+ .addUniqueConstraint('piece', ['slug', 'type'])
14
+ .execute();
15
+ }
16
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
17
+ export async function down(db) {
18
+ await db.schema.dropTable('cache').execute();
19
+ }
20
+ //# sourceMappingURL=2024-02-26T05:37:37Z-add-cache-table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"2024-02-26T05:37:37Z-add-cache-table.js","sourceRoot":"","sources":["../../../../src/database/migrations/2024-02-26T05:37:37Z-add-cache-table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,GAAG,EAAE,MAAM,QAAQ,CAAA;AAEpC,8DAA8D;AAC9D,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC,EAAe;IACvC,MAAM,EAAE,CAAC,MAAM;SACb,WAAW,CAAC,cAAc,CAAC;SAC3B,WAAW,EAAE;SACb,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,CAAC;SAC5D,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;SACjD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;SACjD,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC;SACjC,SAAS,CAAC,YAAY,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAC5C,GAAG,CAAC,SAAS,CAAC,GAAG,CAAA,2CAA2C,CAAC,CAAC,OAAO,EAAE,CACvE;SACA,SAAS,CAAC,cAAc,EAAE,UAAU,CAAC;SACrC,mBAAmB,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SAC9C,OAAO,EAAE,CAAA;AACZ,CAAC;AAED,8DAA8D;AAC9D,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,EAAe;IACzC,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAA;AAC7C,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Kysely } from 'kysely';
2
+ export declare function up(db: Kysely<any>): Promise<void>;
3
+ export declare function down(): Promise<void>;
@@ -0,0 +1,43 @@
1
+ import { sql } from 'kysely';
2
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3
+ export async function up(db) {
4
+ await sql `DROP TRIGGER IF EXISTS texts_after_update`.execute(db);
5
+ await sql `DROP TRIGGER IF EXISTS books_after_update`.execute(db);
6
+ await sql `DROP TRIGGER IF EXISTS links_after_update`.execute(db);
7
+ await sql `DROP TRIGGER IF EXISTS links_after_insert`.execute(db);
8
+ await sql `DROP TRIGGER IF EXISTS text_after_delete`.execute(db);
9
+ await sql `CREATE TRIGGER IF NOT EXISTS texts_after_update
10
+ AFTER UPDATE ON texts
11
+ FOR EACH ROW
12
+ BEGIN
13
+ UPDATE pieces SET slug = new.slug, title = new.title, summary = new.summary, note = new.note, media = new.representative_image, keywords = new.keywords, json_metadata = json_object('subtitle', new.subtitle, 'attachments', new.attachments), date_updated = new.date_updated, date_consumed = new.date_published WHERE id = old.id;
14
+ END;`.execute(db);
15
+ await sql `CREATE TRIGGER IF NOT EXISTS books_after_update
16
+ AFTER UPDATE ON books
17
+ FOR EACH ROW
18
+ BEGIN
19
+ UPDATE pieces SET slug = new.slug, title = new.title, summary = new.description, note = new.note, media = new.cover, keywords = new.keywords, json_metadata = json_object('subtitle', new.subtitle, 'author', new.author, 'coauthors', new.coauthors, 'year_first_published', new.year_first_published, 'isbn', new.isbn), date_consumed = new.date_read, date_updated = new.date_updated WHERE id = old.id;
20
+ END;`.execute(db);
21
+ await sql `CREATE TRIGGER IF NOT EXISTS links_after_update
22
+ AFTER UPDATE ON links
23
+ FOR EACH ROW
24
+ BEGIN
25
+ UPDATE pieces SET slug = new.slug, title = new.title, summary = new.summary, note = new.note, media = new.representative_image, keywords = new.keywords, json_metadata = json_object('subtitle', new.subtitle, 'author', new.author, 'coauthors', new.coauthors, 'url', new.url, 'type', new.type, 'date_published', new.date_published), date_consumed = new.date_accessed, date_updated = new.date_updated WHERE id = old.id;
26
+ END;`.execute(db);
27
+ await sql `CREATE TRIGGER IF NOT EXISTS links_after_insert
28
+ AFTER INSERT ON links
29
+ FOR EACH ROW
30
+ BEGIN
31
+ INSERT INTO pieces (id, slug, type, title, summary, note, media, keywords, json_metadata, date_added, date_updated, date_consumed) VALUES (new.id, new.slug, 'links', new.title, new.summary, new.note, new.representative_image, new.keywords, json_object('subtitle', new.subtitle, 'author', new.author, 'coauthors', new.coauthors, 'url', new.url, 'type', new.type, 'date_published', new.date_published), new.date_added, new.date_updated, new.date_accessed);
32
+ END;`.execute(db);
33
+ await sql `CREATE TRIGGER IF NOT EXISTS texts_after_delete
34
+ AFTER DELETE ON texts
35
+ FOR EACH ROW
36
+ BEGIN
37
+ DELETE FROM pieces WHERE id = old.id;
38
+ END;`.execute(db);
39
+ }
40
+ export async function down() {
41
+ //
42
+ }
43
+ //# sourceMappingURL=2024-03-01T01:01:47Z-fix-trigger-bugs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"2024-03-01T01:01:47Z-fix-trigger-bugs.js","sourceRoot":"","sources":["../../../../src/database/migrations/2024-03-01T01:01:47Z-fix-trigger-bugs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,GAAG,EAAE,MAAM,QAAQ,CAAA;AAEpC,8DAA8D;AAC9D,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC,EAAe;IACvC,MAAM,GAAG,CAAA,2CAA2C,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAChE,MAAM,GAAG,CAAA,2CAA2C,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAChE,MAAM,GAAG,CAAA,2CAA2C,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAChE,MAAM,GAAG,CAAA,2CAA2C,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAChE,MAAM,GAAG,CAAA,0CAA0C,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAE/D,MAAM,GAAG,CAAA;;;;;KAKL,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAEhB,MAAM,GAAG,CAAA;;;;;KAKL,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAEhB,MAAM,GAAG,CAAA;;;;;KAKL,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAEhB,MAAM,GAAG,CAAA;;;;;KAKL,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAEhB,MAAM,GAAG,CAAA;;;;;KAKL,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI;IACzB,EAAE;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Kysely } from 'kysely';
2
+ export declare function up(db: Kysely<any>): Promise<void>;
3
+ export declare function down(db: Kysely<any>): Promise<void>;
@@ -0,0 +1,54 @@
1
+ import { sql } from 'kysely';
2
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3
+ export async function up(db) {
4
+ await db.schema
5
+ .createTable('games')
6
+ .addColumn('id', 'text', (col) => col.primaryKey().notNull())
7
+ .addColumn('slug', 'text', (col) => col.notNull().unique())
8
+ .addColumn('title', 'text', (col) => col.notNull())
9
+ .addColumn('type', 'text', (col) => col
10
+ .notNull()
11
+ .defaultTo('board')
12
+ .check(sql `type IN ('video', 'board')`))
13
+ .addColumn('url', 'text')
14
+ .addColumn('publisher', 'text')
15
+ .addColumn('developer', 'text')
16
+ .addColumn('keywords', 'text')
17
+ .addColumn('description', 'text')
18
+ .addColumn('play_time', 'integer')
19
+ .addColumn('number_of_players', 'integer')
20
+ .addColumn('date_published', 'datetime')
21
+ .addColumn('note', 'text')
22
+ .addColumn('representative_image', 'text')
23
+ .addColumn('date_added', 'datetime', (col) => col.defaultTo(sql `((julianday('now') - 2440587.5)*86400000)`).notNull())
24
+ .addColumn('date_updated', 'datetime')
25
+ .addColumn('date_played', 'datetime')
26
+ .addColumn('played_on', 'text', (col) => col
27
+ .notNull()
28
+ .defaultTo('irl')
29
+ .check(sql `played_on IN ('xbox 360', 'switch', 'android', 'nes', 'snes', 'gamecube', 'wii', 'gameboy', 'gameboy advance sp', 'ds', 'steam', 'n64', 'pc', 'playstation 5', 'irl', 'web', 'stadia')`))
30
+ .execute();
31
+ await sql `CREATE TRIGGER IF NOT EXISTS games_after_insert
32
+ AFTER INSERT ON games
33
+ FOR EACH ROW
34
+ BEGIN
35
+ INSERT INTO pieces (id, slug, type, title, summary, note, media, keywords, json_metadata, date_added, date_updated, date_consumed) VALUES (new.id, new.slug, 'games', new.title, new.description, new.note, new.representative_image, new.keywords, json_object('url', new.url, 'publisher', new.publisher, 'developer', new.developer, 'play_time', new.play_time, 'number_of_players', new.number_of_players, 'played_on', new.played_on, 'date_published', new.date_published), new.date_added, new.date_updated, new.date_played);
36
+ END;`.execute(db);
37
+ await sql `CREATE TRIGGER IF NOT EXISTS games_after_update
38
+ AFTER UPDATE OF slug, title, description, note, representative_image, keywords, url, publisher, developer, play_time, number_of_players, played_on, date_played, date_published ON games
39
+ FOR EACH ROW
40
+ BEGIN
41
+ UPDATE pieces SET slug = new.slug, title = new.title, summary = new.description, note = new.note, media = new.representative_image, keywords = new.keywords, json_metadata = json_object('url', new.url, 'publisher', new.publisher, 'developer', new.developer, 'play_time', new.play_time, 'number_of_players', new.number_of_players, 'played_on', new.played_on, 'date_published', new.date_published), date_updated = new.date_updated, date_published = new.date_published, date_consumed = new.date_played WHERE id = new.id;
42
+ END;`.execute(db);
43
+ await sql `CREATE TRIGGER IF NOT EXISTS games_after_delete
44
+ AFTER DELETE ON games
45
+ FOR EACH ROW
46
+ BEGIN
47
+ DELETE FROM pieces WHERE id = old.id;
48
+ END;`.execute(db);
49
+ }
50
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
51
+ export async function down(db) {
52
+ await db.schema.dropTable('games').execute();
53
+ }
54
+ //# sourceMappingURL=2024-06-15T17:17:51Z-add-games-table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"2024-06-15T17:17:51Z-add-games-table.js","sourceRoot":"","sources":["../../../../src/database/migrations/2024-06-15T17:17:51Z-add-games-table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,GAAG,EAAE,MAAM,QAAQ,CAAA;AAEpC,8DAA8D;AAC9D,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC,EAAe;IACvC,MAAM,EAAE,CAAC,MAAM;SACb,WAAW,CAAC,OAAO,CAAC;SACpB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,CAAC;SAC5D,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC;SAC1D,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;SAClD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAClC,GAAG;SACD,OAAO,EAAE;SACT,SAAS,CAAC,OAAO,CAAC;SAClB,KAAK,CAAC,GAAG,CAAA,4BAA4B,CAAC,CACxC;SACA,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;SACxB,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;SAC9B,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;SAC9B,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;SAC7B,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC;SAChC,SAAS,CAAC,WAAW,EAAE,SAAS,CAAC;SACjC,SAAS,CAAC,mBAAmB,EAAE,SAAS,CAAC;SACzC,SAAS,CAAC,gBAAgB,EAAE,UAAU,CAAC;SACvC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;SACzB,SAAS,CAAC,sBAAsB,EAAE,MAAM,CAAC;SACzC,SAAS,CAAC,YAAY,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAC5C,GAAG,CAAC,SAAS,CAAC,GAAG,CAAA,2CAA2C,CAAC,CAAC,OAAO,EAAE,CACvE;SACA,SAAS,CAAC,cAAc,EAAE,UAAU,CAAC;SACrC,SAAS,CAAC,aAAa,EAAE,UAAU,CAAC;SACpC,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CACvC,GAAG;SACD,OAAO,EAAE;SACT,SAAS,CAAC,KAAK,CAAC;SAChB,KAAK,CACL,GAAG,CAAA,wLAAwL,CAC3L,CACF;SACA,OAAO,EAAE,CAAA;IAEX,MAAM,GAAG,CAAA;;;;;KAKL,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAEhB,MAAM,GAAG,CAAA;;;;;KAKL,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAEhB,MAAM,GAAG,CAAA;;;;;KAKL,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;AACjB,CAAC;AAED,8DAA8D;AAC9D,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,EAAe;IACzC,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAA;AAC7C,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Kysely } from 'kysely';
2
+ export declare function up(db: Kysely<any>): Promise<void>;
3
+ export declare function down(db: Kysely<any>): Promise<void>;
@@ -0,0 +1,23 @@
1
+ import { sql } from 'kysely';
2
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3
+ export async function up(db) {
4
+ // migrate id_ol_book to url
5
+ await db.schema.alterTable('books').addColumn('url', 'text').execute();
6
+ await db
7
+ .updateTable('books')
8
+ .set(({ ref }) => ({
9
+ url: sql `${'https://openlibrary.org/books/'} || ${ref('id_ol_book')}`,
10
+ }))
11
+ .execute();
12
+ // remove id_ol_work column
13
+ await db.schema.alterTable('books').dropColumn('id_ol_book').execute();
14
+ await db.schema.alterTable('books').dropColumn('id_ol_work').execute();
15
+ }
16
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
17
+ export async function down(db) {
18
+ // add back id_ol_book, id_ol_work column
19
+ await db.schema.alterTable('books').dropColumn('url').execute();
20
+ await db.schema.alterTable('books').addColumn('id_ol_book', 'text').execute();
21
+ await db.schema.alterTable('books').addColumn('id_ol_work', 'text').execute();
22
+ }
23
+ //# sourceMappingURL=2024-06-24T20:16:48Z-remove-book-open-library-fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"2024-06-24T20:16:48Z-remove-book-open-library-fields.js","sourceRoot":"","sources":["../../../../src/database/migrations/2024-06-24T20:16:48Z-remove-book-open-library-fields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,GAAG,EAAE,MAAM,QAAQ,CAAA;AAEpC,8DAA8D;AAC9D,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC,EAAe;IACvC,4BAA4B;IAC5B,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,EAAE,CAAA;IACtE,MAAM,EAAE;SACN,WAAW,CAAC,OAAO,CAAC;SACpB,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;QAClB,GAAG,EAAE,GAAG,CAAA,GAAG,gCAAgC,OAAO,GAAG,CAAC,YAAY,CAAC,EAAE;KACrE,CAAC,CAAC;SACF,OAAO,EAAE,CAAA;IAEX,2BAA2B;IAC3B,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAA;IACtE,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAA;AACvE,CAAC;AAED,8DAA8D;AAC9D,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,EAAe;IACzC,yCAAyC;IACzC,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAA;IAC/D,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,OAAO,EAAE,CAAA;IAC7E,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,OAAO,EAAE,CAAA;AAC9E,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Kysely } from 'kysely';
2
+ export declare function up(db: Kysely<any>): Promise<void>;
3
+ export declare function down(db: Kysely<any>): Promise<void>;
@@ -0,0 +1,17 @@
1
+ import { sql } from 'kysely';
2
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3
+ export async function up(db) {
4
+ await db.schema
5
+ .createTable('pieces_manager')
6
+ .addColumn('id', 'text', (col) => col.primaryKey().notNull())
7
+ .addColumn('date_added', 'datetime', (col) => col.defaultTo(sql `((julianday('now') - 2440587.5)*86400000)`).notNull())
8
+ .addColumn('date_updated', 'datetime')
9
+ .addColumn('name', 'text', (col) => col.unique().notNull())
10
+ .addColumn('schema', 'text', (col) => col.notNull())
11
+ .execute();
12
+ }
13
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
14
+ export async function down(db) {
15
+ await db.schema.dropTable('pieces_manager').execute();
16
+ }
17
+ //# sourceMappingURL=2024-06-29T16:31:33Z-add-piece-manager-table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"2024-06-29T16:31:33Z-add-piece-manager-table.js","sourceRoot":"","sources":["../../../../src/database/migrations/2024-06-29T16:31:33Z-add-piece-manager-table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,GAAG,EAAE,MAAM,QAAQ,CAAA;AAEpC,8DAA8D;AAC9D,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC,EAAe;IACvC,MAAM,EAAE,CAAC,MAAM;SACb,WAAW,CAAC,gBAAgB,CAAC;SAC7B,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,CAAC;SAC5D,SAAS,CAAC,YAAY,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAC5C,GAAG,CAAC,SAAS,CAAC,GAAG,CAAA,2CAA2C,CAAC,CAAC,OAAO,EAAE,CACvE;SACA,SAAS,CAAC,cAAc,EAAE,UAAU,CAAC;SACrC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;SAC1D,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;SACnD,OAAO,EAAE,CAAA;AACZ,CAAC;AAED,8DAA8D;AAC9D,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,EAAe;IACzC,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,OAAO,EAAE,CAAA;AACtD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Kysely } from 'kysely';
2
+ export declare function up(db: Kysely<any>): Promise<void>;
3
+ export declare function down(): Promise<void>;
@@ -0,0 +1,15 @@
1
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2
+ export async function up(db) {
3
+ await db.schema.dropTable('books').ifExists().execute();
4
+ await db.schema.dropTable('texts').ifExists().execute();
5
+ await db.schema.dropTable('games').ifExists().execute();
6
+ await db.schema.dropTable('links').ifExists().execute();
7
+ await db.schema.dropTable('pieces_fts5').ifExists().execute();
8
+ await db.schema.dropTable('pieces').ifExists().execute();
9
+ await db.deleteFrom('pieces_cache').execute();
10
+ }
11
+ export async function down() {
12
+ // no down migration, just refer to older migrations for the following tables
13
+ // pieces, pieces_fts5, books, texts, games, links and pieces_cache
14
+ }
15
+ //# sourceMappingURL=2024-07-14T06:59:07Z-remove-pieces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"2024-07-14T06:59:07Z-remove-pieces.js","sourceRoot":"","sources":["../../../../src/database/migrations/2024-07-14T06:59:07Z-remove-pieces.ts"],"names":[],"mappings":"AAEA,8DAA8D;AAC9D,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC,EAAe;IACvC,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAA;IACvD,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAA;IACvD,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAA;IACvD,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAA;IAEvD,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAA;IAC7D,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAA;IAExD,MAAM,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,CAAA;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI;IACzB,6EAA6E;IAC7E,mEAAmE;AACpE,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Kysely } from 'kysely';
2
+ export declare function up(db: Kysely<any>): Promise<void>;
3
+ export declare function down(db: Kysely<any>): Promise<void>;
@@ -0,0 +1,26 @@
1
+ import { sql } from 'kysely';
2
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3
+ export async function up(db) {
4
+ await db.schema.dropTable('tags').execute();
5
+ await db.schema.dropTable('tag_maps').execute();
6
+ }
7
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
8
+ export async function down(db) {
9
+ await db.schema
10
+ .createTable('tags')
11
+ .addColumn('id', 'text', (col) => col.primaryKey().notNull())
12
+ .addColumn('slug', 'text', (col) => col.notNull().unique())
13
+ .addColumn('name', 'text', (col) => col.notNull())
14
+ .addColumn('date_added', 'datetime', (col) => col.defaultTo(sql `((julianday('now') - 2440587.5)*86400000)`).notNull())
15
+ .addColumn('date_updated', 'datetime')
16
+ .execute();
17
+ await db.schema
18
+ .createTable('tag_maps')
19
+ .addColumn('id_tag', 'text', (col) => col.notNull())
20
+ .addColumn('id_item', 'text', (col) => col.notNull())
21
+ .addColumn('type', 'text', (col) => col.notNull())
22
+ .addColumn('date_added', 'datetime', (col) => col.defaultTo(sql `((julianday('now') - 2440587.5)*86400000)`).notNull())
23
+ .addColumn('date_updated', 'datetime')
24
+ .execute();
25
+ }
26
+ //# sourceMappingURL=2024-11-06T15:27:05Z-remove-tags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"2024-11-06T15:27:05Z-remove-tags.js","sourceRoot":"","sources":["../../../../src/database/migrations/2024-11-06T15:27:05Z-remove-tags.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,GAAG,EAAE,MAAM,QAAQ,CAAA;AAEpC,8DAA8D;AAC9D,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC,EAAe;IACvC,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAA;IAC3C,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAA;AAChD,CAAC;AAED,8DAA8D;AAC9D,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,EAAe;IACzC,MAAM,EAAE,CAAC,MAAM;SACb,WAAW,CAAC,MAAM,CAAC;SACnB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,CAAC;SAC5D,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC;SAC1D,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;SACjD,SAAS,CAAC,YAAY,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAC5C,GAAG,CAAC,SAAS,CAAC,GAAG,CAAA,2CAA2C,CAAC,CAAC,OAAO,EAAE,CACvE;SACA,SAAS,CAAC,cAAc,EAAE,UAAU,CAAC;SACrC,OAAO,EAAE,CAAA;IAEX,MAAM,EAAE,CAAC,MAAM;SACb,WAAW,CAAC,UAAU,CAAC;SACvB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;SACnD,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;SACpD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;SACjD,SAAS,CAAC,YAAY,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAC5C,GAAG,CAAC,SAAS,CAAC,GAAG,CAAA,2CAA2C,CAAC,CAAC,OAAO,EAAE,CACvE;SACA,SAAS,CAAC,cAAc,EAAE,UAAU,CAAC;SACrC,OAAO,EAAE,CAAA;AACZ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Kysely } from 'kysely';
2
+ export declare function up(db: Kysely<any>): Promise<void>;
3
+ export declare function down(db: Kysely<any>): Promise<void>;
@@ -0,0 +1,24 @@
1
+ import { sql } from 'kysely';
2
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3
+ export async function up(db) {
4
+ await db.schema.dropTable('pieces_items_books').ifExists().execute();
5
+ await db.schema.dropTable('pieces_items_films').ifExists().execute();
6
+ await db.schema.dropTable('pieces_items_games').ifExists().execute();
7
+ await db.schema.dropTable('pieces_items_links').ifExists().execute();
8
+ await db.schema.dropTable('pieces_items_texts').ifExists().execute();
9
+ await db.schema
10
+ .createTable('pieces_items')
11
+ .addColumn('id', 'text', (col) => col.primaryKey().notNull())
12
+ .addColumn('date_added', 'datetime', (col) => col.defaultTo(sql `((julianday('now') - 2440587.5)*86400000)`).notNull())
13
+ .addColumn('date_updated', 'datetime')
14
+ .addColumn('slug', 'text', (col) => col.notNull())
15
+ .addColumn('type', 'text', (col) => col.notNull())
16
+ .addColumn('note_markdown', 'text')
17
+ .addColumn('frontmatter_json', 'text')
18
+ .execute();
19
+ }
20
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
21
+ export async function down(db) {
22
+ await db.schema.dropTable('pieces_manager').execute();
23
+ }
24
+ //# sourceMappingURL=2024-11-08T05:59:37Z-remove-pieces-items-unique-tables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"2024-11-08T05:59:37Z-remove-pieces-items-unique-tables.js","sourceRoot":"","sources":["../../../../src/database/migrations/2024-11-08T05:59:37Z-remove-pieces-items-unique-tables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,GAAG,EAAE,MAAM,QAAQ,CAAA;AAEpC,8DAA8D;AAC9D,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC,EAAe;IACvC,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAA;IACpE,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAA;IACpE,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAA;IACpE,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAA;IACpE,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAA;IAEpE,MAAM,EAAE,CAAC,MAAM;SACb,WAAW,CAAC,cAAc,CAAC;SAC3B,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,CAAC;SAC5D,SAAS,CAAC,YAAY,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAC5C,GAAG,CAAC,SAAS,CAAC,GAAG,CAAA,2CAA2C,CAAC,CAAC,OAAO,EAAE,CACvE;SACA,SAAS,CAAC,cAAc,EAAE,UAAU,CAAC;SACrC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;SACjD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;SACjD,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC;SAClC,SAAS,CAAC,kBAAkB,EAAE,MAAM,CAAC;SACrC,OAAO,EAAE,CAAA;AACZ,CAAC;AAED,8DAA8D;AAC9D,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,EAAe;IACzC,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,OAAO,EAAE,CAAA;AACtD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Kysely } from 'kysely';
2
+ export declare function up(db: Kysely<any>): Promise<void>;
3
+ export declare function down(db: Kysely<any>): Promise<void>;
@@ -0,0 +1,54 @@
1
+ import { sql } from 'kysely';
2
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3
+ export async function up(db) {
4
+ await db.schema.dropTable('pieces_items').execute();
5
+ await db.schema.dropTable('pieces_cache').execute();
6
+ await db.schema
7
+ .createTable('pieces_cache')
8
+ .ifNotExists()
9
+ .addColumn('id', 'text', (col) => col.primaryKey().notNull())
10
+ .addColumn('file_path', 'text', (col) => col.notNull())
11
+ .addColumn('content_hash', 'text')
12
+ .addColumn('date_added', 'datetime', (col) => col.defaultTo(sql `((julianday('now') - 2440587.5)*86400000)`).notNull())
13
+ .addColumn('date_updated', 'datetime')
14
+ .addUniqueConstraint('unique-files', ['file_path'])
15
+ .execute();
16
+ await db.schema
17
+ .createTable('pieces_items')
18
+ .addColumn('id', 'text', (col) => col.primaryKey().notNull())
19
+ .addColumn('date_added', 'datetime', (col) => col.defaultTo(sql `((julianday('now') - 2440587.5)*86400000)`).notNull())
20
+ .addColumn('date_updated', 'datetime')
21
+ .addColumn('file_path', 'text', (col) => col.notNull())
22
+ .addColumn('type', 'text', (col) => col.notNull())
23
+ .addColumn('note_markdown', 'text')
24
+ .addColumn('frontmatter_json', 'text')
25
+ .addUniqueConstraint('unique-files', ['file_path'])
26
+ .execute();
27
+ }
28
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
29
+ export async function down(db) {
30
+ await db.schema.dropTable('pieces_items').execute();
31
+ await db.schema.dropTable('pieces_cache').execute();
32
+ await db.schema
33
+ .createTable('pieces_items')
34
+ .addColumn('id', 'text', (col) => col.primaryKey().notNull())
35
+ .addColumn('date_added', 'datetime', (col) => col.defaultTo(sql `((julianday('now') - 2440587.5)*86400000)`).notNull())
36
+ .addColumn('date_updated', 'datetime')
37
+ .addColumn('slug', 'text', (col) => col.notNull())
38
+ .addColumn('type', 'text', (col) => col.notNull())
39
+ .addColumn('note_markdown', 'text')
40
+ .addColumn('frontmatter_json', 'text')
41
+ .execute();
42
+ await db.schema
43
+ .createTable('pieces_cache')
44
+ .ifNotExists()
45
+ .addColumn('id', 'text', (col) => col.primaryKey().notNull())
46
+ .addColumn('slug', 'text', (col) => col.notNull())
47
+ .addColumn('type', 'text', (col) => col.notNull())
48
+ .addColumn('content_hash', 'text')
49
+ .addColumn('date_added', 'datetime', (col) => col.defaultTo(sql `((julianday('now') - 2440587.5)*86400000)`).notNull())
50
+ .addColumn('date_updated', 'datetime')
51
+ .addUniqueConstraint('piece', ['slug', 'type'])
52
+ .execute();
53
+ }
54
+ //# sourceMappingURL=2024-11-13T14:51:17Z-track-file-paths-on-piece.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"2024-11-13T14:51:17Z-track-file-paths-on-piece.js","sourceRoot":"","sources":["../../../../src/database/migrations/2024-11-13T14:51:17Z-track-file-paths-on-piece.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Kysely } from 'kysely';
2
+ export declare function up(db: Kysely<any>): Promise<void>;
3
+ export declare function down(db: Kysely<any>): Promise<void>;
@@ -0,0 +1,10 @@
1
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2
+ export async function up(db) {
3
+ await db.schema.alterTable('pieces_items').addColumn('assets_json_array', 'text').execute();
4
+ await db.deleteFrom('pieces_items').execute();
5
+ }
6
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
7
+ export async function down(db) {
8
+ await db.schema.alterTable('pieces_items').dropColumn('assets_json_array').execute();
9
+ }
10
+ //# sourceMappingURL=2024-12-15T06:35:24Z-track-assets-on-piece.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"2024-12-15T06:35:24Z-track-assets-on-piece.js","sourceRoot":"","sources":["../../../../src/database/migrations/2024-12-15T06:35:24Z-track-assets-on-piece.ts"],"names":[],"mappings":"AAEA,8DAA8D;AAC9D,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC,EAAe;IACvC,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC,OAAO,EAAE,CAAA;IAC3F,MAAM,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,CAAA;AAC9C,CAAC;AAED,8DAA8D;AAC9D,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,EAAe;IACzC,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,OAAO,EAAE,CAAA;AACrF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { MigrationResultSet } from 'kysely';
2
+ import { LuzzleDatabase } from './tables/index.js';
3
+ export default function (db: LuzzleDatabase): Promise<MigrationResultSet>;
@@ -0,0 +1,16 @@
1
+ import { FileMigrationProvider, Migrator } from 'kysely';
2
+ import { promises as fs } from 'fs';
3
+ import path from 'path';
4
+ import { fileURLToPath } from 'url';
5
+ const filename = fileURLToPath(import.meta.url);
6
+ const dirname = path.dirname(filename);
7
+ export default async function (db) {
8
+ const provider = new FileMigrationProvider({
9
+ fs,
10
+ path,
11
+ migrationFolder: path.join(dirname, './migrations'),
12
+ });
13
+ const migrator = new Migrator({ db, provider });
14
+ return migrator.migrateToLatest();
15
+ }
16
+ //# sourceMappingURL=migrations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../../src/database/migrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAsB,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAE5E,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAA;AACnC,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAA;AAEnC,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEtC,MAAM,CAAC,OAAO,CAAC,KAAK,WAAW,EAAkB;IAChD,MAAM,QAAQ,GAAG,IAAI,qBAAqB,CAAC;QAC1C,EAAE;QACF,IAAI;QACJ,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC;KACnD,CAAC,CAAA;IACF,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;IAE/C,OAAO,QAAQ,CAAC,eAAe,EAAE,CAAA;AAClC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,37 @@
1
+ import { describe, expect, test, vi, afterEach } from 'vitest';
2
+ import { Migrator, FileMigrationProvider } from 'kysely';
3
+ import migrator from './migrations.js';
4
+ import { mockKysely } from './database.mock.js';
5
+ vi.mock('kysely');
6
+ const mocks = {
7
+ migrator: vi.mocked(Migrator),
8
+ fileMigrationProvider: vi.mocked(FileMigrationProvider),
9
+ };
10
+ const spies = {};
11
+ describe('src/database/migrations.ts', () => {
12
+ afterEach(() => {
13
+ Object.values(mocks).forEach((mock) => {
14
+ mock.mockReset();
15
+ });
16
+ Object.keys(spies).forEach((key) => {
17
+ spies[key].mockRestore();
18
+ delete spies[key];
19
+ });
20
+ });
21
+ test('migrator', async () => {
22
+ const { db } = mockKysely();
23
+ const migrateToLatest = vi.fn().mockResolvedValue({});
24
+ mocks.fileMigrationProvider.mockReturnValue({});
25
+ mocks.migrator.mockReturnValue({
26
+ migrateToLatest,
27
+ });
28
+ await migrator(db);
29
+ expect(migrateToLatest).toHaveBeenCalled();
30
+ expect(mocks.fileMigrationProvider).toHaveBeenCalledWith({
31
+ fs: expect.any(Object),
32
+ path: expect.any(Object),
33
+ migrationFolder: expect.any(String),
34
+ });
35
+ });
36
+ });
37
+ //# sourceMappingURL=migrations.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrations.test.js","sourceRoot":"","sources":["../../../src/database/migrations.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAgB,MAAM,QAAQ,CAAA;AAC5E,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAA;AACxD,OAAO,QAAQ,MAAM,iBAAiB,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAE/C,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AAEjB,MAAM,KAAK,GAAG;IACb,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC7B,qBAAqB,EAAE,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC;CACvD,CAAA;AAED,MAAM,KAAK,GAAoC,EAAE,CAAA;AAEjD,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC3C,SAAS,CAAC,GAAG,EAAE;QACd,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrC,IAAI,CAAC,SAAS,EAAE,CAAA;QACjB,CAAC,CAAC,CAAA;QAEF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAClC,KAAK,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;YACxB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAA;QAClB,CAAC,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;QAC3B,MAAM,EAAE,EAAE,EAAE,GAAG,UAAU,EAAE,CAAA;QAC3B,MAAM,eAAe,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAA;QAErD,KAAK,CAAC,qBAAqB,CAAC,eAAe,CAAC,EAA2B,CAAC,CAAA;QACxE,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC;YAC9B,eAAe;SACQ,CAAC,CAAA;QAEzB,MAAM,QAAQ,CAAC,EAAE,CAAC,CAAA;QAElB,MAAM,CAAC,eAAe,CAAC,CAAC,gBAAgB,EAAE,CAAA;QAC1C,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,oBAAoB,CAAC;YACxD,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;YACtB,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;YACxB,eAAe,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;SACnC,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;AACH,CAAC,CAAC,CAAA"}
@@ -0,0 +1,21 @@
1
+ import { Kysely, Insertable, Updateable, Selectable } from 'kysely';
2
+ import { CacheTable } from './pieces_cache.schema.js';
3
+ import { PieceManagerTable } from './pieces_manager.schema.js';
4
+ import { PiecesItemsTable } from './pieces_items.schema.js';
5
+ declare const LuzzleTableName: {
6
+ readonly Cache: "pieces_cache";
7
+ readonly PieceManager: "pieces_manager";
8
+ readonly PieceItems: "pieces_items";
9
+ };
10
+ type LuzzleTables = {
11
+ [LuzzleTableName.Cache]: CacheTable;
12
+ [LuzzleTableName.PieceManager]: PieceManagerTable;
13
+ [LuzzleTableName.PieceItems]: PiecesItemsTable;
14
+ };
15
+ type LuzzleDatabase = Kysely<LuzzleTables>;
16
+ type LuzzleTableNames = (typeof LuzzleTableName)[keyof typeof LuzzleTableName];
17
+ type LuzzleTable<T extends LuzzleTableNames> = LuzzleTables[T];
18
+ type LuzzleInsertable<T extends LuzzleTableNames> = Insertable<LuzzleTable<T>>;
19
+ type LuzzleUpdatable<T extends LuzzleTableNames> = Updateable<LuzzleTable<T>>;
20
+ type LuzzleSelectable<T extends LuzzleTableNames> = Selectable<LuzzleTable<T>>;
21
+ export { type LuzzleTables, type LuzzleDatabase, type LuzzleInsertable, type LuzzleUpdatable, type LuzzleSelectable, type LuzzleTableNames, LuzzleTableName, };
@@ -0,0 +1,7 @@
1
+ const LuzzleTableName = {
2
+ Cache: 'pieces_cache',
3
+ PieceManager: 'pieces_manager',
4
+ PieceItems: 'pieces_items',
5
+ };
6
+ export { LuzzleTableName, };
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/database/tables/index.ts"],"names":[],"mappings":"AAKA,MAAM,eAAe,GAAG;IACvB,KAAK,EAAE,cAAc;IACrB,YAAY,EAAE,gBAAgB;IAC9B,UAAU,EAAE,cAAc;CACjB,CAAA;AAgBV,OAAO,EAON,eAAe,GACf,CAAA"}
@@ -0,0 +1,13 @@
1
+ import type { Insertable, Updateable, Selectable } from 'kysely';
2
+ import { cuid, date_added, date_updated } from '../utils.js';
3
+ interface CacheTable {
4
+ id: cuid;
5
+ file_path: string;
6
+ content_hash: string;
7
+ date_added: date_added;
8
+ date_updated: date_updated;
9
+ }
10
+ type CacheSelectable = Selectable<CacheTable>;
11
+ type CacheInsert = Insertable<CacheTable>;
12
+ type CacheUpdate = Updateable<CacheTable>;
13
+ export { type CacheTable, type CacheSelectable, type CacheInsert, type CacheUpdate };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=pieces_cache.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pieces_cache.schema.js","sourceRoot":"","sources":["../../../../src/database/tables/pieces_cache.schema.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ import type { Insertable, Updateable, Selectable } from 'kysely';
2
+ import { cuid, date_added, date_updated } from '../utils.js';
3
+ interface PiecesItemsTable {
4
+ id: cuid;
5
+ file_path: string;
6
+ type: string;
7
+ date_added: date_added;
8
+ date_updated: date_updated;
9
+ note_markdown: string;
10
+ frontmatter_json: string;
11
+ assets_json_array?: string;
12
+ }
13
+ type PiecesItemsSelectable = Selectable<PiecesItemsTable>;
14
+ type PiecesItemsInsertable = Insertable<PiecesItemsTable>;
15
+ type PiecesItemsUpdateable = Updateable<PiecesItemsTable>;
16
+ export { type PiecesItemsTable, type PiecesItemsSelectable, type PiecesItemsInsertable, type PiecesItemsUpdateable, };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=pieces_items.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pieces_items.schema.js","sourceRoot":"","sources":["../../../../src/database/tables/pieces_items.schema.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ import type { Insertable, Updateable, Selectable } from 'kysely';
2
+ import { cuid, date_added, date_updated } from '../utils.js';
3
+ interface PieceManagerTable {
4
+ id: cuid;
5
+ date_added: date_added;
6
+ date_updated?: date_updated;
7
+ name: string;
8
+ schema: string;
9
+ }
10
+ type PieceManagerSelect = Selectable<PieceManagerTable>;
11
+ type PieceManagerInsert = Insertable<PieceManagerTable>;
12
+ type PieceManagerUpdate = Updateable<PieceManagerTable>;
13
+ export { type PieceManagerTable, type PieceManagerSelect, type PieceManagerInsert, type PieceManagerUpdate, };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=pieces_manager.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pieces_manager.schema.js","sourceRoot":"","sources":["../../../../src/database/tables/pieces_manager.schema.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import { ColumnType } from 'kysely';
2
+ type cuid = string;
3
+ type date_added = ColumnType<number, undefined, never>;
4
+ type date_updated = ColumnType<number | null, undefined, number>;
5
+ type SchemaDateStringToDatabaseNumber<T> = {
6
+ [K in keyof T]: K extends `date_${string}` ? number : T[K] extends number ? string : T[K];
7
+ };
8
+ export { type cuid, type date_updated, type date_added, type SchemaDateStringToDatabaseNumber };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/database/utils.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export {};