@ooneex/typeorm 0.10.0 → 0.12.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 (141) hide show
  1. package/dist/shared/chunk-0swb1h0m.js +51 -0
  2. package/dist/shared/{chunk-xwe8m6av.js.map → chunk-0swb1h0m.js.map} +2 -2
  3. package/dist/shared/chunk-2wdazj26.js +371 -0
  4. package/dist/shared/{chunk-5tnqjb3n.js.map → chunk-2wdazj26.js.map} +2 -2
  5. package/dist/shared/chunk-6m3p1ht9.js +606 -0
  6. package/dist/shared/{chunk-yrwsqc6r.js.map → chunk-6m3p1ht9.js.map} +2 -2
  7. package/dist/shared/{chunk-qrs0g3m9.js → chunk-6vmvyg0q.js} +58 -17
  8. package/dist/shared/{chunk-qrs0g3m9.js.map → chunk-6vmvyg0q.js.map} +2 -2
  9. package/dist/shared/chunk-bkdccdhn.js +105 -0
  10. package/dist/shared/{chunk-p22keb3y.js.map → chunk-bkdccdhn.js.map} +2 -2
  11. package/dist/shared/chunk-chan1evn.js +72 -0
  12. package/dist/shared/{chunk-xrqhqgen.js.map → chunk-chan1evn.js.map} +2 -2
  13. package/dist/shared/chunk-cv6xa6qy.js +621 -0
  14. package/dist/shared/{chunk-t1jad451.js.map → chunk-cv6xa6qy.js.map} +2 -2
  15. package/dist/shared/chunk-cwxhwya1.js +548 -0
  16. package/dist/shared/{chunk-x3pmm3na.js.map → chunk-cwxhwya1.js.map} +2 -2
  17. package/dist/shared/{chunk-qyf32qsz.js → chunk-eets3mef.js} +75 -22
  18. package/dist/shared/{chunk-qyf32qsz.js.map → chunk-eets3mef.js.map} +2 -2
  19. package/dist/shared/chunk-efmap3y3.js +345 -0
  20. package/dist/shared/{chunk-e51ktjsq.js.map → chunk-efmap3y3.js.map} +2 -2
  21. package/dist/shared/chunk-hkfj9j6w.js +30 -0
  22. package/dist/shared/{chunk-pbns711f.js.map → chunk-hkfj9j6w.js.map} +2 -2
  23. package/dist/shared/{chunk-aj0aak90.js → chunk-jap9t59k.js} +52 -14
  24. package/dist/shared/{chunk-aj0aak90.js.map → chunk-jap9t59k.js.map} +2 -2
  25. package/dist/shared/chunk-m4mpkr4n.js +34 -0
  26. package/dist/shared/{chunk-5ybg5hda.js.map → chunk-m4mpkr4n.js.map} +2 -2
  27. package/dist/shared/chunk-m9wkjs7v.js +639 -0
  28. package/dist/shared/{chunk-kw4t1san.js.map → chunk-m9wkjs7v.js.map} +2 -2
  29. package/dist/shared/chunk-mssxq87m.js +195 -0
  30. package/dist/shared/{chunk-6kdkyjbn.js.map → chunk-mssxq87m.js.map} +2 -2
  31. package/dist/shared/chunk-p12g6e7b.js +38 -0
  32. package/dist/shared/{chunk-6jnj2pfx.js.map → chunk-p12g6e7b.js.map} +2 -2
  33. package/dist/shared/chunk-qbn9p4vj.js +835 -0
  34. package/dist/shared/{chunk-nfv9ce7v.js.map → chunk-qbn9p4vj.js.map} +2 -2
  35. package/dist/shared/chunk-r9hsk9fk.js +20 -0
  36. package/dist/shared/{chunk-59vwmfpm.js.map → chunk-r9hsk9fk.js.map} +1 -1
  37. package/dist/shared/chunk-sk8z5zmk.js +112 -0
  38. package/dist/shared/{chunk-x2d798hg.js.map → chunk-sk8z5zmk.js.map} +2 -2
  39. package/dist/shared/chunk-tqd6ek7s.js +86 -0
  40. package/dist/shared/{chunk-19qhst35.js.map → chunk-tqd6ek7s.js.map} +2 -2
  41. package/dist/shared/{chunk-31y260d6.js → chunk-trhrh4e1.js} +89 -24
  42. package/dist/shared/{chunk-31y260d6.js.map → chunk-trhrh4e1.js.map} +2 -2
  43. package/dist/shared/chunk-wg7xcq50.js +38 -0
  44. package/dist/shared/{chunk-t5cy307m.js.map → chunk-wg7xcq50.js.map} +2 -2
  45. package/dist/shared/{chunk-jr0xys18.js → chunk-yszvxhf3.js} +41 -11
  46. package/dist/shared/{chunk-jr0xys18.js.map → chunk-yszvxhf3.js.map} +2 -2
  47. package/dist/src/entities/book/index.js +34 -2
  48. package/dist/src/entities/book/index.js.map +1 -1
  49. package/dist/src/entities/common/index.js +26 -2
  50. package/dist/src/entities/common/index.js.map +1 -1
  51. package/dist/src/entities/country/index.js +9 -2
  52. package/dist/src/entities/country/index.js.map +1 -1
  53. package/dist/src/entities/currency/index.js +9 -2
  54. package/dist/src/entities/currency/index.js.map +1 -1
  55. package/dist/src/entities/folder/index.js +394 -2
  56. package/dist/src/entities/folder/index.js.map +2 -2
  57. package/dist/src/entities/gamification/flashcard/index.js +26 -2
  58. package/dist/src/entities/gamification/flashcard/index.js.map +1 -1
  59. package/dist/src/entities/gamification/index.js +9 -2
  60. package/dist/src/entities/gamification/index.js.map +1 -1
  61. package/dist/src/entities/gamification/mcq/index.js +36 -2
  62. package/dist/src/entities/gamification/mcq/index.js.map +1 -1
  63. package/dist/src/entities/image/index.js +31 -2
  64. package/dist/src/entities/image/index.js.map +1 -1
  65. package/dist/src/entities/medecine/index.js +13 -2
  66. package/dist/src/entities/medecine/index.js.map +1 -1
  67. package/dist/src/entities/payment/index.js +23 -2
  68. package/dist/src/entities/payment/index.js.map +1 -1
  69. package/dist/src/entities/user/index.js +30 -2
  70. package/dist/src/entities/user/index.js.map +1 -1
  71. package/dist/src/entities/video/index.js +34 -2
  72. package/dist/src/entities/video/index.js.map +1 -1
  73. package/dist/src/migrations/book/index.js +541 -137
  74. package/dist/src/migrations/book/index.js.map +2 -2
  75. package/dist/src/migrations/common/index.js +63 -14
  76. package/dist/src/migrations/common/index.js.map +2 -2
  77. package/dist/src/migrations/country/index.js +48 -13
  78. package/dist/src/migrations/country/index.js.map +2 -2
  79. package/dist/src/migrations/currency/index.js +50 -14
  80. package/dist/src/migrations/currency/index.js.map +2 -2
  81. package/dist/src/migrations/folder/index.js +426 -104
  82. package/dist/src/migrations/folder/index.js.map +2 -2
  83. package/dist/src/migrations/gamification/flashcard/index.js +356 -96
  84. package/dist/src/migrations/gamification/flashcard/index.js.map +2 -2
  85. package/dist/src/migrations/gamification/index.js +8 -2
  86. package/dist/src/migrations/gamification/index.js.map +1 -1
  87. package/dist/src/migrations/gamification/mcq/index.js +553 -139
  88. package/dist/src/migrations/gamification/mcq/index.js.map +2 -2
  89. package/dist/src/migrations/image/index.js +353 -85
  90. package/dist/src/migrations/image/index.js.map +2 -2
  91. package/dist/src/migrations/medecine/index.js +132 -36
  92. package/dist/src/migrations/medecine/index.js.map +2 -2
  93. package/dist/src/migrations/payment/index.js +339 -94
  94. package/dist/src/migrations/payment/index.js.map +2 -2
  95. package/dist/src/migrations/user/index.js +331 -39
  96. package/dist/src/migrations/user/index.js.map +2 -2
  97. package/dist/src/migrations/video/index.js +345 -17
  98. package/dist/src/migrations/video/index.js.map +2 -2
  99. package/dist/src/repositories/book/index.js +997 -2
  100. package/dist/src/repositories/book/index.js.map +2 -2
  101. package/dist/src/repositories/common/index.js +439 -2
  102. package/dist/src/repositories/common/index.js.map +2 -2
  103. package/dist/src/repositories/country/index.js +89 -2
  104. package/dist/src/repositories/country/index.js.map +2 -2
  105. package/dist/src/repositories/currency/index.js +89 -2
  106. package/dist/src/repositories/currency/index.js.map +2 -2
  107. package/dist/src/repositories/gamification/flashcard/index.js +632 -2
  108. package/dist/src/repositories/gamification/flashcard/index.js.map +2 -2
  109. package/dist/src/repositories/gamification/index.js +160 -2
  110. package/dist/src/repositories/gamification/index.js.map +2 -2
  111. package/dist/src/repositories/gamification/mcq/index.js +1017 -2
  112. package/dist/src/repositories/gamification/mcq/index.js.map +2 -2
  113. package/dist/src/repositories/image/index.js +800 -2
  114. package/dist/src/repositories/image/index.js.map +2 -2
  115. package/dist/src/repositories/medecine/index.js +243 -2
  116. package/dist/src/repositories/medecine/index.js.map +2 -2
  117. package/dist/src/repositories/payment/index.js +560 -2
  118. package/dist/src/repositories/payment/index.js.map +2 -2
  119. package/dist/src/repositories/user/index.js +999 -2
  120. package/dist/src/repositories/user/index.js.map +2 -2
  121. package/dist/src/repositories/video/index.js +975 -2
  122. package/dist/src/repositories/video/index.js.map +2 -2
  123. package/package.json +21 -21
  124. package/dist/shared/chunk-19qhst35.js +0 -5
  125. package/dist/shared/chunk-59vwmfpm.js +0 -5
  126. package/dist/shared/chunk-5tnqjb3n.js +0 -5
  127. package/dist/shared/chunk-5ybg5hda.js +0 -5
  128. package/dist/shared/chunk-6jnj2pfx.js +0 -5
  129. package/dist/shared/chunk-6kdkyjbn.js +0 -5
  130. package/dist/shared/chunk-e51ktjsq.js +0 -5
  131. package/dist/shared/chunk-kw4t1san.js +0 -5
  132. package/dist/shared/chunk-nfv9ce7v.js +0 -5
  133. package/dist/shared/chunk-p22keb3y.js +0 -5
  134. package/dist/shared/chunk-pbns711f.js +0 -5
  135. package/dist/shared/chunk-t1jad451.js +0 -5
  136. package/dist/shared/chunk-t5cy307m.js +0 -5
  137. package/dist/shared/chunk-x2d798hg.js +0 -5
  138. package/dist/shared/chunk-x3pmm3na.js +0 -5
  139. package/dist/shared/chunk-xrqhqgen.js +0 -5
  140. package/dist/shared/chunk-xwe8m6av.js +0 -5
  141. package/dist/shared/chunk-yrwsqc6r.js +0 -5
