@rovela-ai/sdk 0.2.1 → 0.3.1

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 (182) hide show
  1. package/dist/admin/api/accept-invite.d.ts +65 -0
  2. package/dist/admin/api/accept-invite.d.ts.map +1 -0
  3. package/dist/admin/api/accept-invite.js +115 -0
  4. package/dist/admin/api/accept-invite.js.map +1 -0
  5. package/dist/admin/api/categories.d.ts.map +1 -1
  6. package/dist/admin/api/categories.js +21 -28
  7. package/dist/admin/api/categories.js.map +1 -1
  8. package/dist/admin/api/customers.d.ts.map +1 -1
  9. package/dist/admin/api/customers.js +17 -25
  10. package/dist/admin/api/customers.js.map +1 -1
  11. package/dist/admin/api/forgot-password.d.ts +39 -0
  12. package/dist/admin/api/forgot-password.d.ts.map +1 -0
  13. package/dist/admin/api/forgot-password.js +66 -0
  14. package/dist/admin/api/forgot-password.js.map +1 -0
  15. package/dist/admin/api/index.d.ts +6 -0
  16. package/dist/admin/api/index.d.ts.map +1 -1
  17. package/dist/admin/api/index.js +9 -0
  18. package/dist/admin/api/index.js.map +1 -1
  19. package/dist/admin/api/me.d.ts +72 -0
  20. package/dist/admin/api/me.d.ts.map +1 -0
  21. package/dist/admin/api/me.js +177 -0
  22. package/dist/admin/api/me.js.map +1 -0
  23. package/dist/admin/api/orders.d.ts.map +1 -1
  24. package/dist/admin/api/orders.js +21 -28
  25. package/dist/admin/api/orders.js.map +1 -1
  26. package/dist/admin/api/products.d.ts.map +1 -1
  27. package/dist/admin/api/products.js +33 -37
  28. package/dist/admin/api/products.js.map +1 -1
  29. package/dist/admin/api/refund.d.ts.map +1 -1
  30. package/dist/admin/api/refund.js +5 -7
  31. package/dist/admin/api/refund.js.map +1 -1
  32. package/dist/admin/api/reset-password.d.ts +49 -0
  33. package/dist/admin/api/reset-password.d.ts.map +1 -0
  34. package/dist/admin/api/reset-password.js +99 -0
  35. package/dist/admin/api/reset-password.js.map +1 -0
  36. package/dist/admin/api/return.d.ts.map +1 -1
  37. package/dist/admin/api/return.js +9 -12
  38. package/dist/admin/api/return.js.map +1 -1
  39. package/dist/admin/api/settings.d.ts.map +1 -1
  40. package/dist/admin/api/settings.js +9 -12
  41. package/dist/admin/api/settings.js.map +1 -1
  42. package/dist/admin/api/shipping.d.ts.map +1 -1
  43. package/dist/admin/api/shipping.js +65 -61
  44. package/dist/admin/api/shipping.js.map +1 -1
  45. package/dist/admin/api/stats.d.ts.map +1 -1
  46. package/dist/admin/api/stats.js +5 -7
  47. package/dist/admin/api/stats.js.map +1 -1
  48. package/dist/admin/api/stripe-status.d.ts.map +1 -1
  49. package/dist/admin/api/stripe-status.js +5 -7
  50. package/dist/admin/api/stripe-status.js.map +1 -1
  51. package/dist/admin/api/tax-zones.d.ts.map +1 -1
  52. package/dist/admin/api/tax-zones.js +21 -28
  53. package/dist/admin/api/tax-zones.js.map +1 -1
  54. package/dist/admin/api/users.d.ts +142 -0
  55. package/dist/admin/api/users.d.ts.map +1 -0
  56. package/dist/admin/api/users.js +356 -0
  57. package/dist/admin/api/users.js.map +1 -0
  58. package/dist/admin/components/AdminAcceptInviteForm.d.ts +3 -0
  59. package/dist/admin/components/AdminAcceptInviteForm.d.ts.map +1 -0
  60. package/dist/admin/components/AdminAcceptInviteForm.js +137 -0
  61. package/dist/admin/components/AdminAcceptInviteForm.js.map +1 -0
  62. package/dist/admin/components/AdminAccountPage.d.ts +10 -0
  63. package/dist/admin/components/AdminAccountPage.d.ts.map +1 -0
  64. package/dist/admin/components/AdminAccountPage.js +123 -0
  65. package/dist/admin/components/AdminAccountPage.js.map +1 -0
  66. package/dist/admin/components/AdminForgotPasswordForm.d.ts +8 -0
  67. package/dist/admin/components/AdminForgotPasswordForm.d.ts.map +1 -0
  68. package/dist/admin/components/AdminForgotPasswordForm.js +59 -0
  69. package/dist/admin/components/AdminForgotPasswordForm.js.map +1 -0
  70. package/dist/admin/components/AdminNav.d.ts.map +1 -1
  71. package/dist/admin/components/AdminNav.js +32 -4
  72. package/dist/admin/components/AdminNav.js.map +1 -1
  73. package/dist/admin/components/AdminResetPasswordForm.d.ts +12 -0
  74. package/dist/admin/components/AdminResetPasswordForm.d.ts.map +1 -0
  75. package/dist/admin/components/AdminResetPasswordForm.js +134 -0
  76. package/dist/admin/components/AdminResetPasswordForm.js.map +1 -0
  77. package/dist/admin/components/AdminUserMenu.d.ts.map +1 -1
  78. package/dist/admin/components/AdminUserMenu.js +2 -2
  79. package/dist/admin/components/AdminUserMenu.js.map +1 -1
  80. package/dist/admin/components/InviteUserDialog.d.ts +3 -0
  81. package/dist/admin/components/InviteUserDialog.d.ts.map +1 -0
  82. package/dist/admin/components/InviteUserDialog.js +127 -0
  83. package/dist/admin/components/InviteUserDialog.js.map +1 -0
  84. package/dist/admin/components/UsersTable.d.ts +3 -0
  85. package/dist/admin/components/UsersTable.d.ts.map +1 -0
  86. package/dist/admin/components/UsersTable.js +399 -0
  87. package/dist/admin/components/UsersTable.js.map +1 -0
  88. package/dist/admin/components/index.d.ts +9 -0
  89. package/dist/admin/components/index.d.ts.map +1 -1
  90. package/dist/admin/components/index.js +9 -0
  91. package/dist/admin/components/index.js.map +1 -1
  92. package/dist/admin/config.d.ts +15 -10
  93. package/dist/admin/config.d.ts.map +1 -1
  94. package/dist/admin/config.js +38 -11
  95. package/dist/admin/config.js.map +1 -1
  96. package/dist/admin/hooks/index.d.ts +4 -0
  97. package/dist/admin/hooks/index.d.ts.map +1 -1
  98. package/dist/admin/hooks/index.js +3 -0
  99. package/dist/admin/hooks/index.js.map +1 -1
  100. package/dist/admin/hooks/useAdminMe.d.ts +31 -0
  101. package/dist/admin/hooks/useAdminMe.d.ts.map +1 -0
  102. package/dist/admin/hooks/useAdminMe.js +103 -0
  103. package/dist/admin/hooks/useAdminMe.js.map +1 -0
  104. package/dist/admin/hooks/useAdminPermissions.d.ts +3 -0
  105. package/dist/admin/hooks/useAdminPermissions.d.ts.map +1 -0
  106. package/dist/admin/hooks/useAdminPermissions.js +51 -0
  107. package/dist/admin/hooks/useAdminPermissions.js.map +1 -0
  108. package/dist/admin/hooks/useAdminUsers.d.ts +3 -0
  109. package/dist/admin/hooks/useAdminUsers.d.ts.map +1 -0
  110. package/dist/admin/hooks/useAdminUsers.js +240 -0
  111. package/dist/admin/hooks/useAdminUsers.js.map +1 -0
  112. package/dist/admin/index.d.ts +4 -4
  113. package/dist/admin/index.d.ts.map +1 -1
  114. package/dist/admin/index.js +20 -2
  115. package/dist/admin/index.js.map +1 -1
  116. package/dist/admin/permissions.d.ts +92 -0
  117. package/dist/admin/permissions.d.ts.map +1 -0
  118. package/dist/admin/permissions.js +201 -0
  119. package/dist/admin/permissions.js.map +1 -0
  120. package/dist/admin/server/admin-invite.d.ts +122 -0
  121. package/dist/admin/server/admin-invite.d.ts.map +1 -0
  122. package/dist/admin/server/admin-invite.js +235 -0
  123. package/dist/admin/server/admin-invite.js.map +1 -0
  124. package/dist/admin/server/admin-password-reset.d.ts +87 -0
  125. package/dist/admin/server/admin-password-reset.d.ts.map +1 -0
  126. package/dist/admin/server/admin-password-reset.js +220 -0
  127. package/dist/admin/server/admin-password-reset.js.map +1 -0
  128. package/dist/admin/server/admin-self-service.d.ts +86 -0
  129. package/dist/admin/server/admin-self-service.d.ts.map +1 -0
  130. package/dist/admin/server/admin-self-service.js +188 -0
  131. package/dist/admin/server/admin-self-service.js.map +1 -0
  132. package/dist/admin/server/admin-service.d.ts.map +1 -1
  133. package/dist/admin/server/admin-service.js +21 -2
  134. package/dist/admin/server/admin-service.js.map +1 -1
  135. package/dist/admin/server/admin-session.d.ts +137 -0
  136. package/dist/admin/server/admin-session.d.ts.map +1 -0
  137. package/dist/admin/server/admin-session.js +229 -0
  138. package/dist/admin/server/admin-session.js.map +1 -0
  139. package/dist/admin/server/index.d.ts +7 -0
  140. package/dist/admin/server/index.d.ts.map +1 -1
  141. package/dist/admin/server/index.js +20 -0
  142. package/dist/admin/server/index.js.map +1 -1
  143. package/dist/admin/server/user-management.d.ts +223 -0
  144. package/dist/admin/server/user-management.d.ts.map +1 -0
  145. package/dist/admin/server/user-management.js +846 -0
  146. package/dist/admin/server/user-management.js.map +1 -0
  147. package/dist/admin/types.d.ts +153 -2
  148. package/dist/admin/types.d.ts.map +1 -1
  149. package/dist/auth/config.d.ts.map +1 -1
  150. package/dist/auth/config.js +11 -2
  151. package/dist/auth/config.js.map +1 -1
  152. package/dist/core/db/queries.d.ts +19 -13
  153. package/dist/core/db/queries.d.ts.map +1 -1
  154. package/dist/core/db/schema.d.ts +327 -9
  155. package/dist/core/db/schema.d.ts.map +1 -1
  156. package/dist/core/db/schema.js +80 -3
  157. package/dist/core/db/schema.js.map +1 -1
  158. package/dist/core/types.d.ts +19 -3
  159. package/dist/core/types.d.ts.map +1 -1
  160. package/dist/emails/index.d.ts +2 -2
  161. package/dist/emails/index.d.ts.map +1 -1
  162. package/dist/emails/index.js +3 -1
  163. package/dist/emails/index.js.map +1 -1
  164. package/dist/emails/send/admin-auth.d.ts +94 -0
  165. package/dist/emails/send/admin-auth.d.ts.map +1 -0
  166. package/dist/emails/send/admin-auth.js +118 -0
  167. package/dist/emails/send/admin-auth.js.map +1 -0
  168. package/dist/emails/send/index.d.ts +2 -0
  169. package/dist/emails/send/index.d.ts.map +1 -1
  170. package/dist/emails/send/index.js +4 -0
  171. package/dist/emails/send/index.js.map +1 -1
  172. package/dist/emails/templates/admin-invite.d.ts +40 -0
  173. package/dist/emails/templates/admin-invite.d.ts.map +1 -0
  174. package/dist/emails/templates/admin-invite.js +62 -0
  175. package/dist/emails/templates/admin-invite.js.map +1 -0
  176. package/dist/emails/templates/index.d.ts +1 -0
  177. package/dist/emails/templates/index.d.ts.map +1 -1
  178. package/dist/emails/templates/index.js +4 -0
  179. package/dist/emails/templates/index.js.map +1 -1
  180. package/dist/emails/types.d.ts +22 -1
  181. package/dist/emails/types.d.ts.map +1 -1
  182. package/package.json +21 -1
