sonamu 0.8.26 → 0.9.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 (684) hide show
  1. package/bin/cli.js +60 -13
  2. package/dist/_virtual/rolldown_runtime.js +39 -0
  3. package/dist/ai/agents/agent.d.ts +3 -3
  4. package/dist/ai/agents/agent.d.ts.map +1 -1
  5. package/dist/ai/agents/agent.js +76 -73
  6. package/dist/ai/agents/index.js +3 -3
  7. package/dist/ai/agents/types.d.ts +3 -3
  8. package/dist/ai/agents/types.d.ts.map +1 -1
  9. package/dist/ai/agents/types.js +1 -3
  10. package/dist/ai/index.js +3 -2
  11. package/dist/ai/providers/rtzr/api.js +25 -25
  12. package/dist/ai/providers/rtzr/error.js +25 -26
  13. package/dist/ai/providers/rtzr/index.js +5 -5
  14. package/dist/ai/providers/rtzr/model.d.ts +1 -1
  15. package/dist/ai/providers/rtzr/model.d.ts.map +1 -1
  16. package/dist/ai/providers/rtzr/model.js +117 -133
  17. package/dist/ai/providers/rtzr/options.d.ts.map +1 -1
  18. package/dist/ai/providers/rtzr/options.js +35 -41
  19. package/dist/ai/providers/rtzr/provider.d.ts +1 -1
  20. package/dist/ai/providers/rtzr/provider.d.ts.map +1 -1
  21. package/dist/ai/providers/rtzr/provider.js +53 -51
  22. package/dist/ai/providers/rtzr/utils.d.ts.map +1 -1
  23. package/dist/ai/providers/rtzr/utils.js +84 -84
  24. package/dist/api/base-frame.d.ts +2 -2
  25. package/dist/api/base-frame.d.ts.map +1 -1
  26. package/dist/api/base-frame.js +29 -19
  27. package/dist/api/caster.d.ts +1 -1
  28. package/dist/api/caster.d.ts.map +1 -1
  29. package/dist/api/caster.js +51 -61
  30. package/dist/api/code-converters.d.ts +4 -3
  31. package/dist/api/code-converters.d.ts.map +1 -1
  32. package/dist/api/code-converters.js +226 -249
  33. package/dist/api/config.d.ts +17 -17
  34. package/dist/api/config.d.ts.map +1 -1
  35. package/dist/api/config.js +37 -30
  36. package/dist/api/context.d.ts +10 -10
  37. package/dist/api/context.d.ts.map +1 -1
  38. package/dist/api/context.js +8 -2
  39. package/dist/api/decorators.d.ts +8 -8
  40. package/dist/api/decorators.d.ts.map +1 -1
  41. package/dist/api/decorators.js +245 -268
  42. package/dist/api/index.js +39 -7
  43. package/dist/api/secret.js +22 -15
  44. package/dist/api/sonamu.d.ts +15 -15
  45. package/dist/api/sonamu.d.ts.map +1 -1
  46. package/dist/api/sonamu.js +1012 -1131
  47. package/dist/api/validator.js +88 -79
  48. package/dist/auth/auth-generator.d.ts.map +1 -1
  49. package/dist/auth/auth-generator.js +203 -200
  50. package/dist/auth/better-auth-entities.d.ts +2 -2
  51. package/dist/auth/better-auth-entities.d.ts.map +1 -1
  52. package/dist/auth/better-auth-entities.js +369 -429
  53. package/dist/auth/index.js +21 -6
  54. package/dist/auth/knex-adapter.d.ts +2 -2
  55. package/dist/auth/knex-adapter.d.ts.map +1 -1
  56. package/dist/auth/knex-adapter.js +153 -157
  57. package/dist/auth/plugins/entity-definitions/admin.d.ts +1 -1
  58. package/dist/auth/plugins/entity-definitions/admin.d.ts.map +1 -1
  59. package/dist/auth/plugins/entity-definitions/admin.js +58 -56
  60. package/dist/auth/plugins/entity-definitions/anonymous.d.ts +1 -1
  61. package/dist/auth/plugins/entity-definitions/anonymous.d.ts.map +1 -1
  62. package/dist/auth/plugins/entity-definitions/anonymous.js +20 -20
  63. package/dist/auth/plugins/entity-definitions/api-key.d.ts +1 -1
  64. package/dist/auth/plugins/entity-definitions/api-key.d.ts.map +1 -1
  65. package/dist/auth/plugins/entity-definitions/api-key.js +185 -196
  66. package/dist/auth/plugins/entity-definitions/index.d.ts +1 -1
  67. package/dist/auth/plugins/entity-definitions/index.d.ts.map +1 -1
  68. package/dist/auth/plugins/entity-definitions/index.js +26 -29
  69. package/dist/auth/plugins/entity-definitions/jwt.d.ts +1 -1
  70. package/dist/auth/plugins/entity-definitions/jwt.d.ts.map +1 -1
  71. package/dist/auth/plugins/entity-definitions/jwt.js +62 -64
  72. package/dist/auth/plugins/entity-definitions/organization.d.ts +1 -1
  73. package/dist/auth/plugins/entity-definitions/organization.d.ts.map +1 -1
  74. package/dist/auth/plugins/entity-definitions/organization.js +362 -421
  75. package/dist/auth/plugins/entity-definitions/passkey.d.ts +1 -1
  76. package/dist/auth/plugins/entity-definitions/passkey.d.ts.map +1 -1
  77. package/dist/auth/plugins/entity-definitions/passkey.js +115 -126
  78. package/dist/auth/plugins/entity-definitions/phone-number.d.ts +1 -1
  79. package/dist/auth/plugins/entity-definitions/phone-number.d.ts.map +1 -1
  80. package/dist/auth/plugins/entity-definitions/phone-number.js +31 -40
  81. package/dist/auth/plugins/entity-definitions/sso.d.ts +1 -1
  82. package/dist/auth/plugins/entity-definitions/sso.d.ts.map +1 -1
  83. package/dist/auth/plugins/entity-definitions/sso.js +94 -107
  84. package/dist/auth/plugins/entity-definitions/two-factor.d.ts +1 -1
  85. package/dist/auth/plugins/entity-definitions/two-factor.d.ts.map +1 -1
  86. package/dist/auth/plugins/entity-definitions/two-factor.js +78 -92
  87. package/dist/auth/plugins/entity-definitions/types.d.ts +1 -1
  88. package/dist/auth/plugins/entity-definitions/types.d.ts.map +1 -1
  89. package/dist/auth/plugins/entity-definitions/types.js +1 -10
  90. package/dist/auth/plugins/entity-definitions/username.d.ts +1 -1
  91. package/dist/auth/plugins/entity-definitions/username.d.ts.map +1 -1
  92. package/dist/auth/plugins/entity-definitions/username.js +31 -40
  93. package/dist/auth/plugins/index.js +12 -3
  94. package/dist/auth/plugins/wrappers/admin.d.ts +2 -2
  95. package/dist/auth/plugins/wrappers/admin.d.ts.map +1 -1
  96. package/dist/auth/plugins/wrappers/admin.js +28 -29
  97. package/dist/auth/plugins/wrappers/anonymous.d.ts +2 -1
  98. package/dist/auth/plugins/wrappers/anonymous.d.ts.map +1 -1
  99. package/dist/auth/plugins/wrappers/anonymous.js +23 -22
  100. package/dist/auth/plugins/wrappers/api-key.d.ts +2 -1
  101. package/dist/auth/plugins/wrappers/api-key.d.ts.map +1 -1
  102. package/dist/auth/plugins/wrappers/api-key.js +39 -34
  103. package/dist/auth/plugins/wrappers/index.js +11 -11
  104. package/dist/auth/plugins/wrappers/jwt.d.ts +2 -1
  105. package/dist/auth/plugins/wrappers/jwt.d.ts.map +1 -1
  106. package/dist/auth/plugins/wrappers/jwt.js +31 -26
  107. package/dist/auth/plugins/wrappers/organization.d.ts +2 -1
  108. package/dist/auth/plugins/wrappers/organization.d.ts.map +1 -1
  109. package/dist/auth/plugins/wrappers/organization.js +65 -62
  110. package/dist/auth/plugins/wrappers/passkey.d.ts +2 -1
  111. package/dist/auth/plugins/wrappers/passkey.d.ts.map +1 -1
  112. package/dist/auth/plugins/wrappers/passkey.js +33 -28
  113. package/dist/auth/plugins/wrappers/phone-number.d.ts.map +1 -1
  114. package/dist/auth/plugins/wrappers/phone-number.js +26 -23
  115. package/dist/auth/plugins/wrappers/sso.d.ts.map +1 -1
  116. package/dist/auth/plugins/wrappers/sso.js +37 -31
  117. package/dist/auth/plugins/wrappers/two-factor.d.ts.map +1 -1
  118. package/dist/auth/plugins/wrappers/two-factor.js +31 -28
  119. package/dist/auth/plugins/wrappers/username.d.ts.map +1 -1
  120. package/dist/auth/plugins/wrappers/username.js +23 -23
  121. package/dist/bin/build-config.js +31 -31
  122. package/dist/bin/cli.js +1063 -1204
  123. package/dist/bin/fixture.d.ts.map +1 -1
  124. package/dist/bin/fixture.js +266 -259
  125. package/dist/bin/hmr-hook-register.d.ts.map +1 -1
  126. package/dist/bin/hmr-hook-register.js +19 -18
  127. package/dist/bin/test-command.d.ts.map +1 -1
  128. package/dist/bin/test-command.js +180 -177
  129. package/dist/bin/ts-loader-register.js +13 -6
  130. package/dist/bin/ts-loader-registration.d.ts.map +1 -1
  131. package/dist/bin/ts-loader-registration.js +28 -38
  132. package/dist/cache/cache-manager.d.ts +1 -1
  133. package/dist/cache/cache-manager.d.ts.map +1 -1
  134. package/dist/cache/cache-manager.js +20 -15
  135. package/dist/cache/decorator.d.ts +1 -1
  136. package/dist/cache/decorator.d.ts.map +1 -1
  137. package/dist/cache/decorator.js +84 -76
  138. package/dist/cache/drivers.js +21 -34
  139. package/dist/cache/index.js +10 -7
  140. package/dist/cache/types.d.ts +2 -2
  141. package/dist/cache/types.d.ts.map +1 -1
  142. package/dist/cache/types.js +1 -6
  143. package/dist/cache-control/cache-control.d.ts +2 -2
  144. package/dist/cache-control/cache-control.d.ts.map +1 -1
  145. package/dist/cache-control/cache-control.js +106 -122
  146. package/dist/cache-control/types.d.ts +2 -2
  147. package/dist/cache-control/types.d.ts.map +1 -1
  148. package/dist/cache-control/types.js +1 -19
  149. package/dist/compress/compress.d.ts +1 -1
  150. package/dist/compress/compress.d.ts.map +1 -1
  151. package/dist/compress/compress.js +58 -56
  152. package/dist/compress/index.js +7 -2
  153. package/dist/compress/types.js +1 -11
  154. package/dist/cone/cone-generator.d.ts +1 -1
  155. package/dist/cone/cone-generator.d.ts.map +1 -1
  156. package/dist/cone/cone-generator.js +216 -219
  157. package/dist/database/_batch_update.d.ts +1 -1
  158. package/dist/database/_batch_update.d.ts.map +1 -1
  159. package/dist/database/_batch_update.js +107 -102
  160. package/dist/database/base-model.d.ts +8 -9
  161. package/dist/database/base-model.d.ts.map +1 -1
  162. package/dist/database/base-model.js +371 -392
  163. package/dist/database/base-model.types.d.ts +5 -5
  164. package/dist/database/base-model.types.d.ts.map +1 -1
  165. package/dist/database/base-model.types.js +1 -20
  166. package/dist/database/db.d.ts +5 -2
  167. package/dist/database/db.d.ts.map +1 -1
  168. package/dist/database/db.js +185 -171
  169. package/dist/database/knex.d.ts +1 -1
  170. package/dist/database/knex.d.ts.map +1 -1
  171. package/dist/database/knex.js +48 -42
  172. package/dist/database/puri-subset.types.d.ts +6 -7
  173. package/dist/database/puri-subset.types.d.ts.map +1 -1
  174. package/dist/database/puri-subset.types.js +1 -16
  175. package/dist/database/puri-wrapper.d.ts +6 -6
  176. package/dist/database/puri-wrapper.d.ts.map +1 -1
  177. package/dist/database/puri-wrapper.js +99 -101
  178. package/dist/database/puri.d.ts +4 -5
  179. package/dist/database/puri.d.ts.map +1 -1
  180. package/dist/database/puri.js +1021 -1227
  181. package/dist/database/puri.types.d.ts +6 -6
  182. package/dist/database/puri.types.d.ts.map +1 -1
  183. package/dist/database/puri.types.js +15 -6
  184. package/dist/database/transaction-context.d.ts +2 -2
  185. package/dist/database/transaction-context.d.ts.map +1 -1
  186. package/dist/database/transaction-context.js +22 -13
  187. package/dist/database/upsert-builder.d.ts +3 -3
  188. package/dist/database/upsert-builder.d.ts.map +1 -1
  189. package/dist/database/upsert-builder.js +405 -465
  190. package/dist/dict/en.js +72 -74
  191. package/dist/dict/index.js +13 -13
  192. package/dist/dict/ko.js +72 -74
  193. package/dist/dict/rc-keys.js +150 -168
  194. package/dist/dict/sd.d.ts +3 -1
  195. package/dist/dict/sd.d.ts.map +1 -1
  196. package/dist/dict/sd.js +54 -40
  197. package/dist/dict/sonamu-dictionary.d.ts +1 -1
  198. package/dist/dict/sonamu-dictionary.d.ts.map +1 -1
  199. package/dist/dict/sonamu-dictionary.js +887 -955
  200. package/dist/dict/types.js +1 -7
  201. package/dist/dict/utils.js +26 -24
  202. package/dist/entity/entity-manager.d.ts +9 -9
  203. package/dist/entity/entity-manager.d.ts.map +1 -1
  204. package/dist/entity/entity-manager.js +226 -223
  205. package/dist/entity/entity-template-cone.d.ts +1 -1
  206. package/dist/entity/entity-template-cone.d.ts.map +1 -1
  207. package/dist/entity/entity-template-cone.js +152 -151
  208. package/dist/entity/entity.d.ts.map +1 -1
  209. package/dist/entity/entity.js +952 -1089
  210. package/dist/exceptions/error-handler.d.ts +1 -1
  211. package/dist/exceptions/error-handler.d.ts.map +1 -1
  212. package/dist/exceptions/error-handler.js +32 -27
  213. package/dist/exceptions/so-exceptions.d.ts +1 -1
  214. package/dist/exceptions/so-exceptions.d.ts.map +1 -1
  215. package/dist/exceptions/so-exceptions.js +61 -68
  216. package/dist/filter/index.js +9 -3
  217. package/dist/filter/types.js +92 -88
  218. package/dist/filter/utils.d.ts +1 -1
  219. package/dist/filter/utils.d.ts.map +1 -1
  220. package/dist/filter/utils.js +147 -161
  221. package/dist/index.js +87 -40
  222. package/dist/logger/category.d.ts.map +1 -1
  223. package/dist/logger/category.js +30 -29
  224. package/dist/logger/configure.d.ts.map +1 -1
  225. package/dist/logger/configure.js +83 -107
  226. package/dist/migration/code-generation.d.ts +2 -2
  227. package/dist/migration/code-generation.d.ts.map +1 -1
  228. package/dist/migration/code-generation.js +1385 -1578
  229. package/dist/migration/migration-set.d.ts +1 -1
  230. package/dist/migration/migration-set.d.ts.map +1 -1
  231. package/dist/migration/migration-set.js +177 -227
  232. package/dist/migration/migrator.d.ts +4 -3
  233. package/dist/migration/migrator.d.ts.map +1 -1
  234. package/dist/migration/migrator.js +340 -345
  235. package/dist/migration/postgresql-schema-reader.d.ts +2 -2
  236. package/dist/migration/postgresql-schema-reader.d.ts.map +1 -1
  237. package/dist/migration/postgresql-schema-reader.js +506 -564
  238. package/dist/migration/slack-confirm.d.ts +2 -2
  239. package/dist/migration/slack-confirm.d.ts.map +1 -1
  240. package/dist/migration/slack-confirm.js +205 -193
  241. package/dist/migration/types.d.ts +2 -2
  242. package/dist/migration/types.d.ts.map +1 -1
  243. package/dist/migration/types.js +1 -3
  244. package/dist/naite/messaging-types.d.ts +1 -0
  245. package/dist/naite/messaging-types.d.ts.map +1 -1
  246. package/dist/naite/messaging-types.js +1 -7
  247. package/dist/naite/naite-reporter.d.ts +2 -2
  248. package/dist/naite/naite-reporter.d.ts.map +1 -1
  249. package/dist/naite/naite-reporter.js +127 -120
  250. package/dist/naite/naite.d.ts +3 -2
  251. package/dist/naite/naite.d.ts.map +1 -1
  252. package/dist/naite/naite.js +266 -300
  253. package/dist/ssr/index.d.ts +2 -2
  254. package/dist/ssr/index.d.ts.map +1 -1
  255. package/dist/ssr/index.js +13 -3
  256. package/dist/ssr/registry.d.ts +1 -1
  257. package/dist/ssr/registry.d.ts.map +1 -1
  258. package/dist/ssr/registry.js +45 -37
  259. package/dist/ssr/renderer.d.ts +4 -4
  260. package/dist/ssr/renderer.d.ts.map +1 -1
  261. package/dist/ssr/renderer.js +84 -91
  262. package/dist/ssr/types.d.ts +2 -2
  263. package/dist/ssr/types.d.ts.map +1 -1
  264. package/dist/ssr/types.js +1 -3
  265. package/dist/storage/base-file.js +54 -41
  266. package/dist/storage/buffered-file.d.ts +2 -2
  267. package/dist/storage/buffered-file.d.ts.map +1 -1
  268. package/dist/storage/buffered-file.js +51 -44
  269. package/dist/storage/drivers.d.ts +2 -2
  270. package/dist/storage/drivers.d.ts.map +1 -1
  271. package/dist/storage/drivers.js +12 -7
  272. package/dist/storage/index.js +14 -7
  273. package/dist/storage/s3-driver.d.ts +2 -2
  274. package/dist/storage/s3-driver.d.ts.map +1 -1
  275. package/dist/storage/s3-driver.js +52 -48
  276. package/dist/storage/storage-manager.d.ts +2 -2
  277. package/dist/storage/storage-manager.d.ts.map +1 -1
  278. package/dist/storage/storage-manager.js +33 -25
  279. package/dist/storage/types.d.ts +2 -2
  280. package/dist/storage/types.d.ts.map +1 -1
  281. package/dist/storage/types.js +1 -5
  282. package/dist/storage/uploaded-file.d.ts +1 -1
  283. package/dist/storage/uploaded-file.d.ts.map +1 -1
  284. package/dist/storage/uploaded-file.js +45 -35
  285. package/dist/stream/index.js +7 -2
  286. package/dist/stream/sse.d.ts +2 -2
  287. package/dist/stream/sse.d.ts.map +1 -1
  288. package/dist/stream/sse.js +72 -67
  289. package/dist/syncer/api-parser.d.ts +1 -1
  290. package/dist/syncer/api-parser.d.ts.map +1 -1
  291. package/dist/syncer/api-parser.js +224 -245
  292. package/dist/syncer/checksum.d.ts +1 -1
  293. package/dist/syncer/checksum.d.ts.map +1 -1
  294. package/dist/syncer/checksum.js +86 -72
  295. package/dist/syncer/code-generator.d.ts +2 -2
  296. package/dist/syncer/code-generator.d.ts.map +1 -1
  297. package/dist/syncer/code-generator.js +154 -160
  298. package/dist/syncer/entity-operations.d.ts +1 -1
  299. package/dist/syncer/entity-operations.d.ts.map +1 -1
  300. package/dist/syncer/entity-operations.js +63 -54
  301. package/dist/syncer/file-patterns.d.ts +1 -1
  302. package/dist/syncer/file-patterns.d.ts.map +1 -1
  303. package/dist/syncer/file-patterns.js +38 -38
  304. package/dist/syncer/index.js +19 -8
  305. package/dist/syncer/module-loader.d.ts +5 -5
  306. package/dist/syncer/module-loader.d.ts.map +1 -1
  307. package/dist/syncer/module-loader.js +83 -78
  308. package/dist/syncer/syncer-actions.d.ts +2 -2
  309. package/dist/syncer/syncer-actions.d.ts.map +1 -1
  310. package/dist/syncer/syncer-actions.js +76 -91
  311. package/dist/syncer/syncer.d.ts +7 -6
  312. package/dist/syncer/syncer.d.ts.map +1 -1
  313. package/dist/syncer/syncer.js +426 -492
  314. package/dist/tasks/decorator.d.ts +3 -3
  315. package/dist/tasks/decorator.d.ts.map +1 -1
  316. package/dist/tasks/decorator.js +32 -28
  317. package/dist/tasks/step-wrapper.d.ts +1 -1
  318. package/dist/tasks/step-wrapper.d.ts.map +1 -1
  319. package/dist/tasks/step-wrapper.js +42 -41
  320. package/dist/tasks/workflow-manager.d.ts +2 -2
  321. package/dist/tasks/workflow-manager.d.ts.map +1 -1
  322. package/dist/tasks/workflow-manager.js +192 -221
  323. package/dist/template/entity-converter.d.ts +1 -1
  324. package/dist/template/entity-converter.d.ts.map +1 -1
  325. package/dist/template/entity-converter.js +103 -103
  326. package/dist/template/helpers.d.ts.map +1 -1
  327. package/dist/template/helpers.js +163 -163
  328. package/dist/template/implementations/entity.template.d.ts +1 -1
  329. package/dist/template/implementations/entity.template.d.ts.map +1 -1
  330. package/dist/template/implementations/entity.template.js +76 -85
  331. package/dist/template/implementations/entry-server.template.d.ts +1 -1
  332. package/dist/template/implementations/entry-server.template.d.ts.map +1 -1
  333. package/dist/template/implementations/entry-server.template.js +32 -27
  334. package/dist/template/implementations/generated.template.d.ts +1 -1
  335. package/dist/template/implementations/generated.template.d.ts.map +1 -1
  336. package/dist/template/implementations/generated.template.js +254 -275
  337. package/dist/template/implementations/generated_http.template.d.ts +2 -2
  338. package/dist/template/implementations/generated_http.template.d.ts.map +1 -1
  339. package/dist/template/implementations/generated_http.template.js +114 -133
  340. package/dist/template/implementations/generated_sso.template.d.ts.map +1 -1
  341. package/dist/template/implementations/generated_sso.template.js +249 -275
  342. package/dist/template/implementations/init_types.template.d.ts +1 -1
  343. package/dist/template/implementations/init_types.template.d.ts.map +1 -1
  344. package/dist/template/implementations/init_types.template.js +40 -34
  345. package/dist/template/implementations/model.template.d.ts +1 -1
  346. package/dist/template/implementations/model.template.d.ts.map +1 -1
  347. package/dist/template/implementations/model.template.js +56 -53
  348. package/dist/template/implementations/model_test.template.d.ts +1 -1
  349. package/dist/template/implementations/model_test.template.d.ts.map +1 -1
  350. package/dist/template/implementations/model_test.template.js +32 -24
  351. package/dist/template/implementations/queries.template.d.ts +1 -1
  352. package/dist/template/implementations/queries.template.d.ts.map +1 -1
  353. package/dist/template/implementations/queries.template.js +84 -89
  354. package/dist/template/implementations/sd.template.d.ts +1 -1
  355. package/dist/template/implementations/sd.template.d.ts.map +1 -1
  356. package/dist/template/implementations/sd.template.js +137 -144
  357. package/dist/template/implementations/services.template.d.ts +1 -1
  358. package/dist/template/implementations/services.template.d.ts.map +1 -1
  359. package/dist/template/implementations/services.template.js +164 -189
  360. package/dist/template/implementations/view_form.template.d.ts +1 -1
  361. package/dist/template/implementations/view_form.template.d.ts.map +1 -1
  362. package/dist/template/implementations/view_form.template.js +258 -285
  363. package/dist/template/implementations/view_id_all_select.template.d.ts +1 -1
  364. package/dist/template/implementations/view_id_all_select.template.d.ts.map +1 -1
  365. package/dist/template/implementations/view_id_all_select.template.js +31 -25
  366. package/dist/template/implementations/view_list.template.d.ts +1 -1
  367. package/dist/template/implementations/view_list.template.d.ts.map +1 -1
  368. package/dist/template/implementations/view_list.template.js +304 -355
  369. package/dist/template/implementations/view_search_input.template.d.ts +1 -1
  370. package/dist/template/implementations/view_search_input.template.d.ts.map +1 -1
  371. package/dist/template/implementations/view_search_input.template.js +31 -27
  372. package/dist/template/index.js +21 -7
  373. package/dist/template/template-manager.d.ts +1 -1
  374. package/dist/template/template-manager.d.ts.map +1 -1
  375. package/dist/template/template-manager.js +132 -123
  376. package/dist/template/template-types.js +8 -6
  377. package/dist/template/template.d.ts +2 -2
  378. package/dist/template/template.d.ts.map +1 -1
  379. package/dist/template/template.js +73 -68
  380. package/dist/template/zod-converter.d.ts.map +1 -1
  381. package/dist/template/zod-converter.js +603 -657
  382. package/dist/testing/_relation-graph.d.ts +1 -1
  383. package/dist/testing/_relation-graph.d.ts.map +1 -1
  384. package/dist/testing/_relation-graph.js +93 -88
  385. package/dist/testing/bootstrap.d.ts +22 -13
  386. package/dist/testing/bootstrap.d.ts.map +1 -1
  387. package/dist/testing/bootstrap.js +114 -114
  388. package/dist/testing/data-explorer.d.ts +3 -3
  389. package/dist/testing/data-explorer.d.ts.map +1 -1
  390. package/dist/testing/data-explorer.js +237 -265
  391. package/dist/testing/dev-test-routes.d.ts +2 -2
  392. package/dist/testing/dev-test-routes.d.ts.map +1 -1
  393. package/dist/testing/dev-test-routes.js +258 -249
  394. package/dist/testing/dev-vitest-manager.d.ts +1 -1
  395. package/dist/testing/dev-vitest-manager.d.ts.map +1 -1
  396. package/dist/testing/dev-vitest-manager.js +514 -539
  397. package/dist/testing/faker-mappings.js +422 -420
  398. package/dist/testing/fixture-generator.d.ts +3 -3
  399. package/dist/testing/fixture-generator.d.ts.map +1 -1
  400. package/dist/testing/fixture-generator.js +1216 -1346
  401. package/dist/testing/fixture-loader.js +26 -25
  402. package/dist/testing/fixture-manager.d.ts +3 -3
  403. package/dist/testing/fixture-manager.d.ts.map +1 -1
  404. package/dist/testing/fixture-manager.js +706 -776
  405. package/dist/testing/global-setup.js +53 -49
  406. package/dist/testing/index.js +19 -11
  407. package/dist/testing/naite-vitest-reporter.js +18 -13
  408. package/dist/testing/parallel-db-manager.d.ts +1 -1
  409. package/dist/testing/parallel-db-manager.d.ts.map +1 -1
  410. package/dist/testing/parallel-db-manager.js +63 -78
  411. package/dist/testing/vitest-helpers.d.ts +1 -1
  412. package/dist/testing/vitest-helpers.d.ts.map +1 -1
  413. package/dist/testing/vitest-helpers.js +37 -33
  414. package/dist/types/types.d.ts +28 -28
  415. package/dist/types/types.d.ts.map +1 -1
  416. package/dist/types/types.js +764 -890
  417. package/dist/ui/ai-api.d.ts +1 -1
  418. package/dist/ui/ai-api.d.ts.map +1 -1
  419. package/dist/ui/ai-api.js +52 -42
  420. package/dist/ui/ai-client.d.ts +1 -2
  421. package/dist/ui/ai-client.d.ts.map +1 -1
  422. package/dist/ui/ai-client.js +353 -388
  423. package/dist/ui/api.d.ts +1 -1
  424. package/dist/ui/api.d.ts.map +1 -1
  425. package/dist/ui/api.js +903 -1145
  426. package/dist/ui/cdd-service.d.ts +1 -1
  427. package/dist/ui/cdd-service.d.ts.map +1 -1
  428. package/dist/ui/cdd-service.js +406 -407
  429. package/dist/ui/cdd-types.js +1 -3
  430. package/dist/ui-web/assets/index-C-Zz-wYg.css +1 -0
  431. package/dist/ui-web/assets/index-DejDON8K.js +238 -0
  432. package/dist/ui-web/index.html +3 -3
  433. package/dist/utils/async-utils.js +57 -45
  434. package/dist/utils/console-util.d.ts.map +1 -1
  435. package/dist/utils/console-util.js +104 -87
  436. package/dist/utils/controller.js +26 -19
  437. package/dist/utils/esm-utils.js +49 -38
  438. package/dist/utils/formatter.d.ts +1 -2
  439. package/dist/utils/formatter.d.ts.map +1 -1
  440. package/dist/utils/formatter.js +89 -115
  441. package/dist/utils/fs-utils.d.ts.map +1 -1
  442. package/dist/utils/fs-utils.js +68 -65
  443. package/dist/utils/lodash-able.js +11 -4
  444. package/dist/utils/model.d.ts +1 -1
  445. package/dist/utils/model.d.ts.map +1 -1
  446. package/dist/utils/model.js +21 -19
  447. package/dist/utils/object-utils.js +148 -186
  448. package/dist/utils/path-utils.js +67 -57
  449. package/dist/utils/process-utils.d.ts.map +1 -1
  450. package/dist/utils/process-utils.js +37 -31
  451. package/dist/utils/sql-parser.d.ts +1 -1
  452. package/dist/utils/sql-parser.d.ts.map +1 -1
  453. package/dist/utils/sql-parser.js +40 -40
  454. package/dist/utils/type-utils.js +44 -43
  455. package/dist/utils/utils.d.ts +2 -3
  456. package/dist/utils/utils.d.ts.map +1 -1
  457. package/dist/utils/utils.js +81 -93
  458. package/dist/utils/zod-error.d.ts +1 -1
  459. package/dist/utils/zod-error.d.ts.map +1 -1
  460. package/dist/utils/zod-error.js +24 -17
  461. package/dist/vector/chunking.d.ts +1 -1
  462. package/dist/vector/chunking.d.ts.map +1 -1
  463. package/dist/vector/chunking.js +100 -94
  464. package/dist/vector/config.d.ts +1 -1
  465. package/dist/vector/config.d.ts.map +1 -1
  466. package/dist/vector/config.js +76 -78
  467. package/dist/vector/embedding.d.ts +1 -1
  468. package/dist/vector/embedding.d.ts.map +1 -1
  469. package/dist/vector/embedding.js +128 -125
  470. package/dist/vector/index.js +5 -5
  471. package/dist/vector/types.js +1 -5
  472. package/package.json +31 -36
  473. package/src/ai/agents/agent.ts +12 -5
  474. package/src/ai/agents/types.ts +5 -5
  475. package/src/ai/providers/rtzr/model.ts +8 -10
  476. package/src/ai/providers/rtzr/options.ts +2 -1
  477. package/src/ai/providers/rtzr/provider.ts +5 -3
  478. package/src/ai/providers/rtzr/utils.ts +2 -7
  479. package/src/api/__tests__/config.test.ts +15 -8
  480. package/src/api/base-frame.ts +5 -3
  481. package/src/api/caster.ts +7 -6
  482. package/src/api/code-converters.ts +23 -26
  483. package/src/api/config.ts +23 -17
  484. package/src/api/context.ts +18 -11
  485. package/src/api/decorators.ts +17 -18
  486. package/src/api/sonamu.ts +44 -49
  487. package/src/auth/auth-generator.ts +4 -6
  488. package/src/auth/better-auth-entities.ts +3 -2
  489. package/src/auth/knex-adapter.ts +6 -5
  490. package/src/auth/plugins/entity-definitions/admin.ts +1 -1
  491. package/src/auth/plugins/entity-definitions/anonymous.ts +1 -1
  492. package/src/auth/plugins/entity-definitions/api-key.ts +1 -1
  493. package/src/auth/plugins/entity-definitions/index.ts +1 -1
  494. package/src/auth/plugins/entity-definitions/jwt.ts +1 -1
  495. package/src/auth/plugins/entity-definitions/organization.ts +1 -1
  496. package/src/auth/plugins/entity-definitions/passkey.ts +1 -1
  497. package/src/auth/plugins/entity-definitions/phone-number.ts +1 -1
  498. package/src/auth/plugins/entity-definitions/sso.ts +1 -1
  499. package/src/auth/plugins/entity-definitions/two-factor.ts +1 -1
  500. package/src/auth/plugins/entity-definitions/types.ts +1 -1
  501. package/src/auth/plugins/entity-definitions/username.ts +1 -1
  502. package/src/auth/plugins/wrappers/admin.ts +3 -1
  503. package/src/auth/plugins/wrappers/anonymous.ts +3 -1
  504. package/src/auth/plugins/wrappers/api-key.ts +3 -1
  505. package/src/auth/plugins/wrappers/jwt.ts +3 -1
  506. package/src/auth/plugins/wrappers/organization.ts +3 -1
  507. package/src/auth/plugins/wrappers/passkey.ts +3 -1
  508. package/src/auth/plugins/wrappers/phone-number.ts +3 -1
  509. package/src/auth/plugins/wrappers/sso.ts +2 -1
  510. package/src/auth/plugins/wrappers/two-factor.ts +3 -1
  511. package/src/auth/plugins/wrappers/username.ts +3 -1
  512. package/src/bin/__tests__/ts-loader-register.test.ts +7 -12
  513. package/src/bin/build-config.ts +3 -3
  514. package/src/bin/cli.ts +27 -25
  515. package/src/bin/fixture.ts +4 -2
  516. package/src/bin/hmr-hook-register.ts +1 -0
  517. package/src/bin/test-command.ts +4 -2
  518. package/src/bin/ts-loader-registration.ts +6 -22
  519. package/src/cache/cache-manager.ts +2 -1
  520. package/src/cache/decorator.ts +2 -2
  521. package/src/cache/types.ts +3 -3
  522. package/src/cache-control/cache-control.ts +3 -2
  523. package/src/cache-control/types.ts +2 -2
  524. package/src/compress/compress.ts +1 -1
  525. package/src/cone/cone-generator.ts +5 -3
  526. package/src/database/_batch_update.ts +1 -1
  527. package/src/database/base-model.ts +20 -14
  528. package/src/database/base-model.types.ts +12 -11
  529. package/src/database/db.ts +56 -21
  530. package/src/database/knex.ts +2 -2
  531. package/src/database/puri-subset.test-d.ts +33 -32
  532. package/src/database/puri-subset.types.ts +6 -7
  533. package/src/database/puri-wrapper.ts +29 -26
  534. package/src/database/puri.ts +36 -34
  535. package/src/database/puri.types.test-d.ts +6 -5
  536. package/src/database/puri.types.ts +9 -12
  537. package/src/database/transaction-context.ts +2 -2
  538. package/src/database/upsert-builder.ts +17 -10
  539. package/src/dict/sd.ts +17 -4
  540. package/src/dict/sonamu-dictionary.ts +23 -17
  541. package/src/entity/entity-manager.ts +9 -7
  542. package/src/entity/entity-template-cone.ts +10 -3
  543. package/src/entity/entity.ts +20 -16
  544. package/src/exceptions/error-handler.ts +2 -1
  545. package/src/exceptions/so-exceptions.ts +1 -1
  546. package/src/filter/utils.ts +3 -2
  547. package/src/logger/category.ts +1 -0
  548. package/src/logger/configure.ts +5 -5
  549. package/src/migration/__tests__/code-generation.search-text.test.ts +2 -3
  550. package/src/migration/code-generation.ts +26 -25
  551. package/src/migration/migration-set.ts +16 -18
  552. package/src/migration/migrator.ts +38 -33
  553. package/src/migration/postgresql-schema-reader.ts +12 -12
  554. package/src/migration/slack-confirm.ts +5 -4
  555. package/src/migration/types.ts +2 -2
  556. package/src/naite/messaging-types.ts +1 -1
  557. package/src/naite/naite-reporter.ts +5 -3
  558. package/src/naite/naite.ts +12 -7
  559. package/src/shared/app.shared.ts.txt +2 -2
  560. package/src/shared/web.shared.ts.txt +2 -2
  561. package/src/skills/AGENTS.md +19 -18
  562. package/src/skills/commands/sonamu-skills.md +9 -9
  563. package/src/skills/sonamu/SKILL.md +111 -104
  564. package/src/skills/sonamu/ai-agents.md +27 -26
  565. package/src/skills/sonamu/api.md +81 -69
  566. package/src/skills/sonamu/auth-migration.md +13 -27
  567. package/src/skills/sonamu/auth-plugins.md +41 -31
  568. package/src/skills/sonamu/auth.md +30 -24
  569. package/src/skills/sonamu/cdd.md +26 -17
  570. package/src/skills/sonamu/cone.md +50 -50
  571. package/src/skills/sonamu/config.md +74 -51
  572. package/src/skills/sonamu/create-sonamu.md +31 -19
  573. package/src/skills/sonamu/database.md +43 -26
  574. package/src/skills/sonamu/entity-basic.md +61 -61
  575. package/src/skills/sonamu/entity-relations.md +84 -80
  576. package/src/skills/sonamu/entity-validation-checklist.md +19 -15
  577. package/src/skills/sonamu/fixture-cli.md +52 -30
  578. package/src/skills/sonamu/framework-change.md +9 -7
  579. package/src/skills/sonamu/frontend.md +64 -82
  580. package/src/skills/sonamu/i18n.md +45 -37
  581. package/src/skills/sonamu/migration.md +54 -31
  582. package/src/skills/sonamu/model.md +98 -66
  583. package/src/skills/sonamu/naite.md +34 -32
  584. package/src/skills/sonamu/project-init.md +28 -8
  585. package/src/skills/sonamu/puri.md +82 -91
  586. package/src/skills/sonamu/scaffolding.md +44 -32
  587. package/src/skills/sonamu/skill-contribution.md +50 -45
  588. package/src/skills/sonamu/subset.md +13 -13
  589. package/src/skills/sonamu/tasks.md +73 -58
  590. package/src/skills/sonamu/testing-devrunner.md +56 -36
  591. package/src/skills/sonamu/testing.md +23 -58
  592. package/src/skills/sonamu/upsert.md +32 -31
  593. package/src/skills/sonamu/vector.md +37 -36
  594. package/src/ssr/index.ts +2 -12
  595. package/src/ssr/registry.ts +1 -1
  596. package/src/ssr/renderer.ts +7 -5
  597. package/src/ssr/types.ts +2 -2
  598. package/src/storage/buffered-file.ts +4 -2
  599. package/src/storage/drivers.ts +3 -2
  600. package/src/storage/s3-driver.ts +7 -4
  601. package/src/storage/storage-manager.ts +3 -2
  602. package/src/storage/types.ts +3 -2
  603. package/src/storage/uploaded-file.ts +1 -1
  604. package/src/stream/sse.ts +2 -2
  605. package/src/syncer/api-parser.ts +8 -5
  606. package/src/syncer/checksum.ts +9 -5
  607. package/src/syncer/code-generator.ts +16 -8
  608. package/src/syncer/entity-operations.ts +5 -3
  609. package/src/syncer/file-patterns.ts +2 -1
  610. package/src/syncer/module-loader.ts +9 -6
  611. package/src/syncer/syncer-actions.ts +5 -3
  612. package/src/syncer/syncer.ts +18 -24
  613. package/src/tasks/decorator.ts +10 -8
  614. package/src/tasks/step-wrapper.ts +1 -1
  615. package/src/tasks/workflow-manager.ts +18 -15
  616. package/src/template/__tests__/generated.template.search-text.test.ts +1 -0
  617. package/src/template/entity-converter.ts +4 -2
  618. package/src/template/generated.template.test-d.ts +2 -1
  619. package/src/template/helpers.ts +5 -2
  620. package/src/template/implementations/entity.template.ts +9 -8
  621. package/src/template/implementations/entry-server.template.ts +1 -1
  622. package/src/template/implementations/generated.template.ts +21 -29
  623. package/src/template/implementations/generated_http.template.ts +9 -6
  624. package/src/template/implementations/generated_sso.template.ts +6 -4
  625. package/src/template/implementations/init_types.template.ts +3 -2
  626. package/src/template/implementations/model.template.ts +4 -2
  627. package/src/template/implementations/model_test.template.ts +3 -2
  628. package/src/template/implementations/queries.template.ts +6 -14
  629. package/src/template/implementations/sd.template.ts +4 -2
  630. package/src/template/implementations/services.template.ts +7 -11
  631. package/src/template/implementations/view_form.template.ts +5 -3
  632. package/src/template/implementations/view_id_all_select.template.ts +3 -2
  633. package/src/template/implementations/view_list.template.ts +7 -5
  634. package/src/template/implementations/view_search_input.template.ts +3 -2
  635. package/src/template/template-manager.ts +4 -3
  636. package/src/template/template.ts +4 -3
  637. package/src/template/zod-converter.ts +10 -7
  638. package/src/testing/__tests__/dev-test-routes.test.ts +3 -2
  639. package/src/testing/__tests__/dev-vitest-manager.test.ts +1 -0
  640. package/src/testing/_relation-graph.ts +2 -2
  641. package/src/testing/bootstrap.ts +55 -27
  642. package/src/testing/data-explorer.ts +5 -4
  643. package/src/testing/dev-test-routes.ts +8 -5
  644. package/src/testing/dev-vitest-manager.ts +13 -12
  645. package/src/testing/fixture-generator.ts +11 -17
  646. package/src/testing/fixture-manager.ts +21 -17
  647. package/src/testing/parallel-db-manager.ts +2 -1
  648. package/src/testing/vitest-helpers.ts +2 -1
  649. package/src/types/__tests__/entity-json-schema-search-text.test.ts +1 -0
  650. package/src/types/types.ts +8 -8
  651. package/src/typings/knex.d.ts +4 -4
  652. package/src/ui/ai-api.ts +5 -3
  653. package/src/ui/ai-client.ts +6 -5
  654. package/src/ui/api.ts +25 -23
  655. package/src/ui/cdd-service.ts +12 -11
  656. package/src/utils/console-util.ts +3 -1
  657. package/src/utils/formatter.ts +94 -102
  658. package/src/utils/fs-utils.ts +2 -1
  659. package/src/utils/model.ts +2 -2
  660. package/src/utils/object-utils.ts +3 -3
  661. package/src/utils/process-utils.ts +2 -1
  662. package/src/utils/sql-parser.ts +10 -1
  663. package/src/utils/type-utils.ts +3 -3
  664. package/src/utils/utils.ts +9 -7
  665. package/src/utils/zod-error.ts +1 -1
  666. package/src/vector/chunking.ts +1 -1
  667. package/src/vector/config.ts +1 -1
  668. package/src/vector/embedding.ts +11 -9
  669. package/tsdown.api.config.ts +50 -0
  670. package/.swcrc.project-default +0 -18
  671. package/dist/api/__tests__/config.test.js +0 -189
  672. package/dist/bin/__tests__/test-command.test.js +0 -112
  673. package/dist/bin/__tests__/ts-loader-register.test.js +0 -45
  674. package/dist/database/puri-subset.test-d.js +0 -89
  675. package/dist/database/puri.types.test-d.js +0 -129
  676. package/dist/migration/__tests__/code-generation.search-text.test.js +0 -435
  677. package/dist/template/__tests__/generated.template.search-text.test.js +0 -99
  678. package/dist/template/generated.template.test-d.js +0 -24
  679. package/dist/testing/__tests__/dev-test-routes.test.js +0 -144
  680. package/dist/testing/__tests__/dev-vitest-manager.test.js +0 -152
  681. package/dist/types/__tests__/entity-json-schema-search-text.test.js +0 -256
  682. package/dist/typings/knex.d.js +0 -3
  683. package/dist/ui-web/assets/index-CKo0Z2Iu.css +0 -1
  684. package/dist/ui-web/assets/index-DK-2aacv.js +0 -257
