@simple-auth-kit/cli 1.0.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 (820) hide show
  1. package/README.md +88 -0
  2. package/bin/simple-auth-kit.mjs +18 -0
  3. package/lib/copy.ts +190 -0
  4. package/lib/rename-native.ts +173 -0
  5. package/package.json +31 -0
  6. package/registry/README.md +312 -0
  7. package/registry/admin-apps/README.md +71 -0
  8. package/registry/admin-apps/nextjs/shared/components.json +25 -0
  9. package/registry/admin-apps/nextjs/shared/next.config.ts +9 -0
  10. package/registry/admin-apps/nextjs/shared/postcss.config.mjs +7 -0
  11. package/registry/admin-apps/nextjs/shared/src/app/globals.css +159 -0
  12. package/registry/admin-apps/nextjs/shared/src/app/signup/page.tsx +72 -0
  13. package/registry/admin-apps/nextjs/shared/src/components/alert-modal.tsx +32 -0
  14. package/registry/admin-apps/nextjs/shared/src/components/breadcrumb.tsx +48 -0
  15. package/registry/admin-apps/nextjs/shared/src/components/form-error-alert.tsx +24 -0
  16. package/registry/admin-apps/nextjs/shared/src/components/loader/skeleton.tsx +39 -0
  17. package/registry/admin-apps/nextjs/shared/src/components/loader/table-skeleton-loader.tsx +57 -0
  18. package/registry/admin-apps/nextjs/shared/src/components/permission-group-select.tsx +101 -0
  19. package/registry/admin-apps/nextjs/shared/src/components/permission-group-view.tsx +53 -0
  20. package/registry/admin-apps/nextjs/shared/src/components/role-multi-select.tsx +71 -0
  21. package/registry/admin-apps/nextjs/shared/src/components/theme-toggle.tsx +26 -0
  22. package/registry/admin-apps/nextjs/shared/src/components/ui/alert.tsx +78 -0
  23. package/registry/admin-apps/nextjs/shared/src/components/ui/avatar.tsx +53 -0
  24. package/registry/admin-apps/nextjs/shared/src/components/ui/badge.tsx +51 -0
  25. package/registry/admin-apps/nextjs/shared/src/components/ui/breadcrumb.tsx +109 -0
  26. package/registry/admin-apps/nextjs/shared/src/components/ui/button.tsx +67 -0
  27. package/registry/admin-apps/nextjs/shared/src/components/ui/card.tsx +103 -0
  28. package/registry/admin-apps/nextjs/shared/src/components/ui/checkbox.tsx +32 -0
  29. package/registry/admin-apps/nextjs/shared/src/components/ui/collapsible.tsx +33 -0
  30. package/registry/admin-apps/nextjs/shared/src/components/ui/data-table.tsx +107 -0
  31. package/registry/admin-apps/nextjs/shared/src/components/ui/dialog.tsx +143 -0
  32. package/registry/admin-apps/nextjs/shared/src/components/ui/dropdown-menu.tsx +234 -0
  33. package/registry/admin-apps/nextjs/shared/src/components/ui/heading.tsx +16 -0
  34. package/registry/admin-apps/nextjs/shared/src/components/ui/input.tsx +19 -0
  35. package/registry/admin-apps/nextjs/shared/src/components/ui/label.tsx +24 -0
  36. package/registry/admin-apps/nextjs/shared/src/components/ui/modal.tsx +29 -0
  37. package/registry/admin-apps/nextjs/shared/src/components/ui/select.tsx +192 -0
  38. package/registry/admin-apps/nextjs/shared/src/components/ui/separator.tsx +28 -0
  39. package/registry/admin-apps/nextjs/shared/src/components/ui/sheet.tsx +135 -0
  40. package/registry/admin-apps/nextjs/shared/src/components/ui/sidebar.tsx +567 -0
  41. package/registry/admin-apps/nextjs/shared/src/components/ui/skeleton.tsx +13 -0
  42. package/registry/admin-apps/nextjs/shared/src/components/ui/sonner.tsx +34 -0
  43. package/registry/admin-apps/nextjs/shared/src/components/ui/table.tsx +116 -0
  44. package/registry/admin-apps/nextjs/shared/src/components/ui/tooltip.tsx +61 -0
  45. package/registry/admin-apps/nextjs/shared/src/hooks/use-live-audit-feed.ts +51 -0
  46. package/registry/admin-apps/nextjs/shared/src/hooks/use-mobile.ts +17 -0
  47. package/registry/admin-apps/nextjs/shared/src/lib/error.ts +23 -0
  48. package/registry/admin-apps/nextjs/shared/src/lib/query-client.tsx +10 -0
  49. package/registry/admin-apps/nextjs/shared/src/lib/token-storage.ts +36 -0
  50. package/registry/admin-apps/nextjs/shared/src/lib/utils.ts +6 -0
  51. package/registry/admin-apps/nextjs/shared/tsconfig.json +41 -0
  52. package/registry/admin-apps/nextjs/variants/base/.env.example +9 -0
  53. package/registry/admin-apps/nextjs/variants/base/Dockerfile +32 -0
  54. package/registry/admin-apps/nextjs/variants/base/package.json +58 -0
  55. package/registry/admin-apps/nextjs/variants/base/src/app/(console)/account/change-password/page.tsx +163 -0
  56. package/registry/admin-apps/nextjs/variants/base/src/app/(console)/account/page.tsx +569 -0
  57. package/registry/admin-apps/nextjs/variants/base/src/app/(console)/audit-log/page.tsx +180 -0
  58. package/registry/admin-apps/nextjs/variants/base/src/app/(console)/countries/[id]/edit/page.tsx +357 -0
  59. package/registry/admin-apps/nextjs/variants/base/src/app/(console)/countries/[id]/page.tsx +191 -0
  60. package/registry/admin-apps/nextjs/variants/base/src/app/(console)/countries/country-schema.ts +18 -0
  61. package/registry/admin-apps/nextjs/variants/base/src/app/(console)/countries/new/page.tsx +305 -0
  62. package/registry/admin-apps/nextjs/variants/base/src/app/(console)/countries/page.tsx +367 -0
  63. package/registry/admin-apps/nextjs/variants/base/src/app/(console)/customers/[id]/edit/page.tsx +386 -0
  64. package/registry/admin-apps/nextjs/variants/base/src/app/(console)/customers/[id]/page.tsx +213 -0
  65. package/registry/admin-apps/nextjs/variants/base/src/app/(console)/customers/customer-schema.ts +35 -0
  66. package/registry/admin-apps/nextjs/variants/base/src/app/(console)/customers/new/page.tsx +334 -0
  67. package/registry/admin-apps/nextjs/variants/base/src/app/(console)/customers/page.tsx +400 -0
  68. package/registry/admin-apps/nextjs/variants/base/src/app/(console)/dashboard/page.tsx +263 -0
  69. package/registry/admin-apps/nextjs/variants/base/src/app/(console)/languages/[id]/edit/page.tsx +275 -0
  70. package/registry/admin-apps/nextjs/variants/base/src/app/(console)/languages/[id]/page.tsx +183 -0
  71. package/registry/admin-apps/nextjs/variants/base/src/app/(console)/languages/language-schema.ts +20 -0
  72. package/registry/admin-apps/nextjs/variants/base/src/app/(console)/languages/new/page.tsx +226 -0
  73. package/registry/admin-apps/nextjs/variants/base/src/app/(console)/languages/page.tsx +342 -0
  74. package/registry/admin-apps/nextjs/variants/base/src/app/(console)/layout.tsx +50 -0
  75. package/registry/admin-apps/nextjs/variants/base/src/app/(console)/permissions/[id]/edit/page.tsx +309 -0
  76. package/registry/admin-apps/nextjs/variants/base/src/app/(console)/permissions/[id]/page.tsx +119 -0
  77. package/registry/admin-apps/nextjs/variants/base/src/app/(console)/permissions/new/page.tsx +275 -0
  78. package/registry/admin-apps/nextjs/variants/base/src/app/(console)/permissions/page.tsx +311 -0
  79. package/registry/admin-apps/nextjs/variants/base/src/app/(console)/permissions/permission-schema.ts +44 -0
  80. package/registry/admin-apps/nextjs/variants/base/src/app/(console)/roles/[id]/edit/page.tsx +276 -0
  81. package/registry/admin-apps/nextjs/variants/base/src/app/(console)/roles/[id]/page.tsx +179 -0
  82. package/registry/admin-apps/nextjs/variants/base/src/app/(console)/roles/new/page.tsx +241 -0
  83. package/registry/admin-apps/nextjs/variants/base/src/app/(console)/roles/page.tsx +325 -0
  84. package/registry/admin-apps/nextjs/variants/base/src/app/(console)/roles/role-schema.ts +20 -0
  85. package/registry/admin-apps/nextjs/variants/base/src/app/(console)/users/[id]/edit/page.tsx +411 -0
  86. package/registry/admin-apps/nextjs/variants/base/src/app/(console)/users/[id]/page.tsx +253 -0
  87. package/registry/admin-apps/nextjs/variants/base/src/app/(console)/users/new/page.tsx +444 -0
  88. package/registry/admin-apps/nextjs/variants/base/src/app/(console)/users/page.tsx +410 -0
  89. package/registry/admin-apps/nextjs/variants/base/src/app/(console)/users/user-schema.ts +37 -0
  90. package/registry/admin-apps/nextjs/variants/base/src/app/api/auth/[...nextauth]/route.ts +3 -0
  91. package/registry/admin-apps/nextjs/variants/base/src/app/icon.svg +5 -0
  92. package/registry/admin-apps/nextjs/variants/base/src/app/layout.tsx +31 -0
  93. package/registry/admin-apps/nextjs/variants/base/src/app/login/page.tsx +162 -0
  94. package/registry/admin-apps/nextjs/variants/base/src/app/page.tsx +22 -0
  95. package/registry/admin-apps/nextjs/variants/base/src/auth.ts +105 -0
  96. package/registry/admin-apps/nextjs/variants/base/src/components/app-sidebar.tsx +182 -0
  97. package/registry/admin-apps/nextjs/variants/base/src/components/nav-user.tsx +99 -0
  98. package/registry/admin-apps/nextjs/variants/base/src/components/permission-required.tsx +32 -0
  99. package/registry/admin-apps/nextjs/variants/base/src/components/photo-upload.tsx +203 -0
  100. package/registry/admin-apps/nextjs/variants/base/src/components/ui/accordion.tsx +66 -0
  101. package/registry/admin-apps/nextjs/variants/base/src/components/ui/alert-dialog.tsx +157 -0
  102. package/registry/admin-apps/nextjs/variants/base/src/components/ui/button-group.tsx +83 -0
  103. package/registry/admin-apps/nextjs/variants/base/src/components/ui/calendar.tsx +218 -0
  104. package/registry/admin-apps/nextjs/variants/base/src/components/ui/carousel.tsx +241 -0
  105. package/registry/admin-apps/nextjs/variants/base/src/components/ui/combobox.tsx +243 -0
  106. package/registry/admin-apps/nextjs/variants/base/src/components/ui/command.tsx +184 -0
  107. package/registry/admin-apps/nextjs/variants/base/src/components/ui/context-menu.tsx +252 -0
  108. package/registry/admin-apps/nextjs/variants/base/src/components/ui/date-picker.tsx +323 -0
  109. package/registry/admin-apps/nextjs/variants/base/src/components/ui/datetime-picker.tsx +896 -0
  110. package/registry/admin-apps/nextjs/variants/base/src/components/ui/drawer.tsx +135 -0
  111. package/registry/admin-apps/nextjs/variants/base/src/components/ui/empty.tsx +104 -0
  112. package/registry/admin-apps/nextjs/variants/base/src/components/ui/field.tsx +248 -0
  113. package/registry/admin-apps/nextjs/variants/base/src/components/ui/form.tsx +168 -0
  114. package/registry/admin-apps/nextjs/variants/base/src/components/ui/hover-card.tsx +44 -0
  115. package/registry/admin-apps/nextjs/variants/base/src/components/ui/input-group.tsx +170 -0
  116. package/registry/admin-apps/nextjs/variants/base/src/components/ui/input-otp.tsx +77 -0
  117. package/registry/admin-apps/nextjs/variants/base/src/components/ui/item.tsx +193 -0
  118. package/registry/admin-apps/nextjs/variants/base/src/components/ui/kbd.tsx +28 -0
  119. package/registry/admin-apps/nextjs/variants/base/src/components/ui/menubar.tsx +276 -0
  120. package/registry/admin-apps/nextjs/variants/base/src/components/ui/multi-select.tsx +381 -0
  121. package/registry/admin-apps/nextjs/variants/base/src/components/ui/multi-selector.tsx +641 -0
  122. package/registry/admin-apps/nextjs/variants/base/src/components/ui/native-select.tsx +48 -0
  123. package/registry/admin-apps/nextjs/variants/base/src/components/ui/navigation-menu.tsx +168 -0
  124. package/registry/admin-apps/nextjs/variants/base/src/components/ui/pagination.tsx +127 -0
  125. package/registry/admin-apps/nextjs/variants/base/src/components/ui/popover.tsx +48 -0
  126. package/registry/admin-apps/nextjs/variants/base/src/components/ui/progress.tsx +31 -0
  127. package/registry/admin-apps/nextjs/variants/base/src/components/ui/radio-group.tsx +45 -0
  128. package/registry/admin-apps/nextjs/variants/base/src/components/ui/resizable.tsx +55 -0
  129. package/registry/admin-apps/nextjs/variants/base/src/components/ui/scroll-area.tsx +58 -0
  130. package/registry/admin-apps/nextjs/variants/base/src/components/ui/spinner.tsx +27 -0
  131. package/registry/admin-apps/nextjs/variants/base/src/components/ui/switch.tsx +31 -0
  132. package/registry/admin-apps/nextjs/variants/base/src/components/ui/tabs.tsx +66 -0
  133. package/registry/admin-apps/nextjs/variants/base/src/components/ui/textarea.tsx +18 -0
  134. package/registry/admin-apps/nextjs/variants/base/src/components/ui/toggle-group.tsx +83 -0
  135. package/registry/admin-apps/nextjs/variants/base/src/components/ui/toggle.tsx +47 -0
  136. package/registry/admin-apps/nextjs/variants/base/src/components/user-menu.tsx +61 -0
  137. package/registry/admin-apps/nextjs/variants/base/src/lib/ability.ts +90 -0
  138. package/registry/admin-apps/nextjs/variants/base/src/lib/auth-client.ts +10 -0
  139. package/registry/admin-apps/nextjs/variants/base/src/lib/env.ts +10 -0
  140. package/registry/admin-apps/nextjs/variants/base/src/lib/server-token-storage.ts +33 -0
  141. package/registry/admin-apps/nextjs/variants/base/src/lib/stores/auth-store.ts +117 -0
  142. package/registry/admin-apps/nextjs/variants/base/src/lib/stores/store-context.tsx +50 -0
  143. package/registry/admin-apps/nextjs/variants/base/src/proxy.ts +81 -0
  144. package/registry/admin-apps/nextjs/variants/base/src/routes.ts +7 -0
  145. package/registry/admin-apps/nextjs/variants/workspaces/.env.example +7 -0
  146. package/registry/admin-apps/nextjs/variants/workspaces/Dockerfile +32 -0
  147. package/registry/admin-apps/nextjs/variants/workspaces/package.json +48 -0
  148. package/registry/admin-apps/nextjs/variants/workspaces/src/app/(console)/account/page.tsx +360 -0
  149. package/registry/admin-apps/nextjs/variants/workspaces/src/app/(console)/audit-log/page.tsx +185 -0
  150. package/registry/admin-apps/nextjs/variants/workspaces/src/app/(console)/countries/[id]/edit/page.tsx +296 -0
  151. package/registry/admin-apps/nextjs/variants/workspaces/src/app/(console)/countries/[id]/page.tsx +194 -0
  152. package/registry/admin-apps/nextjs/variants/workspaces/src/app/(console)/countries/country-schema.ts +27 -0
  153. package/registry/admin-apps/nextjs/variants/workspaces/src/app/(console)/countries/new/page.tsx +242 -0
  154. package/registry/admin-apps/nextjs/variants/workspaces/src/app/(console)/countries/page.tsx +373 -0
  155. package/registry/admin-apps/nextjs/variants/workspaces/src/app/(console)/customers/[id]/edit/page.tsx +306 -0
  156. package/registry/admin-apps/nextjs/variants/workspaces/src/app/(console)/customers/[id]/page.tsx +219 -0
  157. package/registry/admin-apps/nextjs/variants/workspaces/src/app/(console)/customers/customer-schema.ts +36 -0
  158. package/registry/admin-apps/nextjs/variants/workspaces/src/app/(console)/customers/new/page.tsx +251 -0
  159. package/registry/admin-apps/nextjs/variants/workspaces/src/app/(console)/customers/page.tsx +406 -0
  160. package/registry/admin-apps/nextjs/variants/workspaces/src/app/(console)/dashboard/page.tsx +146 -0
  161. package/registry/admin-apps/nextjs/variants/workspaces/src/app/(console)/languages/[id]/edit/page.tsx +240 -0
  162. package/registry/admin-apps/nextjs/variants/workspaces/src/app/(console)/languages/[id]/page.tsx +186 -0
  163. package/registry/admin-apps/nextjs/variants/workspaces/src/app/(console)/languages/language-schema.ts +26 -0
  164. package/registry/admin-apps/nextjs/variants/workspaces/src/app/(console)/languages/new/page.tsx +189 -0
  165. package/registry/admin-apps/nextjs/variants/workspaces/src/app/(console)/languages/page.tsx +348 -0
  166. package/registry/admin-apps/nextjs/variants/workspaces/src/app/(console)/layout.tsx +96 -0
  167. package/registry/admin-apps/nextjs/variants/workspaces/src/app/(console)/members/page.tsx +263 -0
  168. package/registry/admin-apps/nextjs/variants/workspaces/src/app/(console)/permissions/[id]/edit/page.tsx +264 -0
  169. package/registry/admin-apps/nextjs/variants/workspaces/src/app/(console)/permissions/[id]/page.tsx +126 -0
  170. package/registry/admin-apps/nextjs/variants/workspaces/src/app/(console)/permissions/new/page.tsx +238 -0
  171. package/registry/admin-apps/nextjs/variants/workspaces/src/app/(console)/permissions/page.tsx +294 -0
  172. package/registry/admin-apps/nextjs/variants/workspaces/src/app/(console)/permissions/permission-schema.ts +46 -0
  173. package/registry/admin-apps/nextjs/variants/workspaces/src/app/(console)/roles/[id]/edit/page.tsx +248 -0
  174. package/registry/admin-apps/nextjs/variants/workspaces/src/app/(console)/roles/[id]/page.tsx +186 -0
  175. package/registry/admin-apps/nextjs/variants/workspaces/src/app/(console)/roles/new/page.tsx +205 -0
  176. package/registry/admin-apps/nextjs/variants/workspaces/src/app/(console)/roles/page.tsx +485 -0
  177. package/registry/admin-apps/nextjs/variants/workspaces/src/app/(console)/roles/role-schema.ts +23 -0
  178. package/registry/admin-apps/nextjs/variants/workspaces/src/app/(console)/users/[id]/page.tsx +521 -0
  179. package/registry/admin-apps/nextjs/variants/workspaces/src/app/(console)/users/new/page.tsx +342 -0
  180. package/registry/admin-apps/nextjs/variants/workspaces/src/app/(console)/users/page.tsx +414 -0
  181. package/registry/admin-apps/nextjs/variants/workspaces/src/app/(console)/users/user-schema.ts +44 -0
  182. package/registry/admin-apps/nextjs/variants/workspaces/src/app/(console)/workspaces/new/page.tsx +66 -0
  183. package/registry/admin-apps/nextjs/variants/workspaces/src/app/layout.tsx +31 -0
  184. package/registry/admin-apps/nextjs/variants/workspaces/src/app/login/page.tsx +110 -0
  185. package/registry/admin-apps/nextjs/variants/workspaces/src/app/page.tsx +33 -0
  186. package/registry/admin-apps/nextjs/variants/workspaces/src/components/app-sidebar.tsx +180 -0
  187. package/registry/admin-apps/nextjs/variants/workspaces/src/components/change-password-dialog.tsx +119 -0
  188. package/registry/admin-apps/nextjs/variants/workspaces/src/components/nav-user.tsx +105 -0
  189. package/registry/admin-apps/nextjs/variants/workspaces/src/components/permission-required.tsx +32 -0
  190. package/registry/admin-apps/nextjs/variants/workspaces/src/components/photo-upload.tsx +226 -0
  191. package/registry/admin-apps/nextjs/variants/workspaces/src/components/ui/calendar.tsx +218 -0
  192. package/registry/admin-apps/nextjs/variants/workspaces/src/components/ui/datetime-picker.tsx +896 -0
  193. package/registry/admin-apps/nextjs/variants/workspaces/src/components/ui/popover.tsx +48 -0
  194. package/registry/admin-apps/nextjs/variants/workspaces/src/components/user-menu.tsx +67 -0
  195. package/registry/admin-apps/nextjs/variants/workspaces/src/components/workspace-switcher.tsx +57 -0
  196. package/registry/admin-apps/nextjs/variants/workspaces/src/lib/ability.ts +101 -0
  197. package/registry/admin-apps/nextjs/variants/workspaces/src/lib/active-workspace.ts +38 -0
  198. package/registry/admin-apps/nextjs/variants/workspaces/src/lib/auth-client.ts +17 -0
  199. package/registry/admin-apps/nextjs/variants/workspaces/src/lib/env.ts +4 -0
  200. package/registry/admin-apps/nextjs/variants/workspaces/src/lib/stores/auth-store.ts +139 -0
  201. package/registry/admin-apps/nextjs/variants/workspaces/src/lib/stores/store-context.tsx +66 -0
  202. package/registry/admin-apps/nextjs/variants/workspaces/src/lib/stores/workspace-store.ts +89 -0
  203. package/registry/admin-apps/react/shared/components.json +25 -0
  204. package/registry/admin-apps/react/shared/postcss.config.js +5 -0
  205. package/registry/admin-apps/react/shared/src/components/alert-modal.tsx +30 -0
  206. package/registry/admin-apps/react/shared/src/components/loader/skeleton.tsx +39 -0
  207. package/registry/admin-apps/react/shared/src/components/loader/table-skeleton-loader.tsx +57 -0
  208. package/registry/admin-apps/react/shared/src/components/nav-user.tsx +103 -0
  209. package/registry/admin-apps/react/shared/src/components/role-multi-select.tsx +69 -0
  210. package/registry/admin-apps/react/shared/src/components/theme-toggle.tsx +24 -0
  211. package/registry/admin-apps/react/shared/src/components/ui/accordion.tsx +66 -0
  212. package/registry/admin-apps/react/shared/src/components/ui/alert-dialog.tsx +157 -0
  213. package/registry/admin-apps/react/shared/src/components/ui/alert.tsx +78 -0
  214. package/registry/admin-apps/react/shared/src/components/ui/avatar.tsx +53 -0
  215. package/registry/admin-apps/react/shared/src/components/ui/badge.tsx +51 -0
  216. package/registry/admin-apps/react/shared/src/components/ui/breadcrumb.tsx +109 -0
  217. package/registry/admin-apps/react/shared/src/components/ui/button-group.tsx +83 -0
  218. package/registry/admin-apps/react/shared/src/components/ui/button.tsx +67 -0
  219. package/registry/admin-apps/react/shared/src/components/ui/calendar.tsx +218 -0
  220. package/registry/admin-apps/react/shared/src/components/ui/card.tsx +103 -0
  221. package/registry/admin-apps/react/shared/src/components/ui/carousel.tsx +241 -0
  222. package/registry/admin-apps/react/shared/src/components/ui/checkbox.tsx +32 -0
  223. package/registry/admin-apps/react/shared/src/components/ui/collapsible.tsx +33 -0
  224. package/registry/admin-apps/react/shared/src/components/ui/context-menu.tsx +252 -0
  225. package/registry/admin-apps/react/shared/src/components/ui/data-table.tsx +107 -0
  226. package/registry/admin-apps/react/shared/src/components/ui/datetime-picker.tsx +896 -0
  227. package/registry/admin-apps/react/shared/src/components/ui/dialog.tsx +143 -0
  228. package/registry/admin-apps/react/shared/src/components/ui/drawer.tsx +135 -0
  229. package/registry/admin-apps/react/shared/src/components/ui/dropdown-menu.tsx +234 -0
  230. package/registry/admin-apps/react/shared/src/components/ui/empty.tsx +104 -0
  231. package/registry/admin-apps/react/shared/src/components/ui/field.tsx +248 -0
  232. package/registry/admin-apps/react/shared/src/components/ui/form.tsx +168 -0
  233. package/registry/admin-apps/react/shared/src/components/ui/heading.tsx +16 -0
  234. package/registry/admin-apps/react/shared/src/components/ui/hover-card.tsx +44 -0
  235. package/registry/admin-apps/react/shared/src/components/ui/input-group.tsx +170 -0
  236. package/registry/admin-apps/react/shared/src/components/ui/input-otp.tsx +77 -0
  237. package/registry/admin-apps/react/shared/src/components/ui/input.tsx +19 -0
  238. package/registry/admin-apps/react/shared/src/components/ui/item.tsx +193 -0
  239. package/registry/admin-apps/react/shared/src/components/ui/kbd.tsx +28 -0
  240. package/registry/admin-apps/react/shared/src/components/ui/label.tsx +24 -0
  241. package/registry/admin-apps/react/shared/src/components/ui/menubar.tsx +276 -0
  242. package/registry/admin-apps/react/shared/src/components/ui/modal.tsx +29 -0
  243. package/registry/admin-apps/react/shared/src/components/ui/multi-select.tsx +381 -0
  244. package/registry/admin-apps/react/shared/src/components/ui/multi-selector.tsx +641 -0
  245. package/registry/admin-apps/react/shared/src/components/ui/native-select.tsx +48 -0
  246. package/registry/admin-apps/react/shared/src/components/ui/navigation-menu.tsx +168 -0
  247. package/registry/admin-apps/react/shared/src/components/ui/pagination.tsx +127 -0
  248. package/registry/admin-apps/react/shared/src/components/ui/popover.tsx +48 -0
  249. package/registry/admin-apps/react/shared/src/components/ui/progress.tsx +31 -0
  250. package/registry/admin-apps/react/shared/src/components/ui/radio-group.tsx +45 -0
  251. package/registry/admin-apps/react/shared/src/components/ui/resizable.tsx +55 -0
  252. package/registry/admin-apps/react/shared/src/components/ui/scroll-area.tsx +58 -0
  253. package/registry/admin-apps/react/shared/src/components/ui/select.tsx +192 -0
  254. package/registry/admin-apps/react/shared/src/components/ui/separator.tsx +28 -0
  255. package/registry/admin-apps/react/shared/src/components/ui/sheet.tsx +135 -0
  256. package/registry/admin-apps/react/shared/src/components/ui/sidebar.tsx +567 -0
  257. package/registry/admin-apps/react/shared/src/components/ui/skeleton.tsx +13 -0
  258. package/registry/admin-apps/react/shared/src/components/ui/spinner.tsx +27 -0
  259. package/registry/admin-apps/react/shared/src/components/ui/switch.tsx +31 -0
  260. package/registry/admin-apps/react/shared/src/components/ui/table.tsx +116 -0
  261. package/registry/admin-apps/react/shared/src/components/ui/tabs.tsx +66 -0
  262. package/registry/admin-apps/react/shared/src/components/ui/textarea.tsx +18 -0
  263. package/registry/admin-apps/react/shared/src/components/ui/toggle-group.tsx +83 -0
  264. package/registry/admin-apps/react/shared/src/components/ui/toggle.tsx +47 -0
  265. package/registry/admin-apps/react/shared/src/components/ui/tooltip.tsx +61 -0
  266. package/registry/admin-apps/react/shared/src/hooks/use-mobile.ts +17 -0
  267. package/registry/admin-apps/react/shared/src/lib/cn.ts +6 -0
  268. package/registry/admin-apps/react/shared/src/lib/error.ts +23 -0
  269. package/registry/admin-apps/react/shared/src/lib/query-client.tsx +8 -0
  270. package/registry/admin-apps/react/shared/src/lib/utils.ts +1 -0
  271. package/registry/admin-apps/react/shared/src/vite-env.d.ts +9 -0
  272. package/registry/admin-apps/react/shared/tsconfig.json +24 -0
  273. package/registry/admin-apps/react/variants/base/.env.example +3 -0
  274. package/registry/admin-apps/react/variants/base/Dockerfile +32 -0
  275. package/registry/admin-apps/react/variants/base/index.html +12 -0
  276. package/registry/admin-apps/react/variants/base/package.json +61 -0
  277. package/registry/admin-apps/react/variants/base/src/App.tsx +103 -0
  278. package/registry/admin-apps/react/variants/base/src/components/app-sidebar.tsx +181 -0
  279. package/registry/admin-apps/react/variants/base/src/components/breadcrumb.tsx +47 -0
  280. package/registry/admin-apps/react/variants/base/src/components/change-password-dialog.tsx +102 -0
  281. package/registry/admin-apps/react/variants/base/src/components/form-error-alert.tsx +23 -0
  282. package/registry/admin-apps/react/variants/base/src/components/layout/AppShell.tsx +36 -0
  283. package/registry/admin-apps/react/variants/base/src/components/layout/RequireAuth.tsx +66 -0
  284. package/registry/admin-apps/react/variants/base/src/components/permission-group-select.tsx +99 -0
  285. package/registry/admin-apps/react/variants/base/src/components/permission-group-view.tsx +53 -0
  286. package/registry/admin-apps/react/variants/base/src/components/photo-upload.tsx +221 -0
  287. package/registry/admin-apps/react/variants/base/src/components/ui/combobox.tsx +243 -0
  288. package/registry/admin-apps/react/variants/base/src/components/ui/command.tsx +177 -0
  289. package/registry/admin-apps/react/variants/base/src/components/ui/date-picker.tsx +322 -0
  290. package/registry/admin-apps/react/variants/base/src/components/ui/sonner.tsx +34 -0
  291. package/registry/admin-apps/react/variants/base/src/components/user-menu.tsx +65 -0
  292. package/registry/admin-apps/react/variants/base/src/hooks/use-live-audit-feed.ts +50 -0
  293. package/registry/admin-apps/react/variants/base/src/index.css +161 -0
  294. package/registry/admin-apps/react/variants/base/src/lib/ability.ts +72 -0
  295. package/registry/admin-apps/react/variants/base/src/lib/auth-client.ts +9 -0
  296. package/registry/admin-apps/react/variants/base/src/lib/theme.tsx +64 -0
  297. package/registry/admin-apps/react/variants/base/src/lib/token-storage.ts +34 -0
  298. package/registry/admin-apps/react/variants/base/src/main.tsx +24 -0
  299. package/registry/admin-apps/react/variants/base/src/pages/AccountPage.tsx +368 -0
  300. package/registry/admin-apps/react/variants/base/src/pages/AddCountryPage.tsx +227 -0
  301. package/registry/admin-apps/react/variants/base/src/pages/AddCustomerPage.tsx +220 -0
  302. package/registry/admin-apps/react/variants/base/src/pages/AddLanguagePage.tsx +167 -0
  303. package/registry/admin-apps/react/variants/base/src/pages/AddRolePage.tsx +187 -0
  304. package/registry/admin-apps/react/variants/base/src/pages/AddUserPage.tsx +328 -0
  305. package/registry/admin-apps/react/variants/base/src/pages/AuditLogPage.tsx +180 -0
  306. package/registry/admin-apps/react/variants/base/src/pages/CountriesPage.tsx +371 -0
  307. package/registry/admin-apps/react/variants/base/src/pages/CountryDetailPage.tsx +209 -0
  308. package/registry/admin-apps/react/variants/base/src/pages/CustomerDetailPage.tsx +231 -0
  309. package/registry/admin-apps/react/variants/base/src/pages/CustomersPage.tsx +404 -0
  310. package/registry/admin-apps/react/variants/base/src/pages/DashboardPage.tsx +190 -0
  311. package/registry/admin-apps/react/variants/base/src/pages/EditCountryPage.tsx +279 -0
  312. package/registry/admin-apps/react/variants/base/src/pages/EditCustomerPage.tsx +272 -0
  313. package/registry/admin-apps/react/variants/base/src/pages/EditLanguagePage.tsx +216 -0
  314. package/registry/admin-apps/react/variants/base/src/pages/EditRolePage.tsx +232 -0
  315. package/registry/admin-apps/react/variants/base/src/pages/EditUserPage.tsx +308 -0
  316. package/registry/admin-apps/react/variants/base/src/pages/LanguageDetailPage.tsx +201 -0
  317. package/registry/admin-apps/react/variants/base/src/pages/LanguagesPage.tsx +346 -0
  318. package/registry/admin-apps/react/variants/base/src/pages/LoginPage.tsx +149 -0
  319. package/registry/admin-apps/react/variants/base/src/pages/PermissionDetailPage.tsx +135 -0
  320. package/registry/admin-apps/react/variants/base/src/pages/PermissionsPage.tsx +331 -0
  321. package/registry/admin-apps/react/variants/base/src/pages/RoleDetailPage.tsx +167 -0
  322. package/registry/admin-apps/react/variants/base/src/pages/RolesPage.tsx +613 -0
  323. package/registry/admin-apps/react/variants/base/src/pages/UserDetailPage.tsx +268 -0
  324. package/registry/admin-apps/react/variants/base/src/pages/UsersPage.tsx +423 -0
  325. package/registry/admin-apps/react/variants/base/src/pages/country-schema.ts +29 -0
  326. package/registry/admin-apps/react/variants/base/src/pages/customer-schema.ts +37 -0
  327. package/registry/admin-apps/react/variants/base/src/pages/language-schema.ts +28 -0
  328. package/registry/admin-apps/react/variants/base/src/pages/user-schema.ts +36 -0
  329. package/registry/admin-apps/react/variants/base/src/stores/auth-store.ts +144 -0
  330. package/registry/admin-apps/react/variants/base/src/stores/store-context.tsx +15 -0
  331. package/registry/admin-apps/react/variants/base/vite.config.ts +15 -0
  332. package/registry/admin-apps/react/variants/workspaces/.env.example +5 -0
  333. package/registry/admin-apps/react/variants/workspaces/Dockerfile +32 -0
  334. package/registry/admin-apps/react/variants/workspaces/index.html +12 -0
  335. package/registry/admin-apps/react/variants/workspaces/package.json +61 -0
  336. package/registry/admin-apps/react/variants/workspaces/src/App.tsx +118 -0
  337. package/registry/admin-apps/react/variants/workspaces/src/components/app-sidebar.tsx +186 -0
  338. package/registry/admin-apps/react/variants/workspaces/src/components/breadcrumb.tsx +39 -0
  339. package/registry/admin-apps/react/variants/workspaces/src/components/change-password-dialog.tsx +111 -0
  340. package/registry/admin-apps/react/variants/workspaces/src/components/form-error-alert.tsx +23 -0
  341. package/registry/admin-apps/react/variants/workspaces/src/components/layout/AppShell.tsx +37 -0
  342. package/registry/admin-apps/react/variants/workspaces/src/components/layout/CreateWorkspaceDialog.tsx +66 -0
  343. package/registry/admin-apps/react/variants/workspaces/src/components/layout/RequireAuth.tsx +107 -0
  344. package/registry/admin-apps/react/variants/workspaces/src/components/layout/WorkspaceSwitcher.tsx +52 -0
  345. package/registry/admin-apps/react/variants/workspaces/src/components/permission-group-select.tsx +99 -0
  346. package/registry/admin-apps/react/variants/workspaces/src/components/permission-group-view.tsx +53 -0
  347. package/registry/admin-apps/react/variants/workspaces/src/components/photo-upload.tsx +223 -0
  348. package/registry/admin-apps/react/variants/workspaces/src/components/ui/combobox.tsx +243 -0
  349. package/registry/admin-apps/react/variants/workspaces/src/components/ui/command.tsx +184 -0
  350. package/registry/admin-apps/react/variants/workspaces/src/components/ui/date-picker.tsx +323 -0
  351. package/registry/admin-apps/react/variants/workspaces/src/components/ui/sonner.tsx +34 -0
  352. package/registry/admin-apps/react/variants/workspaces/src/components/user-menu.tsx +66 -0
  353. package/registry/admin-apps/react/variants/workspaces/src/hooks/use-live-audit-feed.ts +50 -0
  354. package/registry/admin-apps/react/variants/workspaces/src/index.css +162 -0
  355. package/registry/admin-apps/react/variants/workspaces/src/lib/ability.ts +78 -0
  356. package/registry/admin-apps/react/variants/workspaces/src/lib/auth-client.ts +27 -0
  357. package/registry/admin-apps/react/variants/workspaces/src/lib/permission-groups.ts +22 -0
  358. package/registry/admin-apps/react/variants/workspaces/src/lib/theme.tsx +64 -0
  359. package/registry/admin-apps/react/variants/workspaces/src/lib/token-storage.ts +37 -0
  360. package/registry/admin-apps/react/variants/workspaces/src/lib/user-fields.ts +13 -0
  361. package/registry/admin-apps/react/variants/workspaces/src/main.tsx +24 -0
  362. package/registry/admin-apps/react/variants/workspaces/src/pages/AccountPage.tsx +351 -0
  363. package/registry/admin-apps/react/variants/workspaces/src/pages/AddCountryPage.tsx +230 -0
  364. package/registry/admin-apps/react/variants/workspaces/src/pages/AddCustomerPage.tsx +224 -0
  365. package/registry/admin-apps/react/variants/workspaces/src/pages/AddLanguagePage.tsx +170 -0
  366. package/registry/admin-apps/react/variants/workspaces/src/pages/AddUserPage.tsx +297 -0
  367. package/registry/admin-apps/react/variants/workspaces/src/pages/AuditLogPage.tsx +195 -0
  368. package/registry/admin-apps/react/variants/workspaces/src/pages/CountriesPage.tsx +378 -0
  369. package/registry/admin-apps/react/variants/workspaces/src/pages/CountryDetailPage.tsx +215 -0
  370. package/registry/admin-apps/react/variants/workspaces/src/pages/CustomerDetailPage.tsx +237 -0
  371. package/registry/admin-apps/react/variants/workspaces/src/pages/CustomersPage.tsx +411 -0
  372. package/registry/admin-apps/react/variants/workspaces/src/pages/DashboardPage.tsx +191 -0
  373. package/registry/admin-apps/react/variants/workspaces/src/pages/EditCountryPage.tsx +285 -0
  374. package/registry/admin-apps/react/variants/workspaces/src/pages/EditCustomerPage.tsx +279 -0
  375. package/registry/admin-apps/react/variants/workspaces/src/pages/EditLanguagePage.tsx +222 -0
  376. package/registry/admin-apps/react/variants/workspaces/src/pages/LanguageDetailPage.tsx +207 -0
  377. package/registry/admin-apps/react/variants/workspaces/src/pages/LanguagesPage.tsx +353 -0
  378. package/registry/admin-apps/react/variants/workspaces/src/pages/LoginPage.tsx +149 -0
  379. package/registry/admin-apps/react/variants/workspaces/src/pages/MembersPage.tsx +349 -0
  380. package/registry/admin-apps/react/variants/workspaces/src/pages/PermissionDetailPage.tsx +123 -0
  381. package/registry/admin-apps/react/variants/workspaces/src/pages/PermissionsPage.tsx +317 -0
  382. package/registry/admin-apps/react/variants/workspaces/src/pages/RoleDetailPage.tsx +207 -0
  383. package/registry/admin-apps/react/variants/workspaces/src/pages/RolesPage.tsx +617 -0
  384. package/registry/admin-apps/react/variants/workspaces/src/pages/UserDetailPage.tsx +405 -0
  385. package/registry/admin-apps/react/variants/workspaces/src/pages/UsersPage.tsx +425 -0
  386. package/registry/admin-apps/react/variants/workspaces/src/pages/country-schema.ts +29 -0
  387. package/registry/admin-apps/react/variants/workspaces/src/pages/customer-schema.ts +34 -0
  388. package/registry/admin-apps/react/variants/workspaces/src/pages/language-schema.ts +27 -0
  389. package/registry/admin-apps/react/variants/workspaces/src/stores/auth-store.ts +169 -0
  390. package/registry/admin-apps/react/variants/workspaces/src/stores/store-context.tsx +43 -0
  391. package/registry/admin-apps/react/variants/workspaces/src/stores/workspace-store.ts +120 -0
  392. package/registry/admin-apps/react/variants/workspaces/vite.config.ts +15 -0
  393. package/registry/combos/express-drizzle/package.json +32 -0
  394. package/registry/combos/express-drizzle/scripts/materialize.mjs +104 -0
  395. package/registry/combos/express-drizzle/scripts/migrate.mjs +41 -0
  396. package/registry/combos/express-drizzle/scripts/prove-cycle.mjs +29 -0
  397. package/registry/combos/express-drizzle/scripts/seed.mjs +25 -0
  398. package/registry/combos/express-drizzle/shared/drizzle.config.ts +67 -0
  399. package/registry/combos/express-drizzle/shared/src/ability.ts +44 -0
  400. package/registry/combos/express-drizzle/shared/src/auth-core-error.middleware.ts +31 -0
  401. package/registry/combos/express-drizzle/shared/src/auth.config.ts +63 -0
  402. package/registry/combos/express-drizzle/shared/src/auth.middleware.ts +38 -0
  403. package/registry/combos/express-drizzle/shared/src/auth.router.ts +266 -0
  404. package/registry/combos/express-drizzle/shared/src/db.ts +12 -0
  405. package/registry/combos/express-drizzle/shared/src/http-error.ts +18 -0
  406. package/registry/combos/express-drizzle/shared/src/id.helper.ts +22 -0
  407. package/registry/combos/express-drizzle/shared/src/key-provider.ts +52 -0
  408. package/registry/combos/express-drizzle/shared/src/oauth.repository.ts +47 -0
  409. package/registry/combos/express-drizzle/shared/src/openapi-fragment.ts +49 -0
  410. package/registry/combos/express-drizzle/shared/src/openapi-spec.ts +493 -0
  411. package/registry/combos/express-drizzle/shared/src/pagination.ts +30 -0
  412. package/registry/combos/express-drizzle/shared/src/password-reset.repository.ts +35 -0
  413. package/registry/combos/express-drizzle/shared/src/permission-cache.ts +191 -0
  414. package/registry/combos/express-drizzle/shared/src/rate-limit.store.ts +24 -0
  415. package/registry/combos/express-drizzle/shared/src/request-context.ts +35 -0
  416. package/registry/combos/express-drizzle/shared/src/response-envelope.middleware.ts +46 -0
  417. package/registry/combos/express-drizzle/shared/src/route-tiers.ts +148 -0
  418. package/registry/combos/express-drizzle/shared/src/session.repository.ts +130 -0
  419. package/registry/combos/express-drizzle/shared/src/two-factor.repository.ts +38 -0
  420. package/registry/combos/express-drizzle/test/bootstrap.ts +40 -0
  421. package/registry/combos/express-drizzle/test/harness.ts +187 -0
  422. package/registry/combos/express-drizzle/test/prove-cycle.ts +789 -0
  423. package/registry/combos/express-drizzle/tsconfig.json +20 -0
  424. package/registry/combos/express-drizzle/variants/base/.env.example +25 -0
  425. package/registry/combos/express-drizzle/variants/base/drizzle/0000_init.sql +219 -0
  426. package/registry/combos/express-drizzle/variants/base/drizzle/0001_add_is_active_field.sql +1 -0
  427. package/registry/combos/express-drizzle/variants/base/drizzle/meta/0000_snapshot.json +1861 -0
  428. package/registry/combos/express-drizzle/variants/base/drizzle/meta/0001_snapshot.json +1868 -0
  429. package/registry/combos/express-drizzle/variants/base/drizzle/meta/_journal.json +20 -0
  430. package/registry/combos/express-drizzle/variants/base/src/admin.router.ts +307 -0
  431. package/registry/combos/express-drizzle/variants/base/src/audit-log.repository.ts +93 -0
  432. package/registry/combos/express-drizzle/variants/base/src/auth.service.ts +528 -0
  433. package/registry/combos/express-drizzle/variants/base/src/authz.middleware.ts +58 -0
  434. package/registry/combos/express-drizzle/variants/base/src/create-auth-app.ts +78 -0
  435. package/registry/combos/express-drizzle/variants/base/src/openapi-admin.ts +565 -0
  436. package/registry/combos/express-drizzle/variants/base/src/rbac.defaults.ts +218 -0
  437. package/registry/combos/express-drizzle/variants/base/src/rbac.repository.ts +606 -0
  438. package/registry/combos/express-drizzle/variants/base/src/schema.ts +425 -0
  439. package/registry/combos/express-drizzle/variants/base/src/seed.ts +138 -0
  440. package/registry/combos/express-drizzle/variants/base/test/variant-hooks.ts +179 -0
  441. package/registry/combos/express-drizzle/variants/workspaces/.env.example +30 -0
  442. package/registry/combos/express-drizzle/variants/workspaces/drizzle/0000_init.sql +251 -0
  443. package/registry/combos/express-drizzle/variants/workspaces/drizzle/0001_add_is_active_field.sql +1 -0
  444. package/registry/combos/express-drizzle/variants/workspaces/drizzle/meta/0000_snapshot.json +2155 -0
  445. package/registry/combos/express-drizzle/variants/workspaces/drizzle/meta/0001_snapshot.json +2162 -0
  446. package/registry/combos/express-drizzle/variants/workspaces/drizzle/meta/_journal.json +20 -0
  447. package/registry/combos/express-drizzle/variants/workspaces/src/admin.router.ts +323 -0
  448. package/registry/combos/express-drizzle/variants/workspaces/src/audit-log.repository.ts +105 -0
  449. package/registry/combos/express-drizzle/variants/workspaces/src/auth.service.ts +545 -0
  450. package/registry/combos/express-drizzle/variants/workspaces/src/authz.middleware.ts +94 -0
  451. package/registry/combos/express-drizzle/variants/workspaces/src/create-auth-app.ts +87 -0
  452. package/registry/combos/express-drizzle/variants/workspaces/src/openapi-admin.ts +596 -0
  453. package/registry/combos/express-drizzle/variants/workspaces/src/openapi-workspace.ts +183 -0
  454. package/registry/combos/express-drizzle/variants/workspaces/src/rbac.defaults.ts +248 -0
  455. package/registry/combos/express-drizzle/variants/workspaces/src/rbac.repository.ts +698 -0
  456. package/registry/combos/express-drizzle/variants/workspaces/src/schema.ts +487 -0
  457. package/registry/combos/express-drizzle/variants/workspaces/src/seed.ts +173 -0
  458. package/registry/combos/express-drizzle/variants/workspaces/src/workspace.repository.ts +254 -0
  459. package/registry/combos/express-drizzle/variants/workspaces/src/workspace.router.ts +123 -0
  460. package/registry/combos/express-drizzle/variants/workspaces/test/variant-hooks.ts +370 -0
  461. package/registry/combos/express-prisma/package.json +32 -0
  462. package/registry/combos/express-prisma/scripts/materialize.mjs +84 -0
  463. package/registry/combos/express-prisma/scripts/migrate.mjs +32 -0
  464. package/registry/combos/express-prisma/scripts/prove-cycle.mjs +30 -0
  465. package/registry/combos/express-prisma/scripts/seed.mjs +24 -0
  466. package/registry/combos/express-prisma/shared/prisma.config.ts +38 -0
  467. package/registry/combos/express-prisma/shared/src/ability.ts +44 -0
  468. package/registry/combos/express-prisma/shared/src/auth-core-error.middleware.ts +31 -0
  469. package/registry/combos/express-prisma/shared/src/auth.config.ts +63 -0
  470. package/registry/combos/express-prisma/shared/src/auth.middleware.ts +44 -0
  471. package/registry/combos/express-prisma/shared/src/auth.router.ts +269 -0
  472. package/registry/combos/express-prisma/shared/src/http-error.ts +18 -0
  473. package/registry/combos/express-prisma/shared/src/id.helper.ts +22 -0
  474. package/registry/combos/express-prisma/shared/src/key-provider.ts +52 -0
  475. package/registry/combos/express-prisma/shared/src/oauth.repository.ts +33 -0
  476. package/registry/combos/express-prisma/shared/src/openapi-fragment.ts +49 -0
  477. package/registry/combos/express-prisma/shared/src/openapi-spec.ts +487 -0
  478. package/registry/combos/express-prisma/shared/src/pagination.ts +30 -0
  479. package/registry/combos/express-prisma/shared/src/password-reset.repository.ts +29 -0
  480. package/registry/combos/express-prisma/shared/src/permission-cache.ts +191 -0
  481. package/registry/combos/express-prisma/shared/src/rate-limit.store.ts +21 -0
  482. package/registry/combos/express-prisma/shared/src/request-context.ts +35 -0
  483. package/registry/combos/express-prisma/shared/src/response-envelope.middleware.ts +46 -0
  484. package/registry/combos/express-prisma/shared/src/route-tiers.ts +148 -0
  485. package/registry/combos/express-prisma/shared/src/session.repository.ts +140 -0
  486. package/registry/combos/express-prisma/shared/src/two-factor.repository.ts +30 -0
  487. package/registry/combos/express-prisma/test/bootstrap.ts +45 -0
  488. package/registry/combos/express-prisma/test/harness.ts +187 -0
  489. package/registry/combos/express-prisma/test/prove-cycle.ts +793 -0
  490. package/registry/combos/express-prisma/tsconfig.json +21 -0
  491. package/registry/combos/express-prisma/variants/base/.env.example +25 -0
  492. package/registry/combos/express-prisma/variants/base/prisma/migrations/20260810165456_init/migration.sql +370 -0
  493. package/registry/combos/express-prisma/variants/base/prisma/migrations/20260811151048_add_is_active_field/migration.sql +2 -0
  494. package/registry/combos/express-prisma/variants/base/prisma/migrations/migration_lock.toml +3 -0
  495. package/registry/combos/express-prisma/variants/base/prisma/schema/simple-auth-kit.prisma +332 -0
  496. package/registry/combos/express-prisma/variants/base/src/admin.router.ts +314 -0
  497. package/registry/combos/express-prisma/variants/base/src/audit-log.repository.ts +91 -0
  498. package/registry/combos/express-prisma/variants/base/src/auth.service.ts +521 -0
  499. package/registry/combos/express-prisma/variants/base/src/authz.middleware.ts +58 -0
  500. package/registry/combos/express-prisma/variants/base/src/create-auth-app.ts +93 -0
  501. package/registry/combos/express-prisma/variants/base/src/openapi-admin.ts +569 -0
  502. package/registry/combos/express-prisma/variants/base/src/rbac.defaults.ts +195 -0
  503. package/registry/combos/express-prisma/variants/base/src/rbac.repository.ts +484 -0
  504. package/registry/combos/express-prisma/variants/base/src/seed.ts +115 -0
  505. package/registry/combos/express-prisma/variants/base/test/variant-hooks.ts +159 -0
  506. package/registry/combos/express-prisma/variants/workspaces/.env.example +30 -0
  507. package/registry/combos/express-prisma/variants/workspaces/prisma/migrations/20260810165502_init/migration.sql +443 -0
  508. package/registry/combos/express-prisma/variants/workspaces/prisma/migrations/20260811151051_add_is_active_field/migration.sql +2 -0
  509. package/registry/combos/express-prisma/variants/workspaces/prisma/migrations/migration_lock.toml +3 -0
  510. package/registry/combos/express-prisma/variants/workspaces/prisma/schema/simple-auth-kit.prisma +394 -0
  511. package/registry/combos/express-prisma/variants/workspaces/src/admin.router.ts +330 -0
  512. package/registry/combos/express-prisma/variants/workspaces/src/audit-log.repository.ts +102 -0
  513. package/registry/combos/express-prisma/variants/workspaces/src/auth.service.ts +542 -0
  514. package/registry/combos/express-prisma/variants/workspaces/src/authz.middleware.ts +94 -0
  515. package/registry/combos/express-prisma/variants/workspaces/src/create-auth-app.ts +99 -0
  516. package/registry/combos/express-prisma/variants/workspaces/src/openapi-admin.ts +601 -0
  517. package/registry/combos/express-prisma/variants/workspaces/src/openapi-workspace.ts +183 -0
  518. package/registry/combos/express-prisma/variants/workspaces/src/rbac.defaults.ts +222 -0
  519. package/registry/combos/express-prisma/variants/workspaces/src/rbac.repository.ts +527 -0
  520. package/registry/combos/express-prisma/variants/workspaces/src/seed.ts +147 -0
  521. package/registry/combos/express-prisma/variants/workspaces/src/workspace.repository.ts +188 -0
  522. package/registry/combos/express-prisma/variants/workspaces/src/workspace.router.ts +123 -0
  523. package/registry/combos/express-prisma/variants/workspaces/test/variant-hooks.ts +358 -0
  524. package/registry/combos/nestjs-drizzle/package.json +36 -0
  525. package/registry/combos/nestjs-drizzle/scripts/materialize.mjs +104 -0
  526. package/registry/combos/nestjs-drizzle/scripts/migrate.mjs +34 -0
  527. package/registry/combos/nestjs-drizzle/scripts/prove-cycle.mjs +29 -0
  528. package/registry/combos/nestjs-drizzle/scripts/seed.mjs +24 -0
  529. package/registry/combos/nestjs-drizzle/shared/drizzle.config.ts +67 -0
  530. package/registry/combos/nestjs-drizzle/shared/src/ability.guard.ts +46 -0
  531. package/registry/combos/nestjs-drizzle/shared/src/ability.ts +44 -0
  532. package/registry/combos/nestjs-drizzle/shared/src/auth-core-error.filter.ts +32 -0
  533. package/registry/combos/nestjs-drizzle/shared/src/auth.config.ts +65 -0
  534. package/registry/combos/nestjs-drizzle/shared/src/auth.controller.ts +299 -0
  535. package/registry/combos/nestjs-drizzle/shared/src/auth.guard.ts +34 -0
  536. package/registry/combos/nestjs-drizzle/shared/src/db.ts +12 -0
  537. package/registry/combos/nestjs-drizzle/shared/src/dto/auth.dto.ts +429 -0
  538. package/registry/combos/nestjs-drizzle/shared/src/id.helper.ts +22 -0
  539. package/registry/combos/nestjs-drizzle/shared/src/key-provider.ts +51 -0
  540. package/registry/combos/nestjs-drizzle/shared/src/oauth.repository.ts +36 -0
  541. package/registry/combos/nestjs-drizzle/shared/src/pagination.ts +30 -0
  542. package/registry/combos/nestjs-drizzle/shared/src/password-reset.repository.ts +29 -0
  543. package/registry/combos/nestjs-drizzle/shared/src/permission-cache.ts +196 -0
  544. package/registry/combos/nestjs-drizzle/shared/src/rate-limit.store.ts +26 -0
  545. package/registry/combos/nestjs-drizzle/shared/src/request-context.ts +25 -0
  546. package/registry/combos/nestjs-drizzle/shared/src/response.interceptor.ts +48 -0
  547. package/registry/combos/nestjs-drizzle/shared/src/route-tiers.ts +144 -0
  548. package/registry/combos/nestjs-drizzle/shared/src/session.repository.ts +132 -0
  549. package/registry/combos/nestjs-drizzle/shared/src/two-factor.repository.ts +35 -0
  550. package/registry/combos/nestjs-drizzle/test/bootstrap.ts +49 -0
  551. package/registry/combos/nestjs-drizzle/test/harness.ts +187 -0
  552. package/registry/combos/nestjs-drizzle/test/prove-cycle.ts +795 -0
  553. package/registry/combos/nestjs-drizzle/tsconfig.json +20 -0
  554. package/registry/combos/nestjs-drizzle/variants/base/.env.example +25 -0
  555. package/registry/combos/nestjs-drizzle/variants/base/drizzle/0000_init.sql +219 -0
  556. package/registry/combos/nestjs-drizzle/variants/base/drizzle/0001_add_is_active_field.sql +1 -0
  557. package/registry/combos/nestjs-drizzle/variants/base/drizzle/0002_colossal_true_believers.sql +3 -0
  558. package/registry/combos/nestjs-drizzle/variants/base/drizzle/meta/0000_snapshot.json +1861 -0
  559. package/registry/combos/nestjs-drizzle/variants/base/drizzle/meta/0001_snapshot.json +1868 -0
  560. package/registry/combos/nestjs-drizzle/variants/base/drizzle/meta/0002_snapshot.json +1887 -0
  561. package/registry/combos/nestjs-drizzle/variants/base/drizzle/meta/_journal.json +27 -0
  562. package/registry/combos/nestjs-drizzle/variants/base/src/admin.controller.ts +361 -0
  563. package/registry/combos/nestjs-drizzle/variants/base/src/audit-log.repository.ts +90 -0
  564. package/registry/combos/nestjs-drizzle/variants/base/src/auth.module.ts +83 -0
  565. package/registry/combos/nestjs-drizzle/variants/base/src/auth.service.ts +544 -0
  566. package/registry/combos/nestjs-drizzle/variants/base/src/authz.guard.ts +53 -0
  567. package/registry/combos/nestjs-drizzle/variants/base/src/dto/admin.dto.ts +130 -0
  568. package/registry/combos/nestjs-drizzle/variants/base/src/rbac.defaults.ts +218 -0
  569. package/registry/combos/nestjs-drizzle/variants/base/src/rbac.repository.ts +633 -0
  570. package/registry/combos/nestjs-drizzle/variants/base/src/schema.ts +427 -0
  571. package/registry/combos/nestjs-drizzle/variants/base/src/seed.ts +138 -0
  572. package/registry/combos/nestjs-drizzle/variants/base/test/variant-hooks.ts +179 -0
  573. package/registry/combos/nestjs-drizzle/variants/workspaces/.env.example +30 -0
  574. package/registry/combos/nestjs-drizzle/variants/workspaces/drizzle/0000_init.sql +251 -0
  575. package/registry/combos/nestjs-drizzle/variants/workspaces/drizzle/0001_add_is_active_field.sql +1 -0
  576. package/registry/combos/nestjs-drizzle/variants/workspaces/drizzle/0002_calm_tyger_tiger.sql +3 -0
  577. package/registry/combos/nestjs-drizzle/variants/workspaces/drizzle/meta/0000_snapshot.json +2155 -0
  578. package/registry/combos/nestjs-drizzle/variants/workspaces/drizzle/meta/0001_snapshot.json +2162 -0
  579. package/registry/combos/nestjs-drizzle/variants/workspaces/drizzle/meta/0002_snapshot.json +2181 -0
  580. package/registry/combos/nestjs-drizzle/variants/workspaces/drizzle/meta/_journal.json +27 -0
  581. package/registry/combos/nestjs-drizzle/variants/workspaces/src/admin.controller.ts +383 -0
  582. package/registry/combos/nestjs-drizzle/variants/workspaces/src/audit-log.repository.ts +102 -0
  583. package/registry/combos/nestjs-drizzle/variants/workspaces/src/auth.module.ts +87 -0
  584. package/registry/combos/nestjs-drizzle/variants/workspaces/src/auth.service.ts +553 -0
  585. package/registry/combos/nestjs-drizzle/variants/workspaces/src/authz.guard.ts +87 -0
  586. package/registry/combos/nestjs-drizzle/variants/workspaces/src/dto/admin.dto.ts +137 -0
  587. package/registry/combos/nestjs-drizzle/variants/workspaces/src/dto/workspace.dto.ts +60 -0
  588. package/registry/combos/nestjs-drizzle/variants/workspaces/src/rbac.defaults.ts +248 -0
  589. package/registry/combos/nestjs-drizzle/variants/workspaces/src/rbac.repository.ts +719 -0
  590. package/registry/combos/nestjs-drizzle/variants/workspaces/src/schema.ts +489 -0
  591. package/registry/combos/nestjs-drizzle/variants/workspaces/src/seed.ts +174 -0
  592. package/registry/combos/nestjs-drizzle/variants/workspaces/src/workspace.controller.ts +123 -0
  593. package/registry/combos/nestjs-drizzle/variants/workspaces/src/workspace.repository.ts +255 -0
  594. package/registry/combos/nestjs-drizzle/variants/workspaces/test/variant-hooks.ts +370 -0
  595. package/registry/combos/nestjs-prisma/package.json +41 -0
  596. package/registry/combos/nestjs-prisma/scripts/materialize.mjs +84 -0
  597. package/registry/combos/nestjs-prisma/scripts/migrate.mjs +32 -0
  598. package/registry/combos/nestjs-prisma/scripts/prove-cycle.mjs +30 -0
  599. package/registry/combos/nestjs-prisma/scripts/seed.mjs +24 -0
  600. package/registry/combos/nestjs-prisma/shared/prisma.config.ts +38 -0
  601. package/registry/combos/nestjs-prisma/shared/src/ability.guard.ts +29 -0
  602. package/registry/combos/nestjs-prisma/shared/src/ability.ts +23 -0
  603. package/registry/combos/nestjs-prisma/shared/src/auth-core-error.filter.ts +32 -0
  604. package/registry/combos/nestjs-prisma/shared/src/auth.config.ts +71 -0
  605. package/registry/combos/nestjs-prisma/shared/src/auth.controller.ts +303 -0
  606. package/registry/combos/nestjs-prisma/shared/src/auth.guard.ts +31 -0
  607. package/registry/combos/nestjs-prisma/shared/src/dto/auth.dto.ts +438 -0
  608. package/registry/combos/nestjs-prisma/shared/src/id.helper.ts +22 -0
  609. package/registry/combos/nestjs-prisma/shared/src/key-provider.ts +42 -0
  610. package/registry/combos/nestjs-prisma/shared/src/oauth.repository.ts +32 -0
  611. package/registry/combos/nestjs-prisma/shared/src/pagination.ts +30 -0
  612. package/registry/combos/nestjs-prisma/shared/src/password-reset.repository.ts +29 -0
  613. package/registry/combos/nestjs-prisma/shared/src/permission-cache.ts +140 -0
  614. package/registry/combos/nestjs-prisma/shared/src/rate-limit.store.ts +26 -0
  615. package/registry/combos/nestjs-prisma/shared/src/request-context.ts +19 -0
  616. package/registry/combos/nestjs-prisma/shared/src/response.interceptor.ts +48 -0
  617. package/registry/combos/nestjs-prisma/shared/src/route-tiers.ts +102 -0
  618. package/registry/combos/nestjs-prisma/shared/src/session.repository.ts +129 -0
  619. package/registry/combos/nestjs-prisma/shared/src/two-factor.repository.ts +29 -0
  620. package/registry/combos/nestjs-prisma/test/bootstrap.ts +54 -0
  621. package/registry/combos/nestjs-prisma/test/harness.ts +186 -0
  622. package/registry/combos/nestjs-prisma/test/prove-cycle.ts +795 -0
  623. package/registry/combos/nestjs-prisma/tsconfig.json +21 -0
  624. package/registry/combos/nestjs-prisma/variants/base/.env.example +31 -0
  625. package/registry/combos/nestjs-prisma/variants/base/prisma/migrations/20260810084937_init/migration.sql +269 -0
  626. package/registry/combos/nestjs-prisma/variants/base/prisma/migrations/20260810122546_add_profile_audit_soft_delete/migration.sql +96 -0
  627. package/registry/combos/nestjs-prisma/variants/base/prisma/migrations/20260810123620_add_display_name/migration.sql +3 -0
  628. package/registry/combos/nestjs-prisma/variants/base/prisma/migrations/20260810131421_drop_signing_keys/migration.sql +3 -0
  629. package/registry/combos/nestjs-prisma/variants/base/prisma/migrations/20260810161515_bigint_ids/migration.sql +305 -0
  630. package/registry/combos/nestjs-prisma/variants/base/prisma/migrations/20260810162120_drop_name_unique/migration.sql +6 -0
  631. package/registry/combos/nestjs-prisma/variants/base/prisma/migrations/20260811145755_add_is_active_field/migration.sql +2 -0
  632. package/registry/combos/nestjs-prisma/variants/base/prisma/migrations/20260811183529_add_countries_languages_customers/migration.sql +146 -0
  633. package/registry/combos/nestjs-prisma/variants/base/prisma/migrations/20260812121128_add_user_profile_details/migration.sql +4 -0
  634. package/registry/combos/nestjs-prisma/variants/base/prisma/migrations/migration_lock.toml +3 -0
  635. package/registry/combos/nestjs-prisma/variants/base/prisma/schema/simple-auth-kit.prisma +437 -0
  636. package/registry/combos/nestjs-prisma/variants/base/src/admin.controller.ts +684 -0
  637. package/registry/combos/nestjs-prisma/variants/base/src/audit-log.gateway.ts +51 -0
  638. package/registry/combos/nestjs-prisma/variants/base/src/audit-log.repository.ts +111 -0
  639. package/registry/combos/nestjs-prisma/variants/base/src/auth.module.ts +87 -0
  640. package/registry/combos/nestjs-prisma/variants/base/src/auth.service.ts +618 -0
  641. package/registry/combos/nestjs-prisma/variants/base/src/authz.guard.ts +34 -0
  642. package/registry/combos/nestjs-prisma/variants/base/src/country.repository.ts +149 -0
  643. package/registry/combos/nestjs-prisma/variants/base/src/customer.repository.ts +169 -0
  644. package/registry/combos/nestjs-prisma/variants/base/src/docs.ts +60 -0
  645. package/registry/combos/nestjs-prisma/variants/base/src/dto/admin.dto.ts +130 -0
  646. package/registry/combos/nestjs-prisma/variants/base/src/dto/country.dto.ts +120 -0
  647. package/registry/combos/nestjs-prisma/variants/base/src/dto/customer.dto.ts +147 -0
  648. package/registry/combos/nestjs-prisma/variants/base/src/dto/language.dto.ts +93 -0
  649. package/registry/combos/nestjs-prisma/variants/base/src/language.repository.ts +135 -0
  650. package/registry/combos/nestjs-prisma/variants/base/src/rbac.defaults.ts +193 -0
  651. package/registry/combos/nestjs-prisma/variants/base/src/rbac.repository.ts +514 -0
  652. package/registry/combos/nestjs-prisma/variants/base/src/seed.ts +89 -0
  653. package/registry/combos/nestjs-prisma/variants/base/test/variant-hooks.ts +135 -0
  654. package/registry/combos/nestjs-prisma/variants/workspaces/.env.example +30 -0
  655. package/registry/combos/nestjs-prisma/variants/workspaces/prisma/migrations/20260810084938_init/migration.sql +308 -0
  656. package/registry/combos/nestjs-prisma/variants/workspaces/prisma/migrations/20260810123450_add_profile_audit_soft_delete/migration.sql +96 -0
  657. package/registry/combos/nestjs-prisma/variants/workspaces/prisma/migrations/20260810123632_add_display_name/migration.sql +3 -0
  658. package/registry/combos/nestjs-prisma/variants/workspaces/prisma/migrations/20260810124243_workspace_audit_soft_delete/migration.sql +25 -0
  659. package/registry/combos/nestjs-prisma/variants/workspaces/prisma/migrations/20260810131432_drop_signing_keys/migration.sql +3 -0
  660. package/registry/combos/nestjs-prisma/variants/workspaces/prisma/migrations/20260810161551_bigint_ids/migration.sql +393 -0
  661. package/registry/combos/nestjs-prisma/variants/workspaces/prisma/migrations/20260810162131_drop_name_unique/migration.sql +3 -0
  662. package/registry/combos/nestjs-prisma/variants/workspaces/prisma/migrations/20260811145805_add_is_active_field/migration.sql +2 -0
  663. package/registry/combos/nestjs-prisma/variants/workspaces/prisma/migrations/20260813120000_add_countries_languages_customers/migration.sql +158 -0
  664. package/registry/combos/nestjs-prisma/variants/workspaces/prisma/migrations/migration_lock.toml +3 -0
  665. package/registry/combos/nestjs-prisma/variants/workspaces/prisma/schema/simple-auth-kit.prisma +521 -0
  666. package/registry/combos/nestjs-prisma/variants/workspaces/src/admin.controller.ts +733 -0
  667. package/registry/combos/nestjs-prisma/variants/workspaces/src/audit-log.repository.ts +98 -0
  668. package/registry/combos/nestjs-prisma/variants/workspaces/src/auth.module.ts +83 -0
  669. package/registry/combos/nestjs-prisma/variants/workspaces/src/auth.service.ts +509 -0
  670. package/registry/combos/nestjs-prisma/variants/workspaces/src/authz.guard.ts +69 -0
  671. package/registry/combos/nestjs-prisma/variants/workspaces/src/country.repository.ts +158 -0
  672. package/registry/combos/nestjs-prisma/variants/workspaces/src/customer.repository.ts +179 -0
  673. package/registry/combos/nestjs-prisma/variants/workspaces/src/dto/admin.dto.ts +128 -0
  674. package/registry/combos/nestjs-prisma/variants/workspaces/src/dto/country.dto.ts +120 -0
  675. package/registry/combos/nestjs-prisma/variants/workspaces/src/dto/customer.dto.ts +147 -0
  676. package/registry/combos/nestjs-prisma/variants/workspaces/src/dto/language.dto.ts +93 -0
  677. package/registry/combos/nestjs-prisma/variants/workspaces/src/dto/workspace.dto.ts +60 -0
  678. package/registry/combos/nestjs-prisma/variants/workspaces/src/language.repository.ts +143 -0
  679. package/registry/combos/nestjs-prisma/variants/workspaces/src/rbac.defaults.ts +211 -0
  680. package/registry/combos/nestjs-prisma/variants/workspaces/src/rbac.repository.ts +505 -0
  681. package/registry/combos/nestjs-prisma/variants/workspaces/src/seed.ts +122 -0
  682. package/registry/combos/nestjs-prisma/variants/workspaces/src/workspace.controller.ts +111 -0
  683. package/registry/combos/nestjs-prisma/variants/workspaces/src/workspace.repository.ts +177 -0
  684. package/registry/combos/nestjs-prisma/variants/workspaces/test/variant-hooks.ts +333 -0
  685. package/registry/core/crypto.ts +43 -0
  686. package/registry/core/oauth.ts +159 -0
  687. package/registry/core/package.json +20 -0
  688. package/registry/core/password-reset.ts +42 -0
  689. package/registry/core/rate-limit.ts +33 -0
  690. package/registry/core/rbac.ts +4 -0
  691. package/registry/core/session-policy.ts +96 -0
  692. package/registry/core/test/crypto.test.ts +25 -0
  693. package/registry/core/test/oauth.test.ts +213 -0
  694. package/registry/core/test/password-reset.test.ts +77 -0
  695. package/registry/core/test/rate-limit.test.ts +41 -0
  696. package/registry/core/test/rbac.test.ts +20 -0
  697. package/registry/core/test/session-policy.test.ts +209 -0
  698. package/registry/core/test/test-keys.ts +6 -0
  699. package/registry/core/test/token-service.test.ts +81 -0
  700. package/registry/core/test/two-factor.test.ts +72 -0
  701. package/registry/core/token-service.ts +143 -0
  702. package/registry/core/tsconfig.json +5 -0
  703. package/registry/core/two-factor.ts +108 -0
  704. package/registry/core/types.ts +127 -0
  705. package/registry/mobile-apps/README.md +65 -0
  706. package/registry/mobile-apps/bare-rn/shared/.bundle/config +2 -0
  707. package/registry/mobile-apps/bare-rn/shared/.eslintrc.js +4 -0
  708. package/registry/mobile-apps/bare-rn/shared/.prettierrc.js +5 -0
  709. package/registry/mobile-apps/bare-rn/shared/.watchmanconfig +1 -0
  710. package/registry/mobile-apps/bare-rn/shared/App.tsx +28 -0
  711. package/registry/mobile-apps/bare-rn/shared/Gemfile +17 -0
  712. package/registry/mobile-apps/bare-rn/shared/README.md +97 -0
  713. package/registry/mobile-apps/bare-rn/shared/__mocks__/reactNativeConfigMock.js +3 -0
  714. package/registry/mobile-apps/bare-rn/shared/__mocks__/styleMock.js +1 -0
  715. package/registry/mobile-apps/bare-rn/shared/__tests__/App.test.tsx +13 -0
  716. package/registry/mobile-apps/bare-rn/shared/android/app/build.gradle +121 -0
  717. package/registry/mobile-apps/bare-rn/shared/android/app/debug.keystore +0 -0
  718. package/registry/mobile-apps/bare-rn/shared/android/app/proguard-rules.pro +10 -0
  719. package/registry/mobile-apps/bare-rn/shared/android/app/src/main/AndroidManifest.xml +27 -0
  720. package/registry/mobile-apps/bare-rn/shared/android/app/src/main/java/com/mobilebarern/MainActivity.kt +22 -0
  721. package/registry/mobile-apps/bare-rn/shared/android/app/src/main/java/com/mobilebarern/MainApplication.kt +27 -0
  722. package/registry/mobile-apps/bare-rn/shared/android/app/src/main/res/drawable/rn_edit_text_material.xml +37 -0
  723. package/registry/mobile-apps/bare-rn/shared/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  724. package/registry/mobile-apps/bare-rn/shared/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png +0 -0
  725. package/registry/mobile-apps/bare-rn/shared/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  726. package/registry/mobile-apps/bare-rn/shared/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png +0 -0
  727. package/registry/mobile-apps/bare-rn/shared/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  728. package/registry/mobile-apps/bare-rn/shared/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png +0 -0
  729. package/registry/mobile-apps/bare-rn/shared/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  730. package/registry/mobile-apps/bare-rn/shared/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
  731. package/registry/mobile-apps/bare-rn/shared/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  732. package/registry/mobile-apps/bare-rn/shared/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
  733. package/registry/mobile-apps/bare-rn/shared/android/app/src/main/res/values/strings.xml +3 -0
  734. package/registry/mobile-apps/bare-rn/shared/android/app/src/main/res/values/styles.xml +9 -0
  735. package/registry/mobile-apps/bare-rn/shared/android/build.gradle +21 -0
  736. package/registry/mobile-apps/bare-rn/shared/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  737. package/registry/mobile-apps/bare-rn/shared/android/gradle/wrapper/gradle-wrapper.properties +7 -0
  738. package/registry/mobile-apps/bare-rn/shared/android/gradle.properties +44 -0
  739. package/registry/mobile-apps/bare-rn/shared/android/gradlew +248 -0
  740. package/registry/mobile-apps/bare-rn/shared/android/gradlew.bat +98 -0
  741. package/registry/mobile-apps/bare-rn/shared/android/settings.gradle +6 -0
  742. package/registry/mobile-apps/bare-rn/shared/app.json +4 -0
  743. package/registry/mobile-apps/bare-rn/shared/babel.config.js +6 -0
  744. package/registry/mobile-apps/bare-rn/shared/global.css +2 -0
  745. package/registry/mobile-apps/bare-rn/shared/index.js +10 -0
  746. package/registry/mobile-apps/bare-rn/shared/ios/.xcode.env +11 -0
  747. package/registry/mobile-apps/bare-rn/shared/ios/MobileBareRn/AppDelegate.swift +48 -0
  748. package/registry/mobile-apps/bare-rn/shared/ios/MobileBareRn/Images.xcassets/AppIcon.appiconset/Contents.json +53 -0
  749. package/registry/mobile-apps/bare-rn/shared/ios/MobileBareRn/Images.xcassets/Contents.json +6 -0
  750. package/registry/mobile-apps/bare-rn/shared/ios/MobileBareRn/Info.plist +59 -0
  751. package/registry/mobile-apps/bare-rn/shared/ios/MobileBareRn/LaunchScreen.storyboard +47 -0
  752. package/registry/mobile-apps/bare-rn/shared/ios/MobileBareRn/PrivacyInfo.xcprivacy +37 -0
  753. package/registry/mobile-apps/bare-rn/shared/ios/MobileBareRn.xcodeproj/project.pbxproj +475 -0
  754. package/registry/mobile-apps/bare-rn/shared/ios/MobileBareRn.xcodeproj/xcshareddata/xcschemes/MobileBareRn.xcscheme +88 -0
  755. package/registry/mobile-apps/bare-rn/shared/ios/Podfile +34 -0
  756. package/registry/mobile-apps/bare-rn/shared/jest.config.js +17 -0
  757. package/registry/mobile-apps/bare-rn/shared/metro.config.js +55 -0
  758. package/registry/mobile-apps/bare-rn/shared/nativewind-env.d.ts +1 -0
  759. package/registry/mobile-apps/bare-rn/shared/src/api/tokenStorage.ts +29 -0
  760. package/registry/mobile-apps/bare-rn/shared/src/components/FormInput.tsx +21 -0
  761. package/registry/mobile-apps/bare-rn/shared/src/components/PrimaryButton.tsx +47 -0
  762. package/registry/mobile-apps/bare-rn/shared/src/screens/LoginScreen.tsx +58 -0
  763. package/registry/mobile-apps/bare-rn/shared/src/screens/SessionsScreen.tsx +77 -0
  764. package/registry/mobile-apps/bare-rn/shared/src/screens/SignupScreen.tsx +54 -0
  765. package/registry/mobile-apps/bare-rn/shared/src/screens/TwoFactorScreen.tsx +59 -0
  766. package/registry/mobile-apps/bare-rn/shared/tailwind.config.js +9 -0
  767. package/registry/mobile-apps/bare-rn/shared/tsconfig.json +17 -0
  768. package/registry/mobile-apps/bare-rn/variants/base/package.json +58 -0
  769. package/registry/mobile-apps/bare-rn/variants/base/src/api/authClient.ts +14 -0
  770. package/registry/mobile-apps/bare-rn/variants/base/src/navigation/RootNavigator.tsx +58 -0
  771. package/registry/mobile-apps/bare-rn/variants/base/src/navigation/types.ts +15 -0
  772. package/registry/mobile-apps/bare-rn/variants/base/src/screens/HomeScreen.tsx +64 -0
  773. package/registry/mobile-apps/bare-rn/variants/base/src/store/authStore.ts +143 -0
  774. package/registry/mobile-apps/bare-rn/variants/workspaces/package.json +58 -0
  775. package/registry/mobile-apps/bare-rn/variants/workspaces/src/api/authClient.ts +22 -0
  776. package/registry/mobile-apps/bare-rn/variants/workspaces/src/navigation/RootNavigator.tsx +72 -0
  777. package/registry/mobile-apps/bare-rn/variants/workspaces/src/navigation/types.ts +18 -0
  778. package/registry/mobile-apps/bare-rn/variants/workspaces/src/screens/HomeScreen.tsx +85 -0
  779. package/registry/mobile-apps/bare-rn/variants/workspaces/src/screens/WorkspaceSelectScreen.tsx +165 -0
  780. package/registry/mobile-apps/bare-rn/variants/workspaces/src/store/authStore.ts +177 -0
  781. package/registry/mobile-apps/bare-rn/variants/workspaces/src/store/workspaceStore.ts +90 -0
  782. package/registry/mobile-apps/bare-rn/variants/workspaces/src/workspace/activeWorkspace.ts +55 -0
  783. package/registry/mobile-apps/expo/shared/App.tsx +15 -0
  784. package/registry/mobile-apps/expo/shared/assets/android-icon-background.png +0 -0
  785. package/registry/mobile-apps/expo/shared/assets/android-icon-foreground.png +0 -0
  786. package/registry/mobile-apps/expo/shared/assets/android-icon-monochrome.png +0 -0
  787. package/registry/mobile-apps/expo/shared/assets/favicon.png +0 -0
  788. package/registry/mobile-apps/expo/shared/assets/icon.png +0 -0
  789. package/registry/mobile-apps/expo/shared/assets/splash-icon.png +0 -0
  790. package/registry/mobile-apps/expo/shared/babel.config.js +6 -0
  791. package/registry/mobile-apps/expo/shared/global.css +2 -0
  792. package/registry/mobile-apps/expo/shared/index.ts +8 -0
  793. package/registry/mobile-apps/expo/shared/metro.config.js +6 -0
  794. package/registry/mobile-apps/expo/shared/nativewind-env.d.ts +3 -0
  795. package/registry/mobile-apps/expo/shared/postcss.config.mjs +5 -0
  796. package/registry/mobile-apps/expo/shared/src/screens/LoginScreen.tsx +81 -0
  797. package/registry/mobile-apps/expo/shared/src/screens/SessionsScreen.tsx +77 -0
  798. package/registry/mobile-apps/expo/shared/src/screens/SignupScreen.tsx +77 -0
  799. package/registry/mobile-apps/expo/shared/src/screens/TwoFactorScreen.tsx +59 -0
  800. package/registry/mobile-apps/expo/shared/src/storage/asyncStorageTokenStorage.ts +32 -0
  801. package/registry/mobile-apps/expo/shared/tsconfig.json +6 -0
  802. package/registry/mobile-apps/expo/variants/base/app.json +25 -0
  803. package/registry/mobile-apps/expo/variants/base/package.json +35 -0
  804. package/registry/mobile-apps/expo/variants/base/src/api/authClient.ts +17 -0
  805. package/registry/mobile-apps/expo/variants/base/src/navigation/RootNavigator.tsx +58 -0
  806. package/registry/mobile-apps/expo/variants/base/src/navigation/types.ts +10 -0
  807. package/registry/mobile-apps/expo/variants/base/src/screens/HomeScreen.tsx +75 -0
  808. package/registry/mobile-apps/expo/variants/base/src/store/authStore.ts +146 -0
  809. package/registry/mobile-apps/expo/variants/workspaces/app.json +25 -0
  810. package/registry/mobile-apps/expo/variants/workspaces/package.json +35 -0
  811. package/registry/mobile-apps/expo/variants/workspaces/src/api/authClient.ts +21 -0
  812. package/registry/mobile-apps/expo/variants/workspaces/src/navigation/RootNavigator.tsx +82 -0
  813. package/registry/mobile-apps/expo/variants/workspaces/src/navigation/types.ts +20 -0
  814. package/registry/mobile-apps/expo/variants/workspaces/src/screens/HomeScreen.tsx +94 -0
  815. package/registry/mobile-apps/expo/variants/workspaces/src/screens/WorkspaceSelectScreen.tsx +175 -0
  816. package/registry/mobile-apps/expo/variants/workspaces/src/store/authStore.ts +179 -0
  817. package/registry/mobile-apps/expo/variants/workspaces/src/store/workspaceStore.ts +90 -0
  818. package/registry/mobile-apps/expo/variants/workspaces/src/workspace/activeWorkspace.ts +55 -0
  819. package/registry.json +263 -0
  820. package/simple-auth-kit.ts +715 -0