@@ -13,7 +13,7 @@
13
13
  "import { decorator, type IMigration, type MigrationClassType } from \"@ooneex/migrations\";\nimport type { TransactionSQL } from \"bun\";\nimport { Migration20251225174626782 } from \"./Migration20251225174626782\";\n\n@decorator.migration()\nexport class Migration20251225174634788 implements IMigration {\n public async up(tx: TransactionSQL): Promise<void> {\n await tx`\n CREATE TABLE IF NOT EXISTS folders_shared (\n id VARCHAR(25) PRIMARY KEY,\n folder_id VARCHAR(25),\n shared_with VARCHAR(255),\n shared_by_id VARCHAR(25),\n permission VARCHAR(50),\n expires_at TIMESTAMPTZ,\n is_locked BOOLEAN DEFAULT false,\n locked_at TIMESTAMPTZ,\n is_blocked BOOLEAN DEFAULT false,\n blocked_at TIMESTAMPTZ,\n block_reason TEXT,\n is_public BOOLEAN DEFAULT true,\n language VARCHAR(10),\n created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,\n updated_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,\n deleted_at TIMESTAMPTZ,\n CONSTRAINT fk_folders_shared_folder FOREIGN KEY (folder_id) REFERENCES folders(id) ON DELETE CASCADE\n )\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_folders_shared_folder_id ON folders_shared(folder_id)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_folders_shared_shared_by_id ON folders_shared(shared_by_id)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_folders_shared_permission ON folders_shared(permission)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_folders_shared_expires_at ON folders_shared(expires_at)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_folders_shared_language ON folders_shared(language)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_folders_shared_deleted_at ON folders_shared(deleted_at)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_folders_shared_is_public ON folders_shared(is_public) WHERE deleted_at IS NULL\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_folders_shared_created_at ON folders_shared(created_at DESC)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_folders_shared_folder_user ON folders_shared(folder_id, shared_by_id) WHERE deleted_at IS NULL\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_folders_shared_active ON folders_shared(is_blocked, is_locked) WHERE deleted_at IS NULL AND is_blocked = false\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_folders_shared_active_not_expired ON folders_shared(expires_at) WHERE deleted_at IS NULL AND expires_at > NOW()\n `;\n }\n\n public async down(tx: TransactionSQL): Promise<void> {\n await tx`DROP TABLE IF EXISTS folders_shared CASCADE`;\n }\n\n public getVersion(): string {\n return \"20251225174634788\";\n }\n\n public getDependencies(): MigrationClassType[] {\n return [\n Migration20251225174626782, // Folders table (for folder_id foreign key)\n ];\n }\n}\n",