@@ -1,7 +1,22 @@
1
- export { generateBetterAuthEntities } from "./auth-generator.js";
2
- export { BASE_FIELD_MAPPINGS, betterAuthV1 } from "./better-auth-entities.js";
3
- export { sonamuKnexAdapter } from "./knex-adapter.js";
4
- // 외부로는 wrappers만 export (admin, twoFactor 래퍼 함수와 SCHEMA)
5
- export * from "./plugins/index.js";
1
+ import { BASE_FIELD_MAPPINGS, betterAuthV1, init_better_auth_entities } from "./better-auth-entities.js";
2
+ import { generateBetterAuthEntities } from "./auth-generator.js";
3
+ import { init_knex_adapter, sonamuKnexAdapter } from "./knex-adapter.js";
4
+ import { ADMIN_SCHEMA, admin } from "./plugins/wrappers/admin.js";
5
+ import { ANONYMOUS_SCHEMA, anonymous } from "./plugins/wrappers/anonymous.js";
6
+ import { API_KEY_SCHEMA, apiKey } from "./plugins/wrappers/api-key.js";
7
+ import { JWT_SCHEMA, jwt } from "./plugins/wrappers/jwt.js";
8
+ import { ORGANIZATION_SCHEMA, organization } from "./plugins/wrappers/organization.js";
9
+ import { PASSKEY_SCHEMA, passkey } from "./plugins/wrappers/passkey.js";
10
+ import { PHONE_NUMBER_SCHEMA, phoneNumber } from "./plugins/wrappers/phone-number.js";
11
+ import { SSO_SCHEMA, sso } from "./plugins/wrappers/sso.js";
12
+ import { TWO_FACTOR_SCHEMA, twoFactor } from "./plugins/wrappers/two-factor.js";
13
+ import { USERNAME_SCHEMA, username } from "./plugins/wrappers/username.js";
14
+ import "./plugins/index.js";
6
15
 
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hdXRoL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIHsgR2VuZXJhdGVCZXR0ZXJBdXRoRW50aXRpZXNPcHRpb25zIH0gZnJvbSBcIi4vYXV0aC1nZW5lcmF0b3JcIjtcbmV4cG9ydCB7IGdlbmVyYXRlQmV0dGVyQXV0aEVudGl0aWVzIH0gZnJvbSBcIi4vYXV0aC1nZW5lcmF0b3JcIjtcbmV4cG9ydCB7IEJBU0VfRklFTERfTUFQUElOR1MsIGJldHRlckF1dGhWMSB9IGZyb20gXCIuL2JldHRlci1hdXRoLWVudGl0aWVzXCI7XG5leHBvcnQgeyBzb25hbXVLbmV4QWRhcHRlciB9IGZyb20gXCIuL2tuZXgtYWRhcHRlclwiO1xuXG4vLyDsmbjrtoDroZzripQgd3JhcHBlcnPrp4wgZXhwb3J0IChhZG1pbiwgdHdvRmFjdG9yIOuTsSDrnpjtjbwg7ZWo7IiY7JmAIFNDSEVNQSlcbmV4cG9ydCAqIGZyb20gXCIuL3BsdWdpbnNcIjtcbiJdLCJuYW1lcyI6WyJnZW5lcmF0ZUJldHRlckF1dGhFbnRpdGllcyIsIkJBU0VfRklFTERfTUFQUElOR1MiLCJiZXR0ZXJBdXRoVjEiLCJzb25hbXVLbmV4QWRhcHRlciJdLCJtYXBwaW5ncyI6IkFBQ0EsU0FBU0EsMEJBQTBCLFFBQVEsc0JBQW1CO0FBQzlELFNBQVNDLG1CQUFtQixFQUFFQyxZQUFZLFFBQVEsNEJBQXlCO0FBQzNFLFNBQVNDLGlCQUFpQixRQUFRLG9CQUFpQjtBQUVuRCwyREFBMkQ7QUFDM0QsY0FBYyxxQkFBWSJ9
16
+ //#region src/auth/index.ts
17
+ init_better_auth_entities();
18
+ init_knex_adapter();
19
+
20
+ //#endregion
21
+ export { ADMIN_SCHEMA, ANONYMOUS_SCHEMA, API_KEY_SCHEMA, BASE_FIELD_MAPPINGS, JWT_SCHEMA, ORGANIZATION_SCHEMA, PASSKEY_SCHEMA, PHONE_NUMBER_SCHEMA, SSO_SCHEMA, TWO_FACTOR_SCHEMA, USERNAME_SCHEMA, admin, anonymous, apiKey, betterAuthV1, generateBetterAuthEntities, jwt, organization, passkey, phoneNumber, sonamuKnexAdapter, sso, twoFactor, username };
22
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F1dGgvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgeyBHZW5lcmF0ZUJldHRlckF1dGhFbnRpdGllc09wdGlvbnMgfSBmcm9tIFwiLi9hdXRoLWdlbmVyYXRvclwiO1xuZXhwb3J0IHsgZ2VuZXJhdGVCZXR0ZXJBdXRoRW50aXRpZXMgfSBmcm9tIFwiLi9hdXRoLWdlbmVyYXRvclwiO1xuZXhwb3J0IHsgQkFTRV9GSUVMRF9NQVBQSU5HUywgYmV0dGVyQXV0aFYxIH0gZnJvbSBcIi4vYmV0dGVyLWF1dGgtZW50aXRpZXNcIjtcbmV4cG9ydCB7IHNvbmFtdUtuZXhBZGFwdGVyIH0gZnJvbSBcIi4va25leC1hZGFwdGVyXCI7XG5cbi8vIOyZuOu2gOuhnOuKlCB3cmFwcGVyc+unjCBleHBvcnQgKGFkbWluLCB0d29GYWN0b3Ig65OxIOuemO2NvCDtlajsiJjsmYAgU0NIRU1BKVxuZXhwb3J0ICogZnJvbSBcIi4vcGx1Z2luc1wiO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OzJCQUUyRTttQkFDeEIifQ==
@@ -1,5 +1,5 @@
1
- import type { BetterAuthOptions } from "better-auth";
2
- import type { Knex } from "knex";
1
+ import { type BetterAuthOptions } from "better-auth";
2
+ import { type Knex } from "knex";
3
3
  interface CleanedWhere {
4
4
  field: string;
5
5
  value: string | number | boolean | string[] | number[] | Date | null;
@@ -1 +1 @@
1
- {"version":3,"file":"knex-adapter.d.ts","sourceRoot":"","sources":["../../src/auth/knex-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAMrD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAGjC,UAAU,YAAY;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;IACrE,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,SAyGpB,SAAS,iBAAiB,uDAInC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,IAAI,CAAC,YAAY,EACxB,UAAU,EAAE,YAAY,EAAE,GACzB,IAAI,CAAC,YAAY,CAmBnB"}
1
+ {"version":3,"file":"knex-adapter.d.ts","sourceRoot":"","sources":["../../src/auth/knex-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAMrD,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,MAAM,CAAC;AAIjC,UAAU,YAAY;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;IACrE,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,SAyGpB,SAAS,iBAAiB,uDAInC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,IAAI,CAAC,YAAY,EACxB,UAAU,EAAE,YAAY,EAAE,GACzB,IAAI,CAAC,YAAY,CAmBnB"}
@@ -1,163 +1,159 @@
1
+ import { __esmMin } from "../_virtual/rolldown_runtime.js";
2
+ import { DB, init_db } from "../database/db.js";
1
3
  import { createAdapterFactory } from "better-auth/adapters";
2
- import { DB } from "../database/db.js";
3
- /**
4
- * better-auth용 Sonamu knex 어댑터
5
- *
6
- * better-auth의 모든 쿼리를 DB.getDB()를 통해 실행하여
7
- * Sonamu 테스트 트랜잭션과 동일한 커넥션을 공유합니다.
8
- */ export const sonamuKnexAdapter = ()=>{
9
- let lazyOptions = null;
10
- const createCustomAdapter = (getDb)=>{
11
- return ({ getFieldName })=>({
12
- create: async ({ model, data })=>{
13
- const [row] = await getDb()(model).insert(data).returning("*");
14
- return row;
15
- },
16
- findOne: async ({ model, where })=>{
17
- let query = getDb()(model);
18
- query = applyWhere(query, where);
19
- const row = await query.first();
20
- return row ?? null;
21
- },
22
- findMany: async ({ model, where, limit, offset, sortBy })=>{
23
- let query = getDb()(model);
24
- if (where) {
25
- query = applyWhere(query, where);
26
- }
27
- if (sortBy) {
28
- const dbField = getFieldName({
29
- model,
30
- field: sortBy.field
31
- });
32
- query = query.orderBy(dbField, sortBy.direction);
33
- }
34
- if (limit) {
35
- query = query.limit(limit);
36
- }
37
- if (offset) {
38
- query = query.offset(offset);
39
- }
40
- return await query;
41
- },
42
- update: async ({ model, where, update })=>{
43
- let query = getDb()(model);
44
- query = applyWhere(query, where);
45
- const [row] = await query.update(update).returning("*");
46
- return row ?? null;
47
- },
48
- updateMany: async ({ model, where, update })=>{
49
- let query = getDb()(model);
50
- query = applyWhere(query, where);
51
- const count = await query.update(update);
52
- return count;
53
- },
54
- delete: async ({ model, where })=>{
55
- let query = getDb()(model);
56
- query = applyWhere(query, where);
57
- await query.del();
58
- },
59
- deleteMany: async ({ model, where })=>{
60
- let query = getDb()(model);
61
- query = applyWhere(query, where);
62
- const count = await query.del();
63
- return count;
64
- },
65
- count: async ({ model, where })=>{
66
- let query = getDb()(model);
67
- if (where) {
68
- query = applyWhere(query, where);
69
- }
70
- const [{ count }] = await query.count("* as count");
71
- return Number(count);
72
- }
73
- });
74
- };
75
- const adapterConfig = {
76
- adapterId: "sonamu-knex",
77
- adapterName: "Sonamu Knex Adapter",
78
- usePlural: false,
79
- supportsJSON: true,
80
- supportsDates: true,
81
- supportsBooleans: true,
82
- supportsNumericIds: false,
83
- transaction: async (cb)=>{
84
- const db = DB.getDB("w");
85
- return db.transaction(async (trx)=>{
86
- const options = lazyOptions;
87
- if (!options) {
88
- throw new Error("sonamuKnexAdapter: options not initialized");
89
- }
90
- return cb(createAdapterFactory({
91
- config: adapterConfig,
92
- adapter: createCustomAdapter(()=>trx)
93
- })(options));
94
- });
95
- }
96
- };
97
- const adapterCreator = createAdapterFactory({
98
- config: adapterConfig,
99
- adapter: createCustomAdapter(()=>DB.getDB("w"))
100
- });
101
- return (options)=>{
102
- lazyOptions = options;
103
- return adapterCreator(options);
104
- };
105
- };
4
+
5
+ //#region src/auth/knex-adapter.ts
106
6
  /**
107
- * Better Auth의 공식 어댑터(Kysely, Drizzle, Prisma, MongoDB) 패턴에 맞춰
108
- * AND 그룹과 OR 그룹을 분리한 뒤 top-level AND로 결합합니다.
109
- * 결과: (A AND B AND ...) AND (C OR D OR ...)
110
- */ export function applyWhere(query, conditions) {
111
- const andGroup = conditions.filter((c)=>c.connector !== "OR");
112
- const orGroup = conditions.filter((c)=>c.connector === "OR");
113
- if (andGroup.length > 0) {
114
- for (const condition of andGroup){
115
- query = applyCondition(query, condition, "where");
116
- }
117
- }
118
- if (orGroup.length > 0) {
119
- query = query.where(function() {
120
- for(let i = 0; i < orGroup.length; i++){
121
- applyCondition(this, orGroup[i], i === 0 ? "where" : "orWhere");
122
- }
123
- });
124
- }
125
- return query;
7
+ * Better Auth의 공식 어댑터(Kysely, Drizzle, Prisma, MongoDB) 패턴에 맞춰
8
+ * AND 그룹과 OR 그룹을 분리한 뒤 top-level AND로 결합합니다.
9
+ * 결과: (A AND B AND ...) AND (C OR D OR ...)
10
+ */
11
+ function applyWhere(query, conditions) {
12
+ const andGroup = conditions.filter((c) => c.connector !== "OR");
13
+ const orGroup = conditions.filter((c) => c.connector === "OR");
14
+ if (andGroup.length > 0) {
15
+ for (const condition of andGroup) {
16
+ query = applyCondition(query, condition, "where");
17
+ }
18
+ }
19
+ if (orGroup.length > 0) {
20
+ query = query.where(function() {
21
+ for (let i = 0; i < orGroup.length; i++) {
22
+ applyCondition(this, orGroup[i], i === 0 ? "where" : "orWhere");
23
+ }
24
+ });
25
+ }
26
+ return query;
126
27
  }
127
28
  function applyCondition(query, condition, method) {
128
- const { field, value, operator } = condition;
129
- switch(operator){
130
- case "eq":
131
- if (value === null) {
132
- return query[method === "orWhere" ? "orWhereNull" : "whereNull"](field);
133
- }
134
- return query[method](field, "=", value);
135
- case "ne":
136
- if (value === null) {
137
- return query[method === "orWhere" ? "orWhereNotNull" : "whereNotNull"](field);
138
- }
139
- return query[method](field, "!=", value);
140
- case "lt":
141
- return query[method](field, "<", value);
142
- case "lte":
143
- return query[method](field, "<=", value);
144
- case "gt":
145
- return query[method](field, ">", value);
146
- case "gte":
147
- return query[method](field, ">=", value);
148
- case "in":
149
- return query[method === "orWhere" ? "orWhereIn" : "whereIn"](field, value);
150
- case "not_in":
151
- return query[method === "orWhere" ? "orWhereNotIn" : "whereNotIn"](field, value);
152
- case "contains":
153
- return query[method](field, "like", `%${value}%`);
154
- case "starts_with":
155
- return query[method](field, "like", `${value}%`);
156
- case "ends_with":
157
- return query[method](field, "like", `%${value}`);
158
- default:
159
- return query;
160
- }
29
+ const { field, value, operator } = condition;
30
+ switch (operator) {
31
+ case "eq":
32
+ if (value === null) {
33
+ return query[method === "orWhere" ? "orWhereNull" : "whereNull"](field);
34
+ }
35
+ return query[method](field, "=", value);
36
+ case "ne":
37
+ if (value === null) {
38
+ return query[method === "orWhere" ? "orWhereNotNull" : "whereNotNull"](field);
39
+ }
40
+ return query[method](field, "!=", value);
41
+ case "lt": return query[method](field, "<", value);
42
+ case "lte": return query[method](field, "<=", value);
43
+ case "gt": return query[method](field, ">", value);
44
+ case "gte": return query[method](field, ">=", value);
45
+ case "in": return query[method === "orWhere" ? "orWhereIn" : "whereIn"](field, value);
46
+ case "not_in": return query[method === "orWhere" ? "orWhereNotIn" : "whereNotIn"](field, value);
47
+ case "contains": return query[method](field, "like", `%${value}%`);
48
+ case "starts_with": return query[method](field, "like", `${value}%`);
49
+ case "ends_with": return query[method](field, "like", `%${value}`);
50
+ default: return query;
51
+ }
161
52
  }
53
+ var sonamuKnexAdapter;
54
+ var init_knex_adapter = __esmMin((() => {
55
+ init_db();
56
+ sonamuKnexAdapter = () => {
57
+ let lazyOptions = null;
58
+ const createCustomAdapter = (getDb) => {
59
+ return ({ getFieldName }) => ({
60
+ create: async ({ model, data }) => {
61
+ const [row] = await getDb()(model).insert(data).returning("*");
62
+ return row;
63
+ },
64
+ findOne: async ({ model, where }) => {
65
+ let query = getDb()(model);
66
+ query = applyWhere(query, where);
67
+ const row = await query.first();
68
+ return row ?? null;
69
+ },
70
+ findMany: async ({ model, where, limit, offset, sortBy }) => {
71
+ let query = getDb()(model);
72
+ if (where) {
73
+ query = applyWhere(query, where);
74
+ }
75
+ if (sortBy) {
76
+ const dbField = getFieldName({
77
+ model,
78
+ field: sortBy.field
79
+ });
80
+ query = query.orderBy(dbField, sortBy.direction);
81
+ }
82
+ if (limit) {
83
+ query = query.limit(limit);
84
+ }
85
+ if (offset) {
86
+ query = query.offset(offset);
87
+ }
88
+ return await query;
89
+ },
90
+ update: async ({ model, where, update }) => {
91
+ let query = getDb()(model);
92
+ query = applyWhere(query, where);
93
+ const [row] = await query.update(update).returning("*");
94
+ return row ?? null;
95
+ },
96
+ updateMany: async ({ model, where, update }) => {
97
+ let query = getDb()(model);
98
+ query = applyWhere(query, where);
99
+ const count = await query.update(update);
100
+ return count;
101
+ },
102
+ delete: async ({ model, where }) => {
103
+ let query = getDb()(model);
104
+ query = applyWhere(query, where);
105
+ await query.del();
106
+ },
107
+ deleteMany: async ({ model, where }) => {
108
+ let query = getDb()(model);
109
+ query = applyWhere(query, where);
110
+ const count = await query.del();
111
+ return count;
112
+ },
113
+ count: async ({ model, where }) => {
114
+ let query = getDb()(model);
115
+ if (where) {
116
+ query = applyWhere(query, where);
117
+ }
118
+ const [{ count }] = await query.count("* as count");
119
+ return Number(count);
120
+ }
121
+ });
122
+ };
123
+ const adapterConfig = {
124
+ adapterId: "sonamu-knex",
125
+ adapterName: "Sonamu Knex Adapter",
126
+ usePlural: false,
127
+ supportsJSON: true,
128
+ supportsDates: true,
129
+ supportsBooleans: true,
130
+ supportsNumericIds: false,
131
+ transaction: async (cb) => {
132
+ const db = DB.getDB("w");
133
+ return db.transaction(async (trx) => {
134
+ const options = lazyOptions;
135
+ if (!options) {
136
+ throw new Error("sonamuKnexAdapter: options not initialized");
137
+ }
138
+ return cb(createAdapterFactory({
139
+ config: adapterConfig,
140
+ adapter: createCustomAdapter(() => trx)
141
+ })(options));
142
+ });
143
+ }
144
+ };
145
+ const adapterCreator = createAdapterFactory({
146
+ config: adapterConfig,
147
+ adapter: createCustomAdapter(() => DB.getDB("w"))
148
+ });
149
+ return (options) => {
150
+ lazyOptions = options;
151
+ return adapterCreator(options);
152
+ };
153
+ };
154
+ }));
162
155
 
163
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hdXRoL2tuZXgtYWRhcHRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEJldHRlckF1dGhPcHRpb25zIH0gZnJvbSBcImJldHRlci1hdXRoXCI7XG5pbXBvcnQgdHlwZSB7XG4gIEFkYXB0ZXJGYWN0b3J5Q3VzdG9taXplQWRhcHRlckNyZWF0b3IsXG4gIERCVHJhbnNhY3Rpb25BZGFwdGVyLFxufSBmcm9tIFwiYmV0dGVyLWF1dGgvYWRhcHRlcnNcIjtcbmltcG9ydCB7IGNyZWF0ZUFkYXB0ZXJGYWN0b3J5IH0gZnJvbSBcImJldHRlci1hdXRoL2FkYXB0ZXJzXCI7XG5pbXBvcnQgdHlwZSB7IEtuZXggfSBmcm9tIFwia25leFwiO1xuaW1wb3J0IHsgREIgfSBmcm9tIFwiLi4vZGF0YWJhc2UvZGJcIjtcblxuaW50ZXJmYWNlIENsZWFuZWRXaGVyZSB7XG4gIGZpZWxkOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgc3RyaW5nW10gfCBudW1iZXJbXSB8IERhdGUgfCBudWxsO1xuICBvcGVyYXRvcjogc3RyaW5nO1xuICBjb25uZWN0b3I6IHN0cmluZztcbn1cblxuLyoqXG4gKiBiZXR0ZXItYXV0aOyaqSBTb25hbXUga25leCDslrTrjJHthLBcbiAqXG4gKiBiZXR0ZXItYXV0aOydmCDrqqjrk6Ag7L+866as66W8IERCLmdldERCKCnrpbwg7Ya17ZW0IOyLpO2Wie2VmOyXrFxuICogU29uYW11IO2FjOyKpO2KuCDtirjrnpzsnq3shZjqs7wg64+Z7J287ZWcIOy7pOuEpeyFmOydhCDqs7XsnKDtlanri4jri6QuXG4gKi9cbmV4cG9ydCBjb25zdCBzb25hbXVLbmV4QWRhcHRlciA9ICgpID0+IHtcbiAgbGV0IGxhenlPcHRpb25zOiBCZXR0ZXJBdXRoT3B0aW9ucyB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0IGNyZWF0ZUN1c3RvbUFkYXB0ZXIgPSAoXG4gICAgZ2V0RGI6ICgpID0+IEtuZXggfCBLbmV4LlRyYW5zYWN0aW9uLFxuICApOiBBZGFwdGVyRmFjdG9yeUN1c3RvbWl6ZUFkYXB0ZXJDcmVhdG9yID0+IHtcbiAgICByZXR1cm4gKHsgZ2V0RmllbGROYW1lIH0pID0+ICh7XG4gICAgICBjcmVhdGU6IGFzeW5jICh7IG1vZGVsLCBkYXRhIH0pID0+IHtcbiAgICAgICAgY29uc3QgW3Jvd10gPSBhd2FpdCBnZXREYigpKG1vZGVsKS5pbnNlcnQoZGF0YSkucmV0dXJuaW5nKFwiKlwiKTtcbiAgICAgICAgcmV0dXJuIHJvdztcbiAgICAgIH0sXG5cbiAgICAgIGZpbmRPbmU6IGFzeW5jICh7IG1vZGVsLCB3aGVyZSB9KSA9PiB7XG4gICAgICAgIGxldCBxdWVyeSA9IGdldERiKCkobW9kZWwpO1xuICAgICAgICBxdWVyeSA9IGFwcGx5V2hlcmUocXVlcnksIHdoZXJlKTtcbiAgICAgICAgY29uc3Qgcm93ID0gYXdhaXQgcXVlcnkuZmlyc3QoKTtcbiAgICAgICAgcmV0dXJuIHJvdyA/PyBudWxsO1xuICAgICAgfSxcblxuICAgICAgZmluZE1hbnk6IGFzeW5jICh7IG1vZGVsLCB3aGVyZSwgbGltaXQsIG9mZnNldCwgc29ydEJ5IH0pID0+IHtcbiAgICAgICAgbGV0IHF1ZXJ5ID0gZ2V0RGIoKShtb2RlbCk7XG4gICAgICAgIGlmICh3aGVyZSkge1xuICAgICAgICAgIHF1ZXJ5ID0gYXBwbHlXaGVyZShxdWVyeSwgd2hlcmUpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzb3J0QnkpIHtcbiAgICAgICAgICBjb25zdCBkYkZpZWxkID0gZ2V0RmllbGROYW1lKHsgbW9kZWwsIGZpZWxkOiBzb3J0QnkuZmllbGQgfSk7XG4gICAgICAgICAgcXVlcnkgPSBxdWVyeS5vcmRlckJ5KGRiRmllbGQsIHNvcnRCeS5kaXJlY3Rpb24pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChsaW1pdCkge1xuICAgICAgICAgIHF1ZXJ5ID0gcXVlcnkubGltaXQobGltaXQpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvZmZzZXQpIHtcbiAgICAgICAgICBxdWVyeSA9IHF1ZXJ5Lm9mZnNldChvZmZzZXQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhd2FpdCBxdWVyeTtcbiAgICAgIH0sXG5cbiAgICAgIHVwZGF0ZTogYXN5bmMgKHsgbW9kZWwsIHdoZXJlLCB1cGRhdGUgfSkgPT4ge1xuICAgICAgICBsZXQgcXVlcnkgPSBnZXREYigpKG1vZGVsKTtcbiAgICAgICAgcXVlcnkgPSBhcHBseVdoZXJlKHF1ZXJ5LCB3aGVyZSk7XG4gICAgICAgIGNvbnN0IFtyb3ddID0gYXdhaXQgcXVlcnkudXBkYXRlKHVwZGF0ZSkucmV0dXJuaW5nKFwiKlwiKTtcbiAgICAgICAgcmV0dXJuIHJvdyA/PyBudWxsO1xuICAgICAgfSxcblxuICAgICAgdXBkYXRlTWFueTogYXN5bmMgKHsgbW9kZWwsIHdoZXJlLCB1cGRhdGUgfSkgPT4ge1xuICAgICAgICBsZXQgcXVlcnkgPSBnZXREYigpKG1vZGVsKTtcbiAgICAgICAgcXVlcnkgPSBhcHBseVdoZXJlKHF1ZXJ5LCB3aGVyZSk7XG4gICAgICAgIGNvbnN0IGNvdW50ID0gYXdhaXQgcXVlcnkudXBkYXRlKHVwZGF0ZSk7XG4gICAgICAgIHJldHVybiBjb3VudDtcbiAgICAgIH0sXG5cbiAgICAgIGRlbGV0ZTogYXN5bmMgKHsgbW9kZWwsIHdoZXJlIH0pID0+IHtcbiAgICAgICAgbGV0IHF1ZXJ5ID0gZ2V0RGIoKShtb2RlbCk7XG4gICAgICAgIHF1ZXJ5ID0gYXBwbHlXaGVyZShxdWVyeSwgd2hlcmUpO1xuICAgICAgICBhd2FpdCBxdWVyeS5kZWwoKTtcbiAgICAgIH0sXG5cbiAgICAgIGRlbGV0ZU1hbnk6IGFzeW5jICh7IG1vZGVsLCB3aGVyZSB9KSA9PiB7XG4gICAgICAgIGxldCBxdWVyeSA9IGdldERiKCkobW9kZWwpO1xuICAgICAgICBxdWVyeSA9IGFwcGx5V2hlcmUocXVlcnksIHdoZXJlKTtcbiAgICAgICAgY29uc3QgY291bnQgPSBhd2FpdCBxdWVyeS5kZWwoKTtcbiAgICAgICAgcmV0dXJuIGNvdW50O1xuICAgICAgfSxcblxuICAgICAgY291bnQ6IGFzeW5jICh7IG1vZGVsLCB3aGVyZSB9KSA9PiB7XG4gICAgICAgIGxldCBxdWVyeSA9IGdldERiKCkobW9kZWwpO1xuICAgICAgICBpZiAod2hlcmUpIHtcbiAgICAgICAgICBxdWVyeSA9IGFwcGx5V2hlcmUocXVlcnksIHdoZXJlKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBbeyBjb3VudCB9XSA9IGF3YWl0IHF1ZXJ5LmNvdW50KFwiKiBhcyBjb3VudFwiKTtcbiAgICAgICAgcmV0dXJuIE51bWJlcihjb3VudCk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IGFkYXB0ZXJDb25maWcgPSB7XG4gICAgYWRhcHRlcklkOiBcInNvbmFtdS1rbmV4XCIsXG4gICAgYWRhcHRlck5hbWU6IFwiU29uYW11IEtuZXggQWRhcHRlclwiLFxuICAgIHVzZVBsdXJhbDogZmFsc2UsXG4gICAgc3VwcG9ydHNKU09OOiB0cnVlLFxuICAgIHN1cHBvcnRzRGF0ZXM6IHRydWUsXG4gICAgc3VwcG9ydHNCb29sZWFuczogdHJ1ZSxcbiAgICBzdXBwb3J0c051bWVyaWNJZHM6IGZhbHNlLFxuICAgIHRyYW5zYWN0aW9uOiBhc3luYyA8Uj4oY2I6ICh0cng6IERCVHJhbnNhY3Rpb25BZGFwdGVyKSA9PiBQcm9taXNlPFI+KTogUHJvbWlzZTxSPiA9PiB7XG4gICAgICBjb25zdCBkYiA9IERCLmdldERCKFwid1wiKTtcbiAgICAgIHJldHVybiBkYi50cmFuc2FjdGlvbihhc3luYyAodHJ4KSA9PiB7XG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSBsYXp5T3B0aW9ucztcbiAgICAgICAgaWYgKCFvcHRpb25zKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwic29uYW11S25leEFkYXB0ZXI6IG9wdGlvbnMgbm90IGluaXRpYWxpemVkXCIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjYihcbiAgICAgICAgICBjcmVhdGVBZGFwdGVyRmFjdG9yeSh7XG4gICAgICAgICAgICBjb25maWc6IGFkYXB0ZXJDb25maWcsXG4gICAgICAgICAgICBhZGFwdGVyOiBjcmVhdGVDdXN0b21BZGFwdGVyKCgpID0+IHRyeCksXG4gICAgICAgICAgfSkob3B0aW9ucyksXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0IGFkYXB0ZXJDcmVhdG9yID0gY3JlYXRlQWRhcHRlckZhY3Rvcnkoe1xuICAgIGNvbmZpZzogYWRhcHRlckNvbmZpZyxcbiAgICBhZGFwdGVyOiBjcmVhdGVDdXN0b21BZGFwdGVyKCgpID0+IERCLmdldERCKFwid1wiKSksXG4gIH0pO1xuXG4gIHJldHVybiAob3B0aW9uczogQmV0dGVyQXV0aE9wdGlvbnMpID0+IHtcbiAgICBsYXp5T3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgcmV0dXJuIGFkYXB0ZXJDcmVhdG9yKG9wdGlvbnMpO1xuICB9O1xufTtcblxuLyoqXG4gKiBCZXR0ZXIgQXV0aOydmCDqs7Xsi50g7Ja064yR7YSwKEt5c2VseSwgRHJpenpsZSwgUHJpc21hLCBNb25nb0RCKSDtjKjthLTsl5Ag66ee7LawXG4gKiBBTkQg6re466O56rO8IE9SIOq3uOujueydhCDrtoTrpqztlZwg65KkIHRvcC1sZXZlbCBBTkTroZwg6rKw7ZWp7ZWp64uI64ukLlxuICog6rKw6rO8OiAoQSBBTkQgQiBBTkQgLi4uKSBBTkQgKEMgT1IgRCBPUiAuLi4pXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcHBseVdoZXJlKFxuICBxdWVyeTogS25leC5RdWVyeUJ1aWxkZXIsXG4gIGNvbmRpdGlvbnM6IENsZWFuZWRXaGVyZVtdLFxuKTogS25leC5RdWVyeUJ1aWxkZXIge1xuICBjb25zdCBhbmRHcm91cCA9IGNvbmRpdGlvbnMuZmlsdGVyKChjKSA9PiBjLmNvbm5lY3RvciAhPT0gXCJPUlwiKTtcbiAgY29uc3Qgb3JHcm91cCA9IGNvbmRpdGlvbnMuZmlsdGVyKChjKSA9PiBjLmNvbm5lY3RvciA9PT0gXCJPUlwiKTtcblxuICBpZiAoYW5kR3JvdXAubGVuZ3RoID4gMCkge1xuICAgIGZvciAoY29uc3QgY29uZGl0aW9uIG9mIGFuZEdyb3VwKSB7XG4gICAgICBxdWVyeSA9IGFwcGx5Q29uZGl0aW9uKHF1ZXJ5LCBjb25kaXRpb24sIFwid2hlcmVcIik7XG4gICAgfVxuICB9XG5cbiAgaWYgKG9yR3JvdXAubGVuZ3RoID4gMCkge1xuICAgIHF1ZXJ5ID0gcXVlcnkud2hlcmUoZnVuY3Rpb24gKHRoaXM6IEtuZXguUXVlcnlCdWlsZGVyKSB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG9yR3JvdXAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgYXBwbHlDb25kaXRpb24odGhpcywgb3JHcm91cFtpXSwgaSA9PT0gMCA/IFwid2hlcmVcIiA6IFwib3JXaGVyZVwiKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBxdWVyeTtcbn1cblxuZnVuY3Rpb24gYXBwbHlDb25kaXRpb24oXG4gIHF1ZXJ5OiBLbmV4LlF1ZXJ5QnVpbGRlcixcbiAgY29uZGl0aW9uOiBDbGVhbmVkV2hlcmUsXG4gIG1ldGhvZDogXCJ3aGVyZVwiIHwgXCJvcldoZXJlXCIsXG4pOiBLbmV4LlF1ZXJ5QnVpbGRlciB7XG4gIGNvbnN0IHsgZmllbGQsIHZhbHVlLCBvcGVyYXRvciB9ID0gY29uZGl0aW9uO1xuXG4gIHN3aXRjaCAob3BlcmF0b3IpIHtcbiAgICBjYXNlIFwiZXFcIjpcbiAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gcXVlcnlbbWV0aG9kID09PSBcIm9yV2hlcmVcIiA/IFwib3JXaGVyZU51bGxcIiA6IFwid2hlcmVOdWxsXCJdKGZpZWxkKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBxdWVyeVttZXRob2RdKGZpZWxkLCBcIj1cIiwgdmFsdWUpO1xuICAgIGNhc2UgXCJuZVwiOlxuICAgICAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBxdWVyeVttZXRob2QgPT09IFwib3JXaGVyZVwiID8gXCJvcldoZXJlTm90TnVsbFwiIDogXCJ3aGVyZU5vdE51bGxcIl0oZmllbGQpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHF1ZXJ5W21ldGhvZF0oZmllbGQsIFwiIT1cIiwgdmFsdWUpO1xuICAgIGNhc2UgXCJsdFwiOlxuICAgICAgcmV0dXJuIHF1ZXJ5W21ldGhvZF0oZmllbGQsIFwiPFwiLCB2YWx1ZSk7XG4gICAgY2FzZSBcImx0ZVwiOlxuICAgICAgcmV0dXJuIHF1ZXJ5W21ldGhvZF0oZmllbGQsIFwiPD1cIiwgdmFsdWUpO1xuICAgIGNhc2UgXCJndFwiOlxuICAgICAgcmV0dXJuIHF1ZXJ5W21ldGhvZF0oZmllbGQsIFwiPlwiLCB2YWx1ZSk7XG4gICAgY2FzZSBcImd0ZVwiOlxuICAgICAgcmV0dXJuIHF1ZXJ5W21ldGhvZF0oZmllbGQsIFwiPj1cIiwgdmFsdWUpO1xuICAgIGNhc2UgXCJpblwiOlxuICAgICAgcmV0dXJuIHF1ZXJ5W21ldGhvZCA9PT0gXCJvcldoZXJlXCIgPyBcIm9yV2hlcmVJblwiIDogXCJ3aGVyZUluXCJdKFxuICAgICAgICBmaWVsZCxcbiAgICAgICAgdmFsdWUgYXMgKHN0cmluZyB8IG51bWJlcilbXSxcbiAgICAgICk7XG4gICAgY2FzZSBcIm5vdF9pblwiOlxuICAgICAgcmV0dXJuIHF1ZXJ5W21ldGhvZCA9PT0gXCJvcldoZXJlXCIgPyBcIm9yV2hlcmVOb3RJblwiIDogXCJ3aGVyZU5vdEluXCJdKFxuICAgICAgICBmaWVsZCxcbiAgICAgICAgdmFsdWUgYXMgKHN0cmluZyB8IG51bWJlcilbXSxcbiAgICAgICk7XG4gICAgY2FzZSBcImNvbnRhaW5zXCI6XG4gICAgICByZXR1cm4gcXVlcnlbbWV0aG9kXShmaWVsZCwgXCJsaWtlXCIsIGAlJHt2YWx1ZX0lYCk7XG4gICAgY2FzZSBcInN0YXJ0c193aXRoXCI6XG4gICAgICByZXR1cm4gcXVlcnlbbWV0aG9kXShmaWVsZCwgXCJsaWtlXCIsIGAke3ZhbHVlfSVgKTtcbiAgICBjYXNlIFwiZW5kc193aXRoXCI6XG4gICAgICByZXR1cm4gcXVlcnlbbWV0aG9kXShmaWVsZCwgXCJsaWtlXCIsIGAlJHt2YWx1ZX1gKTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIHF1ZXJ5O1xuICB9XG59XG4iXSwibmFtZXMiOlsiY3JlYXRlQWRhcHRlckZhY3RvcnkiLCJEQiIsInNvbmFtdUtuZXhBZGFwdGVyIiwibGF6eU9wdGlvbnMiLCJjcmVhdGVDdXN0b21BZGFwdGVyIiwiZ2V0RGIiLCJnZXRGaWVsZE5hbWUiLCJjcmVhdGUiLCJtb2RlbCIsImRhdGEiLCJyb3ciLCJpbnNlcnQiLCJyZXR1cm5pbmciLCJmaW5kT25lIiwid2hlcmUiLCJxdWVyeSIsImFwcGx5V2hlcmUiLCJmaXJzdCIsImZpbmRNYW55IiwibGltaXQiLCJvZmZzZXQiLCJzb3J0QnkiLCJkYkZpZWxkIiwiZmllbGQiLCJvcmRlckJ5IiwiZGlyZWN0aW9uIiwidXBkYXRlIiwidXBkYXRlTWFueSIsImNvdW50IiwiZGVsZXRlIiwiZGVsIiwiZGVsZXRlTWFueSIsIk51bWJlciIsImFkYXB0ZXJDb25maWciLCJhZGFwdGVySWQiLCJhZGFwdGVyTmFtZSIsInVzZVBsdXJhbCIsInN1cHBvcnRzSlNPTiIsInN1cHBvcnRzRGF0ZXMiLCJzdXBwb3J0c0Jvb2xlYW5zIiwic3VwcG9ydHNOdW1lcmljSWRzIiwidHJhbnNhY3Rpb24iLCJjYiIsImRiIiwiZ2V0REIiLCJ0cngiLCJvcHRpb25zIiwiRXJyb3IiLCJjb25maWciLCJhZGFwdGVyIiwiYWRhcHRlckNyZWF0b3IiLCJjb25kaXRpb25zIiwiYW5kR3JvdXAiLCJmaWx0ZXIiLCJjIiwiY29ubmVjdG9yIiwib3JHcm91cCIsImxlbmd0aCIsImNvbmRpdGlvbiIsImFwcGx5Q29uZGl0aW9uIiwiaSIsIm1ldGhvZCIsInZhbHVlIiwib3BlcmF0b3IiXSwibWFwcGluZ3MiOiJBQUtBLFNB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
156
+ //#endregion
157
+ init_knex_adapter();
158
+ export { applyWhere, init_knex_adapter, sonamuKnexAdapter };
159
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia25leC1hZGFwdGVyLmpzIiwibmFtZXMiOlsibGF6eU9wdGlvbnM6IEJldHRlckF1dGhPcHRpb25zIHwgbnVsbCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hdXRoL2tuZXgtYWRhcHRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIEJldHRlckF1dGhPcHRpb25zIH0gZnJvbSBcImJldHRlci1hdXRoXCI7XG5pbXBvcnQge1xuICB0eXBlIEFkYXB0ZXJGYWN0b3J5Q3VzdG9taXplQWRhcHRlckNyZWF0b3IsXG4gIHR5cGUgREJUcmFuc2FjdGlvbkFkYXB0ZXIsXG59IGZyb20gXCJiZXR0ZXItYXV0aC9hZGFwdGVyc1wiO1xuaW1wb3J0IHsgY3JlYXRlQWRhcHRlckZhY3RvcnkgfSBmcm9tIFwiYmV0dGVyLWF1dGgvYWRhcHRlcnNcIjtcbmltcG9ydCB7IHR5cGUgS25leCB9IGZyb20gXCJrbmV4XCI7XG5cbmltcG9ydCB7IERCIH0gZnJvbSBcIi4uL2RhdGFiYXNlL2RiXCI7XG5cbmludGVyZmFjZSBDbGVhbmVkV2hlcmUge1xuICBmaWVsZDogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IHN0cmluZ1tdIHwgbnVtYmVyW10gfCBEYXRlIHwgbnVsbDtcbiAgb3BlcmF0b3I6IHN0cmluZztcbiAgY29ubmVjdG9yOiBzdHJpbmc7XG59XG5cbi8qKlxuICogYmV0dGVyLWF1dGjsmqkgU29uYW11IGtuZXgg7Ja064yR7YSwXG4gKlxuICogYmV0dGVyLWF1dGjsnZgg66qo65OgIOy/vOumrOulvCBEQi5nZXREQigp66W8IO2Gte2VtCDsi6TtlontlZjsl6xcbiAqIFNvbmFtdSDthYzsiqTtirgg7Yq4656c7J6t7IWY6rO8IOuPmeydvO2VnCDsu6TrhKXshZjsnYQg6rO17Jyg7ZWp64uI64ukLlxuICovXG5leHBvcnQgY29uc3Qgc29uYW11S25leEFkYXB0ZXIgPSAoKSA9PiB7XG4gIGxldCBsYXp5T3B0aW9uczogQmV0dGVyQXV0aE9wdGlvbnMgfCBudWxsID0gbnVsbDtcblxuICBjb25zdCBjcmVhdGVDdXN0b21BZGFwdGVyID0gKFxuICAgIGdldERiOiAoKSA9PiBLbmV4IHwgS25leC5UcmFuc2FjdGlvbixcbiAgKTogQWRhcHRlckZhY3RvcnlDdXN0b21pemVBZGFwdGVyQ3JlYXRvciA9PiB7XG4gICAgcmV0dXJuICh7IGdldEZpZWxkTmFtZSB9KSA9PiAoe1xuICAgICAgY3JlYXRlOiBhc3luYyAoeyBtb2RlbCwgZGF0YSB9KSA9PiB7XG4gICAgICAgIGNvbnN0IFtyb3ddID0gYXdhaXQgZ2V0RGIoKShtb2RlbCkuaW5zZXJ0KGRhdGEpLnJldHVybmluZyhcIipcIik7XG4gICAgICAgIHJldHVybiByb3c7XG4gICAgICB9LFxuXG4gICAgICBmaW5kT25lOiBhc3luYyAoeyBtb2RlbCwgd2hlcmUgfSkgPT4ge1xuICAgICAgICBsZXQgcXVlcnkgPSBnZXREYigpKG1vZGVsKTtcbiAgICAgICAgcXVlcnkgPSBhcHBseVdoZXJlKHF1ZXJ5LCB3aGVyZSk7XG4gICAgICAgIGNvbnN0IHJvdyA9IGF3YWl0IHF1ZXJ5LmZpcnN0KCk7XG4gICAgICAgIHJldHVybiByb3cgPz8gbnVsbDtcbiAgICAgIH0sXG5cbiAgICAgIGZpbmRNYW55OiBhc3luYyAoeyBtb2RlbCwgd2hlcmUsIGxpbWl0LCBvZmZzZXQsIHNvcnRCeSB9KSA9PiB7XG4gICAgICAgIGxldCBxdWVyeSA9IGdldERiKCkobW9kZWwpO1xuICAgICAgICBpZiAod2hlcmUpIHtcbiAgICAgICAgICBxdWVyeSA9IGFwcGx5V2hlcmUocXVlcnksIHdoZXJlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc29ydEJ5KSB7XG4gICAgICAgICAgY29uc3QgZGJGaWVsZCA9IGdldEZpZWxkTmFtZSh7IG1vZGVsLCBmaWVsZDogc29ydEJ5LmZpZWxkIH0pO1xuICAgICAgICAgIHF1ZXJ5ID0gcXVlcnkub3JkZXJCeShkYkZpZWxkLCBzb3J0QnkuZGlyZWN0aW9uKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobGltaXQpIHtcbiAgICAgICAgICBxdWVyeSA9IHF1ZXJ5LmxpbWl0KGxpbWl0KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAob2Zmc2V0KSB7XG4gICAgICAgICAgcXVlcnkgPSBxdWVyeS5vZmZzZXQob2Zmc2V0KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYXdhaXQgcXVlcnk7XG4gICAgICB9LFxuXG4gICAgICB1cGRhdGU6IGFzeW5jICh7IG1vZGVsLCB3aGVyZSwgdXBkYXRlIH0pID0+IHtcbiAgICAgICAgbGV0IHF1ZXJ5ID0gZ2V0RGIoKShtb2RlbCk7XG4gICAgICAgIHF1ZXJ5ID0gYXBwbHlXaGVyZShxdWVyeSwgd2hlcmUpO1xuICAgICAgICBjb25zdCBbcm93XSA9IGF3YWl0IHF1ZXJ5LnVwZGF0ZSh1cGRhdGUpLnJldHVybmluZyhcIipcIik7XG4gICAgICAgIHJldHVybiByb3cgPz8gbnVsbDtcbiAgICAgIH0sXG5cbiAgICAgIHVwZGF0ZU1hbnk6IGFzeW5jICh7IG1vZGVsLCB3aGVyZSwgdXBkYXRlIH0pID0+IHtcbiAgICAgICAgbGV0IHF1ZXJ5ID0gZ2V0RGIoKShtb2RlbCk7XG4gICAgICAgIHF1ZXJ5ID0gYXBwbHlXaGVyZShxdWVyeSwgd2hlcmUpO1xuICAgICAgICBjb25zdCBjb3VudCA9IGF3YWl0IHF1ZXJ5LnVwZGF0ZSh1cGRhdGUpO1xuICAgICAgICByZXR1cm4gY291bnQ7XG4gICAgICB9LFxuXG4gICAgICBkZWxldGU6IGFzeW5jICh7IG1vZGVsLCB3aGVyZSB9KSA9PiB7XG4gICAgICAgIGxldCBxdWVyeSA9IGdldERiKCkobW9kZWwpO1xuICAgICAgICBxdWVyeSA9IGFwcGx5V2hlcmUocXVlcnksIHdoZXJlKTtcbiAgICAgICAgYXdhaXQgcXVlcnkuZGVsKCk7XG4gICAgICB9LFxuXG4gICAgICBkZWxldGVNYW55OiBhc3luYyAoeyBtb2RlbCwgd2hlcmUgfSkgPT4ge1xuICAgICAgICBsZXQgcXVlcnkgPSBnZXREYigpKG1vZGVsKTtcbiAgICAgICAgcXVlcnkgPSBhcHBseVdoZXJlKHF1ZXJ5LCB3aGVyZSk7XG4gICAgICAgIGNvbnN0IGNvdW50ID0gYXdhaXQgcXVlcnkuZGVsKCk7XG4gICAgICAgIHJldHVybiBjb3VudDtcbiAgICAgIH0sXG5cbiAgICAgIGNvdW50OiBhc3luYyAoeyBtb2RlbCwgd2hlcmUgfSkgPT4ge1xuICAgICAgICBsZXQgcXVlcnkgPSBnZXREYigpKG1vZGVsKTtcbiAgICAgICAgaWYgKHdoZXJlKSB7XG4gICAgICAgICAgcXVlcnkgPSBhcHBseVdoZXJlKHF1ZXJ5LCB3aGVyZSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgW3sgY291bnQgfV0gPSBhd2FpdCBxdWVyeS5jb3VudChcIiogYXMgY291bnRcIik7XG4gICAgICAgIHJldHVybiBOdW1iZXIoY291bnQpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCBhZGFwdGVyQ29uZmlnID0ge1xuICAgIGFkYXB0ZXJJZDogXCJzb25hbXUta25leFwiLFxuICAgIGFkYXB0ZXJOYW1lOiBcIlNvbmFtdSBLbmV4IEFkYXB0ZXJcIixcbiAgICB1c2VQbHVyYWw6IGZhbHNlLFxuICAgIHN1cHBvcnRzSlNPTjogdHJ1ZSxcbiAgICBzdXBwb3J0c0RhdGVzOiB0cnVlLFxuICAgIHN1cHBvcnRzQm9vbGVhbnM6IHRydWUsXG4gICAgc3VwcG9ydHNOdW1lcmljSWRzOiBmYWxzZSxcbiAgICB0cmFuc2FjdGlvbjogYXN5bmMgPFI+KGNiOiAodHJ4OiBEQlRyYW5zYWN0aW9uQWRhcHRlcikgPT4gUHJvbWlzZTxSPik6IFByb21pc2U8Uj4gPT4ge1xuICAgICAgY29uc3QgZGIgPSBEQi5nZXREQihcIndcIik7XG4gICAgICByZXR1cm4gZGIudHJhbnNhY3Rpb24oYXN5bmMgKHRyeCkgPT4ge1xuICAgICAgICBjb25zdCBvcHRpb25zID0gbGF6eU9wdGlvbnM7XG4gICAgICAgIGlmICghb3B0aW9ucykge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcInNvbmFtdUtuZXhBZGFwdGVyOiBvcHRpb25zIG5vdCBpbml0aWFsaXplZFwiKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY2IoXG4gICAgICAgICAgY3JlYXRlQWRhcHRlckZhY3Rvcnkoe1xuICAgICAgICAgICAgY29uZmlnOiBhZGFwdGVyQ29uZmlnLFxuICAgICAgICAgICAgYWRhcHRlcjogY3JlYXRlQ3VzdG9tQWRhcHRlcigoKSA9PiB0cngpLFxuICAgICAgICAgIH0pKG9wdGlvbnMpLFxuICAgICAgICApO1xuICAgICAgfSk7XG4gICAgfSxcbiAgfTtcblxuICBjb25zdCBhZGFwdGVyQ3JlYXRvciA9IGNyZWF0ZUFkYXB0ZXJGYWN0b3J5KHtcbiAgICBjb25maWc6IGFkYXB0ZXJDb25maWcsXG4gICAgYWRhcHRlcjogY3JlYXRlQ3VzdG9tQWRhcHRlcigoKSA9PiBEQi5nZXREQihcIndcIikpLFxuICB9KTtcblxuICByZXR1cm4gKG9wdGlvbnM6IEJldHRlckF1dGhPcHRpb25zKSA9PiB7XG4gICAgbGF6eU9wdGlvbnMgPSBvcHRpb25zO1xuICAgIHJldHVybiBhZGFwdGVyQ3JlYXRvcihvcHRpb25zKTtcbiAgfTtcbn07XG5cbi8qKlxuICogQmV0dGVyIEF1dGjsnZgg6rO17IudIOyWtOuMke2EsChLeXNlbHksIERyaXp6bGUsIFByaXNtYSwgTW9uZ29EQikg7Yyo7YS07JeQIOunnuy2sFxuICogQU5EIOq3uOujueqzvCBPUiDqt7jro7nsnYQg67aE66as7ZWcIOuSpCB0b3AtbGV2ZWwgQU5E66GcIOqysO2Vqe2VqeuLiOuLpC5cbiAqIOqysOqzvDogKEEgQU5EIEIgQU5EIC4uLikgQU5EIChDIE9SIEQgT1IgLi4uKVxuICovXG5leHBvcnQgZnVuY3Rpb24gYXBwbHlXaGVyZShcbiAgcXVlcnk6IEtuZXguUXVlcnlCdWlsZGVyLFxuICBjb25kaXRpb25zOiBDbGVhbmVkV2hlcmVbXSxcbik6IEtuZXguUXVlcnlCdWlsZGVyIHtcbiAgY29uc3QgYW5kR3JvdXAgPSBjb25kaXRpb25zLmZpbHRlcigoYykgPT4gYy5jb25uZWN0b3IgIT09IFwiT1JcIik7XG4gIGNvbnN0IG9yR3JvdXAgPSBjb25kaXRpb25zLmZpbHRlcigoYykgPT4gYy5jb25uZWN0b3IgPT09IFwiT1JcIik7XG5cbiAgaWYgKGFuZEdyb3VwLmxlbmd0aCA+IDApIHtcbiAgICBmb3IgKGNvbnN0IGNvbmRpdGlvbiBvZiBhbmRHcm91cCkge1xuICAgICAgcXVlcnkgPSBhcHBseUNvbmRpdGlvbihxdWVyeSwgY29uZGl0aW9uLCBcIndoZXJlXCIpO1xuICAgIH1cbiAgfVxuXG4gIGlmIChvckdyb3VwLmxlbmd0aCA+IDApIHtcbiAgICBxdWVyeSA9IHF1ZXJ5LndoZXJlKGZ1bmN0aW9uICh0aGlzOiBLbmV4LlF1ZXJ5QnVpbGRlcikge1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBvckdyb3VwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGFwcGx5Q29uZGl0aW9uKHRoaXMsIG9yR3JvdXBbaV0sIGkgPT09IDAgPyBcIndoZXJlXCIgOiBcIm9yV2hlcmVcIik7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gcXVlcnk7XG59XG5cbmZ1bmN0aW9uIGFwcGx5Q29uZGl0aW9uKFxuICBxdWVyeTogS25leC5RdWVyeUJ1aWxkZXIsXG4gIGNvbmRpdGlvbjogQ2xlYW5lZFdoZXJlLFxuICBtZXRob2Q6IFwid2hlcmVcIiB8IFwib3JXaGVyZVwiLFxuKTogS25leC5RdWVyeUJ1aWxkZXIge1xuICBjb25zdCB7IGZpZWxkLCB2YWx1ZSwgb3BlcmF0b3IgfSA9IGNvbmRpdGlvbjtcblxuICBzd2l0Y2ggKG9wZXJhdG9yKSB7XG4gICAgY2FzZSBcImVxXCI6XG4gICAgICBpZiAodmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHF1ZXJ5W21ldGhvZCA9PT0gXCJvcldoZXJlXCIgPyBcIm9yV2hlcmVOdWxsXCIgOiBcIndoZXJlTnVsbFwiXShmaWVsZCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcXVlcnlbbWV0aG9kXShmaWVsZCwgXCI9XCIsIHZhbHVlKTtcbiAgICBjYXNlIFwibmVcIjpcbiAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gcXVlcnlbbWV0aG9kID09PSBcIm9yV2hlcmVcIiA/IFwib3JXaGVyZU5vdE51bGxcIiA6IFwid2hlcmVOb3ROdWxsXCJdKGZpZWxkKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBxdWVyeVttZXRob2RdKGZpZWxkLCBcIiE9XCIsIHZhbHVlKTtcbiAgICBjYXNlIFwibHRcIjpcbiAgICAgIHJldHVybiBxdWVyeVttZXRob2RdKGZpZWxkLCBcIjxcIiwgdmFsdWUpO1xuICAgIGNhc2UgXCJsdGVcIjpcbiAgICAgIHJldHVybiBxdWVyeVttZXRob2RdKGZpZWxkLCBcIjw9XCIsIHZhbHVlKTtcbiAgICBjYXNlIFwiZ3RcIjpcbiAgICAgIHJldHVybiBxdWVyeVttZXRob2RdKGZpZWxkLCBcIj5cIiwgdmFsdWUpO1xuICAgIGNhc2UgXCJndGVcIjpcbiAgICAgIHJldHVybiBxdWVyeVttZXRob2RdKGZpZWxkLCBcIj49XCIsIHZhbHVlKTtcbiAgICBjYXNlIFwiaW5cIjpcbiAgICAgIHJldHVybiBxdWVyeVttZXRob2QgPT09IFwib3JXaGVyZVwiID8gXCJvcldoZXJlSW5cIiA6IFwid2hlcmVJblwiXShcbiAgICAgICAgZmllbGQsXG4gICAgICAgIHZhbHVlIGFzIChzdHJpbmcgfCBudW1iZXIpW10sXG4gICAgICApO1xuICAgIGNhc2UgXCJub3RfaW5cIjpcbiAgICAgIHJldHVybiBxdWVyeVttZXRob2QgPT09IFwib3JXaGVyZVwiID8gXCJvcldoZXJlTm90SW5cIiA6IFwid2hlcmVOb3RJblwiXShcbiAgICAgICAgZmllbGQsXG4gICAgICAgIHZhbHVlIGFzIChzdHJpbmcgfCBudW1iZXIpW10sXG4gICAgICApO1xuICAgIGNhc2UgXCJjb250YWluc1wiOlxuICAgICAgcmV0dXJuIHF1ZXJ5W21ldGhvZF0oZmllbGQsIFwibGlrZVwiLCBgJSR7dmFsdWV9JWApO1xuICAgIGNhc2UgXCJzdGFydHNfd2l0aFwiOlxuICAgICAgcmV0dXJuIHF1ZXJ5W21ldGhvZF0oZmllbGQsIFwibGlrZVwiLCBgJHt2YWx1ZX0lYCk7XG4gICAgY2FzZSBcImVuZHNfd2l0aFwiOlxuICAgICAgcmV0dXJuIHF1ZXJ5W21ldGhvZF0oZmllbGQsIFwibGlrZVwiLCBgJSR7dmFsdWV9YCk7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBxdWVyeTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBMklBLFNBQWdCLFdBQ2QsT0FDQSxZQUNtQjtDQUNuQixNQUFNLFdBQVcsV0FBVyxRQUFRLE1BQU0sRUFBRSxjQUFjLEtBQUs7Q0FDL0QsTUFBTSxVQUFVLFdBQVcsUUFBUSxNQUFNLEVBQUUsY0FBYyxLQUFLO0FBRTlELEtBQUksU0FBUyxTQUFTLEdBQUc7QUFDdkIsT0FBSyxNQUFNLGFBQWEsVUFBVTtBQUNoQyxXQUFRLGVBQWUsT0FBTyxXQUFXLFFBQVE7OztBQUlyRCxLQUFJLFFBQVEsU0FBUyxHQUFHO0FBQ3RCLFVBQVEsTUFBTSxNQUFNLFdBQW1DO0FBQ3JELFFBQUssSUFBSSxJQUFJLEdBQUcsSUFBSSxRQUFRLFFBQVEsS0FBSztBQUN2QyxtQkFBZSxNQUFNLFFBQVEsSUFBSSxNQUFNLElBQUksVUFBVSxVQUFVOztJQUVqRTs7QUFHSixRQUFPOztBQUdULFNBQVMsZUFDUCxPQUNBLFdBQ0EsUUFDbUI7Q0FDbkIsTUFBTSxFQUFFLE9BQU8sT0FBTyxhQUFhO0FBRW5DLFNBQVEsVUFBUjtFQUNFLEtBQUs7QUFDSCxPQUFJLFVBQVUsTUFBTTtBQUNsQixXQUFPLE1BQU0sV0FBVyxZQUFZLGdCQUFnQixhQUFhLE1BQU07O0FBRXpFLFVBQU8sTUFBTSxRQUFRLE9BQU8sS0FBSyxNQUFNO0VBQ3pDLEtBQUs7QUFDSCxPQUFJLFVBQVUsTUFBTTtBQUNsQixXQUFPLE1BQU0sV0FBVyxZQUFZLG1CQUFt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
@@ -1,4 +1,4 @@
1
- import type { BetterAuthEntityDef } from "./types";
1
+ import { type BetterAuthEntityDef } from "./types";
2
2
  /**
3
3
  * better-auth admin 플러그인 엔티티 정의
4
4
  * https://www.better-auth.com/docs/plugins/admin
@@ -1 +1 @@
1
- {"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../../../src/auth/plugins/entity-definitions/admin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEnD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,cAAc,EAAE,mBA0C5B,CAAC"}
1
+ {"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../../../src/auth/plugins/entity-definitions/admin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEnD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,cAAc,EAAE,mBA0C5B,CAAC"}
@@ -1,59 +1,61 @@
1
+ //#region src/auth/plugins/entity-definitions/admin.ts
1
2
  /**
2
- * better-auth admin 플러그인 엔티티 정의
3
- * https://www.better-auth.com/docs/plugins/admin
4
- *
5
- * 관리자 기능을 위한 필드를 추가합니다:
6
- *
7
- * User 테이블:
8
- * - role: 사용자 역할 (기본값: "user")
9
- * - banned: 차단 여부
10
- * - ban_reason: 차단 사유
11
- * - ban_expires: 차단 만료 시간 (Unix timestamp)
12
- *
13
- * Session 테이블:
14
- * - impersonated_by: 대리 로그인한 관리자 ID
15
- */ export const adminEntityDef = {
16
- id: "admin",
17
- name: "Admin",
18
- entities: [],
19
- additionalProps: {
20
- User: [
21
- {
22
- name: "role",
23
- type: "string",
24
- nullable: true,
25
- dbDefault: '"user"',
26
- desc: "사용자 역할"
27
- },
28
- {
29
- name: "banned",
30
- type: "boolean",
31
- nullable: true,
32
- dbDefault: "false",
33
- desc: "차단 여부"
34
- },
35
- {
36
- name: "ban_reason",
37
- type: "string",
38
- nullable: true,
39
- desc: "차단 사유"
40
- },
41
- {
42
- name: "ban_expires",
43
- type: "bigInteger",
44
- nullable: true,
45
- desc: "차단 만료 (Unix timestamp)"
46
- }
47
- ],
48
- Session: [
49
- {
50
- name: "impersonated_by",
51
- type: "string",
52
- nullable: true,
53
- desc: "대리 로그인한 관리자 ID"
54
- }
55
- ]
56
- }
3
+ * better-auth admin 플러그인 엔티티 정의
4
+ * https://www.better-auth.com/docs/plugins/admin
5
+ *
6
+ * 관리자 기능을 위한 필드를 추가합니다:
7
+ *
8
+ * User 테이블:
9
+ * - role: 사용자 역할 (기본값: "user")
10
+ * - banned: 차단 여부
11
+ * - ban_reason: 차단 사유
12
+ * - ban_expires: 차단 만료 시간 (Unix timestamp)
13
+ *
14
+ * Session 테이블:
15
+ * - impersonated_by: 대리 로그인한 관리자 ID
16
+ */
17
+ const adminEntityDef = {
18
+ id: "admin",
19
+ name: "Admin",
20
+ entities: [],
21
+ additionalProps: {
22
+ User: [
23
+ {
24
+ name: "role",
25
+ type: "string",
26
+ nullable: true,
27
+ dbDefault: "\"user\"",
28
+ desc: "사용자 역할"
29
+ },
30
+ {
31
+ name: "banned",
32
+ type: "boolean",
33
+ nullable: true,
34
+ dbDefault: "false",
35
+ desc: "차단 여부"
36
+ },
37
+ {
38
+ name: "ban_reason",
39
+ type: "string",
40
+ nullable: true,
41
+ desc: "차단 사유"
42
+ },
43
+ {
44
+ name: "ban_expires",
45
+ type: "bigInteger",
46
+ nullable: true,
47
+ desc: "차단 만료 (Unix timestamp)"
48
+ }
49
+ ],
50
+ Session: [{
51
+ name: "impersonated_by",
52
+ type: "string",
53
+ nullable: true,
54
+ desc: "대리 로그인한 관리자 ID"
55
+ }]
56
+ }
57
57
  };
58
58
 
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hdXRoL3BsdWdpbnMvZW50aXR5LWRlZmluaXRpb25zL2FkbWluLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQmV0dGVyQXV0aEVudGl0eURlZiB9IGZyb20gXCIuL3R5cGVzXCI7XG5cbi8qKlxuICogYmV0dGVyLWF1dGggYWRtaW4g7ZSM65+s6re47J24IOyXlO2LsO2LsCDsoJXsnZhcbiAqIGh0dHBzOi8vd3d3LmJldHRlci1hdXRoLmNvbS9kb2NzL3BsdWdpbnMvYWRtaW5cbiAqXG4gKiDqtIDrpqzsnpAg6riw64ql7J2EIOychO2VnCDtlYTrk5zrpbwg7LaU6rCA7ZWp64uI64ukOlxuICpcbiAqIFVzZXIg7YWM7J2067iUOlxuICogLSByb2xlOiDsgqzsmqnsnpAg7Jet7ZWgICjquLDrs7jqsJI6IFwidXNlclwiKVxuICogLSBiYW5uZWQ6IOywqOuLqCDsl6zrtoBcbiAqIC0gYmFuX3JlYXNvbjog7LCo64uoIOyCrOycoFxuICogLSBiYW5fZXhwaXJlczog7LCo64uoIOunjOujjCDsi5zqsIQgKFVuaXggdGltZXN0YW1wKVxuICpcbiAqIFNlc3Npb24g7YWM7J2067iUOlxuICogLSBpbXBlcnNvbmF0ZWRfYnk6IOuMgOumrCDroZzqt7jsnbjtlZwg6rSA66as7J6QIElEXG4gKi9cbmV4cG9ydCBjb25zdCBhZG1pbkVudGl0eURlZjogQmV0dGVyQXV0aEVudGl0eURlZiA9IHtcbiAgaWQ6IFwiYWRtaW5cIixcbiAgbmFtZTogXCJBZG1pblwiLFxuICBlbnRpdGllczogW10sXG4gIGFkZGl0aW9uYWxQcm9wczoge1xuICAgIFVzZXI6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJyb2xlXCIsXG4gICAgICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgICAgIG51bGxhYmxlOiB0cnVlLFxuICAgICAgICBkYkRlZmF1bHQ6ICdcInVzZXJcIicsXG4gICAgICAgIGRlc2M6IFwi7IKs7Jqp7J6QIOyXre2VoFwiLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJiYW5uZWRcIixcbiAgICAgICAgdHlwZTogXCJib29sZWFuXCIsXG4gICAgICAgIG51bGxhYmxlOiB0cnVlLFxuICAgICAgICBkYkRlZmF1bHQ6IFwiZmFsc2VcIixcbiAgICAgICAgZGVzYzogXCLssKjri6gg7Jes67aAXCIsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBcImJhbl9yZWFzb25cIixcbiAgICAgICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICAgICAgbnVsbGFibGU6IHRydWUsXG4gICAgICAgIGRlc2M6IFwi7LCo64uoIOyCrOycoFwiLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJiYW5fZXhwaXJlc1wiLFxuICAgICAgICB0eXBlOiBcImJpZ0ludGVnZXJcIixcbiAgICAgICAgbnVsbGFibGU6IHRydWUsXG4gICAgICAgIGRlc2M6IFwi7LCo64uoIOunjOujjCAoVW5peCB0aW1lc3RhbXApXCIsXG4gICAgICB9LFxuICAgIF0sXG4gICAgU2Vzc2lvbjogW1xuICAgICAge1xuICAgICAgICBuYW1lOiBcImltcGVyc29uYXRlZF9ieVwiLFxuICAgICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgICBudWxsYWJsZTogdHJ1ZSxcbiAgICAgICAgZGVzYzogXCLrjIDrpqwg66Gc6re47J247ZWcIOq0gOumrOyekCBJRFwiLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxufTtcbiJdLCJuYW1lcyI6WyJhZG1pbkVudGl0eURlZiIsImlkIiwibmFtZSIsImVudGl0aWVzIiwiYWRkaXRpb25hbFByb3BzIiwiVXNlciIsInR5cGUiLCJudWxsYWJsZSIsImRiRGVmYXVsdCIsImRlc2MiLCJTZXNzaW9uIl0sIm1hcHBpbmdzIjoiQUFFQTs7Ozs7Ozs7Ozs7Ozs7Q0FjQyxHQUNELE9BQU8sTUFBTUEsaUJBQXNDO0lBQ2pEQyxJQUFJO0lBQ0pDLE1BQU07SUFDTkMsVUFBVSxFQUFFO0lBQ1pDLGlCQUFpQjtRQUNmQyxNQUFNO1lBQ0o7Z0JBQ0VILE1BQU07Z0JBQ05JLE1BQU07Z0JBQ05DLFVBQVU7Z0JBQ1ZDLFdBQVc7Z0JBQ1hDLE1BQU07WUFDUjtZQUNBO2dCQUNFUCxNQUFNO2dCQUNOSSxNQUFNO2dCQUNOQyxVQUFVO2dCQUNWQyxXQUFXO2dCQUNYQyxNQUFNO1lBQ1I7WUFDQTtnQkFDRVAsTUFBTTtnQkFDTkksTUFBTTtnQkFDTkMsVUFBVTtnQkFDVkUsTUFBTTtZQUNSO1lBQ0E7Z0JBQ0VQLE1BQU07Z0JBQ05JLE1BQU07Z0JBQ05DLFVBQVU7Z0JBQ1ZFLE1BQU07WUFDUjtTQUNEO1FBQ0RDLFNBQVM7WUFDUDtnQkFDRVIsTUFBTTtnQkFDTkksTUFBTTtnQkFDTkMsVUFBVTtnQkFDVkUsTUFBTTtZQUNSO1NBQ0Q7SUFDSDtBQUNGLEVBQUUifQ==
59
+ //#endregion
60
+ export { adminEntityDef };
61
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4uanMiLCJuYW1lcyI6WyJhZG1pbkVudGl0eURlZjogQmV0dGVyQXV0aEVudGl0eURlZiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hdXRoL3BsdWdpbnMvZW50aXR5LWRlZmluaXRpb25zL2FkbWluLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgQmV0dGVyQXV0aEVudGl0eURlZiB9IGZyb20gXCIuL3R5cGVzXCI7XG5cbi8qKlxuICogYmV0dGVyLWF1dGggYWRtaW4g7ZSM65+s6re47J24IOyXlO2LsO2LsCDsoJXsnZhcbiAqIGh0dHBzOi8vd3d3LmJldHRlci1hdXRoLmNvbS9kb2NzL3BsdWdpbnMvYWRtaW5cbiAqXG4gKiDqtIDrpqzsnpAg6riw64ql7J2EIOychO2VnCDtlYTrk5zrpbwg7LaU6rCA7ZWp64uI64ukOlxuICpcbiAqIFVzZXIg7YWM7J2067iUOlxuICogLSByb2xlOiDsgqzsmqnsnpAg7Jet7ZWgICjquLDrs7jqsJI6IFwidXNlclwiKVxuICogLSBiYW5uZWQ6IOywqOuLqCDsl6zrtoBcbiAqIC0gYmFuX3JlYXNvbjog7LCo64uoIOyCrOycoFxuICogLSBiYW5fZXhwaXJlczog7LCo64uoIOunjOujjCDsi5zqsIQgKFVuaXggdGltZXN0YW1wKVxuICpcbiAqIFNlc3Npb24g7YWM7J2067iUOlxuICogLSBpbXBlcnNvbmF0ZWRfYnk6IOuMgOumrCDroZzqt7jsnbjtlZwg6rSA66as7J6QIElEXG4gKi9cbmV4cG9ydCBjb25zdCBhZG1pbkVudGl0eURlZjogQmV0dGVyQXV0aEVudGl0eURlZiA9IHtcbiAgaWQ6IFwiYWRtaW5cIixcbiAgbmFtZTogXCJBZG1pblwiLFxuICBlbnRpdGllczogW10sXG4gIGFkZGl0aW9uYWxQcm9wczoge1xuICAgIFVzZXI6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJyb2xlXCIsXG4gICAgICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgICAgIG51bGxhYmxlOiB0cnVlLFxuICAgICAgICBkYkRlZmF1bHQ6ICdcInVzZXJcIicsXG4gICAgICAgIGRlc2M6IFwi7IKs7Jqp7J6QIOyXre2VoFwiLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJiYW5uZWRcIixcbiAgICAgICAgdHlwZTogXCJib29sZWFuXCIsXG4gICAgICAgIG51bGxhYmxlOiB0cnVlLFxuICAgICAgICBkYkRlZmF1bHQ6IFwiZmFsc2VcIixcbiAgICAgICAgZGVzYzogXCLssKjri6gg7Jes67aAXCIsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBcImJhbl9yZWFzb25cIixcbiAgICAgICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICAgICAgbnVsbGFibGU6IHRydWUsXG4gICAgICAgIGRlc2M6IFwi7LCo64uoIOyCrOycoFwiLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJiYW5fZXhwaXJlc1wiLFxuICAgICAgICB0eXBlOiBcImJpZ0ludGVnZXJcIixcbiAgICAgICAgbnVsbGFibGU6IHRydWUsXG4gICAgICAgIGRlc2M6IFwi7LCo64uoIOunjOujjCAoVW5peCB0aW1lc3RhbXApXCIsXG4gICAgICB9LFxuICAgIF0sXG4gICAgU2Vzc2lvbjogW1xuICAgICAge1xuICAgICAgICBuYW1lOiBcImltcGVyc29uYXRlZF9ieVwiLFxuICAgICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgICBudWxsYWJsZTogdHJ1ZSxcbiAgICAgICAgZGVzYzogXCLrjIDrpqwg66Gc6re47J247ZWcIOq0gOumrOyekCBJRFwiLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQWlCQSxNQUFhQSxpQkFBc0M7Q0FDakQsSUFBSTtDQUNKLE1BQU07Q0FDTixVQUFVLEVBQUU7Q0FDWixpQkFBaUI7RUFDZixNQUFNO0dBQ0o7SUFDRSxNQUFNO0lBQ04sTUFBTTtJQUNOLFVBQVU7SUFDVixXQUFXO0lBQ1gsTUFBTTtJQUNQO0dBQ0Q7SUFDRSxNQUFNO0lBQ04sTUFBTTtJQUNOLFVBQVU7SUFDVixXQUFXO0lBQ1gsTUFBTTtJQUNQO0dBQ0Q7SUFDRSxNQUFNO0lBQ04sTUFBTTtJQUNOLFVBQVU7SUFDVixNQUFNO0lBQ1A7R0FDRDtJQUNFLE1BQU07SUFDTixNQUFNO0lBQ04sVUFBVTtJQUNWLE1BQU07SUFDUDtHQUNGO0VBQ0QsU0FBUyxDQUNQO0dBQ0UsTUFBTTtHQUNOLE1BQU07R0FDTixVQUFVO0dBQ1YsTUFBTTtHQUNQLENBQ0Y7RUFDRjtDQUNGIn0=
@@ -1,4 +1,4 @@
1
- import type { BetterAuthEntityDef } from "./types";
1
+ import { type BetterAuthEntityDef } from "./types";
2
2
  /**
3
3
  * better-auth Anonymous 플러그인 엔티티 정의
4
4
  * https://www.better-auth.com/docs/plugins/anonymous
@@ -1 +1 @@
1
- {"version":3,"file":"anonymous.d.ts","sourceRoot":"","sources":["../../../../src/auth/plugins/entity-definitions/anonymous.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEnD;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,EAAE,mBAOhC,CAAC"}
1
+ {"version":3,"file":"anonymous.d.ts","sourceRoot":"","sources":["../../../../src/auth/plugins/entity-definitions/anonymous.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEnD;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,EAAE,mBAOhC,CAAC"}
@@ -1,23 +1,23 @@
1
+ //#region src/auth/plugins/entity-definitions/anonymous.ts
1
2
  /**
2
- * better-auth Anonymous 플러그인 엔티티 정의
3
- * https://www.better-auth.com/docs/plugins/anonymous
4
- *
5
- * 익명 사용자 인증을 지원합니다.
6
- * 새로운 테이블을 생성하지 않고 User 테이블에 is_anonymous 필드만 추가합니다.
7
- */ export const anonymousEntityDef = {
8
- id: "anonymous",
9
- name: "Anonymous",
10
- entities: [],
11
- additionalProps: {
12
- User: [
13
- {
14
- name: "is_anonymous",
15
- type: "boolean",
16
- nullable: true,
17
- desc: "익명 사용자 여부"
18
- }
19
- ]
20
- }
3
+ * better-auth Anonymous 플러그인 엔티티 정의
4
+ * https://www.better-auth.com/docs/plugins/anonymous
5
+ *
6
+ * 익명 사용자 인증을 지원합니다.
7
+ * 새로운 테이블을 생성하지 않고 User 테이블에 is_anonymous 필드만 추가합니다.
8
+ */
9
+ const anonymousEntityDef = {
10
+ id: "anonymous",
11
+ name: "Anonymous",
12
+ entities: [],
13
+ additionalProps: { User: [{
14
+ name: "is_anonymous",
15
+ type: "boolean",
16
+ nullable: true,
17
+ desc: "익명 사용자 여부"
18
+ }] }
21
19
  };
22
20
 
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hdXRoL3BsdWdpbnMvZW50aXR5LWRlZmluaXRpb25zL2Fub255bW91cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEJldHRlckF1dGhFbnRpdHlEZWYgfSBmcm9tIFwiLi90eXBlc1wiO1xuXG4vKipcbiAqIGJldHRlci1hdXRoIEFub255bW91cyDtlIzrn6zqt7jsnbgg7JeU7Yuw7YuwIOygleydmFxuICogaHR0cHM6Ly93d3cuYmV0dGVyLWF1dGguY29tL2RvY3MvcGx1Z2lucy9hbm9ueW1vdXNcbiAqXG4gKiDsnbXrqoUg7IKs7Jqp7J6QIOyduOymneydhCDsp4Dsm5Dtlanri4jri6QuXG4gKiDsg4jroZzsmrQg7YWM7J2067iU7J2EIOyDneyEse2VmOyngCDslYrqs6AgVXNlciDthYzsnbTruJTsl5AgaXNfYW5vbnltb3VzIO2VhOuTnOunjCDstpTqsIDtlanri4jri6QuXG4gKi9cbmV4cG9ydCBjb25zdCBhbm9ueW1vdXNFbnRpdHlEZWY6IEJldHRlckF1dGhFbnRpdHlEZWYgPSB7XG4gIGlkOiBcImFub255bW91c1wiLFxuICBuYW1lOiBcIkFub255bW91c1wiLFxuICBlbnRpdGllczogW10sXG4gIGFkZGl0aW9uYWxQcm9wczoge1xuICAgIFVzZXI6IFt7IG5hbWU6IFwiaXNfYW5vbnltb3VzXCIsIHR5cGU6IFwiYm9vbGVhblwiLCBudWxsYWJsZTogdHJ1ZSwgZGVzYzogXCLsnbXrqoUg7IKs7Jqp7J6QIOyXrOu2gFwiIH1dLFxuICB9LFxufTtcbiJdLCJuYW1lcyI6WyJhbm9ueW1vdXNFbnRpdHlEZWYiLCJpZCIsIm5hbWUiLCJlbnRpdGllcyIsImFkZGl0aW9uYWxQcm9wcyIsIlVzZXIiLCJ0eXBlIiwibnVsbGFibGUiLCJkZXNjIl0sIm1hcHBpbmdzIjoiQUFFQTs7Ozs7O0NBTUMsR0FDRCxPQUFPLE1BQU1BLHFCQUEwQztJQUNyREMsSUFBSTtJQUNKQyxNQUFNO0lBQ05DLFVBQVUsRUFBRTtJQUNaQyxpQkFBaUI7UUFDZkMsTUFBTTtZQUFDO2dCQUFFSCxNQUFNO2dCQUFnQkksTUFBTTtnQkFBV0MsVUFBVTtnQkFBTUMsTUFBTTtZQUFZO1NBQUU7SUFDdEY7QUFDRixFQUFFIn0=
21
+ //#endregion
22
+ export { anonymousEntityDef };
23
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5vbnltb3VzLmpzIiwibmFtZXMiOlsiYW5vbnltb3VzRW50aXR5RGVmOiBCZXR0ZXJBdXRoRW50aXR5RGVmIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2F1dGgvcGx1Z2lucy9lbnRpdHktZGVmaW5pdGlvbnMvYW5vbnltb3VzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgQmV0dGVyQXV0aEVudGl0eURlZiB9IGZyb20gXCIuL3R5cGVzXCI7XG5cbi8qKlxuICogYmV0dGVyLWF1dGggQW5vbnltb3VzIO2UjOufrOq3uOyduCDsl5Tti7Dti7Ag7KCV7J2YXG4gKiBodHRwczovL3d3dy5iZXR0ZXItYXV0aC5jb20vZG9jcy9wbHVnaW5zL2Fub255bW91c1xuICpcbiAqIOydteuqhSDsgqzsmqnsnpAg7J247Kad7J2EIOyngOybkO2VqeuLiOuLpC5cbiAqIOyDiOuhnOyatCDthYzsnbTruJTsnYQg7IOd7ISx7ZWY7KeAIOyViuqzoCBVc2VyIO2FjOydtOu4lOyXkCBpc19hbm9ueW1vdXMg7ZWE65Oc66eMIOy2lOqwgO2VqeuLiOuLpC5cbiAqL1xuZXhwb3J0IGNvbnN0IGFub255bW91c0VudGl0eURlZjogQmV0dGVyQXV0aEVudGl0eURlZiA9IHtcbiAgaWQ6IFwiYW5vbnltb3VzXCIsXG4gIG5hbWU6IFwiQW5vbnltb3VzXCIsXG4gIGVudGl0aWVzOiBbXSxcbiAgYWRkaXRpb25hbFByb3BzOiB7XG4gICAgVXNlcjogW3sgbmFtZTogXCJpc19hbm9ueW1vdXNcIiwgdHlwZTogXCJib29sZWFuXCIsIG51bGxhYmxlOiB0cnVlLCBkZXNjOiBcIuydteuqhSDsgqzsmqnsnpAg7Jes67aAXCIgfV0sXG4gIH0sXG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQVNBLE1BQWFBLHFCQUEwQztDQUNyRCxJQUFJO0NBQ0osTUFBTTtDQUNOLFVBQVUsRUFBRTtDQUNaLGlCQUFpQixFQUNmLE1BQU0sQ0FBQztFQUFFLE1BQU07RUFBZ0IsTUFBTTtFQUFXLFVBQVU7RUFBTSxNQUFNO0VBQWEsQ0FBQyxFQUNyRjtDQUNGIn0=
@@ -1,4 +1,4 @@
1
- import type { BetterAuthEntityDef } from "./types";
1
+ import { type BetterAuthEntityDef } from "./types";
2
2
  /**
3
3
  * better-auth API Key 플러그인 엔티티 정의
4
4
  * https://www.better-auth.com/docs/plugins/api-key
@@ -1 +1 @@
1
- {"version":3,"file":"api-key.d.ts","sourceRoot":"","sources":["../../../../src/auth/plugins/entity-definitions/api-key.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEnD;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,mBAoF7B,CAAC"}
1
+ {"version":3,"file":"api-key.d.ts","sourceRoot":"","sources":["../../../../src/auth/plugins/entity-definitions/api-key.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEnD;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,mBAoF7B,CAAC"}