@@ -0,0 +1,1861 @@
1
+ {
2
+ "id": "515b8af0-2518-471e-91f7-53800d5d7b9b",
3
+ "prevId": "00000000-0000-0000-0000-000000000000",
4
+ "version": "7",
5
+ "dialect": "postgresql",
6
+ "tables": {
7
+ "public.audit_logs": {
8
+ "name": "audit_logs",
9
+ "schema": "",
10
+ "columns": {
11
+ "id": {
12
+ "name": "id",
13
+ "type": "bigserial",
14
+ "primaryKey": true,
15
+ "notNull": true
16
+ },
17
+ "uuid": {
18
+ "name": "uuid",
19
+ "type": "text",
20
+ "primaryKey": false,
21
+ "notNull": true
22
+ },
23
+ "user_id": {
24
+ "name": "user_id",
25
+ "type": "bigint",
26
+ "primaryKey": false,
27
+ "notNull": false
28
+ },
29
+ "name": {
30
+ "name": "name",
31
+ "type": "text",
32
+ "primaryKey": false,
33
+ "notNull": true
34
+ },
35
+ "action": {
36
+ "name": "action",
37
+ "type": "text",
38
+ "primaryKey": false,
39
+ "notNull": true
40
+ },
41
+ "info": {
42
+ "name": "info",
43
+ "type": "jsonb",
44
+ "primaryKey": false,
45
+ "notNull": true
46
+ },
47
+ "remarks": {
48
+ "name": "remarks",
49
+ "type": "text",
50
+ "primaryKey": false,
51
+ "notNull": false
52
+ },
53
+ "created_at": {
54
+ "name": "created_at",
55
+ "type": "timestamp (6) with time zone",
56
+ "primaryKey": false,
57
+ "notNull": true,
58
+ "default": "now()"
59
+ },
60
+ "updated_at": {
61
+ "name": "updated_at",
62
+ "type": "timestamp (6) with time zone",
63
+ "primaryKey": false,
64
+ "notNull": true,
65
+ "default": "now()"
66
+ }
67
+ },
68
+ "indexes": {
69
+ "audit_logs_uuid_key": {
70
+ "name": "audit_logs_uuid_key",
71
+ "columns": [
72
+ {
73
+ "expression": "uuid",
74
+ "isExpression": false,
75
+ "asc": true,
76
+ "nulls": "last"
77
+ }
78
+ ],
79
+ "isUnique": true,
80
+ "concurrently": false,
81
+ "method": "btree",
82
+ "with": {}
83
+ },
84
+ "audit_logs_user_created_idx": {
85
+ "name": "audit_logs_user_created_idx",
86
+ "columns": [
87
+ {
88
+ "expression": "user_id",
89
+ "isExpression": false,
90
+ "asc": true,
91
+ "nulls": "last"
92
+ },
93
+ {
94
+ "expression": "created_at",
95
+ "isExpression": false,
96
+ "asc": true,
97
+ "nulls": "last"
98
+ }
99
+ ],
100
+ "isUnique": false,
101
+ "concurrently": false,
102
+ "method": "btree",
103
+ "with": {}
104
+ },
105
+ "audit_logs_created_idx": {
106
+ "name": "audit_logs_created_idx",
107
+ "columns": [
108
+ {
109
+ "expression": "created_at",
110
+ "isExpression": false,
111
+ "asc": true,
112
+ "nulls": "last"
113
+ }
114
+ ],
115
+ "isUnique": false,
116
+ "concurrently": false,
117
+ "method": "btree",
118
+ "with": {}
119
+ }
120
+ },
121
+ "foreignKeys": {},
122
+ "compositePrimaryKeys": {},
123
+ "uniqueConstraints": {},
124
+ "policies": {},
125
+ "checkConstraints": {},
126
+ "isRLSEnabled": false
127
+ },
128
+ "public.denylisted_access_tokens": {
129
+ "name": "denylisted_access_tokens",
130
+ "schema": "",
131
+ "columns": {
132
+ "jti": {
133
+ "name": "jti",
134
+ "type": "text",
135
+ "primaryKey": true,
136
+ "notNull": true
137
+ },
138
+ "expires_at": {
139
+ "name": "expires_at",
140
+ "type": "timestamp (6) with time zone",
141
+ "primaryKey": false,
142
+ "notNull": true
143
+ }
144
+ },
145
+ "indexes": {},
146
+ "foreignKeys": {},
147
+ "compositePrimaryKeys": {},
148
+ "uniqueConstraints": {},
149
+ "policies": {},
150
+ "checkConstraints": {},
151
+ "isRLSEnabled": false
152
+ },
153
+ "public.oauth_accounts": {
154
+ "name": "oauth_accounts",
155
+ "schema": "",
156
+ "columns": {
157
+ "id": {
158
+ "name": "id",
159
+ "type": "bigserial",
160
+ "primaryKey": true,
161
+ "notNull": true
162
+ },
163
+ "uuid": {
164
+ "name": "uuid",
165
+ "type": "text",
166
+ "primaryKey": false,
167
+ "notNull": true
168
+ },
169
+ "user_id": {
170
+ "name": "user_id",
171
+ "type": "bigint",
172
+ "primaryKey": false,
173
+ "notNull": true
174
+ },
175
+ "provider": {
176
+ "name": "provider",
177
+ "type": "varchar(100)",
178
+ "primaryKey": false,
179
+ "notNull": true
180
+ },
181
+ "provider_account_id": {
182
+ "name": "provider_account_id",
183
+ "type": "text",
184
+ "primaryKey": false,
185
+ "notNull": true
186
+ },
187
+ "email": {
188
+ "name": "email",
189
+ "type": "text",
190
+ "primaryKey": false,
191
+ "notNull": false
192
+ },
193
+ "created_at": {
194
+ "name": "created_at",
195
+ "type": "timestamp (6) with time zone",
196
+ "primaryKey": false,
197
+ "notNull": true,
198
+ "default": "now()"
199
+ }
200
+ },
201
+ "indexes": {
202
+ "oauth_accounts_uuid_key": {
203
+ "name": "oauth_accounts_uuid_key",
204
+ "columns": [
205
+ {
206
+ "expression": "uuid",
207
+ "isExpression": false,
208
+ "asc": true,
209
+ "nulls": "last"
210
+ }
211
+ ],
212
+ "isUnique": true,
213
+ "concurrently": false,
214
+ "method": "btree",
215
+ "with": {}
216
+ },
217
+ "oauth_accounts_provider_provider_account_id_key": {
218
+ "name": "oauth_accounts_provider_provider_account_id_key",
219
+ "columns": [
220
+ {
221
+ "expression": "provider",
222
+ "isExpression": false,
223
+ "asc": true,
224
+ "nulls": "last"
225
+ },
226
+ {
227
+ "expression": "provider_account_id",
228
+ "isExpression": false,
229
+ "asc": true,
230
+ "nulls": "last"
231
+ }
232
+ ],
233
+ "isUnique": true,
234
+ "concurrently": false,
235
+ "method": "btree",
236
+ "with": {}
237
+ },
238
+ "oauth_accounts_user_id_idx": {
239
+ "name": "oauth_accounts_user_id_idx",
240
+ "columns": [
241
+ {
242
+ "expression": "user_id",
243
+ "isExpression": false,
244
+ "asc": true,
245
+ "nulls": "last"
246
+ }
247
+ ],
248
+ "isUnique": false,
249
+ "concurrently": false,
250
+ "method": "btree",
251
+ "with": {}
252
+ }
253
+ },
254
+ "foreignKeys": {
255
+ "oauth_accounts_user_id_users_id_fk": {
256
+ "name": "oauth_accounts_user_id_users_id_fk",
257
+ "tableFrom": "oauth_accounts",
258
+ "tableTo": "users",
259
+ "columnsFrom": [
260
+ "user_id"
261
+ ],
262
+ "columnsTo": [
263
+ "id"
264
+ ],
265
+ "onDelete": "no action",
266
+ "onUpdate": "no action"
267
+ }
268
+ },
269
+ "compositePrimaryKeys": {},
270
+ "uniqueConstraints": {},
271
+ "policies": {},
272
+ "checkConstraints": {},
273
+ "isRLSEnabled": false
274
+ },
275
+ "public.password_reset_tokens": {
276
+ "name": "password_reset_tokens",
277
+ "schema": "",
278
+ "columns": {
279
+ "id": {
280
+ "name": "id",
281
+ "type": "bigserial",
282
+ "primaryKey": true,
283
+ "notNull": true
284
+ },
285
+ "uuid": {
286
+ "name": "uuid",
287
+ "type": "text",
288
+ "primaryKey": false,
289
+ "notNull": true
290
+ },
291
+ "user_id": {
292
+ "name": "user_id",
293
+ "type": "bigint",
294
+ "primaryKey": false,
295
+ "notNull": true
296
+ },
297
+ "token_hash": {
298
+ "name": "token_hash",
299
+ "type": "text",
300
+ "primaryKey": false,
301
+ "notNull": true
302
+ },
303
+ "expires_at": {
304
+ "name": "expires_at",
305
+ "type": "timestamp (6) with time zone",
306
+ "primaryKey": false,
307
+ "notNull": true
308
+ },
309
+ "consumed_at": {
310
+ "name": "consumed_at",
311
+ "type": "timestamp (6) with time zone",
312
+ "primaryKey": false,
313
+ "notNull": false
314
+ },
315
+ "created_at": {
316
+ "name": "created_at",
317
+ "type": "timestamp (6) with time zone",
318
+ "primaryKey": false,
319
+ "notNull": true,
320
+ "default": "now()"
321
+ }
322
+ },
323
+ "indexes": {
324
+ "password_reset_tokens_uuid_key": {
325
+ "name": "password_reset_tokens_uuid_key",
326
+ "columns": [
327
+ {
328
+ "expression": "uuid",
329
+ "isExpression": false,
330
+ "asc": true,
331
+ "nulls": "last"
332
+ }
333
+ ],
334
+ "isUnique": true,
335
+ "concurrently": false,
336
+ "method": "btree",
337
+ "with": {}
338
+ },
339
+ "password_reset_tokens_token_hash_key": {
340
+ "name": "password_reset_tokens_token_hash_key",
341
+ "columns": [
342
+ {
343
+ "expression": "token_hash",
344
+ "isExpression": false,
345
+ "asc": true,
346
+ "nulls": "last"
347
+ }
348
+ ],
349
+ "isUnique": true,
350
+ "concurrently": false,
351
+ "method": "btree",
352
+ "with": {}
353
+ }
354
+ },
355
+ "foreignKeys": {
356
+ "password_reset_tokens_user_id_users_id_fk": {
357
+ "name": "password_reset_tokens_user_id_users_id_fk",
358
+ "tableFrom": "password_reset_tokens",
359
+ "tableTo": "users",
360
+ "columnsFrom": [
361
+ "user_id"
362
+ ],
363
+ "columnsTo": [
364
+ "id"
365
+ ],
366
+ "onDelete": "no action",
367
+ "onUpdate": "no action"
368
+ }
369
+ },
370
+ "compositePrimaryKeys": {},
371
+ "uniqueConstraints": {},
372
+ "policies": {},
373
+ "checkConstraints": {},
374
+ "isRLSEnabled": false
375
+ },
376
+ "public.permission_role": {
377
+ "name": "permission_role",
378
+ "schema": "",
379
+ "columns": {
380
+ "permission_id": {
381
+ "name": "permission_id",
382
+ "type": "bigint",
383
+ "primaryKey": false,
384
+ "notNull": true
385
+ },
386
+ "role_id": {
387
+ "name": "role_id",
388
+ "type": "bigint",
389
+ "primaryKey": false,
390
+ "notNull": true
391
+ },
392
+ "created_at": {
393
+ "name": "created_at",
394
+ "type": "timestamp (6) with time zone",
395
+ "primaryKey": false,
396
+ "notNull": true,
397
+ "default": "now()"
398
+ },
399
+ "updated_at": {
400
+ "name": "updated_at",
401
+ "type": "timestamp (6) with time zone",
402
+ "primaryKey": false,
403
+ "notNull": true,
404
+ "default": "now()"
405
+ }
406
+ },
407
+ "indexes": {
408
+ "permission_role_role_id_idx": {
409
+ "name": "permission_role_role_id_idx",
410
+ "columns": [
411
+ {
412
+ "expression": "role_id",
413
+ "isExpression": false,
414
+ "asc": true,
415
+ "nulls": "last"
416
+ }
417
+ ],
418
+ "isUnique": false,
419
+ "concurrently": false,
420
+ "method": "btree",
421
+ "with": {}
422
+ }
423
+ },
424
+ "foreignKeys": {
425
+ "permission_role_permission_id_permissions_id_fk": {
426
+ "name": "permission_role_permission_id_permissions_id_fk",
427
+ "tableFrom": "permission_role",
428
+ "tableTo": "permissions",
429
+ "columnsFrom": [
430
+ "permission_id"
431
+ ],
432
+ "columnsTo": [
433
+ "id"
434
+ ],
435
+ "onDelete": "cascade",
436
+ "onUpdate": "no action"
437
+ },
438
+ "permission_role_role_id_roles_id_fk": {
439
+ "name": "permission_role_role_id_roles_id_fk",
440
+ "tableFrom": "permission_role",
441
+ "tableTo": "roles",
442
+ "columnsFrom": [
443
+ "role_id"
444
+ ],
445
+ "columnsTo": [
446
+ "id"
447
+ ],
448
+ "onDelete": "cascade",
449
+ "onUpdate": "no action"
450
+ }
451
+ },
452
+ "compositePrimaryKeys": {
453
+ "permission_role_pkey": {
454
+ "name": "permission_role_pkey",
455
+ "columns": [
456
+ "permission_id",
457
+ "role_id"
458
+ ]
459
+ }
460
+ },
461
+ "uniqueConstraints": {},
462
+ "policies": {},
463
+ "checkConstraints": {},
464
+ "isRLSEnabled": false
465
+ },
466
+ "public.permission_user": {
467
+ "name": "permission_user",
468
+ "schema": "",
469
+ "columns": {
470
+ "user_id": {
471
+ "name": "user_id",
472
+ "type": "bigint",
473
+ "primaryKey": false,
474
+ "notNull": true
475
+ },
476
+ "permission_id": {
477
+ "name": "permission_id",
478
+ "type": "bigint",
479
+ "primaryKey": false,
480
+ "notNull": true
481
+ },
482
+ "created_at": {
483
+ "name": "created_at",
484
+ "type": "timestamp (6) with time zone",
485
+ "primaryKey": false,
486
+ "notNull": true,
487
+ "default": "now()"
488
+ },
489
+ "updated_at": {
490
+ "name": "updated_at",
491
+ "type": "timestamp (6) with time zone",
492
+ "primaryKey": false,
493
+ "notNull": true,
494
+ "default": "now()"
495
+ }
496
+ },
497
+ "indexes": {
498
+ "permission_user_permission_id_idx": {
499
+ "name": "permission_user_permission_id_idx",
500
+ "columns": [
501
+ {
502
+ "expression": "permission_id",
503
+ "isExpression": false,
504
+ "asc": true,
505
+ "nulls": "last"
506
+ }
507
+ ],
508
+ "isUnique": false,
509
+ "concurrently": false,
510
+ "method": "btree",
511
+ "with": {}
512
+ }
513
+ },
514
+ "foreignKeys": {
515
+ "permission_user_user_id_users_id_fk": {
516
+ "name": "permission_user_user_id_users_id_fk",
517
+ "tableFrom": "permission_user",
518
+ "tableTo": "users",
519
+ "columnsFrom": [
520
+ "user_id"
521
+ ],
522
+ "columnsTo": [
523
+ "id"
524
+ ],
525
+ "onDelete": "cascade",
526
+ "onUpdate": "no action"
527
+ },
528
+ "permission_user_permission_id_permissions_id_fk": {
529
+ "name": "permission_user_permission_id_permissions_id_fk",
530
+ "tableFrom": "permission_user",
531
+ "tableTo": "permissions",
532
+ "columnsFrom": [
533
+ "permission_id"
534
+ ],
535
+ "columnsTo": [
536
+ "id"
537
+ ],
538
+ "onDelete": "cascade",
539
+ "onUpdate": "no action"
540
+ }
541
+ },
542
+ "compositePrimaryKeys": {
543
+ "permission_user_pkey": {
544
+ "name": "permission_user_pkey",
545
+ "columns": [
546
+ "user_id",
547
+ "permission_id"
548
+ ]
549
+ }
550
+ },
551
+ "uniqueConstraints": {},
552
+ "policies": {},
553
+ "checkConstraints": {},
554
+ "isRLSEnabled": false
555
+ },
556
+ "public.permissions": {
557
+ "name": "permissions",
558
+ "schema": "",
559
+ "columns": {
560
+ "id": {
561
+ "name": "id",
562
+ "type": "bigserial",
563
+ "primaryKey": true,
564
+ "notNull": true
565
+ },
566
+ "uuid": {
567
+ "name": "uuid",
568
+ "type": "text",
569
+ "primaryKey": false,
570
+ "notNull": true
571
+ },
572
+ "slug": {
573
+ "name": "slug",
574
+ "type": "varchar(255)",
575
+ "primaryKey": false,
576
+ "notNull": true
577
+ },
578
+ "name": {
579
+ "name": "name",
580
+ "type": "varchar(255)",
581
+ "primaryKey": false,
582
+ "notNull": true
583
+ },
584
+ "display_name": {
585
+ "name": "display_name",
586
+ "type": "varchar(255)",
587
+ "primaryKey": false,
588
+ "notNull": true
589
+ },
590
+ "description": {
591
+ "name": "description",
592
+ "type": "text",
593
+ "primaryKey": false,
594
+ "notNull": false
595
+ },
596
+ "group": {
597
+ "name": "group",
598
+ "type": "varchar(255)",
599
+ "primaryKey": false,
600
+ "notNull": true,
601
+ "default": "'General'"
602
+ },
603
+ "group_order": {
604
+ "name": "group_order",
605
+ "type": "integer",
606
+ "primaryKey": false,
607
+ "notNull": true,
608
+ "default": 0
609
+ },
610
+ "order": {
611
+ "name": "order",
612
+ "type": "integer",
613
+ "primaryKey": false,
614
+ "notNull": true,
615
+ "default": 0
616
+ },
617
+ "is_active": {
618
+ "name": "is_active",
619
+ "type": "boolean",
620
+ "primaryKey": false,
621
+ "notNull": true,
622
+ "default": true
623
+ },
624
+ "created_by": {
625
+ "name": "created_by",
626
+ "type": "bigint",
627
+ "primaryKey": false,
628
+ "notNull": false
629
+ },
630
+ "updated_by": {
631
+ "name": "updated_by",
632
+ "type": "bigint",
633
+ "primaryKey": false,
634
+ "notNull": false
635
+ },
636
+ "is_deleted": {
637
+ "name": "is_deleted",
638
+ "type": "boolean",
639
+ "primaryKey": false,
640
+ "notNull": true,
641
+ "default": false
642
+ },
643
+ "deleted_at": {
644
+ "name": "deleted_at",
645
+ "type": "timestamp (6) with time zone",
646
+ "primaryKey": false,
647
+ "notNull": false
648
+ },
649
+ "deleted_by": {
650
+ "name": "deleted_by",
651
+ "type": "bigint",
652
+ "primaryKey": false,
653
+ "notNull": false
654
+ },
655
+ "deleted_reason": {
656
+ "name": "deleted_reason",
657
+ "type": "varchar(255)",
658
+ "primaryKey": false,
659
+ "notNull": false
660
+ },
661
+ "created_at": {
662
+ "name": "created_at",
663
+ "type": "timestamp (6) with time zone",
664
+ "primaryKey": false,
665
+ "notNull": true,
666
+ "default": "now()"
667
+ },
668
+ "updated_at": {
669
+ "name": "updated_at",
670
+ "type": "timestamp (6) with time zone",
671
+ "primaryKey": false,
672
+ "notNull": true,
673
+ "default": "now()"
674
+ }
675
+ },
676
+ "indexes": {
677
+ "permissions_uuid_key": {
678
+ "name": "permissions_uuid_key",
679
+ "columns": [
680
+ {
681
+ "expression": "uuid",
682
+ "isExpression": false,
683
+ "asc": true,
684
+ "nulls": "last"
685
+ }
686
+ ],
687
+ "isUnique": true,
688
+ "concurrently": false,
689
+ "method": "btree",
690
+ "with": {}
691
+ },
692
+ "permissions_slug_key": {
693
+ "name": "permissions_slug_key",
694
+ "columns": [
695
+ {
696
+ "expression": "slug",
697
+ "isExpression": false,
698
+ "asc": true,
699
+ "nulls": "last"
700
+ }
701
+ ],
702
+ "isUnique": true,
703
+ "concurrently": false,
704
+ "method": "btree",
705
+ "with": {}
706
+ },
707
+ "permissions_is_active_idx": {
708
+ "name": "permissions_is_active_idx",
709
+ "columns": [
710
+ {
711
+ "expression": "is_active",
712
+ "isExpression": false,
713
+ "asc": true,
714
+ "nulls": "last"
715
+ }
716
+ ],
717
+ "isUnique": false,
718
+ "concurrently": false,
719
+ "method": "btree",
720
+ "with": {}
721
+ },
722
+ "permissions_group_order_idx": {
723
+ "name": "permissions_group_order_idx",
724
+ "columns": [
725
+ {
726
+ "expression": "group",
727
+ "isExpression": false,
728
+ "asc": true,
729
+ "nulls": "last"
730
+ },
731
+ {
732
+ "expression": "group_order",
733
+ "isExpression": false,
734
+ "asc": true,
735
+ "nulls": "last"
736
+ },
737
+ {
738
+ "expression": "order",
739
+ "isExpression": false,
740
+ "asc": true,
741
+ "nulls": "last"
742
+ }
743
+ ],
744
+ "isUnique": false,
745
+ "concurrently": false,
746
+ "method": "btree",
747
+ "with": {}
748
+ },
749
+ "permissions_is_deleted_idx": {
750
+ "name": "permissions_is_deleted_idx",
751
+ "columns": [
752
+ {
753
+ "expression": "is_deleted",
754
+ "isExpression": false,
755
+ "asc": true,
756
+ "nulls": "last"
757
+ }
758
+ ],
759
+ "isUnique": false,
760
+ "concurrently": false,
761
+ "method": "btree",
762
+ "with": {}
763
+ }
764
+ },
765
+ "foreignKeys": {
766
+ "permissions_created_by_users_id_fk": {
767
+ "name": "permissions_created_by_users_id_fk",
768
+ "tableFrom": "permissions",
769
+ "tableTo": "users",
770
+ "columnsFrom": [
771
+ "created_by"
772
+ ],
773
+ "columnsTo": [
774
+ "id"
775
+ ],
776
+ "onDelete": "set null",
777
+ "onUpdate": "no action"
778
+ },
779
+ "permissions_updated_by_users_id_fk": {
780
+ "name": "permissions_updated_by_users_id_fk",
781
+ "tableFrom": "permissions",
782
+ "tableTo": "users",
783
+ "columnsFrom": [
784
+ "updated_by"
785
+ ],
786
+ "columnsTo": [
787
+ "id"
788
+ ],
789
+ "onDelete": "set null",
790
+ "onUpdate": "no action"
791
+ },
792
+ "permissions_deleted_by_users_id_fk": {
793
+ "name": "permissions_deleted_by_users_id_fk",
794
+ "tableFrom": "permissions",
795
+ "tableTo": "users",
796
+ "columnsFrom": [
797
+ "deleted_by"
798
+ ],
799
+ "columnsTo": [
800
+ "id"
801
+ ],
802
+ "onDelete": "set null",
803
+ "onUpdate": "no action"
804
+ }
805
+ },
806
+ "compositePrimaryKeys": {},
807
+ "uniqueConstraints": {},
808
+ "policies": {},
809
+ "checkConstraints": {},
810
+ "isRLSEnabled": false
811
+ },
812
+ "public.role_user": {
813
+ "name": "role_user",
814
+ "schema": "",
815
+ "columns": {
816
+ "user_id": {
817
+ "name": "user_id",
818
+ "type": "bigint",
819
+ "primaryKey": false,
820
+ "notNull": true
821
+ },
822
+ "role_id": {
823
+ "name": "role_id",
824
+ "type": "bigint",
825
+ "primaryKey": false,
826
+ "notNull": true
827
+ },
828
+ "created_at": {
829
+ "name": "created_at",
830
+ "type": "timestamp (6) with time zone",
831
+ "primaryKey": false,
832
+ "notNull": true,
833
+ "default": "now()"
834
+ },
835
+ "updated_at": {
836
+ "name": "updated_at",
837
+ "type": "timestamp (6) with time zone",
838
+ "primaryKey": false,
839
+ "notNull": true,
840
+ "default": "now()"
841
+ }
842
+ },
843
+ "indexes": {
844
+ "role_user_role_id_idx": {
845
+ "name": "role_user_role_id_idx",
846
+ "columns": [
847
+ {
848
+ "expression": "role_id",
849
+ "isExpression": false,
850
+ "asc": true,
851
+ "nulls": "last"
852
+ }
853
+ ],
854
+ "isUnique": false,
855
+ "concurrently": false,
856
+ "method": "btree",
857
+ "with": {}
858
+ }
859
+ },
860
+ "foreignKeys": {
861
+ "role_user_user_id_users_id_fk": {
862
+ "name": "role_user_user_id_users_id_fk",
863
+ "tableFrom": "role_user",
864
+ "tableTo": "users",
865
+ "columnsFrom": [
866
+ "user_id"
867
+ ],
868
+ "columnsTo": [
869
+ "id"
870
+ ],
871
+ "onDelete": "cascade",
872
+ "onUpdate": "no action"
873
+ },
874
+ "role_user_role_id_roles_id_fk": {
875
+ "name": "role_user_role_id_roles_id_fk",
876
+ "tableFrom": "role_user",
877
+ "tableTo": "roles",
878
+ "columnsFrom": [
879
+ "role_id"
880
+ ],
881
+ "columnsTo": [
882
+ "id"
883
+ ],
884
+ "onDelete": "cascade",
885
+ "onUpdate": "no action"
886
+ }
887
+ },
888
+ "compositePrimaryKeys": {
889
+ "role_user_pkey": {
890
+ "name": "role_user_pkey",
891
+ "columns": [
892
+ "user_id",
893
+ "role_id"
894
+ ]
895
+ }
896
+ },
897
+ "uniqueConstraints": {},
898
+ "policies": {},
899
+ "checkConstraints": {},
900
+ "isRLSEnabled": false
901
+ },
902
+ "public.roles": {
903
+ "name": "roles",
904
+ "schema": "",
905
+ "columns": {
906
+ "id": {
907
+ "name": "id",
908
+ "type": "bigserial",
909
+ "primaryKey": true,
910
+ "notNull": true
911
+ },
912
+ "uuid": {
913
+ "name": "uuid",
914
+ "type": "text",
915
+ "primaryKey": false,
916
+ "notNull": true
917
+ },
918
+ "slug": {
919
+ "name": "slug",
920
+ "type": "varchar(255)",
921
+ "primaryKey": false,
922
+ "notNull": true
923
+ },
924
+ "name": {
925
+ "name": "name",
926
+ "type": "varchar(255)",
927
+ "primaryKey": false,
928
+ "notNull": true
929
+ },
930
+ "display_name": {
931
+ "name": "display_name",
932
+ "type": "varchar(255)",
933
+ "primaryKey": false,
934
+ "notNull": true
935
+ },
936
+ "description": {
937
+ "name": "description",
938
+ "type": "text",
939
+ "primaryKey": false,
940
+ "notNull": false
941
+ },
942
+ "is_default": {
943
+ "name": "is_default",
944
+ "type": "boolean",
945
+ "primaryKey": false,
946
+ "notNull": true,
947
+ "default": false
948
+ },
949
+ "order": {
950
+ "name": "order",
951
+ "type": "integer",
952
+ "primaryKey": false,
953
+ "notNull": true,
954
+ "default": 0
955
+ },
956
+ "is_active": {
957
+ "name": "is_active",
958
+ "type": "boolean",
959
+ "primaryKey": false,
960
+ "notNull": true,
961
+ "default": true
962
+ },
963
+ "created_by": {
964
+ "name": "created_by",
965
+ "type": "bigint",
966
+ "primaryKey": false,
967
+ "notNull": false
968
+ },
969
+ "updated_by": {
970
+ "name": "updated_by",
971
+ "type": "bigint",
972
+ "primaryKey": false,
973
+ "notNull": false
974
+ },
975
+ "is_deleted": {
976
+ "name": "is_deleted",
977
+ "type": "boolean",
978
+ "primaryKey": false,
979
+ "notNull": true,
980
+ "default": false
981
+ },
982
+ "deleted_at": {
983
+ "name": "deleted_at",
984
+ "type": "timestamp (6) with time zone",
985
+ "primaryKey": false,
986
+ "notNull": false
987
+ },
988
+ "deleted_by": {
989
+ "name": "deleted_by",
990
+ "type": "bigint",
991
+ "primaryKey": false,
992
+ "notNull": false
993
+ },
994
+ "deleted_reason": {
995
+ "name": "deleted_reason",
996
+ "type": "varchar(255)",
997
+ "primaryKey": false,
998
+ "notNull": false
999
+ },
1000
+ "created_at": {
1001
+ "name": "created_at",
1002
+ "type": "timestamp (6) with time zone",
1003
+ "primaryKey": false,
1004
+ "notNull": true,
1005
+ "default": "now()"
1006
+ },
1007
+ "updated_at": {
1008
+ "name": "updated_at",
1009
+ "type": "timestamp (6) with time zone",
1010
+ "primaryKey": false,
1011
+ "notNull": true,
1012
+ "default": "now()"
1013
+ }
1014
+ },
1015
+ "indexes": {
1016
+ "roles_uuid_key": {
1017
+ "name": "roles_uuid_key",
1018
+ "columns": [
1019
+ {
1020
+ "expression": "uuid",
1021
+ "isExpression": false,
1022
+ "asc": true,
1023
+ "nulls": "last"
1024
+ }
1025
+ ],
1026
+ "isUnique": true,
1027
+ "concurrently": false,
1028
+ "method": "btree",
1029
+ "with": {}
1030
+ },
1031
+ "roles_slug_key": {
1032
+ "name": "roles_slug_key",
1033
+ "columns": [
1034
+ {
1035
+ "expression": "slug",
1036
+ "isExpression": false,
1037
+ "asc": true,
1038
+ "nulls": "last"
1039
+ }
1040
+ ],
1041
+ "isUnique": true,
1042
+ "concurrently": false,
1043
+ "method": "btree",
1044
+ "with": {}
1045
+ },
1046
+ "roles_is_default_idx": {
1047
+ "name": "roles_is_default_idx",
1048
+ "columns": [
1049
+ {
1050
+ "expression": "is_default",
1051
+ "isExpression": false,
1052
+ "asc": true,
1053
+ "nulls": "last"
1054
+ }
1055
+ ],
1056
+ "isUnique": false,
1057
+ "concurrently": false,
1058
+ "method": "btree",
1059
+ "with": {}
1060
+ },
1061
+ "roles_active_order_idx": {
1062
+ "name": "roles_active_order_idx",
1063
+ "columns": [
1064
+ {
1065
+ "expression": "is_active",
1066
+ "isExpression": false,
1067
+ "asc": true,
1068
+ "nulls": "last"
1069
+ },
1070
+ {
1071
+ "expression": "order",
1072
+ "isExpression": false,
1073
+ "asc": true,
1074
+ "nulls": "last"
1075
+ }
1076
+ ],
1077
+ "isUnique": false,
1078
+ "concurrently": false,
1079
+ "method": "btree",
1080
+ "with": {}
1081
+ },
1082
+ "roles_is_deleted_idx": {
1083
+ "name": "roles_is_deleted_idx",
1084
+ "columns": [
1085
+ {
1086
+ "expression": "is_deleted",
1087
+ "isExpression": false,
1088
+ "asc": true,
1089
+ "nulls": "last"
1090
+ }
1091
+ ],
1092
+ "isUnique": false,
1093
+ "concurrently": false,
1094
+ "method": "btree",
1095
+ "with": {}
1096
+ }
1097
+ },
1098
+ "foreignKeys": {
1099
+ "roles_created_by_users_id_fk": {
1100
+ "name": "roles_created_by_users_id_fk",
1101
+ "tableFrom": "roles",
1102
+ "tableTo": "users",
1103
+ "columnsFrom": [
1104
+ "created_by"
1105
+ ],
1106
+ "columnsTo": [
1107
+ "id"
1108
+ ],
1109
+ "onDelete": "set null",
1110
+ "onUpdate": "no action"
1111
+ },
1112
+ "roles_updated_by_users_id_fk": {
1113
+ "name": "roles_updated_by_users_id_fk",
1114
+ "tableFrom": "roles",
1115
+ "tableTo": "users",
1116
+ "columnsFrom": [
1117
+ "updated_by"
1118
+ ],
1119
+ "columnsTo": [
1120
+ "id"
1121
+ ],
1122
+ "onDelete": "set null",
1123
+ "onUpdate": "no action"
1124
+ },
1125
+ "roles_deleted_by_users_id_fk": {
1126
+ "name": "roles_deleted_by_users_id_fk",
1127
+ "tableFrom": "roles",
1128
+ "tableTo": "users",
1129
+ "columnsFrom": [
1130
+ "deleted_by"
1131
+ ],
1132
+ "columnsTo": [
1133
+ "id"
1134
+ ],
1135
+ "onDelete": "set null",
1136
+ "onUpdate": "no action"
1137
+ }
1138
+ },
1139
+ "compositePrimaryKeys": {},
1140
+ "uniqueConstraints": {},
1141
+ "policies": {},
1142
+ "checkConstraints": {},
1143
+ "isRLSEnabled": false
1144
+ },
1145
+ "public.sessions": {
1146
+ "name": "sessions",
1147
+ "schema": "",
1148
+ "columns": {
1149
+ "id": {
1150
+ "name": "id",
1151
+ "type": "bigserial",
1152
+ "primaryKey": true,
1153
+ "notNull": true
1154
+ },
1155
+ "uuid": {
1156
+ "name": "uuid",
1157
+ "type": "text",
1158
+ "primaryKey": false,
1159
+ "notNull": true
1160
+ },
1161
+ "user_id": {
1162
+ "name": "user_id",
1163
+ "type": "bigint",
1164
+ "primaryKey": false,
1165
+ "notNull": true
1166
+ },
1167
+ "session_version": {
1168
+ "name": "session_version",
1169
+ "type": "integer",
1170
+ "primaryKey": false,
1171
+ "notNull": true,
1172
+ "default": 0
1173
+ },
1174
+ "current_refresh_jti": {
1175
+ "name": "current_refresh_jti",
1176
+ "type": "text",
1177
+ "primaryKey": false,
1178
+ "notNull": true
1179
+ },
1180
+ "provider": {
1181
+ "name": "provider",
1182
+ "type": "varchar(100)",
1183
+ "primaryKey": false,
1184
+ "notNull": false
1185
+ },
1186
+ "user_agent": {
1187
+ "name": "user_agent",
1188
+ "type": "text",
1189
+ "primaryKey": false,
1190
+ "notNull": false
1191
+ },
1192
+ "ip": {
1193
+ "name": "ip",
1194
+ "type": "varchar(100)",
1195
+ "primaryKey": false,
1196
+ "notNull": false
1197
+ },
1198
+ "expires_at": {
1199
+ "name": "expires_at",
1200
+ "type": "timestamp (6) with time zone",
1201
+ "primaryKey": false,
1202
+ "notNull": true
1203
+ },
1204
+ "is_revoked": {
1205
+ "name": "is_revoked",
1206
+ "type": "boolean",
1207
+ "primaryKey": false,
1208
+ "notNull": true,
1209
+ "default": false
1210
+ },
1211
+ "revoked_at": {
1212
+ "name": "revoked_at",
1213
+ "type": "timestamp (6) with time zone",
1214
+ "primaryKey": false,
1215
+ "notNull": false
1216
+ },
1217
+ "revoked_by": {
1218
+ "name": "revoked_by",
1219
+ "type": "bigint",
1220
+ "primaryKey": false,
1221
+ "notNull": false
1222
+ },
1223
+ "revoked_ip": {
1224
+ "name": "revoked_ip",
1225
+ "type": "varchar(100)",
1226
+ "primaryKey": false,
1227
+ "notNull": false
1228
+ },
1229
+ "is_active": {
1230
+ "name": "is_active",
1231
+ "type": "boolean",
1232
+ "primaryKey": false,
1233
+ "notNull": true,
1234
+ "default": true
1235
+ },
1236
+ "created_by": {
1237
+ "name": "created_by",
1238
+ "type": "bigint",
1239
+ "primaryKey": false,
1240
+ "notNull": false
1241
+ },
1242
+ "updated_by": {
1243
+ "name": "updated_by",
1244
+ "type": "bigint",
1245
+ "primaryKey": false,
1246
+ "notNull": false
1247
+ },
1248
+ "is_deleted": {
1249
+ "name": "is_deleted",
1250
+ "type": "boolean",
1251
+ "primaryKey": false,
1252
+ "notNull": true,
1253
+ "default": false
1254
+ },
1255
+ "deleted_at": {
1256
+ "name": "deleted_at",
1257
+ "type": "timestamp (6) with time zone",
1258
+ "primaryKey": false,
1259
+ "notNull": false
1260
+ },
1261
+ "deleted_by": {
1262
+ "name": "deleted_by",
1263
+ "type": "bigint",
1264
+ "primaryKey": false,
1265
+ "notNull": false
1266
+ },
1267
+ "deleted_reason": {
1268
+ "name": "deleted_reason",
1269
+ "type": "varchar(255)",
1270
+ "primaryKey": false,
1271
+ "notNull": false
1272
+ },
1273
+ "created_at": {
1274
+ "name": "created_at",
1275
+ "type": "timestamp (6) with time zone",
1276
+ "primaryKey": false,
1277
+ "notNull": true,
1278
+ "default": "now()"
1279
+ },
1280
+ "updated_at": {
1281
+ "name": "updated_at",
1282
+ "type": "timestamp (6) with time zone",
1283
+ "primaryKey": false,
1284
+ "notNull": true,
1285
+ "default": "now()"
1286
+ }
1287
+ },
1288
+ "indexes": {
1289
+ "sessions_uuid_key": {
1290
+ "name": "sessions_uuid_key",
1291
+ "columns": [
1292
+ {
1293
+ "expression": "uuid",
1294
+ "isExpression": false,
1295
+ "asc": true,
1296
+ "nulls": "last"
1297
+ }
1298
+ ],
1299
+ "isUnique": true,
1300
+ "concurrently": false,
1301
+ "method": "btree",
1302
+ "with": {}
1303
+ },
1304
+ "sessions_user_id_idx": {
1305
+ "name": "sessions_user_id_idx",
1306
+ "columns": [
1307
+ {
1308
+ "expression": "user_id",
1309
+ "isExpression": false,
1310
+ "asc": true,
1311
+ "nulls": "last"
1312
+ }
1313
+ ],
1314
+ "isUnique": false,
1315
+ "concurrently": false,
1316
+ "method": "btree",
1317
+ "with": {}
1318
+ },
1319
+ "sessions_is_revoked_idx": {
1320
+ "name": "sessions_is_revoked_idx",
1321
+ "columns": [
1322
+ {
1323
+ "expression": "is_revoked",
1324
+ "isExpression": false,
1325
+ "asc": true,
1326
+ "nulls": "last"
1327
+ }
1328
+ ],
1329
+ "isUnique": false,
1330
+ "concurrently": false,
1331
+ "method": "btree",
1332
+ "with": {}
1333
+ },
1334
+ "sessions_expires_at_idx": {
1335
+ "name": "sessions_expires_at_idx",
1336
+ "columns": [
1337
+ {
1338
+ "expression": "expires_at",
1339
+ "isExpression": false,
1340
+ "asc": true,
1341
+ "nulls": "last"
1342
+ }
1343
+ ],
1344
+ "isUnique": false,
1345
+ "concurrently": false,
1346
+ "method": "btree",
1347
+ "with": {}
1348
+ },
1349
+ "sessions_user_active_idx": {
1350
+ "name": "sessions_user_active_idx",
1351
+ "columns": [
1352
+ {
1353
+ "expression": "user_id",
1354
+ "isExpression": false,
1355
+ "asc": true,
1356
+ "nulls": "last"
1357
+ },
1358
+ {
1359
+ "expression": "is_revoked",
1360
+ "isExpression": false,
1361
+ "asc": true,
1362
+ "nulls": "last"
1363
+ },
1364
+ {
1365
+ "expression": "expires_at",
1366
+ "isExpression": false,
1367
+ "asc": true,
1368
+ "nulls": "last"
1369
+ }
1370
+ ],
1371
+ "isUnique": false,
1372
+ "concurrently": false,
1373
+ "method": "btree",
1374
+ "with": {}
1375
+ },
1376
+ "sessions_revoked_by_idx": {
1377
+ "name": "sessions_revoked_by_idx",
1378
+ "columns": [
1379
+ {
1380
+ "expression": "revoked_by",
1381
+ "isExpression": false,
1382
+ "asc": true,
1383
+ "nulls": "last"
1384
+ }
1385
+ ],
1386
+ "isUnique": false,
1387
+ "concurrently": false,
1388
+ "method": "btree",
1389
+ "with": {}
1390
+ }
1391
+ },
1392
+ "foreignKeys": {
1393
+ "sessions_user_id_users_id_fk": {
1394
+ "name": "sessions_user_id_users_id_fk",
1395
+ "tableFrom": "sessions",
1396
+ "tableTo": "users",
1397
+ "columnsFrom": [
1398
+ "user_id"
1399
+ ],
1400
+ "columnsTo": [
1401
+ "id"
1402
+ ],
1403
+ "onDelete": "cascade",
1404
+ "onUpdate": "no action"
1405
+ },
1406
+ "sessions_revoked_by_users_id_fk": {
1407
+ "name": "sessions_revoked_by_users_id_fk",
1408
+ "tableFrom": "sessions",
1409
+ "tableTo": "users",
1410
+ "columnsFrom": [
1411
+ "revoked_by"
1412
+ ],
1413
+ "columnsTo": [
1414
+ "id"
1415
+ ],
1416
+ "onDelete": "set null",
1417
+ "onUpdate": "no action"
1418
+ },
1419
+ "sessions_created_by_users_id_fk": {
1420
+ "name": "sessions_created_by_users_id_fk",
1421
+ "tableFrom": "sessions",
1422
+ "tableTo": "users",
1423
+ "columnsFrom": [
1424
+ "created_by"
1425
+ ],
1426
+ "columnsTo": [
1427
+ "id"
1428
+ ],
1429
+ "onDelete": "set null",
1430
+ "onUpdate": "no action"
1431
+ },
1432
+ "sessions_updated_by_users_id_fk": {
1433
+ "name": "sessions_updated_by_users_id_fk",
1434
+ "tableFrom": "sessions",
1435
+ "tableTo": "users",
1436
+ "columnsFrom": [
1437
+ "updated_by"
1438
+ ],
1439
+ "columnsTo": [
1440
+ "id"
1441
+ ],
1442
+ "onDelete": "set null",
1443
+ "onUpdate": "no action"
1444
+ },
1445
+ "sessions_deleted_by_users_id_fk": {
1446
+ "name": "sessions_deleted_by_users_id_fk",
1447
+ "tableFrom": "sessions",
1448
+ "tableTo": "users",
1449
+ "columnsFrom": [
1450
+ "deleted_by"
1451
+ ],
1452
+ "columnsTo": [
1453
+ "id"
1454
+ ],
1455
+ "onDelete": "set null",
1456
+ "onUpdate": "no action"
1457
+ }
1458
+ },
1459
+ "compositePrimaryKeys": {},
1460
+ "uniqueConstraints": {},
1461
+ "policies": {},
1462
+ "checkConstraints": {},
1463
+ "isRLSEnabled": false
1464
+ },
1465
+ "public.two_factor_backup_codes": {
1466
+ "name": "two_factor_backup_codes",
1467
+ "schema": "",
1468
+ "columns": {
1469
+ "id": {
1470
+ "name": "id",
1471
+ "type": "bigserial",
1472
+ "primaryKey": true,
1473
+ "notNull": true
1474
+ },
1475
+ "uuid": {
1476
+ "name": "uuid",
1477
+ "type": "text",
1478
+ "primaryKey": false,
1479
+ "notNull": true
1480
+ },
1481
+ "user_id": {
1482
+ "name": "user_id",
1483
+ "type": "bigint",
1484
+ "primaryKey": false,
1485
+ "notNull": true
1486
+ },
1487
+ "code_hash": {
1488
+ "name": "code_hash",
1489
+ "type": "text",
1490
+ "primaryKey": false,
1491
+ "notNull": true
1492
+ },
1493
+ "used_at": {
1494
+ "name": "used_at",
1495
+ "type": "timestamp (6) with time zone",
1496
+ "primaryKey": false,
1497
+ "notNull": false
1498
+ }
1499
+ },
1500
+ "indexes": {
1501
+ "two_factor_backup_codes_uuid_key": {
1502
+ "name": "two_factor_backup_codes_uuid_key",
1503
+ "columns": [
1504
+ {
1505
+ "expression": "uuid",
1506
+ "isExpression": false,
1507
+ "asc": true,
1508
+ "nulls": "last"
1509
+ }
1510
+ ],
1511
+ "isUnique": true,
1512
+ "concurrently": false,
1513
+ "method": "btree",
1514
+ "with": {}
1515
+ },
1516
+ "two_factor_backup_codes_user_id_idx": {
1517
+ "name": "two_factor_backup_codes_user_id_idx",
1518
+ "columns": [
1519
+ {
1520
+ "expression": "user_id",
1521
+ "isExpression": false,
1522
+ "asc": true,
1523
+ "nulls": "last"
1524
+ }
1525
+ ],
1526
+ "isUnique": false,
1527
+ "concurrently": false,
1528
+ "method": "btree",
1529
+ "with": {}
1530
+ }
1531
+ },
1532
+ "foreignKeys": {
1533
+ "two_factor_backup_codes_user_id_users_id_fk": {
1534
+ "name": "two_factor_backup_codes_user_id_users_id_fk",
1535
+ "tableFrom": "two_factor_backup_codes",
1536
+ "tableTo": "users",
1537
+ "columnsFrom": [
1538
+ "user_id"
1539
+ ],
1540
+ "columnsTo": [
1541
+ "id"
1542
+ ],
1543
+ "onDelete": "no action",
1544
+ "onUpdate": "no action"
1545
+ }
1546
+ },
1547
+ "compositePrimaryKeys": {},
1548
+ "uniqueConstraints": {},
1549
+ "policies": {},
1550
+ "checkConstraints": {},
1551
+ "isRLSEnabled": false
1552
+ },
1553
+ "public.users": {
1554
+ "name": "users",
1555
+ "schema": "",
1556
+ "columns": {
1557
+ "id": {
1558
+ "name": "id",
1559
+ "type": "bigserial",
1560
+ "primaryKey": true,
1561
+ "notNull": true
1562
+ },
1563
+ "uuid": {
1564
+ "name": "uuid",
1565
+ "type": "text",
1566
+ "primaryKey": false,
1567
+ "notNull": true
1568
+ },
1569
+ "email": {
1570
+ "name": "email",
1571
+ "type": "text",
1572
+ "primaryKey": false,
1573
+ "notNull": true
1574
+ },
1575
+ "first_name": {
1576
+ "name": "first_name",
1577
+ "type": "text",
1578
+ "primaryKey": false,
1579
+ "notNull": false
1580
+ },
1581
+ "last_name": {
1582
+ "name": "last_name",
1583
+ "type": "text",
1584
+ "primaryKey": false,
1585
+ "notNull": false
1586
+ },
1587
+ "display_name": {
1588
+ "name": "display_name",
1589
+ "type": "text",
1590
+ "primaryKey": false,
1591
+ "notNull": false
1592
+ },
1593
+ "phone": {
1594
+ "name": "phone",
1595
+ "type": "text",
1596
+ "primaryKey": false,
1597
+ "notNull": false
1598
+ },
1599
+ "username": {
1600
+ "name": "username",
1601
+ "type": "text",
1602
+ "primaryKey": false,
1603
+ "notNull": false
1604
+ },
1605
+ "photo": {
1606
+ "name": "photo",
1607
+ "type": "text",
1608
+ "primaryKey": false,
1609
+ "notNull": false
1610
+ },
1611
+ "last_login": {
1612
+ "name": "last_login",
1613
+ "type": "timestamp (6) with time zone",
1614
+ "primaryKey": false,
1615
+ "notNull": false
1616
+ },
1617
+ "password_hash": {
1618
+ "name": "password_hash",
1619
+ "type": "text",
1620
+ "primaryKey": false,
1621
+ "notNull": false
1622
+ },
1623
+ "blocked": {
1624
+ "name": "blocked",
1625
+ "type": "boolean",
1626
+ "primaryKey": false,
1627
+ "notNull": true,
1628
+ "default": false
1629
+ },
1630
+ "two_factor_enabled": {
1631
+ "name": "two_factor_enabled",
1632
+ "type": "boolean",
1633
+ "primaryKey": false,
1634
+ "notNull": true,
1635
+ "default": false
1636
+ },
1637
+ "two_factor_secret": {
1638
+ "name": "two_factor_secret",
1639
+ "type": "text",
1640
+ "primaryKey": false,
1641
+ "notNull": false
1642
+ },
1643
+ "created_by": {
1644
+ "name": "created_by",
1645
+ "type": "bigint",
1646
+ "primaryKey": false,
1647
+ "notNull": false
1648
+ },
1649
+ "updated_by": {
1650
+ "name": "updated_by",
1651
+ "type": "bigint",
1652
+ "primaryKey": false,
1653
+ "notNull": false
1654
+ },
1655
+ "is_deleted": {
1656
+ "name": "is_deleted",
1657
+ "type": "boolean",
1658
+ "primaryKey": false,
1659
+ "notNull": true,
1660
+ "default": false
1661
+ },
1662
+ "deleted_at": {
1663
+ "name": "deleted_at",
1664
+ "type": "timestamp (6) with time zone",
1665
+ "primaryKey": false,
1666
+ "notNull": false
1667
+ },
1668
+ "deleted_by": {
1669
+ "name": "deleted_by",
1670
+ "type": "bigint",
1671
+ "primaryKey": false,
1672
+ "notNull": false
1673
+ },
1674
+ "deleted_reason": {
1675
+ "name": "deleted_reason",
1676
+ "type": "varchar(255)",
1677
+ "primaryKey": false,
1678
+ "notNull": false
1679
+ },
1680
+ "created_at": {
1681
+ "name": "created_at",
1682
+ "type": "timestamp (6) with time zone",
1683
+ "primaryKey": false,
1684
+ "notNull": true,
1685
+ "default": "now()"
1686
+ },
1687
+ "updated_at": {
1688
+ "name": "updated_at",
1689
+ "type": "timestamp (6) with time zone",
1690
+ "primaryKey": false,
1691
+ "notNull": true,
1692
+ "default": "now()"
1693
+ }
1694
+ },
1695
+ "indexes": {
1696
+ "users_uuid_key": {
1697
+ "name": "users_uuid_key",
1698
+ "columns": [
1699
+ {
1700
+ "expression": "uuid",
1701
+ "isExpression": false,
1702
+ "asc": true,
1703
+ "nulls": "last"
1704
+ }
1705
+ ],
1706
+ "isUnique": true,
1707
+ "concurrently": false,
1708
+ "method": "btree",
1709
+ "with": {}
1710
+ },
1711
+ "users_email_key": {
1712
+ "name": "users_email_key",
1713
+ "columns": [
1714
+ {
1715
+ "expression": "email",
1716
+ "isExpression": false,
1717
+ "asc": true,
1718
+ "nulls": "last"
1719
+ }
1720
+ ],
1721
+ "isUnique": true,
1722
+ "concurrently": false,
1723
+ "method": "btree",
1724
+ "with": {}
1725
+ },
1726
+ "users_first_name_key": {
1727
+ "name": "users_first_name_key",
1728
+ "columns": [
1729
+ {
1730
+ "expression": "first_name",
1731
+ "isExpression": false,
1732
+ "asc": true,
1733
+ "nulls": "last"
1734
+ }
1735
+ ],
1736
+ "isUnique": true,
1737
+ "concurrently": false,
1738
+ "method": "btree",
1739
+ "with": {}
1740
+ },
1741
+ "users_last_name_key": {
1742
+ "name": "users_last_name_key",
1743
+ "columns": [
1744
+ {
1745
+ "expression": "last_name",
1746
+ "isExpression": false,
1747
+ "asc": true,
1748
+ "nulls": "last"
1749
+ }
1750
+ ],
1751
+ "isUnique": true,
1752
+ "concurrently": false,
1753
+ "method": "btree",
1754
+ "with": {}
1755
+ },
1756
+ "users_phone_key": {
1757
+ "name": "users_phone_key",
1758
+ "columns": [
1759
+ {
1760
+ "expression": "phone",
1761
+ "isExpression": false,
1762
+ "asc": true,
1763
+ "nulls": "last"
1764
+ }
1765
+ ],
1766
+ "isUnique": true,
1767
+ "concurrently": false,
1768
+ "method": "btree",
1769
+ "with": {}
1770
+ },
1771
+ "users_username_key": {
1772
+ "name": "users_username_key",
1773
+ "columns": [
1774
+ {
1775
+ "expression": "username",
1776
+ "isExpression": false,
1777
+ "asc": true,
1778
+ "nulls": "last"
1779
+ }
1780
+ ],
1781
+ "isUnique": true,
1782
+ "concurrently": false,
1783
+ "method": "btree",
1784
+ "with": {}
1785
+ },
1786
+ "users_is_deleted_idx": {
1787
+ "name": "users_is_deleted_idx",
1788
+ "columns": [
1789
+ {
1790
+ "expression": "is_deleted",
1791
+ "isExpression": false,
1792
+ "asc": true,
1793
+ "nulls": "last"
1794
+ }
1795
+ ],
1796
+ "isUnique": false,
1797
+ "concurrently": false,
1798
+ "method": "btree",
1799
+ "with": {}
1800
+ }
1801
+ },
1802
+ "foreignKeys": {
1803
+ "users_created_by_users_id_fk": {
1804
+ "name": "users_created_by_users_id_fk",
1805
+ "tableFrom": "users",
1806
+ "tableTo": "users",
1807
+ "columnsFrom": [
1808
+ "created_by"
1809
+ ],
1810
+ "columnsTo": [
1811
+ "id"
1812
+ ],
1813
+ "onDelete": "set null",
1814
+ "onUpdate": "no action"
1815
+ },
1816
+ "users_updated_by_users_id_fk": {
1817
+ "name": "users_updated_by_users_id_fk",
1818
+ "tableFrom": "users",
1819
+ "tableTo": "users",
1820
+ "columnsFrom": [
1821
+ "updated_by"
1822
+ ],
1823
+ "columnsTo": [
1824
+ "id"
1825
+ ],
1826
+ "onDelete": "set null",
1827
+ "onUpdate": "no action"
1828
+ },
1829
+ "users_deleted_by_users_id_fk": {
1830
+ "name": "users_deleted_by_users_id_fk",
1831
+ "tableFrom": "users",
1832
+ "tableTo": "users",
1833
+ "columnsFrom": [
1834
+ "deleted_by"
1835
+ ],
1836
+ "columnsTo": [
1837
+ "id"
1838
+ ],
1839
+ "onDelete": "set null",
1840
+ "onUpdate": "no action"
1841
+ }
1842
+ },
1843
+ "compositePrimaryKeys": {},
1844
+ "uniqueConstraints": {},
1845
+ "policies": {},
1846
+ "checkConstraints": {},
1847
+ "isRLSEnabled": false
1848
+ }
1849
+ },
1850
+ "enums": {},
1851
+ "schemas": {},
1852
+ "sequences": {},
1853
+ "roles": {},
1854
+ "policies": {},
1855
+ "views": {},
1856
+ "_meta": {
1857
+ "columns": {},
1858
+ "schemas": {},
1859
+ "tables": {}
1860
+ }
1861
+ }