@m5kdev/backend 0.8.6 → 0.8.8

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 (383) hide show
  1. package/dist/_virtual/_rolldown/runtime.cjs +33 -0
  2. package/dist/node_modules/.pnpm/@better-auth_core@1.4.18_@better-auth_utils@0.3.0_@better-fetch_fetch@1.1.21_better-cal_347838d331444e5371f256b914727290/node_modules/@better-auth/core/dist/api/index.d.cts +1 -0
  3. package/dist/node_modules/.pnpm/@better-auth_core@1.4.18_@better-auth_utils@0.3.0_@better-fetch_fetch@1.1.21_better-cal_347838d331444e5371f256b914727290/node_modules/@better-auth/core/dist/db/adapter/factory.d.cts +1 -0
  4. package/dist/node_modules/.pnpm/@better-auth_core@1.4.18_@better-auth_utils@0.3.0_@better-fetch_fetch@1.1.21_better-cal_347838d331444e5371f256b914727290/node_modules/@better-auth/core/dist/db/adapter/get-field-attributes.d.cts +1 -0
  5. package/dist/node_modules/.pnpm/@better-auth_core@1.4.18_@better-auth_utils@0.3.0_@better-fetch_fetch@1.1.21_better-cal_347838d331444e5371f256b914727290/node_modules/@better-auth/core/dist/db/adapter/get-id-field.d.cts +1 -0
  6. package/dist/node_modules/.pnpm/@better-auth_core@1.4.18_@better-auth_utils@0.3.0_@better-fetch_fetch@1.1.21_better-cal_347838d331444e5371f256b914727290/node_modules/@better-auth/core/dist/db/adapter/index.d.cts +1 -0
  7. package/dist/node_modules/.pnpm/@better-auth_core@1.4.18_@better-auth_utils@0.3.0_@better-fetch_fetch@1.1.21_better-cal_347838d331444e5371f256b914727290/node_modules/@better-auth/core/dist/db/adapter/types.d.cts +1 -0
  8. package/dist/node_modules/.pnpm/@better-auth_core@1.4.18_@better-auth_utils@0.3.0_@better-fetch_fetch@1.1.21_better-cal_347838d331444e5371f256b914727290/node_modules/@better-auth/core/dist/db/get-tables.d.cts +1 -0
  9. package/dist/node_modules/.pnpm/@better-auth_core@1.4.18_@better-auth_utils@0.3.0_@better-fetch_fetch@1.1.21_better-cal_347838d331444e5371f256b914727290/node_modules/@better-auth/core/dist/db/index.d.cts +1 -0
  10. package/dist/node_modules/.pnpm/@better-auth_core@1.4.18_@better-auth_utils@0.3.0_@better-fetch_fetch@1.1.21_better-cal_347838d331444e5371f256b914727290/node_modules/@better-auth/core/dist/db/schema/account.d.cts +1 -0
  11. package/dist/node_modules/.pnpm/@better-auth_core@1.4.18_@better-auth_utils@0.3.0_@better-fetch_fetch@1.1.21_better-cal_347838d331444e5371f256b914727290/node_modules/@better-auth/core/dist/db/schema/rate-limit.d.cts +1 -0
  12. package/dist/node_modules/.pnpm/@better-auth_core@1.4.18_@better-auth_utils@0.3.0_@better-fetch_fetch@1.1.21_better-cal_347838d331444e5371f256b914727290/node_modules/@better-auth/core/dist/db/schema/session.d.cts +1 -0
  13. package/dist/node_modules/.pnpm/@better-auth_core@1.4.18_@better-auth_utils@0.3.0_@better-fetch_fetch@1.1.21_better-cal_347838d331444e5371f256b914727290/node_modules/@better-auth/core/dist/db/schema/shared.d.cts +1 -0
  14. package/dist/node_modules/.pnpm/@better-auth_core@1.4.18_@better-auth_utils@0.3.0_@better-fetch_fetch@1.1.21_better-cal_347838d331444e5371f256b914727290/node_modules/@better-auth/core/dist/db/schema/user.d.cts +1 -0
  15. package/dist/node_modules/.pnpm/@better-auth_core@1.4.18_@better-auth_utils@0.3.0_@better-fetch_fetch@1.1.21_better-cal_347838d331444e5371f256b914727290/node_modules/@better-auth/core/dist/db/schema/verification.d.cts +1 -0
  16. package/dist/node_modules/.pnpm/@better-auth_core@1.4.18_@better-auth_utils@0.3.0_@better-fetch_fetch@1.1.21_better-cal_347838d331444e5371f256b914727290/node_modules/@better-auth/core/dist/index.d.cts +1 -0
  17. package/dist/node_modules/.pnpm/@better-auth_core@1.4.18_@better-auth_utils@0.3.0_@better-fetch_fetch@1.1.21_better-cal_347838d331444e5371f256b914727290/node_modules/@better-auth/core/dist/social-providers/index.d.cts +1 -0
  18. package/dist/node_modules/.pnpm/@better-auth_core@1.4.18_@better-auth_utils@0.3.0_@better-fetch_fetch@1.1.21_better-cal_347838d331444e5371f256b914727290/node_modules/@better-auth/core/dist/types/context.d.cts +1 -0
  19. package/dist/node_modules/.pnpm/@better-auth_core@1.4.18_@better-auth_utils@0.3.0_@better-fetch_fetch@1.1.21_better-cal_347838d331444e5371f256b914727290/node_modules/@better-auth/core/dist/types/helper.d.cts +7 -0
  20. package/dist/node_modules/.pnpm/@better-auth_core@1.4.18_@better-auth_utils@0.3.0_@better-fetch_fetch@1.1.21_better-cal_347838d331444e5371f256b914727290/node_modules/@better-auth/core/dist/types/init-options.d.cts +1 -0
  21. package/dist/node_modules/.pnpm/@better-auth_core@1.4.18_@better-auth_utils@0.3.0_@better-fetch_fetch@1.1.21_better-cal_347838d331444e5371f256b914727290/node_modules/@better-auth/core/dist/types/plugin-client.d.cts +1 -0
  22. package/dist/node_modules/.pnpm/@better-auth_core@1.4.18_@better-auth_utils@0.3.0_@better-fetch_fetch@1.1.21_better-cal_347838d331444e5371f256b914727290/node_modules/@better-auth/core/dist/types/plugin.d.cts +1 -0
  23. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/dialect/dialect-adapter-base.d.cts +1 -0
  24. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/dialect/dialect-adapter.d.cts +1 -0
  25. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/dialect/dialect.d.cts +1 -0
  26. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/dialect/mssql/mssql-adapter.d.cts +1 -0
  27. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/dialect/mssql/mssql-dialect.d.cts +1 -0
  28. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/dialect/mssql/mssql-introspector.d.cts +1 -0
  29. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/dialect/mysql/mysql-adapter.d.cts +1 -0
  30. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/dialect/mysql/mysql-dialect.d.cts +1 -0
  31. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/dialect/mysql/mysql-introspector.d.cts +1 -0
  32. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/dialect/postgres/postgres-adapter.d.cts +1 -0
  33. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/dialect/postgres/postgres-dialect.d.cts +1 -0
  34. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/dialect/postgres/postgres-introspector.d.cts +1 -0
  35. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-adapter.d.cts +1 -0
  36. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-dialect.d.cts +1 -0
  37. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-introspector.d.cts +1 -0
  38. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/expression/expression-builder.d.cts +1 -0
  39. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/index.d.cts +1 -0
  40. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/kysely.d.cts +38 -0
  41. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/migration/file-migration-provider.d.cts +1 -0
  42. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/migration/migrator.d.cts +1 -0
  43. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/parser/binary-operation-parser.d.cts +1 -0
  44. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/parser/delete-from-parser.d.cts +1 -0
  45. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/parser/expression-parser.d.cts +1 -0
  46. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/parser/group-by-parser.d.cts +1 -0
  47. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/parser/insert-values-parser.d.cts +1 -0
  48. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/parser/join-parser.d.cts +1 -0
  49. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/parser/merge-into-parser.d.cts +1 -0
  50. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/parser/reference-parser.d.cts +1 -0
  51. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/parser/returning-parser.d.cts +1 -0
  52. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/parser/select-from-parser.d.cts +1 -0
  53. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/parser/select-parser.d.cts +1 -0
  54. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/parser/set-operation-parser.d.cts +1 -0
  55. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/parser/tuple-parser.d.cts +1 -0
  56. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/parser/unary-operation-parser.d.cts +1 -0
  57. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/parser/update-parser.d.cts +1 -0
  58. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/parser/update-set-parser.d.cts +1 -0
  59. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/parser/value-parser.d.cts +1 -0
  60. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/parser/with-parser.d.cts +1 -0
  61. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/query-builder/case-builder.d.cts +1 -0
  62. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/query-builder/delete-query-builder.d.cts +1 -0
  63. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/query-builder/having-interface.d.cts +1 -0
  64. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/query-builder/insert-query-builder.d.cts +1 -0
  65. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/query-builder/join-builder.d.cts +1 -0
  66. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/query-builder/merge-query-builder.d.cts +1 -0
  67. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/query-builder/on-conflict-builder.d.cts +1 -0
  68. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/query-builder/output-interface.d.cts +1 -0
  69. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/query-builder/returning-interface.d.cts +1 -0
  70. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/query-builder/select-query-builder.d.cts +1 -0
  71. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/query-builder/update-query-builder.d.cts +1 -0
  72. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/query-builder/where-interface.d.cts +1 -0
  73. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/query-creator.d.cts +1 -0
  74. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/query-executor/default-query-executor.d.cts +1 -0
  75. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/query-executor/noop-query-executor.d.cts +1 -0
  76. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/query-executor/query-executor-base.d.cts +1 -0
  77. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/query-executor/query-executor-provider.d.cts +1 -0
  78. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/query-executor/query-executor.d.cts +1 -0
  79. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/raw-builder/raw-builder.d.cts +1 -0
  80. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/raw-builder/sql.d.cts +1 -0
  81. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/schema/alter-table-add-foreign-key-constraint-builder.d.cts +1 -0
  82. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/schema/alter-table-add-index-builder.d.cts +1 -0
  83. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/schema/alter-table-builder.d.cts +1 -0
  84. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/schema/alter-table-drop-constraint-builder.d.cts +1 -0
  85. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/schema/alter-table-executor.d.cts +1 -0
  86. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/schema/create-index-builder.d.cts +1 -0
  87. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/schema/create-schema-builder.d.cts +1 -0
  88. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/schema/create-table-builder.d.cts +1 -0
  89. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/schema/create-type-builder.d.cts +1 -0
  90. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/schema/create-view-builder.d.cts +1 -0
  91. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/schema/drop-index-builder.d.cts +1 -0
  92. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/schema/drop-schema-builder.d.cts +1 -0
  93. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/schema/drop-table-builder.d.cts +1 -0
  94. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/schema/drop-type-builder.d.cts +1 -0
  95. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/schema/drop-view-builder.d.cts +1 -0
  96. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/schema/refresh-materialized-view-builder.d.cts +1 -0
  97. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/schema/schema.d.cts +1 -0
  98. package/dist/src/lib/posthog.cjs +8 -0
  99. package/dist/src/lib/posthog.cjs.map +1 -0
  100. package/dist/src/lib/posthog.d.cts +7 -0
  101. package/dist/src/lib/sentry.cjs +11 -0
  102. package/dist/src/lib/sentry.cjs.map +1 -0
  103. package/dist/src/lib/sentry.d.cts +1 -0
  104. package/dist/src/modules/access/access.repository.cjs +26 -0
  105. package/dist/src/modules/access/access.repository.cjs.map +1 -0
  106. package/dist/src/modules/access/access.repository.d.cts +2352 -0
  107. package/dist/src/modules/access/access.service.cjs +42 -0
  108. package/dist/src/modules/access/access.service.cjs.map +1 -0
  109. package/dist/src/modules/access/access.service.d.cts +25 -0
  110. package/dist/src/modules/access/access.utils.cjs +23 -0
  111. package/dist/src/modules/access/access.utils.cjs.map +1 -0
  112. package/dist/src/modules/access/access.utils.d.cts +19 -0
  113. package/dist/src/modules/ai/ai.db.cjs +46 -0
  114. package/dist/src/modules/ai/ai.db.cjs.map +1 -0
  115. package/dist/src/modules/ai/ai.db.d.cts +401 -0
  116. package/dist/src/modules/ai/ai.prompt.cjs +33 -0
  117. package/dist/src/modules/ai/ai.prompt.cjs.map +1 -0
  118. package/dist/src/modules/ai/ai.prompt.d.cts +30 -0
  119. package/dist/src/modules/ai/ai.prompts.cjs +18 -0
  120. package/dist/src/modules/ai/ai.prompts.cjs.map +1 -0
  121. package/dist/src/modules/ai/ai.prompts.d.cts +10 -0
  122. package/dist/src/modules/ai/ai.repository.cjs +25 -0
  123. package/dist/src/modules/ai/ai.repository.cjs.map +1 -0
  124. package/dist/src/modules/ai/ai.repository.d.cts +428 -0
  125. package/dist/src/modules/ai/ai.router.cjs +0 -0
  126. package/dist/src/modules/ai/ai.router.d.cts +1 -0
  127. package/dist/src/modules/ai/ai.service.cjs +312 -0
  128. package/dist/src/modules/ai/ai.service.cjs.map +1 -0
  129. package/dist/src/modules/ai/ai.service.d.cts +141 -0
  130. package/dist/src/modules/ai/ai.trpc.cjs +19 -0
  131. package/dist/src/modules/ai/ai.trpc.cjs.map +1 -0
  132. package/dist/src/modules/ai/ai.trpc.d.cts +31 -0
  133. package/dist/src/modules/ai/ideogram/ideogram.constants.cjs +191 -0
  134. package/dist/src/modules/ai/ideogram/ideogram.constants.cjs.map +1 -0
  135. package/dist/src/modules/ai/ideogram/ideogram.constants.d.cts +11 -0
  136. package/dist/src/modules/ai/ideogram/ideogram.dto.cjs +49 -0
  137. package/dist/src/modules/ai/ideogram/ideogram.dto.cjs.map +1 -0
  138. package/dist/src/modules/ai/ideogram/ideogram.dto.d.cts +234 -0
  139. package/dist/src/modules/ai/ideogram/ideogram.prompt.cjs +862 -0
  140. package/dist/src/modules/ai/ideogram/ideogram.prompt.cjs.map +1 -0
  141. package/dist/src/modules/ai/ideogram/ideogram.prompt.d.cts +7 -0
  142. package/dist/src/modules/ai/ideogram/ideogram.repository.cjs +34 -0
  143. package/dist/src/modules/ai/ideogram/ideogram.repository.cjs.map +1 -0
  144. package/dist/src/modules/ai/ideogram/ideogram.repository.d.cts +11 -0
  145. package/dist/src/modules/ai/ideogram/ideogram.service.cjs +12 -0
  146. package/dist/src/modules/ai/ideogram/ideogram.service.cjs.map +1 -0
  147. package/dist/src/modules/ai/ideogram/ideogram.service.d.cts +14 -0
  148. package/dist/src/modules/auth/auth.db.cjs +187 -0
  149. package/dist/src/modules/auth/auth.db.cjs.map +1 -0
  150. package/dist/src/modules/auth/auth.db.d.cts +2341 -0
  151. package/dist/src/modules/auth/auth.dto.cjs +50 -0
  152. package/dist/src/modules/auth/auth.dto.cjs.map +1 -0
  153. package/dist/src/modules/auth/auth.dto.d.cts +70 -0
  154. package/dist/src/modules/auth/auth.lib.cjs +234 -0
  155. package/dist/src/modules/auth/auth.lib.cjs.map +1 -0
  156. package/dist/src/modules/auth/auth.lib.d.cts +4894 -0
  157. package/dist/src/modules/auth/auth.middleware.cjs +41 -0
  158. package/dist/src/modules/auth/auth.middleware.cjs.map +1 -0
  159. package/dist/src/modules/auth/auth.middleware.d.cts +619 -0
  160. package/dist/src/modules/auth/auth.repository.cjs +403 -0
  161. package/dist/src/modules/auth/auth.repository.cjs.map +1 -0
  162. package/dist/src/modules/auth/auth.repository.d.cts +2453 -0
  163. package/dist/src/modules/auth/auth.service.cjs +229 -0
  164. package/dist/src/modules/auth/auth.service.cjs.map +1 -0
  165. package/dist/src/modules/auth/auth.service.d.cts +105 -0
  166. package/dist/src/modules/auth/auth.trpc.cjs +110 -0
  167. package/dist/src/modules/auth/auth.trpc.cjs.map +1 -0
  168. package/dist/src/modules/auth/auth.trpc.d.cts +303 -0
  169. package/dist/src/modules/auth/auth.utils.cjs +80 -0
  170. package/dist/src/modules/auth/auth.utils.cjs.map +1 -0
  171. package/dist/src/modules/auth/auth.utils.d.cts +2356 -0
  172. package/dist/src/modules/base/base.abstract.cjs +62 -0
  173. package/dist/src/modules/base/base.abstract.cjs.map +1 -0
  174. package/dist/src/modules/base/base.abstract.d.cts +29 -0
  175. package/dist/src/modules/base/base.actor.cjs +83 -0
  176. package/dist/src/modules/base/base.actor.cjs.map +1 -0
  177. package/dist/src/modules/base/base.actor.d.cts +73 -0
  178. package/dist/src/modules/base/base.dto.cjs +98 -0
  179. package/dist/src/modules/base/base.dto.cjs.map +1 -0
  180. package/dist/src/modules/base/base.dto.d.cts +67 -0
  181. package/dist/src/modules/base/base.grants.cjs +107 -0
  182. package/dist/src/modules/base/base.grants.cjs.map +1 -0
  183. package/dist/src/modules/base/base.grants.d.cts +28 -0
  184. package/dist/src/modules/base/base.procedure.cjs +255 -0
  185. package/dist/src/modules/base/base.procedure.cjs.map +1 -0
  186. package/dist/src/modules/base/base.procedure.d.cts +111 -0
  187. package/dist/src/modules/base/base.repository.cjs +269 -0
  188. package/dist/src/modules/base/base.repository.cjs.map +1 -0
  189. package/dist/src/modules/base/base.repository.d.cts +125 -0
  190. package/dist/src/modules/base/base.repository.d.mts +2 -0
  191. package/dist/src/modules/base/base.repository.mjs +12 -0
  192. package/dist/src/modules/base/base.repository.mjs.map +1 -1
  193. package/dist/src/modules/base/base.service.cjs +119 -0
  194. package/dist/src/modules/base/base.service.cjs.map +1 -0
  195. package/dist/src/modules/base/base.service.d.cts +44 -0
  196. package/dist/src/modules/base/base.types.cjs +0 -0
  197. package/dist/src/modules/base/base.types.d.cts +5 -0
  198. package/dist/src/modules/billing/billing.db.cjs +38 -0
  199. package/dist/src/modules/billing/billing.db.cjs.map +1 -0
  200. package/dist/src/modules/billing/billing.db.d.cts +371 -0
  201. package/dist/src/modules/billing/billing.repository.cjs +190 -0
  202. package/dist/src/modules/billing/billing.repository.cjs.map +1 -0
  203. package/dist/src/modules/billing/billing.repository.d.cts +2787 -0
  204. package/dist/src/modules/billing/billing.repository.d.mts +11 -11
  205. package/dist/src/modules/billing/billing.router.cjs +43 -0
  206. package/dist/src/modules/billing/billing.router.cjs.map +1 -0
  207. package/dist/src/modules/billing/billing.router.d.cts +9 -0
  208. package/dist/src/modules/billing/billing.service.cjs +127 -0
  209. package/dist/src/modules/billing/billing.service.cjs.map +1 -0
  210. package/dist/src/modules/billing/billing.service.d.cts +53 -0
  211. package/dist/src/modules/billing/billing.service.d.mts +7 -7
  212. package/dist/src/modules/billing/billing.trpc.cjs +19 -0
  213. package/dist/src/modules/billing/billing.trpc.cjs.map +1 -0
  214. package/dist/src/modules/billing/billing.trpc.d.cts +48 -0
  215. package/dist/src/modules/clay/clay.repository.cjs +29 -0
  216. package/dist/src/modules/clay/clay.repository.cjs.map +1 -0
  217. package/dist/src/modules/clay/clay.repository.d.cts +10 -0
  218. package/dist/src/modules/clay/clay.service.cjs +24 -0
  219. package/dist/src/modules/clay/clay.service.cjs.map +1 -0
  220. package/dist/src/modules/clay/clay.service.d.cts +32 -0
  221. package/dist/src/modules/connect/connect.db.cjs +37 -0
  222. package/dist/src/modules/connect/connect.db.cjs.map +1 -0
  223. package/dist/src/modules/connect/connect.db.d.cts +362 -0
  224. package/dist/src/modules/connect/connect.dto.cjs +45 -0
  225. package/dist/src/modules/connect/connect.dto.cjs.map +1 -0
  226. package/dist/src/modules/connect/connect.dto.d.cts +79 -0
  227. package/dist/src/modules/connect/connect.linkedin.cjs +48 -0
  228. package/dist/src/modules/connect/connect.linkedin.cjs.map +1 -0
  229. package/dist/src/modules/connect/connect.linkedin.d.cts +7 -0
  230. package/dist/src/modules/connect/connect.oauth.cjs +153 -0
  231. package/dist/src/modules/connect/connect.oauth.cjs.map +1 -0
  232. package/dist/src/modules/connect/connect.oauth.d.cts +32 -0
  233. package/dist/src/modules/connect/connect.repository.cjs +42 -0
  234. package/dist/src/modules/connect/connect.repository.cjs.map +1 -0
  235. package/dist/src/modules/connect/connect.repository.d.cts +419 -0
  236. package/dist/src/modules/connect/connect.router.cjs +48 -0
  237. package/dist/src/modules/connect/connect.router.cjs.map +1 -0
  238. package/dist/src/modules/connect/connect.router.d.cts +9 -0
  239. package/dist/src/modules/connect/connect.service.cjs +90 -0
  240. package/dist/src/modules/connect/connect.service.cjs.map +1 -0
  241. package/dist/src/modules/connect/connect.service.d.cts +103 -0
  242. package/dist/src/modules/connect/connect.trpc.cjs +18 -0
  243. package/dist/src/modules/connect/connect.trpc.cjs.map +1 -0
  244. package/dist/src/modules/connect/connect.trpc.d.cts +53 -0
  245. package/dist/src/modules/connect/connect.types.cjs +0 -0
  246. package/dist/src/modules/connect/connect.types.d.cts +29 -0
  247. package/dist/src/modules/crypto/crypto.db.cjs +26 -0
  248. package/dist/src/modules/crypto/crypto.db.cjs.map +1 -0
  249. package/dist/src/modules/crypto/crypto.db.d.cts +157 -0
  250. package/dist/src/modules/crypto/crypto.repository.cjs +9 -0
  251. package/dist/src/modules/crypto/crypto.repository.cjs.map +1 -0
  252. package/dist/src/modules/crypto/crypto.repository.d.cts +163 -0
  253. package/dist/src/modules/crypto/crypto.service.cjs +46 -0
  254. package/dist/src/modules/crypto/crypto.service.cjs.map +1 -0
  255. package/dist/src/modules/crypto/crypto.service.d.cts +15 -0
  256. package/dist/src/modules/email/email.service.cjs +107 -0
  257. package/dist/src/modules/email/email.service.cjs.map +1 -0
  258. package/dist/src/modules/email/email.service.d.cts +62 -0
  259. package/dist/src/modules/file/file.repository.cjs +74 -0
  260. package/dist/src/modules/file/file.repository.cjs.map +1 -0
  261. package/dist/src/modules/file/file.repository.d.cts +17 -0
  262. package/dist/src/modules/file/file.router.cjs +94 -0
  263. package/dist/src/modules/file/file.router.cjs.map +1 -0
  264. package/dist/src/modules/file/file.router.d.cts +7 -0
  265. package/dist/src/modules/file/file.service.cjs +120 -0
  266. package/dist/src/modules/file/file.service.cjs.map +1 -0
  267. package/dist/src/modules/file/file.service.d.cts +30 -0
  268. package/dist/src/modules/recurrence/recurrence.db.cjs +55 -0
  269. package/dist/src/modules/recurrence/recurrence.db.cjs.map +1 -0
  270. package/dist/src/modules/recurrence/recurrence.db.d.cts +568 -0
  271. package/dist/src/modules/recurrence/recurrence.repository.cjs +31 -0
  272. package/dist/src/modules/recurrence/recurrence.repository.cjs.map +1 -0
  273. package/dist/src/modules/recurrence/recurrence.repository.d.cts +588 -0
  274. package/dist/src/modules/recurrence/recurrence.service.cjs +66 -0
  275. package/dist/src/modules/recurrence/recurrence.service.cjs.map +1 -0
  276. package/dist/src/modules/recurrence/recurrence.service.d.cts +88 -0
  277. package/dist/src/modules/recurrence/recurrence.service.d.mts +2 -1
  278. package/dist/src/modules/recurrence/recurrence.service.mjs +1 -1
  279. package/dist/src/modules/recurrence/recurrence.service.mjs.map +1 -1
  280. package/dist/src/modules/recurrence/recurrence.trpc.cjs +46 -0
  281. package/dist/src/modules/recurrence/recurrence.trpc.cjs.map +1 -0
  282. package/dist/src/modules/recurrence/recurrence.trpc.d.cts +216 -0
  283. package/dist/src/modules/recurrence/recurrence.trpc.d.mts +2 -1
  284. package/dist/src/modules/social/social.dto.cjs +26 -0
  285. package/dist/src/modules/social/social.dto.cjs.map +1 -0
  286. package/dist/src/modules/social/social.dto.d.cts +39 -0
  287. package/dist/src/modules/social/social.linkedin.cjs +349 -0
  288. package/dist/src/modules/social/social.linkedin.cjs.map +1 -0
  289. package/dist/src/modules/social/social.linkedin.d.cts +15 -0
  290. package/dist/src/modules/social/social.service.cjs +57 -0
  291. package/dist/src/modules/social/social.service.cjs.map +1 -0
  292. package/dist/src/modules/social/social.service.d.cts +34 -0
  293. package/dist/src/modules/social/social.types.cjs +0 -0
  294. package/dist/src/modules/social/social.types.d.cts +40 -0
  295. package/dist/src/modules/tag/tag.db.cjs +43 -0
  296. package/dist/src/modules/tag/tag.db.cjs.map +1 -0
  297. package/dist/src/modules/tag/tag.db.d.cts +352 -0
  298. package/dist/src/modules/tag/tag.dto.cjs +15 -0
  299. package/dist/src/modules/tag/tag.dto.cjs.map +1 -0
  300. package/dist/src/modules/tag/tag.dto.d.cts +1025 -0
  301. package/dist/src/modules/tag/tag.repository.cjs +116 -0
  302. package/dist/src/modules/tag/tag.repository.cjs.map +1 -0
  303. package/dist/src/modules/tag/tag.repository.d.cts +394 -0
  304. package/dist/src/modules/tag/tag.service.cjs +48 -0
  305. package/dist/src/modules/tag/tag.service.cjs.map +1 -0
  306. package/dist/src/modules/tag/tag.service.d.cts +120 -0
  307. package/dist/src/modules/tag/tag.trpc.cjs +32 -0
  308. package/dist/src/modules/tag/tag.trpc.cjs.map +1 -0
  309. package/dist/src/modules/tag/tag.trpc.d.cts +174 -0
  310. package/dist/src/modules/tag/tag.trpc.d.mts +3 -2
  311. package/dist/src/modules/utils/applyPagination.cjs +16 -0
  312. package/dist/src/modules/utils/applyPagination.cjs.map +1 -0
  313. package/dist/src/modules/utils/applyPagination.d.cts +10 -0
  314. package/dist/src/modules/utils/applySorting.cjs +20 -0
  315. package/dist/src/modules/utils/applySorting.cjs.map +1 -0
  316. package/dist/src/modules/utils/applySorting.d.cts +13 -0
  317. package/dist/src/modules/utils/getConditionsFromFilters.cjs +152 -0
  318. package/dist/src/modules/utils/getConditionsFromFilters.cjs.map +1 -0
  319. package/dist/src/modules/utils/getConditionsFromFilters.d.cts +9 -0
  320. package/dist/src/modules/utils/getGlobalSearchCondition.cjs +30 -0
  321. package/dist/src/modules/utils/getGlobalSearchCondition.cjs.map +1 -0
  322. package/dist/src/modules/utils/getGlobalSearchCondition.d.cts +18 -0
  323. package/dist/src/modules/utils/getGlobalSearchCondition.d.mts +18 -0
  324. package/dist/src/modules/utils/getGlobalSearchCondition.mjs +26 -0
  325. package/dist/src/modules/utils/getGlobalSearchCondition.mjs.map +1 -0
  326. package/dist/src/modules/video/video.service.cjs +114 -0
  327. package/dist/src/modules/video/video.service.cjs.map +1 -0
  328. package/dist/src/modules/video/video.service.d.cts +12 -0
  329. package/dist/src/modules/video/video.service.mjs +73 -13
  330. package/dist/src/modules/video/video.service.mjs.map +1 -1
  331. package/dist/src/modules/webhook/webhook.constants.cjs +13 -0
  332. package/dist/src/modules/webhook/webhook.constants.cjs.map +1 -0
  333. package/dist/src/modules/webhook/webhook.constants.d.cts +12 -0
  334. package/dist/src/modules/webhook/webhook.db.cjs +19 -0
  335. package/dist/src/modules/webhook/webhook.db.cjs.map +1 -0
  336. package/dist/src/modules/webhook/webhook.db.d.cts +142 -0
  337. package/dist/src/modules/webhook/webhook.dto.cjs +11 -0
  338. package/dist/src/modules/webhook/webhook.dto.cjs.map +1 -0
  339. package/dist/src/modules/webhook/webhook.dto.d.cts +402 -0
  340. package/dist/src/modules/webhook/webhook.repository.cjs +52 -0
  341. package/dist/src/modules/webhook/webhook.repository.cjs.map +1 -0
  342. package/dist/src/modules/webhook/webhook.repository.d.cts +154 -0
  343. package/dist/src/modules/webhook/webhook.router.cjs +26 -0
  344. package/dist/src/modules/webhook/webhook.router.cjs.map +1 -0
  345. package/dist/src/modules/webhook/webhook.router.d.cts +8 -0
  346. package/dist/src/modules/webhook/webhook.service.cjs +61 -0
  347. package/dist/src/modules/webhook/webhook.service.cjs.map +1 -0
  348. package/dist/src/modules/webhook/webhook.service.d.cts +14 -0
  349. package/dist/src/modules/workflow/workflow.db.cjs +35 -0
  350. package/dist/src/modules/workflow/workflow.db.cjs.map +1 -0
  351. package/dist/src/modules/workflow/workflow.db.d.cts +302 -0
  352. package/dist/src/modules/workflow/workflow.repository.cjs +95 -0
  353. package/dist/src/modules/workflow/workflow.repository.cjs.map +1 -0
  354. package/dist/src/modules/workflow/workflow.repository.d.cts +371 -0
  355. package/dist/src/modules/workflow/workflow.service.cjs +41 -0
  356. package/dist/src/modules/workflow/workflow.service.cjs.map +1 -0
  357. package/dist/src/modules/workflow/workflow.service.d.cts +68 -0
  358. package/dist/src/modules/workflow/workflow.trpc.cjs +19 -0
  359. package/dist/src/modules/workflow/workflow.trpc.cjs.map +1 -0
  360. package/dist/src/modules/workflow/workflow.trpc.d.cts +65 -0
  361. package/dist/src/modules/workflow/workflow.types.cjs +0 -0
  362. package/dist/src/modules/workflow/workflow.types.d.cts +25 -0
  363. package/dist/src/modules/workflow/workflow.utils.cjs +185 -0
  364. package/dist/src/modules/workflow/workflow.utils.cjs.map +1 -0
  365. package/dist/src/modules/workflow/workflow.utils.d.cts +36 -0
  366. package/dist/src/types.cjs +12 -0
  367. package/dist/src/types.cjs.map +1 -0
  368. package/dist/src/types.d.cts +344 -0
  369. package/dist/src/utils/errors.cjs +101 -0
  370. package/dist/src/utils/errors.cjs.map +1 -0
  371. package/dist/src/utils/errors.d.cts +62 -0
  372. package/dist/src/utils/logger.cjs +13 -0
  373. package/dist/src/utils/logger.cjs.map +1 -0
  374. package/dist/src/utils/logger.d.cts +7 -0
  375. package/dist/src/utils/posthog.cjs +31 -0
  376. package/dist/src/utils/posthog.cjs.map +1 -0
  377. package/dist/src/utils/posthog.d.cts +17 -0
  378. package/dist/src/utils/trpc.cjs +156 -0
  379. package/dist/src/utils/trpc.cjs.map +1 -0
  380. package/dist/src/utils/trpc.d.cts +54 -0
  381. package/dist/src/utils/types.cjs +0 -0
  382. package/dist/src/utils/types.d.cts +9 -0
  383. package/package.json +171 -47