@@ -6,7 +6,8 @@
6
6
  */
7
7
  export declare const productStatusEnum: import("drizzle-orm/pg-core").PgEnum<["draft", "active", "archived"]>;
8
8
  export declare const orderStatusEnum: import("drizzle-orm/pg-core").PgEnum<["pending", "paid", "shipped", "delivered", "cancelled", "refunded", "return_requested"]>;
9
- export declare const adminRoleEnum: import("drizzle-orm/pg-core").PgEnum<["owner", "admin"]>;
9
+ export declare const adminRoleEnum: import("drizzle-orm/pg-core").PgEnum<["owner", "admin", "administrator", "manager", "user"]>;
10
+ export declare const adminStatusEnum: import("drizzle-orm/pg-core").PgEnum<["active", "invited", "deactivated"]>;
10
11
  export declare const products: import("drizzle-orm/pg-core").PgTableWithColumns<{
11
12
  name: "products";
12
13
  schema: undefined;
@@ -141,7 +142,7 @@ export declare const products: import("drizzle-orm/pg-core").PgTableWithColumns<
141
142
  tableName: "products";
142
143
  dataType: "string";
143
144
  columnType: "PgEnumColumn";
144
- data: "draft" | "active" | "archived";
145
+ data: "active" | "draft" | "archived";
145
146
  driverParam: string;
146
147
  notNull: true;
147
148
  hasDefault: true;
@@ -2013,7 +2014,6 @@ export declare const storeSettings: import("drizzle-orm/pg-core").PgTableWithCol
2013
2014
  identity: undefined;
2014
2015
  generated: undefined;
2015
2016
  }, {}, {
2016
- size: undefined;
2017
2017
  baseBuilder: import("drizzle-orm/pg-core").PgColumnBuilder<{
2018
2018
  name: "shipping_countries";
2019
2019
  dataType: "string";
@@ -2022,6 +2022,7 @@ export declare const storeSettings: import("drizzle-orm/pg-core").PgTableWithCol
2022
2022
  enumValues: [string, ...string[]];
2023
2023
  driverParam: string;
2024
2024
  }, {}, {}, import("drizzle-orm").ColumnBuilderExtraConfig>;
2025
+ size: undefined;
2025
2026
  }>;