14
14
  "import { decorator, type IMigration, type MigrationClassType } from \"@ooneex/migrations\";\nimport type { TransactionSQL } from \"bun\";\nimport { Migration20251225173350644 } from \"../common/Migration20251225173350644\";\nimport { Migration20251225174626782 } from \"./Migration20251225174626782\";\n\n@decorator.migration()\nexport class Migration20251225174635789 implements IMigration {\n public async up(tx: TransactionSQL): Promise<void> {\n await tx`\n CREATE TABLE IF NOT EXISTS folders_reports (\n id VARCHAR(25) PRIMARY KEY,\n folder_id VARCHAR(25),\n reason VARCHAR(255) NOT NULL,\n description TEXT,\n reported_by VARCHAR(255),\n reported_by_id VARCHAR(25),\n status_id VARCHAR(25),\n is_locked BOOLEAN DEFAULT false,\n locked_at TIMESTAMPTZ,\n is_blocked BOOLEAN DEFAULT false,\n blocked_at TIMESTAMPTZ,\n block_reason TEXT,\n is_public BOOLEAN DEFAULT true,\n language VARCHAR(10),\n created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,\n updated_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,\n deleted_at TIMESTAMPTZ,\n CONSTRAINT fk_folders_reports_folder FOREIGN KEY (folder_id) REFERENCES folders(id) ON DELETE CASCADE,\n CONSTRAINT fk_folders_reports_status FOREIGN KEY (status_id) REFERENCES statuses(id) ON DELETE SET NULL\n )\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_folders_reports_folder_id ON folders_reports(folder_id)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_folders_reports_reported_by_id ON folders_reports(reported_by_id)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_folders_reports_status_id ON folders_reports(status_id)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_folders_reports_reason ON folders_reports(reason)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_folders_reports_language ON folders_reports(language)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_folders_reports_deleted_at ON folders_reports(deleted_at)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_folders_reports_is_public ON folders_reports(is_public) WHERE deleted_at IS NULL\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_folders_reports_created_at ON folders_reports(created_at DESC)\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_folders_reports_folder_status ON folders_reports(folder_id, status_id) WHERE deleted_at IS NULL\n `;\n\n await tx`\n CREATE INDEX IF NOT EXISTS idx_folders_reports_active ON folders_reports(is_blocked, is_locked) WHERE deleted_at IS NULL AND is_blocked = false\n `;\n }\n\n public async down(tx: TransactionSQL): Promise<void> {\n await tx`DROP TABLE IF EXISTS folders_reports CASCADE`;\n }\n\n public getVersion(): string {\n return \"20251225174635789\";\n }\n\n public getDependencies(): MigrationClassType[] {\n return [\n Migration20251225174626782, // Folders table (for folder_id foreign key)\n Migration20251225173350644, // Statuses table (for status_id foreign key)\n ];\n }\n}\n"
15
15
  ],
16
- "mappings": "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",
17
- "debugId": "2834BF9E9B20B0A364756E2164756E21",
16
+ "mappings": "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",
17
+ "debugId": "6DDDB58BDDF7223C64756E2164756E21",
18
18
  "names": []
19
19
  }
@@ -1,7 +1,25 @@
1
1
  // @bun