@@ -0,0 +1,101 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ require("../../_virtual/_rolldown/runtime.cjs");
3
+ const require_src_utils_logger = require("./logger.cjs");
4
+ let _trpc_server = require("@trpc/server");
5
+ let _trpc_server_http = require("@trpc/server/http");
6
+ let radashi = require("radashi");
7
+ //#region src/utils/errors.ts
8
+ var ServerError = class ServerError extends Error {
9
+ code;
10
+ layer;
11
+ layerName;
12
+ clientMessage;
13
+ context;
14
+ boundaryStack;
15
+ constructor({ code, layer, layerName, message, clientMessage, cause, context, captureBoundary = true }) {
16
+ super(message ?? `server.error.${layer}.${(0, radashi.camel)(code)}`, { cause: cause instanceof Error ? cause : void 0 });
17
+ this.code = code;
18
+ this.layer = layer ?? "unknown";
19
+ this.layerName = layerName ?? "UnknownLayer";
20
+ this.clientMessage = clientMessage ?? `server.error.${layer}.${(0, radashi.camel)(code)}`;
21
+ this.context = context;
22
+ if (captureBoundary) this.boundaryStack = (/* @__PURE__ */ new Error()).stack;
23
+ Error.captureStackTrace?.(this, ServerError);
24
+ Object.setPrototypeOf(this, new.target.prototype);
25
+ }
26
+ is5xxError() {
27
+ const statusCode = this.getHTTPStatusCode();
28
+ return statusCode >= 500 && statusCode < 600;
29
+ }
30
+ getHTTPStatusCode() {
31
+ return (0, _trpc_server_http.getHTTPStatusCodeFromError)(this.toTRPC());
32
+ }
33
+ toTRPC() {
34
+ return new _trpc_server.TRPCError({
35
+ code: this.code,
36
+ message: this.message,
37
+ cause: this.cause
38
+ });
39
+ }
40
+ toJSON() {
41
+ return {
42
+ code: this.code,
43
+ layer: this.layer,
44
+ layerName: this.layerName,
45
+ message: this.message,
46
+ context: this.context,
47
+ stack: process.env.NODE_ENV !== "production" ? this.stack : void 0,
48
+ boundaryStack: process.env.NODE_ENV !== "production" ? this.boundaryStack : void 0,
49
+ cause: this.cause instanceof Error ? {
50
+ name: this.cause.name,
51
+ message: this.cause.message,
52
+ stack: this.cause.stack
53
+ } : this.cause
54
+ };
55
+ }
56
+ static fromUnknown(code, cause, opts) {
57
+ const msg = cause instanceof Error ? cause.message : void 0;
58
+ return new ServerError({
59
+ code,
60
+ layer: opts?.layer,
61
+ layerName: opts?.layerName,
62
+ message: msg,
63
+ cause,
64
+ context: opts?.context,
65
+ captureBoundary: true
66
+ });
67
+ }
68
+ };
69
+ function getErrorReporter() {
70
+ return globalThis.m5ErrorReporter;
71
+ }
72
+ function setErrorReporter(reporter) {
73
+ globalThis.m5ErrorReporter = reporter;
74
+ }
75
+ function reportError(err, hint) {
76
+ let eventHint = hint;
77
+ const reporter = getErrorReporter();
78
+ if (!reporter) {
79
+ require_src_utils_logger.logger.error("[reportError] No error reporter set!");
80
+ return;
81
+ }
82
+ if (err instanceof ServerError) eventHint = {
83
+ ...hint,
84
+ captureContext: {
85
+ ...hint?.captureContext,
86
+ extra: {
87
+ ...hint?.captureContext?.extra ?? {},
88
+ layer: err.layer,
89
+ layerName: err.layerName
90
+ }
91
+ }
92
+ };
93
+ return reporter.captureException(err, eventHint);
94
+ }
95
+ //#endregion
96
+ exports.ServerError = ServerError;
97
+ exports.getErrorReporter = getErrorReporter;
98
+ exports.reportError = reportError;
99
+ exports.setErrorReporter = setErrorReporter;
100
+
101
+ //# sourceMappingURL=errors.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.cjs","names":["TRPCError"],"sources":["../../../src/utils/errors.ts"],"sourcesContent":["import type { captureException } from \"@sentry/node\";\r\nimport { type TRPC_ERROR_CODE_KEY, TRPCError } from \"@trpc/server\";\r\nimport { getHTTPStatusCodeFromError } from \"@trpc/server/http\";\r\nimport { camel } from \"radashi\";\r\nimport type { ServerErrorLayer } from \"../modules/base/base.types\";\r\nimport { logger } from \"./logger\";\r\n\r\nexport type { ServerErrorLayer };\r\nexport class ServerError extends Error {\r\n readonly code: TRPC_ERROR_CODE_KEY;\r\n readonly layer: ServerErrorLayer;\r\n readonly layerName: string;\r\n readonly clientMessage?: string;\r\n readonly context?: Record<string, unknown>;\r\n readonly boundaryStack?: string; // where we wrapped it\r\n\r\n constructor({\r\n code,\r\n layer,\r\n layerName,\r\n message,\r\n clientMessage,\r\n cause,\r\n context,\r\n captureBoundary = true,\r\n }: {\r\n code: TRPC_ERROR_CODE_KEY;\r\n layer?: ServerErrorLayer;\r\n layerName?: string;\r\n message?: string;\r\n clientMessage?: string;\r\n cause?: unknown;\r\n context?: Record<string, unknown>;\r\n captureBoundary?: boolean;\r\n }) {\r\n // keep native cause chain when the cause is an Error\r\n super(message ?? `server.error.${layer}.${camel(code)}`, {\r\n cause: cause instanceof Error ? cause : undefined,\r\n });\r\n\r\n this.code = code;\r\n this.layer = layer ?? \"unknown\";\r\n this.layerName = layerName ?? \"UnknownLayer\";\r\n this.clientMessage = clientMessage ?? `server.error.${layer}.${camel(code)}`;\r\n this.context = context;\r\n if (captureBoundary) this.boundaryStack = new Error().stack;\r\n\r\n Error.captureStackTrace?.(this, ServerError);\r\n Object.setPrototypeOf(this, new.target.prototype);\r\n }\r\n\r\n is5xxError(): boolean {\r\n const statusCode = this.getHTTPStatusCode();\r\n return statusCode >= 500 && statusCode < 600;\r\n }\r\n\r\n getHTTPStatusCode(): number {\r\n return getHTTPStatusCodeFromError(this.toTRPC());\r\n }\r\n\r\n toTRPC(): TRPCError {\r\n return new TRPCError({\r\n code: this.code,\r\n message: this.message,\r\n cause: this.cause,\r\n });\r\n }\r\n\r\n toJSON() {\r\n return {\r\n code: this.code,\r\n layer: this.layer,\r\n layerName: this.layerName,\r\n message: this.message,\r\n context: this.context,\r\n stack: process.env.NODE_ENV !== \"production\" ? this.stack : undefined,\r\n boundaryStack: process.env.NODE_ENV !== \"production\" ? this.boundaryStack : undefined,\r\n // Shallow representation of cause to avoid cycles\r\n cause:\r\n this.cause instanceof Error\r\n ? { name: this.cause.name, message: this.cause.message, stack: this.cause.stack }\r\n : this.cause,\r\n };\r\n }\r\n\r\n static fromUnknown(\r\n code: TRPC_ERROR_CODE_KEY,\r\n cause: unknown,\r\n opts?: { layer?: ServerErrorLayer; layerName?: string; context?: Record<string, unknown> }\r\n ) {\r\n const msg = cause instanceof Error ? cause.message : undefined;\r\n return new ServerError({\r\n code,\r\n layer: opts?.layer,\r\n layerName: opts?.layerName,\r\n message: msg,\r\n cause,\r\n context: opts?.context,\r\n captureBoundary: true,\r\n });\r\n }\r\n}\r\n\r\nexport type ErrorReporter = {\r\n captureException: (\r\n err: Parameters<typeof captureException>[0],\r\n hint?: Parameters<typeof captureException>[1]\r\n ) => string;\r\n};\r\ndeclare global {\r\n // eslint-disable-next-line no-var\r\n var m5ErrorReporter: ErrorReporter | undefined;\r\n}\r\n\r\nexport function getErrorReporter(): ErrorReporter | undefined {\r\n return globalThis.m5ErrorReporter;\r\n}\r\n\r\nexport function setErrorReporter(reporter: ErrorReporter) {\r\n globalThis.m5ErrorReporter = reporter;\r\n}\r\n\r\nexport function reportError(\r\n err: ServerError | Error | unknown,\r\n hint?: Parameters<typeof captureException>[1]\r\n): string | undefined {\r\n let eventHint = hint;\r\n const reporter = getErrorReporter();\r\n if (!reporter) {\r\n logger.error(\"[reportError] No error reporter set!\");\r\n return;\r\n }\r\n if (err instanceof ServerError) {\r\n // Merge - don't clobber caller-provided hint\r\n eventHint = {\r\n ...hint,\r\n captureContext: {\r\n ...(hint as any)?.captureContext,\r\n extra: {\r\n ...((hint as any)?.captureContext?.extra ?? {}),\r\n layer: err.layer,\r\n layerName: err.layerName,\r\n },\r\n },\r\n };\r\n }\r\n return reporter.captureException(err, eventHint);\r\n}\r\n"],"mappings":";;;;;;;AAQA,IAAa,cAAb,MAAa,oBAAoB,MAAM;CACrC;CACA;CACA;CACA;CACA;CACA;CAEA,YAAY,EACV,MACA,OACA,WACA,SACA,eACA,OACA,SACA,kBAAkB,QAUjB;AAED,QAAM,WAAW,gBAAgB,MAAM,IAAA,GAAA,QAAA,OAAS,KAAK,IAAI,EACvD,OAAO,iBAAiB,QAAQ,QAAQ,KAAA,GACzC,CAAC;AAEF,OAAK,OAAO;AACZ,OAAK,QAAQ,SAAS;AACtB,OAAK,YAAY,aAAa;AAC9B,OAAK,gBAAgB,iBAAiB,gBAAgB,MAAM,IAAA,GAAA,QAAA,OAAS,KAAK;AAC1E,OAAK,UAAU;AACf,MAAI,gBAAiB,MAAK,iCAAgB,IAAI,OAAO,EAAC;AAEtD,QAAM,oBAAoB,MAAM,YAAY;AAC5C,SAAO,eAAe,MAAM,IAAI,OAAO,UAAU;;CAGnD,aAAsB;EACpB,MAAM,aAAa,KAAK,mBAAmB;AAC3C,SAAO,cAAc,OAAO,aAAa;;CAG3C,oBAA4B;AAC1B,UAAA,GAAA,kBAAA,4BAAkC,KAAK,QAAQ,CAAC;;CAGlD,SAAoB;AAClB,SAAO,IAAIA,aAAAA,UAAU;GACnB,MAAM,KAAK;GACX,SAAS,KAAK;GACd,OAAO,KAAK;GACb,CAAC;;CAGJ,SAAS;AACP,SAAO;GACL,MAAM,KAAK;GACX,OAAO,KAAK;GACZ,WAAW,KAAK;GAChB,SAAS,KAAK;GACd,SAAS,KAAK;GACd,OAAO,QAAQ,IAAI,aAAa,eAAe,KAAK,QAAQ,KAAA;GAC5D,eAAe,QAAQ,IAAI,aAAa,eAAe,KAAK,gBAAgB,KAAA;GAE5E,OACE,KAAK,iBAAiB,QAClB;IAAE,MAAM,KAAK,MAAM;IAAM,SAAS,KAAK,MAAM;IAAS,OAAO,KAAK,MAAM;IAAO,GAC/E,KAAK;GACZ;;CAGH,OAAO,YACL,MACA,OACA,MACA;EACA,MAAM,MAAM,iBAAiB,QAAQ,MAAM,UAAU,KAAA;AACrD,SAAO,IAAI,YAAY;GACrB;GACA,OAAO,MAAM;GACb,WAAW,MAAM;GACjB,SAAS;GACT;GACA,SAAS,MAAM;GACf,iBAAiB;GAClB,CAAC;;;AAeN,SAAgB,mBAA8C;AAC5D,QAAO,WAAW;;AAGpB,SAAgB,iBAAiB,UAAyB;AACxD,YAAW,kBAAkB;;AAG/B,SAAgB,YACd,KACA,MACoB;CACpB,IAAI,YAAY;CAChB,MAAM,WAAW,kBAAkB;AACnC,KAAI,CAAC,UAAU;AACb,2BAAA,OAAO,MAAM,uCAAuC;AACpD;;AAEF,KAAI,eAAe,YAEjB,aAAY;EACV,GAAG;EACH,gBAAgB;GACd,GAAI,MAAc;GAClB,OAAO;IACL,GAAK,MAAc,gBAAgB,SAAS,EAAE;IAC9C,OAAO,IAAI;IACX,WAAW,IAAI;IAChB;GACF;EACF;AAEH,QAAO,SAAS,iBAAiB,KAAK,UAAU"}
@@ -0,0 +1,62 @@
1
+ import { ServerErrorLayer } from "../modules/base/base.types.cjs";
2
+ import { captureException } from "@sentry/node";
3
+ import { TRPCError, TRPC_ERROR_CODE_KEY } from "@trpc/server";
4
+
5
+ //#region src/utils/errors.d.ts
6
+ declare class ServerError extends Error {
7
+ readonly code: TRPC_ERROR_CODE_KEY;
8
+ readonly layer: ServerErrorLayer;
9
+ readonly layerName: string;
10
+ readonly clientMessage?: string;
11
+ readonly context?: Record<string, unknown>;
12
+ readonly boundaryStack?: string;
13
+ constructor({
14
+ code,
15
+ layer,
16
+ layerName,
17
+ message,
18
+ clientMessage,
19
+ cause,
20
+ context,
21
+ captureBoundary
22
+ }: {
23
+ code: TRPC_ERROR_CODE_KEY;
24
+ layer?: ServerErrorLayer;
25
+ layerName?: string;
26
+ message?: string;
27
+ clientMessage?: string;
28
+ cause?: unknown;
29
+ context?: Record<string, unknown>;
30
+ captureBoundary?: boolean;
31
+ });
32
+ is5xxError(): boolean;
33
+ getHTTPStatusCode(): number;
34
+ toTRPC(): TRPCError;
35
+ toJSON(): {
36
+ code: "PARSE_ERROR" | "BAD_REQUEST" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_SUPPORTED" | "TIMEOUT" | "CONFLICT" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "UNSUPPORTED_MEDIA_TYPE" | "UNPROCESSABLE_CONTENT" | "TOO_MANY_REQUESTS" | "CLIENT_CLOSED_REQUEST";
37
+ layer: ServerErrorLayer;
38
+ layerName: string;
39
+ message: string;
40
+ context: Record<string, unknown> | undefined;
41
+ stack: string | undefined;
42
+ boundaryStack: string | undefined;
43
+ cause: unknown;
44
+ };
45
+ static fromUnknown(code: TRPC_ERROR_CODE_KEY, cause: unknown, opts?: {
46
+ layer?: ServerErrorLayer;
47
+ layerName?: string;
48
+ context?: Record<string, unknown>;
49
+ }): ServerError;
50
+ }
51
+ type ErrorReporter = {
52
+ captureException: (err: Parameters<typeof captureException>[0], hint?: Parameters<typeof captureException>[1]) => string;
53
+ };
54
+ declare global {
55
+ var m5ErrorReporter: ErrorReporter | undefined;
56
+ }
57
+ declare function getErrorReporter(): ErrorReporter | undefined;
58
+ declare function setErrorReporter(reporter: ErrorReporter): void;
59
+ declare function reportError(err: ServerError | Error | unknown, hint?: Parameters<typeof captureException>[1]): string | undefined;
60
+ //#endregion
61
+ export { ErrorReporter, ServerError, type ServerErrorLayer, getErrorReporter, reportError, setErrorReporter };
62
+ //# sourceMappingURL=errors.d.cts.map
@@ -0,0 +1,13 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
3
+ let pino = require("pino");
4
+ pino = require_runtime.__toESM(pino);
5
+ //#region src/utils/logger.ts
6
+ const logger = (0, pino.default)({
7
+ transport: { target: "pino-pretty" },
8
+ level: "debug"
9
+ });
10
+ //#endregion
11
+ exports.logger = logger;
12
+
13
+ //# sourceMappingURL=logger.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.cjs","names":[],"sources":["../../../src/utils/logger.ts"],"sourcesContent":["import pino from \"pino\";\r\n\r\nexport const logger = pino({\r\n transport: {\r\n target: \"pino-pretty\",\r\n },\r\n level: \"debug\",\r\n});\r\n"],"mappings":";;;;;AAEA,MAAa,UAAA,GAAA,KAAA,SAAc;CACzB,WAAW,EACT,QAAQ,eACT;CACD,OAAO;CACR,CAAC"}
@@ -0,0 +1,7 @@
1
+ import * as _$pino from "pino";
2
+
3
+ //#region src/utils/logger.d.ts
4
+ declare const logger: _$pino.Logger<never, boolean>;
5
+ //#endregion
6
+ export { logger };
7
+ //# sourceMappingURL=logger.d.cts.map
@@ -0,0 +1,31 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ require("../../_virtual/_rolldown/runtime.cjs");
3
+ let node_async_hooks = require("node:async_hooks");
4
+ //#region src/utils/posthog.ts
5
+ function getPosthog() {
6
+ return globalThis.m5Posthog;
7
+ }
8
+ function setPosthog(posthog) {
9
+ globalThis.m5Posthog = posthog;
10
+ }
11
+ const posthogRequestState = new node_async_hooks.AsyncLocalStorage();
12
+ function runWithPosthogRequestState(state, callback) {
13
+ return posthogRequestState.run(state, callback);
14
+ }
15
+ function isPosthogCaptureDisabled() {
16
+ return posthogRequestState.getStore()?.disableCapture ?? false;
17
+ }
18
+ function posthogCapture(event) {
19
+ if (isPosthogCaptureDisabled()) return;
20
+ const posthog = getPosthog();
21
+ if (!posthog) return;
22
+ return posthog.capture(event);
23
+ }
24
+ //#endregion
25
+ exports.getPosthog = getPosthog;
26
+ exports.isPosthogCaptureDisabled = isPosthogCaptureDisabled;
27
+ exports.posthogCapture = posthogCapture;
28
+ exports.runWithPosthogRequestState = runWithPosthogRequestState;
29
+ exports.setPosthog = setPosthog;
30
+
31
+ //# sourceMappingURL=posthog.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"posthog.cjs","names":["AsyncLocalStorage"],"sources":["../../../src/utils/posthog.ts"],"sourcesContent":["import { AsyncLocalStorage } from \"node:async_hooks\";\r\nimport type { PostHog } from \"posthog-node\";\r\n\r\ndeclare global {\r\n // eslint-disable-next-line no-var\r\n var m5Posthog: PostHog | undefined;\r\n}\r\n\r\nexport function getPosthog(): PostHog | undefined {\r\n return globalThis.m5Posthog;\r\n}\r\n\r\nexport function setPosthog(posthog: PostHog) {\r\n globalThis.m5Posthog = posthog;\r\n}\r\n\r\ntype PosthogRequestState = {\r\n disableCapture: boolean;\r\n};\r\n\r\nconst posthogRequestState = new AsyncLocalStorage<PosthogRequestState>();\r\n\r\nexport function runWithPosthogRequestState<T>(state: PosthogRequestState, callback: () => T): T {\r\n return posthogRequestState.run(state, callback);\r\n}\r\n\r\nexport function isPosthogCaptureDisabled(): boolean {\r\n return posthogRequestState.getStore()?.disableCapture ?? false;\r\n}\r\n\r\nexport function posthogCapture(\r\n event: Parameters<PostHog[\"capture\"]>[0]\r\n): ReturnType<PostHog[\"capture\"]> | undefined {\r\n if (isPosthogCaptureDisabled()) {\r\n return undefined;\r\n }\r\n\r\n const posthog = getPosthog();\r\n if (!posthog) {\r\n return undefined;\r\n }\r\n return posthog.capture(event);\r\n}\r\n"],"mappings":";;;;AAQA,SAAgB,aAAkC;AAChD,QAAO,WAAW;;AAGpB,SAAgB,WAAW,SAAkB;AAC3C,YAAW,YAAY;;AAOzB,MAAM,sBAAsB,IAAIA,iBAAAA,mBAAwC;AAExE,SAAgB,2BAA8B,OAA4B,UAAsB;AAC9F,QAAO,oBAAoB,IAAI,OAAO,SAAS;;AAGjD,SAAgB,2BAAoC;AAClD,QAAO,oBAAoB,UAAU,EAAE,kBAAkB;;AAG3D,SAAgB,eACd,OAC4C;AAC5C,KAAI,0BAA0B,CAC5B;CAGF,MAAM,UAAU,YAAY;AAC5B,KAAI,CAAC,QACH;AAEF,QAAO,QAAQ,QAAQ,MAAM"}
@@ -0,0 +1,17 @@
1
+ import { PostHog } from "posthog-node";
2
+
3
+ //#region src/utils/posthog.d.ts
4
+ declare global {
5
+ var m5Posthog: PostHog | undefined;
6
+ }
7
+ declare function getPosthog(): PostHog | undefined;
8
+ declare function setPosthog(posthog: PostHog): void;
9
+ type PosthogRequestState = {
10
+ disableCapture: boolean;
11
+ };
12
+ declare function runWithPosthogRequestState<T>(state: PosthogRequestState, callback: () => T): T;
13
+ declare function isPosthogCaptureDisabled(): boolean;
14
+ declare function posthogCapture(event: Parameters<PostHog["capture"]>[0]): ReturnType<PostHog["capture"]> | undefined;
15
+ //#endregion
16
+ export { getPosthog, isPosthogCaptureDisabled, posthogCapture, runWithPosthogRequestState, setPosthog };
17
+ //# sourceMappingURL=posthog.d.cts.map
@@ -0,0 +1,156 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ require("../../_virtual/_rolldown/runtime.cjs");
3
+ const require_src_utils_logger = require("./logger.cjs");
4
+ const require_src_utils_errors = require("./errors.cjs");
5
+ const require_src_modules_base_base_actor = require("../modules/base/base.actor.cjs");
6
+ let better_auth_node = require("better-auth/node");
7
+ //#region src/utils/trpc.ts
8
+ function createAuthContext(auth) {
9
+ return async function createContext({ req }) {
10
+ const data = await auth.api.getSession({ headers: (0, better_auth_node.fromNodeHeaders)(req.headers) });
11
+ const user = data?.user || null;
12
+ const session = data?.session || null;
13
+ return {
14
+ session,
15
+ user,
16
+ actor: user && session ? require_src_modules_base_base_actor.createActorFromContext({
17
+ user,
18
+ session
19
+ }, "user") : null
20
+ };
21
+ };
22
+ }
23
+ async function handleAsyncTRPCResult(result) {
24
+ return handleTRPCResult(await result);
25
+ }
26
+ function handleTRPCResult(result) {
27
+ if (result.isErr()) {
28
+ require_src_utils_logger.logger.debug("Is tRPC Error");
29
+ require_src_utils_logger.logger.error({
30
+ layer: result.error.layer,
31
+ layerName: result.error.layerName,
32
+ error: result.error.toJSON()
33
+ });
34
+ throw result.error.toTRPC();
35
+ }
36
+ return result.value;
37
+ }
38
+ function verifyProtectedProcedureContext(ctx) {
39
+ if (!ctx.user || !ctx.session || !ctx.actor) throw new require_src_utils_errors.ServerError({
40
+ code: "UNAUTHORIZED",
41
+ layer: "controller",
42
+ layerName: "TRPCController"
43
+ }).toTRPC();
44
+ return ctx;
45
+ }
46
+ function verifyOrganizationProcedureContext(ctx) {
47
+ if (!ctx.user || !ctx.session) throw new require_src_utils_errors.ServerError({
48
+ code: "UNAUTHORIZED",
49
+ layer: "controller",
50
+ layerName: "TRPCController"
51
+ }).toTRPC();
52
+ try {
53
+ const actor = require_src_modules_base_base_actor.createActorFromContext({
54
+ user: ctx.user,
55
+ session: ctx.session
56
+ }, "organization");
57
+ return {
58
+ ...ctx,
59
+ actor
60
+ };
61
+ } catch (e) {
62
+ if (e instanceof require_src_utils_errors.ServerError) throw e.toTRPC();
63
+ throw e;
64
+ }
65
+ }
66
+ function verifyTeamProcedureContext(ctx) {
67
+ if (!ctx.user || !ctx.session) throw new require_src_utils_errors.ServerError({
68
+ code: "UNAUTHORIZED",
69
+ layer: "controller",
70
+ layerName: "TRPCController"
71
+ }).toTRPC();
72
+ try {
73
+ const actor = require_src_modules_base_base_actor.createActorFromContext({
74
+ user: ctx.user,
75
+ session: ctx.session
76
+ }, "team");
77
+ return {
78
+ ...ctx,
79
+ actor
80
+ };
81
+ } catch (e) {
82
+ if (e instanceof require_src_utils_errors.ServerError) throw e.toTRPC();
83
+ throw e;
84
+ }
85
+ }
86
+ function verifyAdminProcedureContext(ctx) {
87
+ if (!ctx.user || !ctx.session) throw new require_src_utils_errors.ServerError({
88
+ code: "UNAUTHORIZED",
89
+ layer: "controller",
90
+ layerName: "TRPCController"
91
+ }).toTRPC();
92
+ if (ctx.user.role !== "admin") throw new require_src_utils_errors.ServerError({
93
+ code: "FORBIDDEN",
94
+ layer: "controller",
95
+ layerName: "TRPCController"
96
+ }).toTRPC();
97
+ if (!ctx.actor) throw new require_src_utils_errors.ServerError({
98
+ code: "UNAUTHORIZED",
99
+ layer: "controller",
100
+ layerName: "TRPCController"
101
+ }).toTRPC();
102
+ return ctx;
103
+ }
104
+ function requireRequestUser(ctx) {
105
+ return verifyProtectedProcedureContext(ctx).user;
106
+ }
107
+ function requireRequestActor(ctx, scope = "user") {
108
+ const verified = verifyProtectedProcedureContext(ctx);
109
+ if (scope === "user") {
110
+ if (!require_src_modules_base_base_actor.validateActor(verified.actor, "user")) throw new require_src_utils_errors.ServerError({
111
+ code: "FORBIDDEN",
112
+ layer: "controller",
113
+ layerName: "TRPCController"
114
+ }).toTRPC();
115
+ return verified.actor;
116
+ }
117
+ try {
118
+ if (scope === "organization") {
119
+ const actor = require_src_modules_base_base_actor.createActorFromContext({
120
+ user: verified.user,
121
+ session: verified.session
122
+ }, "organization");
123
+ if (!require_src_modules_base_base_actor.validateActor(actor, "organization")) throw new require_src_utils_errors.ServerError({
124
+ code: "FORBIDDEN",
125
+ layer: "controller",
126
+ layerName: "TRPCController"
127
+ }).toTRPC();
128
+ return actor;
129
+ }
130
+ const actor = require_src_modules_base_base_actor.createActorFromContext({
131
+ user: verified.user,
132
+ session: verified.session
133
+ }, "team");
134
+ if (!require_src_modules_base_base_actor.validateActor(actor, "team")) throw new require_src_utils_errors.ServerError({
135
+ code: "FORBIDDEN",
136
+ layer: "controller",
137
+ layerName: "TRPCController"
138
+ }).toTRPC();
139
+ return actor;
140
+ } catch (e) {
141
+ if (e instanceof require_src_utils_errors.ServerError) throw e.toTRPC();
142
+ throw e;
143
+ }
144
+ }
145
+ //#endregion
146
+ exports.createAuthContext = createAuthContext;
147
+ exports.handleAsyncTRPCResult = handleAsyncTRPCResult;
148
+ exports.handleTRPCResult = handleTRPCResult;
149
+ exports.requireRequestActor = requireRequestActor;
150
+ exports.requireRequestUser = requireRequestUser;
151
+ exports.verifyAdminProcedureContext = verifyAdminProcedureContext;
152
+ exports.verifyOrganizationProcedureContext = verifyOrganizationProcedureContext;
153
+ exports.verifyProtectedProcedureContext = verifyProtectedProcedureContext;
154
+ exports.verifyTeamProcedureContext = verifyTeamProcedureContext;
155
+
156
+ //# sourceMappingURL=trpc.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trpc.cjs","names":["createActorFromContext","ServerError","validateActor"],"sources":["../../../src/utils/trpc.ts"],"sourcesContent":["import type { transformer } from \"@m5kdev/commons/utils/trpc\";\r\nimport type { TRPCRootObject } from \"@trpc/server\";\r\nimport type { CreateExpressContextOptions } from \"@trpc/server/adapters/express\";\r\nimport { fromNodeHeaders } from \"better-auth/node\";\r\nimport type { Result } from \"neverthrow\";\r\nimport type { BetterAuth, Session, User } from \"../modules/auth/auth.lib\";\r\nimport {\r\n createActorFromContext,\r\n validateActor,\r\n type ActorScope,\r\n type AuthenticatedActor,\r\n type OrganizationActor,\r\n type TeamActor,\r\n type UserActor,\r\n} from \"../modules/base/base.actor\";\r\nimport { ServerError } from \"./errors\";\r\nimport { logger } from \"./logger\";\r\n\r\nexport type RequestContext = {\r\n session: Session | null;\r\n user: User | null;\r\n actor: UserActor | null;\r\n};\r\n\r\nexport type Context = {\r\n session: Session;\r\n user: User;\r\n actor: UserActor;\r\n};\r\n\r\nexport type OrganizationContext = {\r\n session: Session;\r\n user: User;\r\n actor: OrganizationActor;\r\n};\r\n\r\nexport type TeamContext = {\r\n session: Session;\r\n user: User;\r\n actor: TeamActor;\r\n};\r\n\r\ntype TRPCCreate = TRPCRootObject<Context, any, { transformer: typeof transformer }>;\r\n\r\nexport type TRPCMethods = {\r\n router: TRPCCreate[\"router\"];\r\n publicProcedure: TRPCCreate[\"procedure\"];\r\n privateProcedure: TRPCCreate[\"procedure\"];\r\n adminProcedure: TRPCCreate[\"procedure\"];\r\n};\r\n\r\nexport function createAuthContext(auth: BetterAuth) {\r\n return async function createContext({ req }: CreateExpressContextOptions): Promise<RequestContext> {\r\n const data = await auth.api.getSession({\r\n headers: fromNodeHeaders(req.headers),\r\n });\r\n\r\n const user = (data?.user as User) || null;\r\n const session = (data?.session as Session) || null;\r\n const actor =\r\n user && session ? createActorFromContext({ user, session }, \"user\") : null;\r\n\r\n return {\r\n session,\r\n user,\r\n actor,\r\n };\r\n };\r\n}\r\n\r\nexport async function handleAsyncTRPCResult<T>(result: Promise<Result<T, ServerError>>) {\r\n return handleTRPCResult(await result);\r\n}\r\n\r\nexport function handleTRPCResult<T>(result: Result<T, ServerError>) {\r\n if (result.isErr()) {\r\n logger.debug(\"Is tRPC Error\");\r\n logger.error({\r\n layer: result.error.layer,\r\n layerName: result.error.layerName,\r\n error: result.error.toJSON(),\r\n });\r\n throw result.error.toTRPC();\r\n }\r\n return result.value;\r\n}\r\n\r\nexport function verifyProtectedProcedureContext(ctx: RequestContext): Context {\r\n if (!ctx.user || !ctx.session || !ctx.actor) {\r\n throw new ServerError({\r\n code: \"UNAUTHORIZED\",\r\n layer: \"controller\",\r\n layerName: \"TRPCController\",\r\n }).toTRPC();\r\n }\r\n return ctx as Context;\r\n}\r\n\r\nexport function verifyOrganizationProcedureContext(ctx: Context): OrganizationContext {\r\n if (!ctx.user || !ctx.session) {\r\n throw new ServerError({\r\n code: \"UNAUTHORIZED\",\r\n layer: \"controller\",\r\n layerName: \"TRPCController\",\r\n }).toTRPC();\r\n }\r\n try {\r\n const actor = createActorFromContext({ user: ctx.user, session: ctx.session }, \"organization\");\r\n return { ...ctx, actor };\r\n } catch (e) {\r\n if (e instanceof ServerError) throw e.toTRPC();\r\n throw e;\r\n }\r\n}\r\n\r\nexport function verifyTeamProcedureContext(ctx: Context): TeamContext {\r\n if (!ctx.user || !ctx.session) {\r\n throw new ServerError({\r\n code: \"UNAUTHORIZED\",\r\n layer: \"controller\",\r\n layerName: \"TRPCController\",\r\n }).toTRPC();\r\n }\r\n try {\r\n const actor = createActorFromContext({ user: ctx.user, session: ctx.session }, \"team\");\r\n return { ...ctx, actor };\r\n } catch (e) {\r\n if (e instanceof ServerError) throw e.toTRPC();\r\n throw e;\r\n }\r\n}\r\n\r\nexport function verifyAdminProcedureContext(ctx: RequestContext): Context {\r\n if (!ctx.user || !ctx.session) {\r\n throw new ServerError({\r\n code: \"UNAUTHORIZED\",\r\n layer: \"controller\",\r\n layerName: \"TRPCController\",\r\n }).toTRPC();\r\n }\r\n\r\n if (ctx.user.role !== \"admin\") {\r\n throw new ServerError({\r\n code: \"FORBIDDEN\",\r\n layer: \"controller\",\r\n layerName: \"TRPCController\",\r\n }).toTRPC();\r\n }\r\n if (!ctx.actor) {\r\n throw new ServerError({\r\n code: \"UNAUTHORIZED\",\r\n layer: \"controller\",\r\n layerName: \"TRPCController\",\r\n }).toTRPC();\r\n }\r\n return ctx as Context;\r\n}\r\n\r\nexport function requireRequestUser(ctx: RequestContext): User {\r\n return verifyProtectedProcedureContext(ctx).user;\r\n}\r\n\r\nexport function requireRequestActor(ctx: RequestContext): UserActor;\r\nexport function requireRequestActor(ctx: RequestContext, scope: \"organization\"): OrganizationActor;\r\nexport function requireRequestActor(ctx: RequestContext, scope: \"team\"): TeamActor;\r\nexport function requireRequestActor(\r\n ctx: RequestContext,\r\n scope: ActorScope = \"user\"\r\n): AuthenticatedActor {\r\n const verified = verifyProtectedProcedureContext(ctx);\r\n\r\n if (scope === \"user\") {\r\n if (!validateActor(verified.actor, \"user\")) {\r\n throw new ServerError({\r\n code: \"FORBIDDEN\",\r\n layer: \"controller\",\r\n layerName: \"TRPCController\",\r\n }).toTRPC();\r\n }\r\n return verified.actor;\r\n }\r\n\r\n try {\r\n if (scope === \"organization\") {\r\n const actor = createActorFromContext(\r\n { user: verified.user, session: verified.session },\r\n \"organization\"\r\n );\r\n if (!validateActor(actor, \"organization\")) {\r\n throw new ServerError({\r\n code: \"FORBIDDEN\",\r\n layer: \"controller\",\r\n layerName: \"TRPCController\",\r\n }).toTRPC();\r\n }\r\n return actor;\r\n }\r\n\r\n const actor = createActorFromContext(\r\n { user: verified.user, session: verified.session },\r\n \"team\"\r\n );\r\n if (!validateActor(actor, \"team\")) {\r\n throw new ServerError({\r\n code: \"FORBIDDEN\",\r\n layer: \"controller\",\r\n layerName: \"TRPCController\",\r\n }).toTRPC();\r\n }\r\n return actor;\r\n } catch (e) {\r\n if (e instanceof ServerError) throw e.toTRPC();\r\n throw e;\r\n }\r\n}\r\n"],"mappings":";;;;;;;AAmDA,SAAgB,kBAAkB,MAAkB;AAClD,QAAO,eAAe,cAAc,EAAE,OAA6D;EACjG,MAAM,OAAO,MAAM,KAAK,IAAI,WAAW,EACrC,UAAA,GAAA,iBAAA,iBAAyB,IAAI,QAAQ,EACtC,CAAC;EAEF,MAAM,OAAQ,MAAM,QAAiB;EACrC,MAAM,UAAW,MAAM,WAAuB;AAI9C,SAAO;GACL;GACA;GACA,OALA,QAAQ,UAAUA,oCAAAA,uBAAuB;IAAE;IAAM;IAAS,EAAE,OAAO,GAAG;GAMvE;;;AAIL,eAAsB,sBAAyB,QAAyC;AACtF,QAAO,iBAAiB,MAAM,OAAO;;AAGvC,SAAgB,iBAAoB,QAAgC;AAClE,KAAI,OAAO,OAAO,EAAE;AAClB,2BAAA,OAAO,MAAM,gBAAgB;AAC7B,2BAAA,OAAO,MAAM;GACX,OAAO,OAAO,MAAM;GACpB,WAAW,OAAO,MAAM;GACxB,OAAO,OAAO,MAAM,QAAQ;GAC7B,CAAC;AACF,QAAM,OAAO,MAAM,QAAQ;;AAE7B,QAAO,OAAO;;AAGhB,SAAgB,gCAAgC,KAA8B;AAC5E,KAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,WAAW,CAAC,IAAI,MACpC,OAAM,IAAIC,yBAAAA,YAAY;EACpB,MAAM;EACN,OAAO;EACP,WAAW;EACZ,CAAC,CAAC,QAAQ;AAEb,QAAO;;AAGT,SAAgB,mCAAmC,KAAmC;AACpF,KAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,QACpB,OAAM,IAAIA,yBAAAA,YAAY;EACpB,MAAM;EACN,OAAO;EACP,WAAW;EACZ,CAAC,CAAC,QAAQ;AAEb,KAAI;EACF,MAAM,QAAQD,oCAAAA,uBAAuB;GAAE,MAAM,IAAI;GAAM,SAAS,IAAI;GAAS,EAAE,eAAe;AAC9F,SAAO;GAAE,GAAG;GAAK;GAAO;UACjB,GAAG;AACV,MAAI,aAAaC,yBAAAA,YAAa,OAAM,EAAE,QAAQ;AAC9C,QAAM;;;AAIV,SAAgB,2BAA2B,KAA2B;AACpE,KAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,QACpB,OAAM,IAAIA,yBAAAA,YAAY;EACpB,MAAM;EACN,OAAO;EACP,WAAW;EACZ,CAAC,CAAC,QAAQ;AAEb,KAAI;EACF,MAAM,QAAQD,oCAAAA,uBAAuB;GAAE,MAAM,IAAI;GAAM,SAAS,IAAI;GAAS,EAAE,OAAO;AACtF,SAAO;GAAE,GAAG;GAAK;GAAO;UACjB,GAAG;AACV,MAAI,aAAaC,yBAAAA,YAAa,OAAM,EAAE,QAAQ;AAC9C,QAAM;;;AAIV,SAAgB,4BAA4B,KAA8B;AACxE,KAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,QACpB,OAAM,IAAIA,yBAAAA,YAAY;EACpB,MAAM;EACN,OAAO;EACP,WAAW;EACZ,CAAC,CAAC,QAAQ;AAGb,KAAI,IAAI,KAAK,SAAS,QACpB,OAAM,IAAIA,yBAAAA,YAAY;EACpB,MAAM;EACN,OAAO;EACP,WAAW;EACZ,CAAC,CAAC,QAAQ;AAEb,KAAI,CAAC,IAAI,MACP,OAAM,IAAIA,yBAAAA,YAAY;EACpB,MAAM;EACN,OAAO;EACP,WAAW;EACZ,CAAC,CAAC,QAAQ;AAEb,QAAO;;AAGT,SAAgB,mBAAmB,KAA2B;AAC5D,QAAO,gCAAgC,IAAI,CAAC;;AAM9C,SAAgB,oBACd,KACA,QAAoB,QACA;CACpB,MAAM,WAAW,gCAAgC,IAAI;AAErD,KAAI,UAAU,QAAQ;AACpB,MAAI,CAACC,oCAAAA,cAAc,SAAS,OAAO,OAAO,CACxC,OAAM,IAAID,yBAAAA,YAAY;GACpB,MAAM;GACN,OAAO;GACP,WAAW;GACZ,CAAC,CAAC,QAAQ;AAEb,SAAO,SAAS;;AAGlB,KAAI;AACF,MAAI,UAAU,gBAAgB;GAC5B,MAAM,QAAQD,oCAAAA,uBACZ;IAAE,MAAM,SAAS;IAAM,SAAS,SAAS;IAAS,EAClD,eACD;AACD,OAAI,CAACE,oCAAAA,cAAc,OAAO,eAAe,CACvC,OAAM,IAAID,yBAAAA,YAAY;IACpB,MAAM;IACN,OAAO;IACP,WAAW;IACZ,CAAC,CAAC,QAAQ;AAEb,UAAO;;EAGT,MAAM,QAAQD,oCAAAA,uBACZ;GAAE,MAAM,SAAS;GAAM,SAAS,SAAS;GAAS,EAClD,OACD;AACD,MAAI,CAACE,oCAAAA,cAAc,OAAO,OAAO,CAC/B,OAAM,IAAID,yBAAAA,YAAY;GACpB,MAAM;GACN,OAAO;GACP,WAAW;GACZ,CAAC,CAAC,QAAQ;AAEb,SAAO;UACA,GAAG;AACV,MAAI,aAAaA,yBAAAA,YAAa,OAAM,EAAE,QAAQ;AAC9C,QAAM"}
@@ -0,0 +1,54 @@
1
+ import { ServerError } from "./errors.cjs";
2
+ import { BetterAuth, Session, User } from "../modules/auth/auth.lib.cjs";
3
+ import { OrganizationActor, TeamActor, UserActor } from "../modules/base/base.actor.cjs";
4
+ import { Result } from "neverthrow";
5
+ import { TRPCRootObject } from "@trpc/server";
6
+ import { transformer } from "@m5kdev/commons/utils/trpc";
7
+ import { CreateExpressContextOptions } from "@trpc/server/adapters/express";
8
+
9
+ //#region src/utils/trpc.d.ts
10
+ type RequestContext = {
11
+ session: Session | null;
12
+ user: User | null;
13
+ actor: UserActor | null;
14
+ };
15
+ type Context = {
16
+ session: Session;
17
+ user: User;
18
+ actor: UserActor;
19
+ };
20
+ type OrganizationContext = {
21
+ session: Session;
22
+ user: User;
23
+ actor: OrganizationActor;
24
+ };
25
+ type TeamContext = {
26
+ session: Session;
27
+ user: User;
28
+ actor: TeamActor;
29
+ };
30
+ type TRPCCreate = TRPCRootObject<Context, any, {
31
+ transformer: typeof transformer;
32
+ }>;
33
+ type TRPCMethods = {
34
+ router: TRPCCreate["router"];
35
+ publicProcedure: TRPCCreate["procedure"];
36
+ privateProcedure: TRPCCreate["procedure"];
37
+ adminProcedure: TRPCCreate["procedure"];
38
+ };
39
+ declare function createAuthContext(auth: BetterAuth): ({
40
+ req
41
+ }: CreateExpressContextOptions) => Promise<RequestContext>;
42
+ declare function handleAsyncTRPCResult<T>(result: Promise<Result<T, ServerError>>): Promise<T>;
43
+ declare function handleTRPCResult<T>(result: Result<T, ServerError>): T;
44
+ declare function verifyProtectedProcedureContext(ctx: RequestContext): Context;
45
+ declare function verifyOrganizationProcedureContext(ctx: Context): OrganizationContext;
46
+ declare function verifyTeamProcedureContext(ctx: Context): TeamContext;
47
+ declare function verifyAdminProcedureContext(ctx: RequestContext): Context;
48
+ declare function requireRequestUser(ctx: RequestContext): User;
49
+ declare function requireRequestActor(ctx: RequestContext): UserActor;
50
+ declare function requireRequestActor(ctx: RequestContext, scope: "organization"): OrganizationActor;
51
+ declare function requireRequestActor(ctx: RequestContext, scope: "team"): TeamActor;
52
+ //#endregion
53
+ export { Context, OrganizationContext, RequestContext, TRPCMethods, TeamContext, createAuthContext, handleAsyncTRPCResult, handleTRPCResult, requireRequestActor, requireRequestUser, verifyAdminProcedureContext, verifyOrganizationProcedureContext, verifyProtectedProcedureContext, verifyTeamProcedureContext };
54
+ //# sourceMappingURL=trpc.d.cts.map
File without changes
@@ -0,0 +1,9 @@
1
+ import { ServerError } from "./errors.cjs";
2
+ import { Result } from "neverthrow";
3
+
4
+ //#region src/utils/types.d.ts
5
+ type ServerResult<T> = Result<T, ServerError>;
6
+ type ServerResultAsync<T> = Promise<ServerResult<T>>;
7
+ //#endregion
8
+ export { ServerResult, ServerResultAsync };
9
+ //# sourceMappingURL=types.d.cts.map