2026
2027
  shippingMode: import("drizzle-orm/pg-core").PgColumn<{
2027
2028
  name: "shipping_mode";
@@ -2410,7 +2411,6 @@ export declare const shippingZones: import("drizzle-orm/pg-core").PgTableWithCol
2410
2411
  identity: undefined;
2411
2412
  generated: undefined;
2412
2413
  }, {}, {
2413
- size: undefined;
2414
2414
  baseBuilder: import("drizzle-orm/pg-core").PgColumnBuilder<{
2415
2415
  name: "countries";
2416
2416
  dataType: "string";
@@ -2419,6 +2419,7 @@ export declare const shippingZones: import("drizzle-orm/pg-core").PgTableWithCol
2419
2419
  enumValues: [string, ...string[]];
2420
2420
  driverParam: string;
2421
2421
  }, {}, {}, import("drizzle-orm").ColumnBuilderExtraConfig>;
2422
+ size: undefined;
2422
2423
  }>;
2423
2424
  isActive: import("drizzle-orm/pg-core").PgColumn<{
2424
2425
  name: "is_active";
@@ -2771,7 +2772,6 @@ export declare const taxZones: import("drizzle-orm/pg-core").PgTableWithColumns<
2771
2772
  identity: undefined;
2772
2773
  generated: undefined;
2773
2774
  }, {}, {
2774
- size: undefined;
2775
2775
  baseBuilder: import("drizzle-orm/pg-core").PgColumnBuilder<{
2776
2776
  name: "countries";
2777
2777
  dataType: "string";
@@ -2780,6 +2780,7 @@ export declare const taxZones: import("drizzle-orm/pg-core").PgTableWithColumns<
2780
2780
  enumValues: [string, ...string[]];
2781
2781
  driverParam: string;
2782
2782
  }, {}, {}, import("drizzle-orm").ColumnBuilderExtraConfig>;
2783
+ size: undefined;
2783
2784
  }>;