2
- import{c as I}from"../../../../shared/chunk-aj0aak90.js";import{e as d}from"../../../../shared/chunk-31y260d6.js";import{f as A}from"../../../../shared/chunk-jr0xys18.js";import{Ha as e}from"../../../../shared/chunk-59vwmfpm.js";import{decorator as N}from"@ooneex/migrations";class T{async up(a){await a`
2
+ import {
3
+ Migration20251225173351645
4
+ } from "../../../../shared/chunk-jap9t59k.js";
5
+ import {
6
+ Migration20251225173350644
7
+ } from "../../../../shared/chunk-trhrh4e1.js";
8
+ import {
9
+ Migration20251225180910444
10
+ } from "../../../../shared/chunk-yszvxhf3.js";
11
+ import {
12
+ __legacyDecorateClassTS
13
+ } from "../../../../shared/chunk-r9hsk9fk.js";
14
+
15
+ // src/migrations/gamification/flashcard/Migration20251225181154477.ts
16
+ import { decorator } from "@ooneex/migrations";
17
+ class Migration20251225181154477 {
18
+ async up(tx) {
19
+ await tx`
3
20
  CREATE TYPE flashcard_algorithm AS ENUM ('FSRS', 'SM2', 'ANKI')
4
- `,await a`
21
+ `;
22
+ await tx`
5
23
  CREATE TABLE IF NOT EXISTS flashcard_decks (
6
24
  id VARCHAR(25) PRIMARY KEY,
7
25
  name VARCHAR(500) NOT NULL,
@@ -37,29 +55,62 @@ import{c as I}from"../../../../shared/chunk-aj0aak90.js";import{e as d}from"../.
37
55
  deleted_at TIMESTAMPTZ,
38
56
  CONSTRAINT fk_flashcard_decks_status FOREIGN KEY (status_id) REFERENCES statuses(id) ON DELETE SET NULL
39
57
  )
40
- `,await a`
58
+ `;
59
+ await tx`
41
60
  CREATE INDEX IF NOT EXISTS idx_flashcard_decks_name ON flashcard_decks(name)
42
- `,await a`
61
+ `;
62
+ await tx`
43
63
  CREATE INDEX IF NOT EXISTS idx_flashcard_decks_algorithm ON flashcard_decks(algorithm)
44
- `,await a`
64
+ `;
65
+ await tx`
45
66
  CREATE INDEX IF NOT EXISTS idx_flashcard_decks_stat_id ON flashcard_decks(stat_id)
46
- `,await a`
67
+ `;
68
+ await tx`
47
69
  CREATE INDEX IF NOT EXISTS idx_flashcard_decks_status_id ON flashcard_decks(status_id)
48
- `,await a`
70
+ `;
71
+ await tx`
49
72
  CREATE INDEX IF NOT EXISTS idx_flashcard_decks_language ON flashcard_decks(language)
50
- `,await a`
73
+ `;
74
+ await tx`
51
75
  CREATE INDEX IF NOT EXISTS idx_flashcard_decks_deleted_at ON flashcard_decks(deleted_at)
52
- `,await a`
76
+ `;
77
+ await tx`
53
78
  CREATE INDEX IF NOT EXISTS idx_flashcard_decks_is_public ON flashcard_decks(is_public) WHERE deleted_at IS NULL
54
- `,await a`
79
+ `;
80
+ await tx`
55
81
  CREATE INDEX IF NOT EXISTS idx_flashcard_decks_created_at ON flashcard_decks(created_at DESC)
56
- `,await a`
82
+ `;
83
+ await tx`
57
84
  CREATE INDEX IF NOT EXISTS idx_flashcard_decks_updated_at ON flashcard_decks(updated_at DESC)
58
- `,await a`
85
+ `;
86
+ await tx`
59
87
  CREATE INDEX IF NOT EXISTS idx_flashcard_decks_active ON flashcard_decks(is_blocked, is_locked) WHERE deleted_at IS NULL AND is_blocked = false
60
- `}async down(a){await a`DROP TABLE IF EXISTS flashcard_decks CASCADE`,await a`DROP TYPE IF EXISTS flashcard_algorithm CASCADE`}getVersion(){return"20251225181154477"}getDependencies(){return[d]}}T=e([N.migration()],T);import{decorator as i}from"@ooneex/migrations";class E{async up(a){await a`
88
+ `;
89
+ }
90
+ async down(tx) {
91
+ await tx`DROP TABLE IF EXISTS flashcard_decks CASCADE`;
92
+ await tx`DROP TYPE IF EXISTS flashcard_algorithm CASCADE`;
93
+ }
94
+ getVersion() {
95
+ return "20251225181154477";
96
+ }
97
+ getDependencies() {
98
+ return [
99
+ Migration20251225173350644
100
+ ];
101
+ }
102
+ }
103
+ Migration20251225181154477 = __legacyDecorateClassTS([
104
+ decorator.migration()
105
+ ], Migration20251225181154477);
106
+ // src/migrations/gamification/flashcard/Migration20251225181154480.ts
107
+ import { decorator as decorator2 } from "@ooneex/migrations";
108
+ class Migration20251225181154480 {
109
+ async up(tx) {
110
+ await tx`
61
111
  CREATE TYPE flashcard_state AS ENUM ('NEW', 'LEARNING', 'REVIEW', 'RELEARNING', 'SUSPENDED')
62
- `,await a`
112
+ `;
113
+ await tx`
63
114
  CREATE TABLE IF NOT EXISTS flashcard_schedules (
64
115
  id VARCHAR(25) PRIMARY KEY,
65
116
  state flashcard_state DEFAULT 'NEW',
@@ -86,27 +137,57 @@ import{c as I}from"../../../../shared/chunk-aj0aak90.js";import{e as d}from"../.
86
137
  updated_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
87
138
  deleted_at TIMESTAMPTZ
88
139
  )
89
- `,await a`
140
+ `;
141
+ await tx`
90
142
  CREATE INDEX IF NOT EXISTS idx_flashcard_schedules_state ON flashcard_schedules(state)
91
- `,await a`
143
+ `;
144
+ await tx`
92
145
  CREATE INDEX IF NOT EXISTS idx_flashcard_schedules_due_date ON flashcard_schedules(due_date)
93
- `,await a`
146
+ `;
147
+ await tx`
94
148
  CREATE INDEX IF NOT EXISTS idx_flashcard_schedules_last_reviewed_at ON flashcard_schedules(last_reviewed_at DESC)
95
- `,await a`
149
+ `;
150
+ await tx`
96
151
  CREATE INDEX IF NOT EXISTS idx_flashcard_schedules_interval ON flashcard_schedules(interval)
97
- `,await a`
152
+ `;
153
+ await tx`
98
154
  CREATE INDEX IF NOT EXISTS idx_flashcard_schedules_language ON flashcard_schedules(language)
99
- `,await a`
155
+ `;
156
+ await tx`
100
157
  CREATE INDEX IF NOT EXISTS idx_flashcard_schedules_deleted_at ON flashcard_schedules(deleted_at)
101
- `,await a`
158
+ `;
159
+ await tx`
102
160
  CREATE INDEX IF NOT EXISTS idx_flashcard_schedules_is_public ON flashcard_schedules(is_public) WHERE deleted_at IS NULL
103
- `,await a`
161
+ `;
162
+ await tx`
104
163
  CREATE INDEX IF NOT EXISTS idx_flashcard_schedules_created_at ON flashcard_schedules(created_at DESC)
105
- `,await a`
164
+ `;
165
+ await tx`
106
166
  CREATE INDEX IF NOT EXISTS idx_flashcard_schedules_active ON flashcard_schedules(is_blocked, is_locked) WHERE deleted_at IS NULL AND is_blocked = false
107
- `,await a`
167
+ `;
168
+ await tx`
108
169
  CREATE INDEX IF NOT EXISTS idx_flashcard_schedules_due ON flashcard_schedules(state, due_date) WHERE deleted_at IS NULL AND due_date <= CURRENT_TIMESTAMP
109
- `}async down(a){await a`DROP TABLE IF EXISTS flashcard_schedules CASCADE`,await a`DROP TYPE IF EXISTS flashcard_state CASCADE`}getVersion(){return"20251225181154480"}getDependencies(){return[]}}E=e([i.migration()],E);import{decorator as t}from"@ooneex/migrations";class s{async up(a){await a`
170
+ `;
171
+ }
172
+ async down(tx) {
173
+ await tx`DROP TABLE IF EXISTS flashcard_schedules CASCADE`;
174
+ await tx`DROP TYPE IF EXISTS flashcard_state CASCADE`;
175
+ }
176
+ getVersion() {
177
+ return "20251225181154480";
178
+ }
179
+ getDependencies() {
180
+ return [];
181
+ }
182
+ }
183
+ Migration20251225181154480 = __legacyDecorateClassTS([
184
+ decorator2.migration()
185
+ ], Migration20251225181154480);
186
+ // src/migrations/gamification/flashcard/Migration20251225181154482.ts
187
+ import { decorator as decorator3 } from "@ooneex/migrations";
188
+ class Migration20251225181154482 {
189
+ async up(tx) {
190
+ await tx`
110
191
  CREATE TABLE IF NOT EXISTS flashcards (
111
192
  id VARCHAR(25) PRIMARY KEY,
112
193
  front TEXT NOT NULL,
@@ -133,7 +214,8 @@ import{c as I}from"../../../../shared/chunk-aj0aak90.js";import{e as d}from"../.
133
214
  CONSTRAINT fk_flashcards_deck FOREIGN KEY (deck_id) REFERENCES flashcard_decks(id) ON DELETE SET NULL,
134
215
  CONSTRAINT fk_flashcards_status FOREIGN KEY (status_id) REFERENCES statuses(id) ON DELETE SET NULL
135
216
  )
136
- `,await a`
217
+ `;
218
+ await tx`
137
219
  CREATE TABLE IF NOT EXISTS flashcards_tags (
138
220
  flashcard_id VARCHAR(25) NOT NULL,
139
221
  tag_id VARCHAR(25) NOT NULL,
@@ -141,35 +223,74 @@ import{c as I}from"../../../../shared/chunk-aj0aak90.js";import{e as d}from"../.
141
223
  CONSTRAINT fk_flashcards_tags_flashcard FOREIGN KEY (flashcard_id) REFERENCES flashcards(id) ON DELETE CASCADE,
142
224
  CONSTRAINT fk_flashcards_tags_tag FOREIGN KEY (tag_id) REFERENCES tags(id) ON DELETE CASCADE
143
225
  )
144
- `,await a`
226
+ `;
227
+ await tx`
145
228
  CREATE INDEX IF NOT EXISTS idx_flashcards_schedule_id ON flashcards(schedule_id)
146
- `,await a`
229
+ `;
230
+ await tx`
147
231
  CREATE INDEX IF NOT EXISTS idx_flashcards_deck_id ON flashcards(deck_id)
148
- `,await a`
232
+ `;
233
+ await tx`
149
234
  CREATE INDEX IF NOT EXISTS idx_flashcards_context ON flashcards(context, context_id)
150
- `,await a`
235
+ `;
236
+ await tx`
151
237
  CREATE INDEX IF NOT EXISTS idx_flashcards_stat_id ON flashcards(stat_id)
152
- `,await a`
238
+ `;
239
+ await tx`
153
240
  CREATE INDEX IF NOT EXISTS idx_flashcards_status_id ON flashcards(status_id)
154
- `,await a`
241
+ `;
242
+ await tx`
155
243
  CREATE INDEX IF NOT EXISTS idx_flashcards_image_id ON flashcards(image_id)
156
- `,await a`
244
+ `;
245
+ await tx`
157
246
  CREATE INDEX IF NOT EXISTS idx_flashcards_language ON flashcards(language)
158
- `,await a`
247
+ `;
248
+ await tx`
159
249
  CREATE INDEX IF NOT EXISTS idx_flashcards_deleted_at ON flashcards(deleted_at)
160
- `,await a`
250
+ `;
251
+ await tx`
161
252
  CREATE INDEX IF NOT EXISTS idx_flashcards_is_public ON flashcards(is_public) WHERE deleted_at IS NULL
162
- `,await a`
253
+ `;
254
+ await tx`
163
255
  CREATE INDEX IF NOT EXISTS idx_flashcards_created_at ON flashcards(created_at DESC)
164
- `,await a`
256
+ `;
257
+ await tx`
165
258
  CREATE INDEX IF NOT EXISTS idx_flashcards_updated_at ON flashcards(updated_at DESC)
166
- `,await a`
259
+ `;
260
+ await tx`
167
261
  CREATE INDEX IF NOT EXISTS idx_flashcards_active ON flashcards(is_blocked, is_locked) WHERE deleted_at IS NULL AND is_blocked = false
168
- `,await a`
262
+ `;
263
+ await tx`
169
264
  CREATE INDEX IF NOT EXISTS idx_flashcards_tags_flashcard_id ON flashcards_tags(flashcard_id)
170
- `,await a`
265
+ `;
266
+ await tx`
171
267
  CREATE INDEX IF NOT EXISTS idx_flashcards_tags_tag_id ON flashcards_tags(tag_id)
172
- `}async down(a){await a`DROP TABLE IF EXISTS flashcards_tags CASCADE`,await a`DROP TABLE IF EXISTS flashcards CASCADE`}getVersion(){return"20251225181154482"}getDependencies(){return[E,T,d,I]}}s=e([t.migration()],s);import{decorator as S}from"@ooneex/migrations";class l{async up(a){await a`
268
+ `;
269
+ }
270
+ async down(tx) {
271
+ await tx`DROP TABLE IF EXISTS flashcards_tags CASCADE`;
272
+ await tx`DROP TABLE IF EXISTS flashcards CASCADE`;
273
+ }
274
+ getVersion() {
275
+ return "20251225181154482";
276
+ }
277
+ getDependencies() {
278
+ return [
279
+ Migration20251225181154480,
280
+ Migration20251225181154477,
281
+ Migration20251225173350644,
282
+ Migration20251225173351645
283
+ ];
284
+ }
285
+ }
286
+ Migration20251225181154482 = __legacyDecorateClassTS([
287
+ decorator3.migration()
288
+ ], Migration20251225181154482);
289
+ // src/migrations/gamification/flashcard/Migration20251225181154484.ts
290
+ import { decorator as decorator4 } from "@ooneex/migrations";
291
+ class Migration20251225181154484 {
292
+ async up(tx) {
293
+ await tx`
173
294
  CREATE TABLE IF NOT EXISTS flashcard_presets (
174
295
  id VARCHAR(25) PRIMARY KEY,
175
296
  name VARCHAR(500) NOT NULL,
@@ -205,23 +326,50 @@ import{c as I}from"../../../../shared/chunk-aj0aak90.js";import{e as d}from"../.
205
326
  updated_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
206
327
  deleted_at TIMESTAMPTZ
207
328
  )
208
- `,await a`
329
+ `;
330
+ await tx`
209
331
  CREATE INDEX IF NOT EXISTS idx_flashcard_presets_name ON flashcard_presets(name)
210
- `,await a`
332
+ `;
333
+ await tx`
211
334
  CREATE INDEX IF NOT EXISTS idx_flashcard_presets_algorithm ON flashcard_presets(algorithm)
212
- `,await a`
335
+ `;
336
+ await tx`
213
337
  CREATE INDEX IF NOT EXISTS idx_flashcard_presets_language ON flashcard_presets(language)
214
- `,await a`
338
+ `;
339
+ await tx`
215
340
  CREATE INDEX IF NOT EXISTS idx_flashcard_presets_deleted_at ON flashcard_presets(deleted_at)
216
- `,await a`
341
+ `;
342
+ await tx`
217
343
  CREATE INDEX IF NOT EXISTS idx_flashcard_presets_is_public ON flashcard_presets(is_public) WHERE deleted_at IS NULL
218
- `,await a`
344
+ `;
345
+ await tx`
219
346
  CREATE INDEX IF NOT EXISTS idx_flashcard_presets_created_at ON flashcard_presets(created_at DESC)
220
- `,await a`
347
+ `;
348
+ await tx`
221
349
  CREATE INDEX IF NOT EXISTS idx_flashcard_presets_active ON flashcard_presets(is_blocked, is_locked) WHERE deleted_at IS NULL AND is_blocked = false
222
- `}async down(a){await a`DROP TABLE IF EXISTS flashcard_presets CASCADE`}getVersion(){return"20251225181154484"}getDependencies(){return[]}}l=e([S.migration()],l);import{decorator as L}from"@ooneex/migrations";class _{async up(a){await a`
350
+ `;
351
+ }
352
+ async down(tx) {
353
+ await tx`DROP TABLE IF EXISTS flashcard_presets CASCADE`;
354
+ }
355
+ getVersion() {
356
+ return "20251225181154484";
357
+ }
358
+ getDependencies() {
359
+ return [];
360
+ }
361
+ }
362
+ Migration20251225181154484 = __legacyDecorateClassTS([
363
+ decorator4.migration()
364
+ ], Migration20251225181154484);
365
+ // src/migrations/gamification/flashcard/Migration20251225181154486.ts
366
+ import { decorator as decorator5 } from "@ooneex/migrations";
367
+ class Migration20251225181154486 {
368
+ async up(tx) {
369
+ await tx`
223
370
  CREATE TYPE flashcard_session_status AS ENUM ('DRAFT', 'IN_PROGRESS', 'PAUSED', 'COMPLETED', 'CANCELLED')
224
- `,await a`
371
+ `;
372
+ await tx`
225
373
  CREATE TABLE IF NOT EXISTS flashcard_sessions (
226
374
  id VARCHAR(25) PRIMARY KEY,
227
375
  name VARCHAR(500) NOT NULL,
@@ -261,7 +409,8 @@ import{c as I}from"../../../../shared/chunk-aj0aak90.js";import{e as d}from"../.
261
409
  deleted_at TIMESTAMPTZ,
262
410
  CONSTRAINT fk_flashcard_sessions_level FOREIGN KEY (level_id) REFERENCES levels(id) ON DELETE RESTRICT
263
411
  )
264
- `,await a`
412
+ `;
413
+ await tx`
265
414
  CREATE TABLE IF NOT EXISTS flashcard_sessions_cards (
266
415
  session_id VARCHAR(25) NOT NULL,
267
416
  flashcard_id VARCHAR(25) NOT NULL,
@@ -269,43 +418,85 @@ import{c as I}from"../../../../shared/chunk-aj0aak90.js";import{e as d}from"../.
269
418
  CONSTRAINT fk_flashcard_sessions_cards_session FOREIGN KEY (session_id) REFERENCES flashcard_sessions(id) ON DELETE CASCADE,
270
419
  CONSTRAINT fk_flashcard_sessions_cards_flashcard FOREIGN KEY (flashcard_id) REFERENCES flashcards(id) ON DELETE CASCADE
271
420
  )
272
- `,await a`
421
+ `;
422
+ await tx`
273
423
  CREATE INDEX IF NOT EXISTS idx_flashcard_sessions_name ON flashcard_sessions(name)
274
- `,await a`
424
+ `;
425
+ await tx`
275
426
  CREATE INDEX IF NOT EXISTS idx_flashcard_sessions_status ON flashcard_sessions(status)
276
- `,await a`
427
+ `;
428
+ await tx`
277
429
  CREATE INDEX IF NOT EXISTS idx_flashcard_sessions_type ON flashcard_sessions(type)
278
- `,await a`
430
+ `;
431
+ await tx`
279
432
  CREATE INDEX IF NOT EXISTS idx_flashcard_sessions_level_id ON flashcard_sessions(level_id)
280
- `,await a`
433
+ `;
434
+ await tx`
281
435
  CREATE INDEX IF NOT EXISTS idx_flashcard_sessions_algorithm ON flashcard_sessions(algorithm)
282
- `,await a`
436
+ `;
437
+ await tx`
283
438
  CREATE INDEX IF NOT EXISTS idx_flashcard_sessions_score ON flashcard_sessions(score DESC)
284
- `,await a`
439
+ `;
440
+ await tx`
285
441
  CREATE INDEX IF NOT EXISTS idx_flashcard_sessions_started_at ON flashcard_sessions(started_at DESC)
286
- `,await a`
442
+ `;
443
+ await tx`
287
444
  CREATE INDEX IF NOT EXISTS idx_flashcard_sessions_completed_at ON flashcard_sessions(completed_at DESC)
288
- `,await a`
445
+ `;
446
+ await tx`
289
447
  CREATE INDEX IF NOT EXISTS idx_flashcard_sessions_language ON flashcard_sessions(language)
290
- `,await a`
448
+ `;
449
+ await tx`
291
450
  CREATE INDEX IF NOT EXISTS idx_flashcard_sessions_deleted_at ON flashcard_sessions(deleted_at)
292
- `,await a`
451
+ `;
452
+ await tx`
293
453
  CREATE INDEX IF NOT EXISTS idx_flashcard_sessions_is_public ON flashcard_sessions(is_public) WHERE deleted_at IS NULL
294
- `,await a`
454
+ `;
455
+ await tx`
295
456
  CREATE INDEX IF NOT EXISTS idx_flashcard_sessions_created_at ON flashcard_sessions(created_at DESC)
296
- `,await a`
457
+ `;
458
+ await tx`
297
459
  CREATE INDEX IF NOT EXISTS idx_flashcard_sessions_updated_at ON flashcard_sessions(updated_at DESC)
298
- `,await a`
460
+ `;
461
+ await tx`
299
462
  CREATE INDEX IF NOT EXISTS idx_flashcard_sessions_active ON flashcard_sessions(is_blocked, is_locked) WHERE deleted_at IS NULL AND is_blocked = false
300
- `,await a`
463
+ `;
464
+ await tx`
301
465
  CREATE INDEX IF NOT EXISTS idx_flashcard_sessions_performance ON flashcard_sessions(type, score DESC, completed_at DESC) WHERE status = 'COMPLETED' AND deleted_at IS NULL
302
- `,await a`
466
+ `;
467
+ await tx`
303
468
  CREATE INDEX IF NOT EXISTS idx_flashcard_sessions_cards_session_id ON flashcard_sessions_cards(session_id)
304
- `,await a`
469
+ `;
470
+ await tx`
305
471
  CREATE INDEX IF NOT EXISTS idx_flashcard_sessions_cards_flashcard_id ON flashcard_sessions_cards(flashcard_id)
306
- `}async down(a){await a`DROP TABLE IF EXISTS flashcard_sessions_cards CASCADE`,await a`DROP TABLE IF EXISTS flashcard_sessions CASCADE`,await a`DROP TYPE IF EXISTS flashcard_session_status CASCADE`}getVersion(){return"20251225181154486"}getDependencies(){return[A,s]}}_=e([L.migration()],_);import{decorator as D}from"@ooneex/migrations";class r{async up(a){await a`
472
+ `;
473
+ }
474
+ async down(tx) {
475
+ await tx`DROP TABLE IF EXISTS flashcard_sessions_cards CASCADE`;
476
+ await tx`DROP TABLE IF EXISTS flashcard_sessions CASCADE`;
477
+ await tx`DROP TYPE IF EXISTS flashcard_session_status CASCADE`;
478
+ }
479
+ getVersion() {
480
+ return "20251225181154486";
481
+ }
482
+ getDependencies() {
483
+ return [
484
+ Migration20251225180910444,
485
+ Migration20251225181154482
486
+ ];
487
+ }
488
+ }
489
+ Migration20251225181154486 = __legacyDecorateClassTS([
490
+ decorator5.migration()
491
+ ], Migration20251225181154486);
492
+ // src/migrations/gamification/flashcard/Migration20251225181154489.ts
493
+ import { decorator as decorator6 } from "@ooneex/migrations";
494
+ class Migration20251225181154489 {
495
+ async up(tx) {
496
+ await tx`
307
497
  CREATE TYPE flashcard_rating AS ENUM ('AGAIN', 'HARD', 'GOOD', 'EASY')
308
- `,await a`
498
+ `;
499
+ await tx`
309
500
  CREATE TABLE IF NOT EXISTS flashcard_reviews (
310
501
  id VARCHAR(25) PRIMARY KEY,
311
502
  card_id VARCHAR(25) NOT NULL,
@@ -336,33 +527,69 @@ import{c as I}from"../../../../shared/chunk-aj0aak90.js";import{e as d}from"../.
336
527
  CONSTRAINT fk_flashcard_reviews_card FOREIGN KEY (card_id) REFERENCES flashcards(id) ON DELETE CASCADE,
337
528
  CONSTRAINT fk_flashcard_reviews_session FOREIGN KEY (session_id) REFERENCES flashcard_sessions(id) ON DELETE CASCADE
338
529
  )
339
- `,await a`
530
+ `;
531
+ await tx`
340
532
  CREATE INDEX IF NOT EXISTS idx_flashcard_reviews_card_id ON flashcard_reviews(card_id)
341
- `,await a`
533
+ `;
534
+ await tx`
342
535
  CREATE INDEX IF NOT EXISTS idx_flashcard_reviews_session_id ON flashcard_reviews(session_id)
343
- `,await a`
536
+ `;
537
+ await tx`
344
538
  CREATE INDEX IF NOT EXISTS idx_flashcard_reviews_rating ON flashcard_reviews(rating)
345
- `,await a`
539
+ `;
540
+ await tx`
346
541
  CREATE INDEX IF NOT EXISTS idx_flashcard_reviews_algorithm ON flashcard_reviews(algorithm)
347
- `,await a`
542
+ `;
543
+ await tx`
348
544
  CREATE INDEX IF NOT EXISTS idx_flashcard_reviews_reviewed_at ON flashcard_reviews(reviewed_at DESC)
349
- `,await a`
545
+ `;
546
+ await tx`
350
547
  CREATE INDEX IF NOT EXISTS idx_flashcard_reviews_was_lapse ON flashcard_reviews(was_lapse) WHERE was_lapse = true
351
- `,await a`
548
+ `;
549
+ await tx`
352
550
  CREATE INDEX IF NOT EXISTS idx_flashcard_reviews_language ON flashcard_reviews(language)
353
- `,await a`
551
+ `;
552
+ await tx`
354
553
  CREATE INDEX IF NOT EXISTS idx_flashcard_reviews_deleted_at ON flashcard_reviews(deleted_at)
355
- `,await a`
554
+ `;
555
+ await tx`
356
556
  CREATE INDEX IF NOT EXISTS idx_flashcard_reviews_is_public ON flashcard_reviews(is_public) WHERE deleted_at IS NULL
357
- `,await a`
557
+ `;
558
+ await tx`
358
559
  CREATE INDEX IF NOT EXISTS idx_flashcard_reviews_created_at ON flashcard_reviews(created_at DESC)
359
- `,await a`
560
+ `;
561
+ await tx`
360
562
  CREATE INDEX IF NOT EXISTS idx_flashcard_reviews_active ON flashcard_reviews(is_blocked, is_locked) WHERE deleted_at IS NULL AND is_blocked = false
361
- `,await a`
563
+ `;
564
+ await tx`
362
565
  CREATE INDEX IF NOT EXISTS idx_flashcard_reviews_card_reviewed ON flashcard_reviews(card_id, reviewed_at DESC)
363
- `,await a`
566
+ `;
567
+ await tx`
364
568
  CREATE INDEX IF NOT EXISTS idx_flashcard_reviews_session_reviewed ON flashcard_reviews(session_id, reviewed_at DESC)
365
- `}async down(a){await a`DROP TABLE IF EXISTS flashcard_reviews CASCADE`,await a`DROP TYPE IF EXISTS flashcard_rating CASCADE`}getVersion(){return"20251225181154489"}getDependencies(){return[s,_]}}r=e([D.migration()],r);import{decorator as u}from"@ooneex/migrations";class c{async up(a){await a`
569
+ `;
570
+ }
571
+ async down(tx) {
572
+ await tx`DROP TABLE IF EXISTS flashcard_reviews CASCADE`;
573
+ await tx`DROP TYPE IF EXISTS flashcard_rating CASCADE`;
574
+ }
575
+ getVersion() {
576
+ return "20251225181154489";
577
+ }
578
+ getDependencies() {
579
+ return [
580
+ Migration20251225181154482,
581
+ Migration20251225181154486
582
+ ];
583
+ }
584
+ }
585
+ Migration20251225181154489 = __legacyDecorateClassTS([
586
+ decorator6.migration()
587
+ ], Migration20251225181154489);
588
+ // src/migrations/gamification/flashcard/Migration20251225181154491.ts
589
+ import { decorator as decorator7 } from "@ooneex/migrations";
590
+ class Migration20251225181154491 {
591
+ async up(tx) {
592
+ await tx`
366
593
  CREATE TABLE IF NOT EXISTS flashcard_stats (
367
594
  id VARCHAR(25) PRIMARY KEY,
368
595
  cards_studied_today INT DEFAULT 0,
@@ -395,26 +622,59 @@ import{c as I}from"../../../../shared/chunk-aj0aak90.js";import{e as d}from"../.
395
622
  updated_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
396
623
  deleted_at TIMESTAMPTZ
397
624
  )
398
- `,await a`
625
+ `;
626
+ await tx`
399
627
  CREATE INDEX IF NOT EXISTS idx_flashcard_stats_start_date ON flashcard_stats(start_date DESC)
400
- `,await a`
628
+ `;
629
+ await tx`
401
630
  CREATE INDEX IF NOT EXISTS idx_flashcard_stats_end_date ON flashcard_stats(end_date DESC)
402
- `,await a`
631
+ `;
632
+ await tx`
403
633
  CREATE INDEX IF NOT EXISTS idx_flashcard_stats_current_streak ON flashcard_stats(current_streak DESC)
404
- `,await a`
634
+ `;
635
+ await tx`
405
636
  CREATE INDEX IF NOT EXISTS idx_flashcard_stats_retention_rate ON flashcard_stats(retention_rate DESC)
406
- `,await a`
637
+ `;
638
+ await tx`
407
639
  CREATE INDEX IF NOT EXISTS idx_flashcard_stats_language ON flashcard_stats(language)
408
- `,await a`
640
+ `;
641
+ await tx`
409
642
  CREATE INDEX IF NOT EXISTS idx_flashcard_stats_deleted_at ON flashcard_stats(deleted_at)
410
- `,await a`
643
+ `;
644
+ await tx`
411
645
  CREATE INDEX IF NOT EXISTS idx_flashcard_stats_is_public ON flashcard_stats(is_public) WHERE deleted_at IS NULL
412
- `,await a`
646
+ `;
647
+ await tx`
413
648
  CREATE INDEX IF NOT EXISTS idx_flashcard_stats_created_at ON flashcard_stats(created_at DESC)
414
- `,await a`
649
+ `;
650
+ await tx`
415
651
  CREATE INDEX IF NOT EXISTS idx_flashcard_stats_active ON flashcard_stats(is_blocked, is_locked) WHERE deleted_at IS NULL AND is_blocked = false
416
- `,await a`
652
+ `;
653
+ await tx`
417
654
  CREATE INDEX IF NOT EXISTS idx_flashcard_stats_date_range ON flashcard_stats(start_date, end_date) WHERE deleted_at IS NULL
418
- `}async down(a){await a`DROP TABLE IF EXISTS flashcard_stats CASCADE`}getVersion(){return"20251225181154491"}getDependencies(){return[]}}c=e([u.migration()],c);export{c as Migration20251225181154491,r as Migration20251225181154489,_ as Migration20251225181154486,l as Migration20251225181154484,s as Migration20251225181154482,E as Migration20251225181154480,T as Migration20251225181154477};
655
+ `;
656
+ }
657
+ async down(tx) {
658
+ await tx`DROP TABLE IF EXISTS flashcard_stats CASCADE`;
659
+ }
660
+ getVersion() {
661
+ return "20251225181154491";
662
+ }
663
+ getDependencies() {
664
+ return [];
665
+ }
666
+ }
667
+ Migration20251225181154491 = __legacyDecorateClassTS([
668
+ decorator7.migration()
669
+ ], Migration20251225181154491);
670
+ export {
671
+ Migration20251225181154491,
672
+ Migration20251225181154489,
673
+ Migration20251225181154486,
674
+ Migration20251225181154484,
675
+ Migration20251225181154482,
676
+ Migration20251225181154480,
677
+ Migration20251225181154477
678
+ };
419
679
 
420
- //# debugId=233E2735A286675664756E2164756E21
680
+ //# debugId=12413C5D6316B95264756E2164756E21