2784
2785
  states: import("drizzle-orm/pg-core").PgColumn<{
2785
2786
  name: "states";
@@ -2814,7 +2815,6 @@ export declare const taxZones: import("drizzle-orm/pg-core").PgTableWithColumns<
2814
2815
  identity: undefined;
2815
2816
  generated: undefined;
2816
2817
  }, {}, {
2817
- size: undefined;
2818
2818
  baseBuilder: import("drizzle-orm/pg-core").PgColumnBuilder<{
2819
2819
  name: "states";
2820
2820
  dataType: "string";
@@ -2823,6 +2823,7 @@ export declare const taxZones: import("drizzle-orm/pg-core").PgTableWithColumns<
2823
2823
  enumValues: [string, ...string[]];
2824
2824
  driverParam: string;
2825
2825
  }, {}, {}, import("drizzle-orm").ColumnBuilderExtraConfig>;
2826
+ size: undefined;
2826
2827
  }>;
2827
2828
  taxRate: import("drizzle-orm/pg-core").PgColumn<{
2828
2829
  name: "tax_rate";
@@ -2978,7 +2979,7 @@ export declare const storeAdmins: import("drizzle-orm/pg-core").PgTableWithColum
2978
2979
  columnType: "PgVarchar";
2979
2980
  data: string;
2980
2981
  driverParam: string;
2981
- notNull: true;
2982
+ notNull: false;
2982
2983
  hasDefault: false;
2983
2984
  isPrimaryKey: false;
2984
2985
  isAutoincrement: false;
@@ -2995,14 +2996,48 @@ export declare const storeAdmins: import("drizzle-orm/pg-core").PgTableWithColum
2995
2996
  tableName: "store_admins";
2996
2997
  dataType: "string";
2997
2998
  columnType: "PgEnumColumn";
2998
- data: "owner" | "admin";
2999
+ data: "owner" | "admin" | "administrator" | "manager" | "user";
3000
+ driverParam: string;
3001
+ notNull: true;
3002
+ hasDefault: true;
3003
+ isPrimaryKey: false;
3004
+ isAutoincrement: false;
3005
+ hasRuntimeDefault: false;
3006
+ enumValues: ["owner", "admin", "administrator", "manager", "user"];
3007
+ baseColumn: never;
3008
+ identity: undefined;
3009
+ generated: undefined;
3010
+ }, {}, {}>;
3011
+ status: import("drizzle-orm/pg-core").PgColumn<{
3012
+ name: "status";
3013
+ tableName: "store_admins";
3014
+ dataType: "string";
3015
+ columnType: "PgEnumColumn";
3016
+ data: "active" | "invited" | "deactivated";
2999
3017
  driverParam: string;
3000
3018
  notNull: true;
3001
3019
  hasDefault: true;
3002
3020
  isPrimaryKey: false;
3003
3021
  isAutoincrement: false;
3004
3022
  hasRuntimeDefault: false;
3005
- enumValues: ["owner", "admin"];
3023
+ enumValues: ["active", "invited", "deactivated"];
3024
+ baseColumn: never;
3025
+ identity: undefined;
3026
+ generated: undefined;
3027
+ }, {}, {}>;
3028
+ createdBy: import("drizzle-orm/pg-core").PgColumn<{
3029
+ name: "created_by";
3030
+ tableName: "store_admins";
3031
+ dataType: "string";
3032
+ columnType: "PgUUID";
3033
+ data: string;
3034
+ driverParam: string;
3035
+ notNull: false;
3036
+ hasDefault: false;
3037
+ isPrimaryKey: false;
3038
+ isAutoincrement: false;
3039
+ hasRuntimeDefault: false;
3040
+ enumValues: undefined;
3006
3041
  baseColumn: never;
3007
3042
  identity: undefined;
3008
3043
  generated: undefined;
@@ -3024,9 +3059,288 @@ export declare const storeAdmins: import("drizzle-orm/pg-core").PgTableWithColum
3024
3059
  identity: undefined;
3025
3060
  generated: undefined;
3026
3061
  }, {}, {}>;
3062
+ lastLoginAt: import("drizzle-orm/pg-core").PgColumn<{
3063
+ name: "last_login_at";
3064
+ tableName: "store_admins";
3065
+ dataType: "date";
3066
+ columnType: "PgTimestamp";
3067
+ data: Date;
3068
+ driverParam: string;
3069
+ notNull: false;
3070
+ hasDefault: false;
3071
+ isPrimaryKey: false;
3072
+ isAutoincrement: false;
3073
+ hasRuntimeDefault: false;
3074
+ enumValues: undefined;
3075
+ baseColumn: never;
3076
+ identity: undefined;
3077
+ generated: undefined;
3078
+ }, {}, {}>;
3079
+ deactivatedAt: import("drizzle-orm/pg-core").PgColumn<{
3080
+ name: "deactivated_at";
3081
+ tableName: "store_admins";
3082
+ dataType: "date";
3083
+ columnType: "PgTimestamp";
3084
+ data: Date;
3085
+ driverParam: string;
3086
+ notNull: false;
3087
+ hasDefault: false;
3088
+ isPrimaryKey: false;
3089
+ isAutoincrement: false;
3090
+ hasRuntimeDefault: false;
3091
+ enumValues: undefined;
3092
+ baseColumn: never;
3093
+ identity: undefined;
3094
+ generated: undefined;
3095
+ }, {}, {}>;
3096
+ deactivatedBy: import("drizzle-orm/pg-core").PgColumn<{
3097
+ name: "deactivated_by";
3098
+ tableName: "store_admins";
3099
+ dataType: "string";
3100
+ columnType: "PgUUID";
3101
+ data: string;
3102
+ driverParam: string;
3103
+ notNull: false;
3104
+ hasDefault: false;
3105
+ isPrimaryKey: false;
3106
+ isAutoincrement: false;
3107
+ hasRuntimeDefault: false;
3108
+ enumValues: undefined;
3109
+ baseColumn: never;
3110
+ identity: undefined;
3111
+ generated: undefined;
3112
+ }, {}, {}>;
3113
+ sessionVersion: import("drizzle-orm/pg-core").PgColumn<{
3114
+ name: "session_version";
3115
+ tableName: "store_admins";
3116
+ dataType: "number";
3117
+ columnType: "PgInteger";
3118
+ data: number;
3119
+ driverParam: string | number;
3120
+ notNull: true;
3121
+ hasDefault: true;
3122
+ isPrimaryKey: false;
3123
+ isAutoincrement: false;
3124
+ hasRuntimeDefault: false;
3125
+ enumValues: undefined;
3126
+ baseColumn: never;
3127
+ identity: undefined;
3128
+ generated: undefined;
3129
+ }, {}, {}>;
3130
+ };
3131
+ dialect: "pg";
3132
+ }>;
3133
+ export declare const adminInviteTokens: import("drizzle-orm/pg-core").PgTableWithColumns<{
3134
+ name: "admin_invite_tokens";
3135
+ schema: undefined;
3136
+ columns: {
3137
+ id: import("drizzle-orm/pg-core").PgColumn<{
3138
+ name: "id";
3139
+ tableName: "admin_invite_tokens";
3140
+ dataType: "string";
3141
+ columnType: "PgUUID";
3142
+ data: string;
3143
+ driverParam: string;
3144
+ notNull: true;
3145
+ hasDefault: true;
3146
+ isPrimaryKey: true;
3147
+ isAutoincrement: false;
3148
+ hasRuntimeDefault: false;
3149
+ enumValues: undefined;
3150
+ baseColumn: never;
3151
+ identity: undefined;
3152
+ generated: undefined;
3153
+ }, {}, {}>;
3154
+ adminId: import("drizzle-orm/pg-core").PgColumn<{
3155
+ name: "admin_id";
3156
+ tableName: "admin_invite_tokens";
3157
+ dataType: "string";
3158
+ columnType: "PgUUID";
3159
+ data: string;
3160
+ driverParam: string;
3161
+ notNull: true;
3162
+ hasDefault: false;
3163
+ isPrimaryKey: false;
3164
+ isAutoincrement: false;
3165
+ hasRuntimeDefault: false;
3166
+ enumValues: undefined;
3167
+ baseColumn: never;
3168
+ identity: undefined;
3169
+ generated: undefined;
3170
+ }, {}, {}>;
3171
+ token: import("drizzle-orm/pg-core").PgColumn<{
3172
+ name: "token";
3173
+ tableName: "admin_invite_tokens";
3174
+ dataType: "string";
3175
+ columnType: "PgVarchar";
3176
+ data: string;
3177
+ driverParam: string;
3178
+ notNull: true;
3179
+ hasDefault: false;
3180
+ isPrimaryKey: false;
3181
+ isAutoincrement: false;
3182
+ hasRuntimeDefault: false;
3183
+ enumValues: [string, ...string[]];
3184
+ baseColumn: never;
3185
+ identity: undefined;
3186
+ generated: undefined;
3187
+ }, {}, {
3188
+ length: 255;
3189
+ }>;
3190
+ expires: import("drizzle-orm/pg-core").PgColumn<{
3191
+ name: "expires";
3192
+ tableName: "admin_invite_tokens";
3193
+ dataType: "date";
3194
+ columnType: "PgTimestamp";
3195
+ data: Date;
3196
+ driverParam: string;
3197
+ notNull: true;
3198
+ hasDefault: false;
3199
+ isPrimaryKey: false;
3200
+ isAutoincrement: false;
3201
+ hasRuntimeDefault: false;
3202
+ enumValues: undefined;
3203
+ baseColumn: never;
3204
+ identity: undefined;
3205
+ generated: undefined;
3206
+ }, {}, {}>;
3207
+ invitedBy: import("drizzle-orm/pg-core").PgColumn<{
3208
+ name: "invited_by";
3209
+ tableName: "admin_invite_tokens";
3210
+ dataType: "string";
3211
+ columnType: "PgUUID";
3212
+ data: string;
3213
+ driverParam: string;
3214
+ notNull: true;
3215
+ hasDefault: false;
3216
+ isPrimaryKey: false;
3217
+ isAutoincrement: false;
3218
+ hasRuntimeDefault: false;
3219
+ enumValues: undefined;
3220
+ baseColumn: never;
3221
+ identity: undefined;
3222
+ generated: undefined;
3223
+ }, {}, {}>;
3224
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
3225
+ name: "created_at";
3226
+ tableName: "admin_invite_tokens";
3227
+ dataType: "date";
3228
+ columnType: "PgTimestamp";
3229
+ data: Date;
3230
+ driverParam: string;
3231
+ notNull: true;
3232
+ hasDefault: true;
3233
+ isPrimaryKey: false;
3234
+ isAutoincrement: false;
3235
+ hasRuntimeDefault: false;
3236
+ enumValues: undefined;
3237
+ baseColumn: never;
3238
+ identity: undefined;
3239
+ generated: undefined;
3240
+ }, {}, {}>;
3027
3241
  };
3028
3242
  dialect: "pg";
3029
3243
  }>;
3244
+ export declare const adminInviteTokensRelations: import("drizzle-orm").Relations<"admin_invite_tokens", {
3245
+ admin: import("drizzle-orm").One<"store_admins", true>;
3246
+ }>;
3247
+ export declare const adminPasswordResetTokens: import("drizzle-orm/pg-core").PgTableWithColumns<{
3248
+ name: "admin_password_reset_tokens";
3249
+ schema: undefined;
3250
+ columns: {
3251
+ id: import("drizzle-orm/pg-core").PgColumn<{
3252
+ name: "id";
3253
+ tableName: "admin_password_reset_tokens";
3254
+ dataType: "string";
3255
+ columnType: "PgUUID";
3256
+ data: string;
3257
+ driverParam: string;
3258
+ notNull: true;
3259
+ hasDefault: true;
3260
+ isPrimaryKey: true;
3261
+ isAutoincrement: false;
3262
+ hasRuntimeDefault: false;
3263
+ enumValues: undefined;
3264
+ baseColumn: never;
3265
+ identity: undefined;
3266
+ generated: undefined;
3267
+ }, {}, {}>;
3268
+ adminId: import("drizzle-orm/pg-core").PgColumn<{
3269
+ name: "admin_id";
3270
+ tableName: "admin_password_reset_tokens";
3271
+ dataType: "string";
3272
+ columnType: "PgUUID";
3273
+ data: string;
3274
+ driverParam: string;
3275
+ notNull: true;
3276
+ hasDefault: false;
3277
+ isPrimaryKey: false;
3278
+ isAutoincrement: false;
3279
+ hasRuntimeDefault: false;
3280
+ enumValues: undefined;
3281
+ baseColumn: never;
3282
+ identity: undefined;
3283
+ generated: undefined;
3284
+ }, {}, {}>;
3285
+ token: import("drizzle-orm/pg-core").PgColumn<{
3286
+ name: "token";
3287
+ tableName: "admin_password_reset_tokens";
3288
+ dataType: "string";
3289
+ columnType: "PgVarchar";
3290
+ data: string;
3291
+ driverParam: string;
3292
+ notNull: true;
3293
+ hasDefault: false;
3294
+ isPrimaryKey: false;
3295
+ isAutoincrement: false;
3296
+ hasRuntimeDefault: false;
3297
+ enumValues: [string, ...string[]];
3298
+ baseColumn: never;
3299
+ identity: undefined;
3300
+ generated: undefined;
3301
+ }, {}, {
3302
+ length: 255;
3303
+ }>;
3304
+ expires: import("drizzle-orm/pg-core").PgColumn<{
3305
+ name: "expires";
3306
+ tableName: "admin_password_reset_tokens";
3307
+ dataType: "date";
3308
+ columnType: "PgTimestamp";
3309
+ data: Date;
3310
+ driverParam: string;
3311
+ notNull: true;
3312
+ hasDefault: false;
3313
+ isPrimaryKey: false;
3314
+ isAutoincrement: false;
3315
+ hasRuntimeDefault: false;
3316
+ enumValues: undefined;
3317
+ baseColumn: never;
3318
+ identity: undefined;
3319
+ generated: undefined;
3320
+ }, {}, {}>;
3321
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
3322
+ name: "created_at";
3323
+ tableName: "admin_password_reset_tokens";
3324
+ dataType: "date";
3325
+ columnType: "PgTimestamp";
3326
+ data: Date;
3327
+ driverParam: string;
3328
+ notNull: true;
3329
+ hasDefault: true;
3330
+ isPrimaryKey: false;
3331
+ isAutoincrement: false;
3332
+ hasRuntimeDefault: false;
3333
+ enumValues: undefined;
3334
+ baseColumn: never;
3335
+ identity: undefined;
3336
+ generated: undefined;
3337
+ }, {}, {}>;
3338
+ };
3339
+ dialect: "pg";
3340
+ }>;
3341
+ export declare const adminPasswordResetTokensRelations: import("drizzle-orm").Relations<"admin_password_reset_tokens", {
3342
+ admin: import("drizzle-orm").One<"store_admins", true>;
3343
+ }>;
3030
3344
  export type Product = typeof products.$inferSelect;
3031
3345
  export type NewProduct = typeof products.$inferInsert;
3032
3346
  export type ProductVariant = typeof productVariants.$inferSelect;
@@ -3041,6 +3355,10 @@ export type Customer = typeof customers.$inferSelect;
3041
3355
  export type NewCustomer = typeof customers.$inferInsert;
3042
3356
  export type StoreAdmin = typeof storeAdmins.$inferSelect;
3043
3357
  export type NewStoreAdmin = typeof storeAdmins.$inferInsert;
3358
+ export type AdminInviteToken = typeof adminInviteTokens.$inferSelect;
3359
+ export type NewAdminInviteToken = typeof adminInviteTokens.$inferInsert;
3360
+ export type AdminPasswordResetToken = typeof adminPasswordResetTokens.$inferSelect;
3361
+ export type NewAdminPasswordResetToken = typeof adminPasswordResetTokens.$inferInsert;
3044
3362
  export type CustomerVerificationToken = typeof customerVerificationTokens.$inferSelect;
3045
3363
  export type NewCustomerVerificationToken = typeof customerVerificationTokens.$inferInsert;
3046
3364
  export type CustomerPasswordResetToken = typeof customerPasswordResetTokens.$inferSelect;
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/core/db/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/core/db/schema.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,24 @@ export const orderStatusEnum = pgEnum('order_status', [
23
23
  'refunded',
24
24
  'return_requested',
25
25
  ]);
26
- export const adminRoleEnum = pgEnum('admin_role', ['owner', 'admin']);
26
+ // admin_role enum 'admin' kept as a legacy alias for rows created before the
27
+ // four-role system shipped. Permission checks treat 'admin' identically to
28
+ // 'administrator'. New rows should always use one of the four canonical values:
29
+ // 'owner' | 'administrator' | 'manager' | 'user'.
30
+ export const adminRoleEnum = pgEnum('admin_role', [
31
+ 'owner',
32
+ 'admin',
33
+ 'administrator',
34
+ 'manager',
35
+ 'user',
36
+ ]);
37
+ // admin_status enum — 'invited' admins have no passwordHash until they accept
38
+ // their invite email and choose one. 'deactivated' admins can never sign in.
39
+ export const adminStatusEnum = pgEnum('admin_status', [
40
+ 'active',
41
+ 'invited',
42
+ 'deactivated',
43
+ ]);
27
44
  // =============================================================================
28
45
  // Products
29
46
  // =============================================================================
@@ -383,10 +400,70 @@ export const storeAdmins = pgTable('store_admins', {
383
400
  id: uuid('id').primaryKey().defaultRandom(),
384
401
  email: varchar('email', { length: 255 }).notNull(),
385
402
  name: varchar('name', { length: 255 }).notNull(),
386
- passwordHash: varchar('password_hash', { length: 255 }).notNull(),
387
- role: adminRoleEnum('role').notNull().default('admin'),
403
+ // Nullable to support the invite flow: an 'invited' admin has no hash
404
+ // until they click the invite email and choose their own password.
405
+ passwordHash: varchar('password_hash', { length: 255 }),
406
+ role: adminRoleEnum('role').notNull().default('user'),
407
+ status: adminStatusEnum('status').notNull().default('active'),
408
+ // Audit trail — who invited this admin. NULL for the bootstrap owner
409
+ // (self-seeded by the platform during store generation).
410
+ createdBy: uuid('created_by'),
388
411
  createdAt: timestamp('created_at').notNull().defaultNow(),
412
+ lastLoginAt: timestamp('last_login_at'),
413
+ deactivatedAt: timestamp('deactivated_at'),
414
+ deactivatedBy: uuid('deactivated_by'),
415
+ // Session invalidation marker. Bumped on every password change
416
+ // (self-service, forgot-password reset, accept-invite, emergency
417
+ // reset). JWTs issued at sign-in embed the current value; requireAdmin
418
+ // compares the JWT version to the DB value on every request and
419
+ // returns 401 on mismatch → forced logout.
420
+ sessionVersion: integer('session_version').notNull().default(0),
389
421
  }, (table) => [
390
422
  uniqueIndex('store_admins_email_idx').on(table.email),
423
+ index('store_admins_status_idx').on(table.status),
424
+ ]);
425
+ // =============================================================================
426
+ // Admin Invite Tokens (for the "invite teammate" flow)
427
+ // =============================================================================
428
+ export const adminInviteTokens = pgTable('admin_invite_tokens', {
429
+ id: uuid('id').primaryKey().defaultRandom(),
430
+ adminId: uuid('admin_id')
431
+ .notNull()
432
+ .references(() => storeAdmins.id, { onDelete: 'cascade' }),
433
+ token: varchar('token', { length: 255 }).notNull(),
434
+ expires: timestamp('expires').notNull(),
435
+ // Who sent the invite (for audit and "invited by" display).
436
+ invitedBy: uuid('invited_by').notNull(),
437
+ createdAt: timestamp('created_at').notNull().defaultNow(),
438
+ }, (table) => [
439
+ uniqueIndex('admin_invite_tokens_token_idx').on(table.token),
440
+ index('admin_invite_tokens_admin_idx').on(table.adminId),
391
441
  ]);
442
+ export const adminInviteTokensRelations = relations(adminInviteTokens, ({ one }) => ({
443
+ admin: one(storeAdmins, {
444
+ fields: [adminInviteTokens.adminId],
445
+ references: [storeAdmins.id],
446
+ }),
447
+ }));
448
+ // =============================================================================
449
+ // Admin Password Reset Tokens (separate from customer reset tokens)
450
+ // =============================================================================
451
+ export const adminPasswordResetTokens = pgTable('admin_password_reset_tokens', {
452
+ id: uuid('id').primaryKey().defaultRandom(),
453
+ adminId: uuid('admin_id')
454
+ .notNull()
455
+ .references(() => storeAdmins.id, { onDelete: 'cascade' }),
456
+ token: varchar('token', { length: 255 }).notNull(),
457
+ expires: timestamp('expires').notNull(),
458
+ createdAt: timestamp('created_at').notNull().defaultNow(),
459
+ }, (table) => [
460
+ uniqueIndex('admin_password_reset_tokens_token_idx').on(table.token),
461
+ index('admin_password_reset_tokens_admin_idx').on(table.adminId),
462
+ ]);
463
+ export const adminPasswordResetTokensRelations = relations(adminPasswordResetTokens, ({ one }) => ({
464
+ admin: one(storeAdmins, {
465
+ fields: [adminPasswordResetTokens.adminId],
466
+ references: [storeAdmins.id],
467
+ }),
468
+ }));
392
469
  //# sourceMappingURL=schema.js.map