@shophost/rest-api 2.0.32 → 2.0.33

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 (348) hide show
  1. package/package.json +13 -14
  2. package/src/app.js +53 -1
  3. package/src/app.js.map +1 -0
  4. package/src/core/auth/auth.schema.js +41 -1
  5. package/src/core/auth/auth.schema.js.map +1 -0
  6. package/src/core/auth/auth.util.js +44 -1
  7. package/src/core/auth/auth.util.js.map +1 -0
  8. package/src/core/auth/better-auth.lib.js +100 -1
  9. package/src/core/auth/better-auth.lib.js.map +1 -0
  10. package/src/core/auth/generate-password-hash.util.d.ts +3 -0
  11. package/src/core/auth/generate-password-hash.util.js +30 -1
  12. package/src/core/auth/generate-password-hash.util.js.map +1 -0
  13. package/src/core/auth/headers.schema.js +22 -1
  14. package/src/core/auth/headers.schema.js.map +1 -0
  15. package/src/core/auth/user.schema.js +30 -1
  16. package/src/core/auth/user.schema.js.map +1 -0
  17. package/src/core/db/__generated__/client/browser.d.ts +128 -0
  18. package/src/core/db/__generated__/client/browser.js +18 -1
  19. package/src/core/db/__generated__/client/browser.js.map +1 -0
  20. package/src/core/db/__generated__/client/client.d.ts +143 -0
  21. package/src/core/db/__generated__/client/client.js +35 -1
  22. package/src/core/db/__generated__/client/client.js.map +1 -0
  23. package/src/core/db/__generated__/client/commonInputTypes.js +11 -1
  24. package/src/core/db/__generated__/client/commonInputTypes.js.map +1 -0
  25. package/src/core/db/__generated__/client/enums.js +200 -1
  26. package/src/core/db/__generated__/client/enums.js.map +1 -0
  27. package/src/core/db/__generated__/client/internal/class.d.ts +343 -0
  28. package/src/core/db/__generated__/client/internal/class.js +55 -1
  29. package/src/core/db/__generated__/client/internal/class.js.map +1 -0
  30. package/src/core/db/__generated__/client/internal/prismaNamespace.d.ts +234 -0
  31. package/src/core/db/__generated__/client/internal/prismaNamespace.js +541 -1
  32. package/src/core/db/__generated__/client/internal/prismaNamespace.js.map +1 -0
  33. package/src/core/db/__generated__/client/internal/prismaNamespaceBrowser.d.ts +15 -0
  34. package/src/core/db/__generated__/client/internal/prismaNamespaceBrowser.js +512 -1
  35. package/src/core/db/__generated__/client/internal/prismaNamespaceBrowser.js.map +1 -0
  36. package/src/core/db/__generated__/client/models/Account.d.ts +633 -0
  37. package/src/core/db/__generated__/client/models/Account.js +2 -1
  38. package/src/core/db/__generated__/client/models/Account.js.map +1 -0
  39. package/src/core/db/__generated__/client/models/Address.d.ts +706 -0
  40. package/src/core/db/__generated__/client/models/Address.js +2 -1
  41. package/src/core/db/__generated__/client/models/Address.js.map +1 -0
  42. package/src/core/db/__generated__/client/models/Campaign.d.ts +643 -0
  43. package/src/core/db/__generated__/client/models/Campaign.js +2 -1
  44. package/src/core/db/__generated__/client/models/Campaign.js.map +1 -0
  45. package/src/core/db/__generated__/client/models/ClosingTimes.d.ts +639 -0
  46. package/src/core/db/__generated__/client/models/ClosingTimes.js +2 -1
  47. package/src/core/db/__generated__/client/models/ClosingTimes.js.map +1 -0
  48. package/src/core/db/__generated__/client/models/File.d.ts +757 -0
  49. package/src/core/db/__generated__/client/models/File.js +2 -1
  50. package/src/core/db/__generated__/client/models/File.js.map +1 -0
  51. package/src/core/db/__generated__/client/models/Invitation.d.ts +633 -0
  52. package/src/core/db/__generated__/client/models/Invitation.js +2 -1
  53. package/src/core/db/__generated__/client/models/Invitation.js.map +1 -0
  54. package/src/core/db/__generated__/client/models/LegalEntity.d.ts +657 -0
  55. package/src/core/db/__generated__/client/models/LegalEntity.js +2 -1
  56. package/src/core/db/__generated__/client/models/LegalEntity.js.map +1 -0
  57. package/src/core/db/__generated__/client/models/Manufacturer.d.ts +684 -0
  58. package/src/core/db/__generated__/client/models/Manufacturer.js +2 -1
  59. package/src/core/db/__generated__/client/models/Manufacturer.js.map +1 -0
  60. package/src/core/db/__generated__/client/models/ManufacturerTranslation.d.ts +633 -0
  61. package/src/core/db/__generated__/client/models/ManufacturerTranslation.js +2 -1
  62. package/src/core/db/__generated__/client/models/ManufacturerTranslation.js.map +1 -0
  63. package/src/core/db/__generated__/client/models/Member.d.ts +633 -0
  64. package/src/core/db/__generated__/client/models/Member.js +2 -1
  65. package/src/core/db/__generated__/client/models/Member.js.map +1 -0
  66. package/src/core/db/__generated__/client/models/Modifier.d.ts +667 -0
  67. package/src/core/db/__generated__/client/models/Modifier.js +2 -1
  68. package/src/core/db/__generated__/client/models/Modifier.js.map +1 -0
  69. package/src/core/db/__generated__/client/models/ModifierGroup.d.ts +691 -0
  70. package/src/core/db/__generated__/client/models/ModifierGroup.js +2 -1
  71. package/src/core/db/__generated__/client/models/ModifierGroup.js.map +1 -0
  72. package/src/core/db/__generated__/client/models/ModifierGroupTranslation.d.ts +633 -0
  73. package/src/core/db/__generated__/client/models/ModifierGroupTranslation.js +2 -1
  74. package/src/core/db/__generated__/client/models/ModifierGroupTranslation.js.map +1 -0
  75. package/src/core/db/__generated__/client/models/OpeningTimes.d.ts +639 -0
  76. package/src/core/db/__generated__/client/models/OpeningTimes.js +2 -1
  77. package/src/core/db/__generated__/client/models/OpeningTimes.js.map +1 -0
  78. package/src/core/db/__generated__/client/models/Order.d.ts +705 -0
  79. package/src/core/db/__generated__/client/models/Order.js +2 -1
  80. package/src/core/db/__generated__/client/models/Order.js.map +1 -0
  81. package/src/core/db/__generated__/client/models/OrderItem.d.ts +691 -0
  82. package/src/core/db/__generated__/client/models/OrderItem.js +2 -1
  83. package/src/core/db/__generated__/client/models/OrderItem.js.map +1 -0
  84. package/src/core/db/__generated__/client/models/OrderItemTranslation.d.ts +633 -0
  85. package/src/core/db/__generated__/client/models/OrderItemTranslation.js +2 -1
  86. package/src/core/db/__generated__/client/models/OrderItemTranslation.js.map +1 -0
  87. package/src/core/db/__generated__/client/models/Organization.d.ts +816 -0
  88. package/src/core/db/__generated__/client/models/Organization.js +2 -1
  89. package/src/core/db/__generated__/client/models/Organization.js.map +1 -0
  90. package/src/core/db/__generated__/client/models/OrganizationConfiguration.d.ts +681 -0
  91. package/src/core/db/__generated__/client/models/OrganizationConfiguration.js +2 -1
  92. package/src/core/db/__generated__/client/models/OrganizationConfiguration.js.map +1 -0
  93. package/src/core/db/__generated__/client/models/Payment.d.ts +673 -0
  94. package/src/core/db/__generated__/client/models/Payment.js +2 -1
  95. package/src/core/db/__generated__/client/models/Payment.js.map +1 -0
  96. package/src/core/db/__generated__/client/models/PaymentSession.d.ts +643 -0
  97. package/src/core/db/__generated__/client/models/PaymentSession.js +2 -1
  98. package/src/core/db/__generated__/client/models/PaymentSession.js.map +1 -0
  99. package/src/core/db/__generated__/client/models/Product.d.ts +751 -0
  100. package/src/core/db/__generated__/client/models/Product.js +2 -1
  101. package/src/core/db/__generated__/client/models/Product.js.map +1 -0
  102. package/src/core/db/__generated__/client/models/ProductCategory.d.ts +694 -0
  103. package/src/core/db/__generated__/client/models/ProductCategory.js +2 -1
  104. package/src/core/db/__generated__/client/models/ProductCategory.js.map +1 -0
  105. package/src/core/db/__generated__/client/models/ProductCategoryTranslation.d.ts +633 -0
  106. package/src/core/db/__generated__/client/models/ProductCategoryTranslation.js +2 -1
  107. package/src/core/db/__generated__/client/models/ProductCategoryTranslation.js.map +1 -0
  108. package/src/core/db/__generated__/client/models/ProductSnapshot.d.ts +669 -0
  109. package/src/core/db/__generated__/client/models/ProductSnapshot.js +2 -1
  110. package/src/core/db/__generated__/client/models/ProductSnapshot.js.map +1 -0
  111. package/src/core/db/__generated__/client/models/ProductTranslation.d.ts +633 -0
  112. package/src/core/db/__generated__/client/models/ProductTranslation.js +2 -1
  113. package/src/core/db/__generated__/client/models/ProductTranslation.js.map +1 -0
  114. package/src/core/db/__generated__/client/models/Reservation.d.ts +655 -0
  115. package/src/core/db/__generated__/client/models/Reservation.js +2 -1
  116. package/src/core/db/__generated__/client/models/Reservation.js.map +1 -0
  117. package/src/core/db/__generated__/client/models/Session.d.ts +633 -0
  118. package/src/core/db/__generated__/client/models/Session.js +2 -1
  119. package/src/core/db/__generated__/client/models/Session.js.map +1 -0
  120. package/src/core/db/__generated__/client/models/ShippingMethod.d.ts +684 -0
  121. package/src/core/db/__generated__/client/models/ShippingMethod.js +2 -1
  122. package/src/core/db/__generated__/client/models/ShippingMethod.js.map +1 -0
  123. package/src/core/db/__generated__/client/models/ShippingZone.d.ts +643 -0
  124. package/src/core/db/__generated__/client/models/ShippingZone.js +2 -1
  125. package/src/core/db/__generated__/client/models/ShippingZone.js.map +1 -0
  126. package/src/core/db/__generated__/client/models/User.d.ts +741 -0
  127. package/src/core/db/__generated__/client/models/User.js +2 -1
  128. package/src/core/db/__generated__/client/models/User.js.map +1 -0
  129. package/src/core/db/__generated__/client/models/Verification.d.ts +597 -0
  130. package/src/core/db/__generated__/client/models/Verification.js +2 -1
  131. package/src/core/db/__generated__/client/models/Verification.js.map +1 -0
  132. package/src/core/db/__generated__/client/models.js +2 -1
  133. package/src/core/db/__generated__/client/models.js.map +1 -0
  134. package/src/core/db/index.js +2 -1
  135. package/src/core/db/index.js.map +1 -0
  136. package/src/core/exceptions/http-exception.js +9 -1
  137. package/src/core/exceptions/http-exception.js.map +1 -0
  138. package/src/core/hono/hono.js +123 -1
  139. package/src/core/hono/hono.js.map +1 -0
  140. package/src/core/lib/prisma.js +11 -1
  141. package/src/core/lib/prisma.js.map +1 -0
  142. package/src/core/logging/pino.js +5 -1
  143. package/src/core/logging/pino.js.map +1 -0
  144. package/src/core/notifications/email.service.d.ts +15 -0
  145. package/src/core/notifications/email.service.js +116 -1
  146. package/src/core/notifications/email.service.js.map +1 -0
  147. package/src/core/openapi/openapi.lib.js +26 -1
  148. package/src/core/openapi/openapi.lib.js.map +1 -0
  149. package/src/core/types/google-maps.types.js +2 -1
  150. package/src/core/types/google-maps.types.js.map +1 -0
  151. package/src/core/utils/currency.util.js +11 -1
  152. package/src/core/utils/currency.util.js.map +1 -0
  153. package/src/core/utils/env.util.js +8 -1
  154. package/src/core/utils/env.util.js.map +1 -0
  155. package/src/core/utils/object.util.d.ts +10 -0
  156. package/src/core/utils/object.util.js +39 -1
  157. package/src/core/utils/object.util.js.map +1 -0
  158. package/src/core/utils/translations.util.js +2 -0
  159. package/src/core/utils/translations.util.js.map +1 -0
  160. package/src/core/utils/zod.util.d.ts +12 -0
  161. package/src/core/utils/zod.util.js +85 -1
  162. package/src/core/utils/zod.util.js.map +1 -0
  163. package/src/db.js +3 -1
  164. package/src/db.js.map +1 -0
  165. package/src/features/access/access.handler.js +91 -1
  166. package/src/features/access/access.handler.js.map +1 -0
  167. package/src/features/access/access.route.js +220 -1
  168. package/src/features/access/access.route.js.map +1 -0
  169. package/src/features/access/access.schema.js +108 -1
  170. package/src/features/access/access.schema.js.map +1 -0
  171. package/src/features/access/access.service.js +294 -1
  172. package/src/features/access/access.service.js.map +1 -0
  173. package/src/features/cart/cart.handler.js +17 -1
  174. package/src/features/cart/cart.handler.js.map +1 -0
  175. package/src/features/cart/cart.route.js +32 -1
  176. package/src/features/cart/cart.route.js.map +1 -0
  177. package/src/features/cart/cart.schema.js +39 -1
  178. package/src/features/cart/cart.schema.js.map +1 -0
  179. package/src/features/cart/cart.service.d.ts +7 -0
  180. package/src/features/cart/cart.service.js +97 -1
  181. package/src/features/cart/cart.service.js.map +1 -0
  182. package/src/features/cart/cart.util.js +76 -1
  183. package/src/features/cart/cart.util.js.map +1 -0
  184. package/src/features/file/file.handler.js +23 -1
  185. package/src/features/file/file.handler.js.map +1 -0
  186. package/src/features/file/file.route.js +34 -1
  187. package/src/features/file/file.route.js.map +1 -0
  188. package/src/features/file/file.schema.js +77 -1
  189. package/src/features/file/file.schema.js.map +1 -0
  190. package/src/features/file/file.service.d.ts +6 -0
  191. package/src/features/file/file.service.js +66 -1
  192. package/src/features/file/file.service.js.map +1 -0
  193. package/src/features/health/health.handler.js +10 -1
  194. package/src/features/health/health.handler.js.map +1 -0
  195. package/src/features/health/health.route.js +25 -1
  196. package/src/features/health/health.route.js.map +1 -0
  197. package/src/features/index.js +16 -1
  198. package/src/features/index.js.map +1 -0
  199. package/src/features/location/location.handler.js +25 -1
  200. package/src/features/location/location.handler.js.map +1 -0
  201. package/src/features/location/location.route.js +56 -1
  202. package/src/features/location/location.route.js.map +1 -0
  203. package/src/features/location/location.schema.js +50 -1
  204. package/src/features/location/location.schema.js.map +1 -0
  205. package/src/features/location/location.service.d.ts +3 -0
  206. package/src/features/location/location.service.js +141 -1
  207. package/src/features/location/location.service.js.map +1 -0
  208. package/src/features/manufacturer/manufacturer.handler.js +53 -1
  209. package/src/features/manufacturer/manufacturer.handler.js.map +1 -0
  210. package/src/features/manufacturer/manufacturer.route.js +97 -1
  211. package/src/features/manufacturer/manufacturer.route.js.map +1 -0
  212. package/src/features/manufacturer/manufacturer.schema.js +125 -1
  213. package/src/features/manufacturer/manufacturer.schema.js.map +1 -0
  214. package/src/features/manufacturer/manufacturer.service.d.ts +19 -0
  215. package/src/features/manufacturer/manufacturer.service.js +190 -1
  216. package/src/features/manufacturer/manufacturer.service.js.map +1 -0
  217. package/src/features/order/emails/order-confirmation.email.js +229 -1
  218. package/src/features/order/emails/order-confirmation.email.js.map +1 -0
  219. package/src/features/order/emails/order-notification.email.js +229 -1
  220. package/src/features/order/emails/order-notification.email.js.map +1 -0
  221. package/src/features/order/fulfilment.schema.js +3 -1
  222. package/src/features/order/fulfilment.schema.js.map +1 -0
  223. package/src/features/order/order.handler.js +54 -1
  224. package/src/features/order/order.handler.js.map +1 -0
  225. package/src/features/order/order.route.js +111 -1
  226. package/src/features/order/order.route.js.map +1 -0
  227. package/src/features/order/order.schema.js +158 -1
  228. package/src/features/order/order.schema.js.map +1 -0
  229. package/src/features/order/order.service.d.ts +15 -0
  230. package/src/features/order/order.service.js +306 -1
  231. package/src/features/order/order.service.js.map +1 -0
  232. package/src/features/order/recipient.schema.js +38 -1
  233. package/src/features/order/recipient.schema.js.map +1 -0
  234. package/src/features/organization/legal-entity.schema.js +83 -1
  235. package/src/features/organization/legal-entity.schema.js.map +1 -0
  236. package/src/features/organization/organization-configuration.schema.js +115 -1
  237. package/src/features/organization/organization-configuration.schema.js.map +1 -0
  238. package/src/features/organization/organization.handler.js +48 -1
  239. package/src/features/organization/organization.handler.js.map +1 -0
  240. package/src/features/organization/organization.route.js +84 -1
  241. package/src/features/organization/organization.route.js.map +1 -0
  242. package/src/features/organization/organization.schema.js +64 -1
  243. package/src/features/organization/organization.schema.js.map +1 -0
  244. package/src/features/organization/organization.service.d.ts +15 -0
  245. package/src/features/organization/organization.service.js +334 -1
  246. package/src/features/organization/organization.service.js.map +1 -0
  247. package/src/features/payment/payment.handler.js +16 -1
  248. package/src/features/payment/payment.handler.js.map +1 -0
  249. package/src/features/payment/payment.route.js +22 -1
  250. package/src/features/payment/payment.route.js.map +1 -0
  251. package/src/features/payment/payment.schema.js +46 -1
  252. package/src/features/payment/payment.schema.js.map +1 -0
  253. package/src/features/payment/payment.service.js +100 -1
  254. package/src/features/payment/payment.service.js.map +1 -0
  255. package/src/features/payment/stripe.service.js +164 -1
  256. package/src/features/payment/stripe.service.js.map +1 -0
  257. package/src/features/product/product-modifier.schema.js +84 -1
  258. package/src/features/product/product-modifier.schema.js.map +1 -0
  259. package/src/features/product/product.handler.js +87 -1
  260. package/src/features/product/product.handler.js.map +1 -0
  261. package/src/features/product/product.route.js +179 -1
  262. package/src/features/product/product.route.js.map +1 -0
  263. package/src/features/product/product.schema.js +143 -1
  264. package/src/features/product/product.schema.js.map +1 -0
  265. package/src/features/product/product.service.d.ts +25 -0
  266. package/src/features/product/product.service.js +440 -1
  267. package/src/features/product/product.service.js.map +1 -0
  268. package/src/features/product-category/product-category.handler.js +59 -1
  269. package/src/features/product-category/product-category.handler.js.map +1 -0
  270. package/src/features/product-category/product-category.route.js +139 -1
  271. package/src/features/product-category/product-category.route.js.map +1 -0
  272. package/src/features/product-category/product-category.schema.js +86 -1
  273. package/src/features/product-category/product-category.schema.js.map +1 -0
  274. package/src/features/product-category/product-category.service.d.ts +22 -0
  275. package/src/features/product-category/product-category.service.js +220 -1
  276. package/src/features/product-category/product-category.service.js.map +1 -0
  277. package/src/features/reservation/emails/reservation-cancellation.email.js +82 -1
  278. package/src/features/reservation/emails/reservation-cancellation.email.js.map +1 -0
  279. package/src/features/reservation/emails/reservation-confirmation.email.js +82 -1
  280. package/src/features/reservation/emails/reservation-confirmation.email.js.map +1 -0
  281. package/src/features/reservation/emails/reservation-notification.email.js +93 -1
  282. package/src/features/reservation/emails/reservation-notification.email.js.map +1 -0
  283. package/src/features/reservation/reservation.handler.js +65 -1
  284. package/src/features/reservation/reservation.handler.js.map +1 -0
  285. package/src/features/reservation/reservation.route.js +167 -1
  286. package/src/features/reservation/reservation.route.js.map +1 -0
  287. package/src/features/reservation/reservation.schema.js +51 -1
  288. package/src/features/reservation/reservation.schema.js.map +1 -0
  289. package/src/features/reservation/reservation.service.d.ts +18 -0
  290. package/src/features/reservation/reservation.service.js +231 -1
  291. package/src/features/reservation/reservation.service.js.map +1 -0
  292. package/src/features/shipping/shipping.handler.js +32 -1
  293. package/src/features/shipping/shipping.handler.js.map +1 -0
  294. package/src/features/shipping/shipping.route.js +51 -1
  295. package/src/features/shipping/shipping.route.js.map +1 -0
  296. package/src/features/shipping/shipping.service.d.ts +7 -0
  297. package/src/features/shipping/shipping.service.js +96 -1
  298. package/src/features/shipping/shipping.service.js.map +1 -0
  299. package/src/features/shipping-method/shipping-method.handler.js +60 -1
  300. package/src/features/shipping-method/shipping-method.handler.js.map +1 -0
  301. package/src/features/shipping-method/shipping-method.route.js +144 -1
  302. package/src/features/shipping-method/shipping-method.route.js.map +1 -0
  303. package/src/features/shipping-method/shipping-method.schema.js +48 -1
  304. package/src/features/shipping-method/shipping-method.schema.js.map +1 -0
  305. package/src/features/shipping-method/shipping-method.service.d.ts +25 -0
  306. package/src/features/shipping-method/shipping-method.service.js +229 -1
  307. package/src/features/shipping-method/shipping-method.service.js.map +1 -0
  308. package/src/features/shipping-method/shipping-zone.schema.js +31 -1
  309. package/src/features/shipping-method/shipping-zone.schema.js.map +1 -0
  310. package/src/features/webhook/webhook.handler.js +50 -1
  311. package/src/features/webhook/webhook.handler.js.map +1 -0
  312. package/src/features/webhook/webhook.route.js +33 -1
  313. package/src/features/webhook/webhook.route.js.map +1 -0
  314. package/src/index.js +6 -1
  315. package/src/index.js.map +1 -0
  316. package/src/integrations/next.js +82 -1
  317. package/src/integrations/next.js.map +1 -0
  318. package/src/schemas/address.schema.d.ts +8 -0
  319. package/src/schemas/address.schema.js +112 -1
  320. package/src/schemas/address.schema.js.map +1 -0
  321. package/src/schemas/currency.schema.d.ts +42 -0
  322. package/src/schemas/currency.schema.js +118 -1
  323. package/src/schemas/currency.schema.js.map +1 -0
  324. package/src/schemas/error.schema.js +12 -1
  325. package/src/schemas/error.schema.js.map +1 -0
  326. package/src/schemas/index.js +29 -1
  327. package/src/schemas/index.js.map +1 -0
  328. package/src/schemas/locales.schema.js +238 -1
  329. package/src/schemas/locales.schema.js.map +1 -0
  330. package/src/schemas/number.schema.js +29 -1
  331. package/src/schemas/number.schema.js.map +1 -0
  332. package/src/schemas/pagination.schema.js +54 -1
  333. package/src/schemas/pagination.schema.js.map +1 -0
  334. package/src/schemas/params.schema.js +20 -1
  335. package/src/schemas/params.schema.js.map +1 -0
  336. package/src/schemas/queries.schema.js +6 -1
  337. package/src/schemas/queries.schema.js.map +1 -0
  338. package/src/test/global-setup.js +37 -1
  339. package/src/test/global-setup.js.map +1 -0
  340. package/src/test/integration/api-fixtures.js +160 -1
  341. package/src/test/integration/api-fixtures.js.map +1 -0
  342. package/src/test/integration/seed.js +368 -1
  343. package/src/test/integration/seed.js.map +1 -0
  344. package/src/test/integration/test-helpers.js +154 -1
  345. package/src/test/integration/test-helpers.js.map +1 -0
  346. package/src/test/setup-test-env.js +7 -1
  347. package/src/test/setup-test-env.js.map +1 -0
  348. package/scripts/minify.mjs +0 -123
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shophost/rest-api",
3
- "version": "2.0.32",
3
+ "version": "2.0.33",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "shophost-rest-api": "./scripts/shophost-rest-api.mjs"
@@ -67,24 +67,24 @@
67
67
  },
68
68
  "dependencies": {
69
69
  "@hono/zod-openapi": "^1.2.2",
70
- "@prisma/adapter-neon": "^7.5.0",
71
- "@prisma/client": "^7.5.0",
72
- "@prisma/client-runtime-utils": "^7.5.0",
70
+ "@prisma/adapter-neon": "^7.4.2",
71
+ "@prisma/client": "^7.4.2",
72
+ "@prisma/client-runtime-utils": "^7.4.2",
73
73
  "@react-email/components": "^0.0.36",
74
- "@vercel/blob": "^0.27.3",
75
- "axios": "^1.9.0",
74
+ "@vercel/blob": "^0.27.2",
75
+ "axios": "^1.8.2",
76
76
  "better-auth": "^1.5.5",
77
77
  "date-fns": "^4.1.0",
78
- "dotenv": "^16.6.1",
79
- "hono": "^4.12.8",
78
+ "dotenv": "^16.4.7",
79
+ "hono": "^4.10.6",
80
80
  "http-status-codes": "^2.3.0",
81
- "nanoid": "^5.1.5",
82
- "pino": "^9.7.0",
83
- "prisma": "^7.5.0",
81
+ "nanoid": "^5.1.3",
82
+ "pino": "^9.6.0",
83
+ "prisma": "^7.4.2",
84
84
  "prisma-extension-pagination": "^0.7.6",
85
- "resend": "^4.5.2",
85
+ "resend": "^4.2.0",
86
86
  "stripe": "^17.7.0",
87
- "zod": "^4.3.6"
87
+ "zod": "^4.1.11"
88
88
  },
89
89
  "peerDependencies": {
90
90
  "next": ">=14.0.0",
@@ -93,7 +93,6 @@
93
93
  },
94
94
  "devDependencies": {
95
95
  "@prisma/adapter-pg": "^7.5.0",
96
- "@types/react": "^19.2.14",
97
96
  "pg": "^8.20.0"
98
97
  },
99
98
  "module": "./src/index.js"
package/src/app.js CHANGED
@@ -1 +1,53 @@
1
- import{__awaiter as o}from"tslib";import{cors as e}from"hono/cors";import{createApiRouter as t,createUnavailableAuth as r,handleAppError as i}from"./core/hono/hono";import{buildAccessHandler as n,buildCartHandler as u,buildFileHandler as l,buildHealthHandler as s,buildLocationHandler as d,buildManufacturerHandler as a,buildOrderHandler as p,buildOrganizationHandler as v,buildPaymentHandler as c,buildProductCategoryHandler as h,buildProductHandler as m,buildReservationHandler as g,buildShippingHandler as A,buildShippingMethodHandler as O,buildWebhookHandler as T}from"./features";const y={allowHeaders:["Content-Type","Authorization","X-Requested-With","Accept","Origin","X-CSRF-Token"],allowMethods:["GET","POST","PUT","DELETE","OPTIONS","PATCH"],credentials:!0,exposeHeaders:["Content-Length","X-Kuma-Revision"],origin:["http://localhost:3000"]};export const buildApiApp=({corsOptions:f,maps:b,payment:E,prisma:q,resolveAuth:w=()=>r()}={})=>{var C,P,j,k,H;const K=t();return K.use("*",e(Object.assign(Object.assign({},y),f))),K.use("*",(e,t)=>o(void 0,void 0,void 0,function*(){const o=w(e.req.raw,e.req.path);e.set("auth",o),Object.assign(e.req.raw,{auth:o}),yield t()})),K.onError(o=>i(o)),K.route("/",s()),K.route("/",a(q)),K.route("/",v(q,null!==(P=null===(C=null==b?void 0:b.google)||void 0===C?void 0:C.key)&&void 0!==P?P:"")),K.route("/",l(q)),K.route("/",h(q)),K.route("/",m(q)),K.route("/",n(q)),K.route("/",O(q)),K.route("/",p(q,null!=E?E:{})),K.route("/",u(q)),K.route("/",A(q,null!==(k=null===(j=null==b?void 0:b.google)||void 0===j?void 0:j.key)&&void 0!==k?k:"")),K.route("/",d(null!=b?b:{})),K.route("/",c(q,null!=E?E:{})),K.route("/",T(q,null!=E?E:{})),(null===(H=null==E?void 0:E.stripe)||void 0===H?void 0:H.resendApiKey)&&K.route("/",g(q,E.stripe.resendApiKey)),K};
1
+ import { __awaiter } from "tslib";
2
+ import { cors } from "hono/cors";
3
+ import { createApiRouter, createUnavailableAuth, handleAppError, } from "./core/hono/hono";
4
+ import { buildAccessHandler, buildCartHandler, buildFileHandler, buildHealthHandler, buildLocationHandler, buildManufacturerHandler, buildOrderHandler, buildOrganizationHandler, buildPaymentHandler, buildProductCategoryHandler, buildProductHandler, buildReservationHandler, buildShippingHandler, buildShippingMethodHandler, buildWebhookHandler, } from "./features";
5
+ const defaultCorsOptions = {
6
+ allowHeaders: [
7
+ "Content-Type",
8
+ "Authorization",
9
+ "X-Requested-With",
10
+ "Accept",
11
+ "Origin",
12
+ "X-CSRF-Token",
13
+ ],
14
+ allowMethods: ["GET", "POST", "PUT", "DELETE", "OPTIONS", "PATCH"],
15
+ credentials: true,
16
+ exposeHeaders: ["Content-Length", "X-Kuma-Revision"],
17
+ origin: ["http://localhost:3000"],
18
+ };
19
+ export const buildApiApp = ({ corsOptions, maps, payment, prisma, resolveAuth = () => createUnavailableAuth(), } = {}) => {
20
+ var _a, _b, _c, _d, _e;
21
+ const app = createApiRouter();
22
+ // cors
23
+ app.use("*", cors(Object.assign(Object.assign({}, defaultCorsOptions), corsOptions)));
24
+ // auth
25
+ app.use("*", (c, next) => __awaiter(void 0, void 0, void 0, function* () {
26
+ const auth = resolveAuth(c.req.raw, c.req.path);
27
+ c.set("auth", auth);
28
+ Object.assign(c.req.raw, { auth });
29
+ yield next();
30
+ }));
31
+ // error handler
32
+ app.onError((error) => handleAppError(error));
33
+ // routes
34
+ app.route("/", buildHealthHandler());
35
+ app.route("/", buildManufacturerHandler(prisma));
36
+ app.route("/", buildOrganizationHandler(prisma, (_b = (_a = maps === null || maps === void 0 ? void 0 : maps.google) === null || _a === void 0 ? void 0 : _a.key) !== null && _b !== void 0 ? _b : ""));
37
+ app.route("/", buildFileHandler(prisma));
38
+ app.route("/", buildProductCategoryHandler(prisma));
39
+ app.route("/", buildProductHandler(prisma));
40
+ app.route("/", buildAccessHandler(prisma));
41
+ app.route("/", buildShippingMethodHandler(prisma));
42
+ app.route("/", buildOrderHandler(prisma, payment !== null && payment !== void 0 ? payment : {}));
43
+ app.route("/", buildCartHandler(prisma));
44
+ app.route("/", buildShippingHandler(prisma, (_d = (_c = maps === null || maps === void 0 ? void 0 : maps.google) === null || _c === void 0 ? void 0 : _c.key) !== null && _d !== void 0 ? _d : ""));
45
+ app.route("/", buildLocationHandler(maps !== null && maps !== void 0 ? maps : {}));
46
+ app.route("/", buildPaymentHandler(prisma, payment !== null && payment !== void 0 ? payment : {}));
47
+ app.route("/", buildWebhookHandler(prisma, payment !== null && payment !== void 0 ? payment : {}));
48
+ if ((_e = payment === null || payment === void 0 ? void 0 : payment.stripe) === null || _e === void 0 ? void 0 : _e.resendApiKey) {
49
+ app.route("/", buildReservationHandler(prisma, payment.stripe.resendApiKey));
50
+ }
51
+ return app;
52
+ };
53
+ //# sourceMappingURL=app.js.map
package/src/app.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../../packages/rest-api/src/app.ts"],"names":[],"mappings":"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"}
@@ -1 +1,41 @@
1
- import{z as e}from"@hono/zod-openapi";export const SignUpSchema=e.object({email:e.string().min(1,"Email is required").email("Invalid email").openapi({example:"user@example.com",description:"User's email address"}),password:e.string().min(1,"Password is required").min(8,"Password must be more than 8 characters").max(32,"Password must be less than 32 characters").openapi({example:"password123",description:"User's password"}),firstname:e.string().min(1,"First name is required").max(32,"First name must be less than 32 characters").openapi({example:"John",description:"User's first name"}),lastname:e.string().min(1,"Last name is required").max(32,"Last name must be less than 32 characters").openapi({example:"Doe",description:"User's last name"})}).openapi("SignUp");export const SignInSchema=SignUpSchema.pick({email:!0,password:!0}).openapi("SignIn");
1
+ import { z } from "@hono/zod-openapi";
2
+ export const SignUpSchema = z.object({
3
+ email: z
4
+ .string()
5
+ .min(1, "Email is required")
6
+ .email("Invalid email")
7
+ .openapi({
8
+ example: "user@example.com",
9
+ description: "User's email address",
10
+ }),
11
+ password: z
12
+ .string()
13
+ .min(1, "Password is required")
14
+ .min(8, "Password must be more than 8 characters")
15
+ .max(32, "Password must be less than 32 characters")
16
+ .openapi({
17
+ example: "password123",
18
+ description: "User's password",
19
+ }),
20
+ firstname: z
21
+ .string()
22
+ .min(1, "First name is required")
23
+ .max(32, "First name must be less than 32 characters")
24
+ .openapi({
25
+ example: "John",
26
+ description: "User's first name",
27
+ }),
28
+ lastname: z
29
+ .string()
30
+ .min(1, "Last name is required")
31
+ .max(32, "Last name must be less than 32 characters")
32
+ .openapi({
33
+ example: "Doe",
34
+ description: "User's last name",
35
+ }),
36
+ }).openapi("SignUp");
37
+ export const SignInSchema = SignUpSchema.pick({
38
+ email: true,
39
+ password: true,
40
+ }).openapi("SignIn");
41
+ //# sourceMappingURL=auth.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.schema.js","sourceRoot":"","sources":["../../../../../../packages/rest-api/src/core/auth/auth.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AAEtC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,mBAAmB,CAAC;SAC3B,KAAK,CAAC,eAAe,CAAC;SACtB,OAAO,CAAC;QACP,OAAO,EAAE,kBAAkB;QAC3B,WAAW,EAAE,sBAAsB;KACpC,CAAC;IACJ,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,sBAAsB,CAAC;SAC9B,GAAG,CAAC,CAAC,EAAE,yCAAyC,CAAC;SACjD,GAAG,CAAC,EAAE,EAAE,0CAA0C,CAAC;SACnD,OAAO,CAAC;QACP,OAAO,EAAE,aAAa;QACtB,WAAW,EAAE,iBAAiB;KAC/B,CAAC;IACJ,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,wBAAwB,CAAC;SAChC,GAAG,CAAC,EAAE,EAAE,4CAA4C,CAAC;SACrD,OAAO,CAAC;QACP,OAAO,EAAE,MAAM;QACf,WAAW,EAAE,mBAAmB;KACjC,CAAC;IACJ,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,uBAAuB,CAAC;SAC/B,GAAG,CAAC,EAAE,EAAE,2CAA2C,CAAC;SACpD,OAAO,CAAC;QACP,OAAO,EAAE,KAAK;QACd,WAAW,EAAE,kBAAkB;KAChC,CAAC;CACL,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAErB,MAAM,CAAC,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC;IAC5C,KAAK,EAAE,IAAI;IACX,QAAQ,EAAE,IAAI;CACf,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC"}
@@ -1 +1,44 @@
1
- import{__awaiter as e}from"tslib";import{HttpException as o}from"../exceptions/http-exception";import{logger as r}from"../logging/pino";export const getCurrentUser=r=>i=>e(void 0,void 0,void 0,function*(){const e=yield r.api.getSession({headers:i});if(!(null==e?void 0:e.user))throw new o(401,"Unauthorized");return e.user});export const isGranted=i=>(s,n,t)=>e(void 0,void 0,void 0,function*(){if(!t)throw new Error("Resource and access level are required");const e=yield i.api.getSession({headers:s});if(!(null==e?void 0:e.user))throw new o(401,"Unauthorized");const d=yield i.api.hasPermission({headers:s,body:{organizationId:n,permissions:{project:[t]}}});if(!d.success)throw r.error({organizationId:n,accessLevel:t,message:"User does not have permission",userId:e.user.id,hasPermission:d}),new o(403,"Forbidden");return e.user});
1
+ import { __awaiter } from "tslib";
2
+ import { HttpException } from "../exceptions/http-exception";
3
+ import { logger } from "../logging/pino";
4
+ export const getCurrentUser = (auth) => (headers) => __awaiter(void 0, void 0, void 0, function* () {
5
+ const session = yield auth.api.getSession({
6
+ headers: headers,
7
+ });
8
+ if (!(session === null || session === void 0 ? void 0 : session.user)) {
9
+ throw new HttpException(401, "Unauthorized");
10
+ }
11
+ return session.user;
12
+ });
13
+ export const isGranted = (auth) => (headers, organizationId, accessLevel) => __awaiter(void 0, void 0, void 0, function* () {
14
+ if (!accessLevel) {
15
+ throw new Error("Resource and access level are required");
16
+ }
17
+ const session = yield auth.api.getSession({
18
+ headers: headers,
19
+ });
20
+ if (!(session === null || session === void 0 ? void 0 : session.user)) {
21
+ throw new HttpException(401, "Unauthorized");
22
+ }
23
+ const hasPermission = yield auth.api.hasPermission({
24
+ headers,
25
+ body: {
26
+ organizationId,
27
+ permissions: {
28
+ project: [accessLevel],
29
+ },
30
+ },
31
+ });
32
+ if (!hasPermission.success) {
33
+ logger.error({
34
+ organizationId,
35
+ accessLevel,
36
+ message: "User does not have permission",
37
+ userId: session.user.id,
38
+ hasPermission,
39
+ });
40
+ throw new HttpException(403, "Forbidden");
41
+ }
42
+ return session.user;
43
+ });
44
+ //# sourceMappingURL=auth.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.util.js","sourceRoot":"","sources":["../../../../../../packages/rest-api/src/core/auth/auth.util.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,MAAM,CAAC,MAAM,cAAc,GACzB,CAAC,IAAS,EAAE,EAAE,CACd,CAAO,OAAY,EAAiB,EAAE;IACpC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;QACxC,OAAO,EAAE,OAAkB;KAC5B,CAAC,CAAC;IAEH,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAA,EAAE,CAAC;QACnB,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,OAAO,CAAC,IAAI,CAAC;AACtB,CAAC,CAAA,CAAC;AAEJ,MAAM,CAAC,MAAM,SAAS,GACpB,CAAC,IAAS,EAAE,EAAE,CACd,CACE,OAAY,EACZ,cAAsB,EACtB,WAAoD,EACpD,EAAE;IACF,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;QACxC,OAAO,EAAE,OAAkB;KAC5B,CAAC,CAAC;IAEH,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAA,EAAE,CAAC;QACnB,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC;QACjD,OAAO;QACP,IAAI,EAAE;YACJ,cAAc;YACd,WAAW,EAAE;gBACX,OAAO,EAAE,CAAC,WAAW,CAAC;aACvB;SACF;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;QAC3B,MAAM,CAAC,KAAK,CAAC;YACX,cAAc;YACd,WAAW;YACX,OAAO,EAAE,+BAA+B;YACxC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE;YACvB,aAAa;SACd,CAAC,CAAC;QAEH,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,OAAO,CAAC,IAAI,CAAC;AACtB,CAAC,CAAA,CAAC"}
@@ -1 +1,100 @@
1
- import{betterAuth as e}from"better-auth";import{prismaAdapter as t}from"better-auth/adapters/prisma";import{nextCookies as r}from"better-auth/next-js";import{openAPI as a,organization as o}from"better-auth/plugins";import{createAccessControl as i}from"better-auth/plugins/access";import{getCurrentUser as n,isGranted as s}from"./auth.util";const l=i({project:["create","read","update","delete"],organization:["create","read","update","delete"]}),d=l.newRole({project:["read"]}),c=l.newRole({project:["read"]}),p=l.newRole({project:["create","read","update","delete"]}),u=l.newRole({project:["create","read","update","delete"],organization:["update"]}),m=l.newRole({project:["create","read","update","delete"],organization:["update","delete"]});export const createAuthClient=({prisma:i,baseURL:g,domain:b,trustedOrigins:h,socialProviders:f})=>{const j=e({baseURL:g,database:t(i,{provider:"postgresql"}),trustedOrigins:h,user:{additionalFields:{firstname:{type:"string",required:!0},lastname:{type:"string",required:!0}}},advanced:{crossSubDomainCookies:{enabled:!0,domain:b},useSecureCookies:"localhost"!==b,defaultCookieAttributes:{path:"/",sameSite:"lax",httpOnly:!0,secure:"localhost"!==b}},emailAndPassword:{enabled:!0},socialProviders:Object.assign({},(null==f?void 0:f.google)?{google:{prompt:"select_account",clientId:f.google.clientId,clientSecret:f.google.clientSecret,mapProfileToUser:e=>({firstname:e.given_name,lastname:e.family_name})}}:{}),plugins:[a(),r(),o({ac:l,roles:{member:c,readOnly:d,manager:p,admin:u,owner:m}})]});return{auth:j,getCurrentUser:n(j),isGranted:s(j)}};
1
+ import { betterAuth } from "better-auth";
2
+ import { prismaAdapter } from "better-auth/adapters/prisma";
3
+ import { nextCookies } from "better-auth/next-js";
4
+ import { openAPI, organization } from "better-auth/plugins";
5
+ import { createAccessControl } from "better-auth/plugins/access";
6
+ import { getCurrentUser, isGranted } from "./auth.util";
7
+ const statement = {
8
+ project: ["create", "read", "update", "delete"],
9
+ organization: ["create", "read", "update", "delete"],
10
+ };
11
+ const ac = createAccessControl(statement);
12
+ const readOnly = ac.newRole({
13
+ project: ["read"],
14
+ });
15
+ const member = ac.newRole({
16
+ project: ["read"],
17
+ });
18
+ const manager = ac.newRole({
19
+ project: ["create", "read", "update", "delete"],
20
+ });
21
+ const admin = ac.newRole({
22
+ project: ["create", "read", "update", "delete"],
23
+ organization: ["update"],
24
+ });
25
+ const owner = ac.newRole({
26
+ project: ["create", "read", "update", "delete"],
27
+ organization: ["update", "delete"],
28
+ });
29
+ export const createAuthClient = ({ prisma, baseURL, domain, trustedOrigins, socialProviders, }) => {
30
+ const auth = betterAuth({
31
+ baseURL,
32
+ database: prismaAdapter(prisma, {
33
+ provider: "postgresql",
34
+ }),
35
+ trustedOrigins,
36
+ user: {
37
+ additionalFields: {
38
+ firstname: {
39
+ type: "string",
40
+ required: true,
41
+ },
42
+ lastname: {
43
+ type: "string",
44
+ required: true,
45
+ },
46
+ },
47
+ },
48
+ advanced: {
49
+ crossSubDomainCookies: {
50
+ enabled: true,
51
+ domain: domain,
52
+ },
53
+ useSecureCookies: domain !== "localhost",
54
+ defaultCookieAttributes: {
55
+ path: "/",
56
+ sameSite: "lax", // Use "none" if you need cross-site requests, but requires secure: true
57
+ httpOnly: true, // Prevents JavaScript access to cookies
58
+ secure: domain !== "localhost",
59
+ },
60
+ },
61
+ emailAndPassword: {
62
+ enabled: true,
63
+ },
64
+ socialProviders: Object.assign({}, ((socialProviders === null || socialProviders === void 0 ? void 0 : socialProviders.google)
65
+ ? {
66
+ google: {
67
+ prompt: "select_account",
68
+ clientId: socialProviders.google.clientId,
69
+ clientSecret: socialProviders.google.clientSecret,
70
+ mapProfileToUser: (profile) => {
71
+ return {
72
+ firstname: profile.given_name,
73
+ lastname: profile.family_name,
74
+ };
75
+ },
76
+ },
77
+ }
78
+ : {})),
79
+ plugins: [
80
+ openAPI(),
81
+ nextCookies(),
82
+ organization({
83
+ ac,
84
+ roles: {
85
+ member,
86
+ readOnly,
87
+ manager,
88
+ admin,
89
+ owner,
90
+ },
91
+ }),
92
+ ],
93
+ });
94
+ return {
95
+ auth,
96
+ getCurrentUser: getCurrentUser(auth),
97
+ isGranted: isGranted(auth),
98
+ };
99
+ };
100
+ //# sourceMappingURL=better-auth.lib.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"better-auth.lib.js","sourceRoot":"","sources":["../../../../../../packages/rest-api/src/core/auth/better-auth.lib.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,6 @@
1
+ /**
2
+ * Generate a salt and hash for the password.
3
+ */
1
4
  export declare function generatePasswordSaltHash(password: string): Promise<{
2
5
  hash: string;
3
6
  salt: string;
@@ -1 +1,30 @@
1
- import{__awaiter as t}from"tslib";import r from"crypto";export function generatePasswordSaltHash(o){return t(this,void 0,void 0,function*(){const t=(yield new Promise((t,o)=>r.randomBytes(32,(r,e)=>r?o(r):t(e)))).toString("hex"),e=yield function(t,o){return new Promise((e,n)=>r.pbkdf2(t,o,25e3,512,"sha256",(t,r)=>t?n(t):e(r)))}(o,t);return{hash:e.toString("hex"),salt:t}})}
1
+ import { __awaiter } from "tslib";
2
+ import crypto from "crypto";
3
+ /**
4
+ * Generate a random salt using crypto.
5
+ */
6
+ function randomBytes() {
7
+ return new Promise((resolve, reject) => crypto.randomBytes(32, (err, saltBuffer) => err ? reject(err) : resolve(saltBuffer)));
8
+ }
9
+ /**
10
+ * Generate a hash using PBKDF2.
11
+ */
12
+ function pbkdf2Promisified(password, salt) {
13
+ return new Promise((resolve, reject) => crypto.pbkdf2(password, salt, 25000, // Number of iterations
14
+ 512, // Key length
15
+ "sha256", // Digest algorithm
16
+ (err, hashRaw) => (err ? reject(err) : resolve(hashRaw))));
17
+ }
18
+ /**
19
+ * Generate a salt and hash for the password.
20
+ */
21
+ export function generatePasswordSaltHash(password) {
22
+ return __awaiter(this, void 0, void 0, function* () {
23
+ const saltBuffer = yield randomBytes();
24
+ const salt = saltBuffer.toString("hex");
25
+ const hashRaw = yield pbkdf2Promisified(password, salt);
26
+ const hash = hashRaw.toString("hex");
27
+ return { hash, salt };
28
+ });
29
+ }
30
+ //# sourceMappingURL=generate-password-hash.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-password-hash.util.js","sourceRoot":"","sources":["../../../../../../packages/rest-api/src/core/auth/generate-password-hash.util.ts"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B;;GAEG;AACH,SAAS,WAAW;IAClB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CACrC,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,CACzC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CACxC,CACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,QAAgB,EAAE,IAAY;IACvD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CACrC,MAAM,CAAC,MAAM,CACX,QAAQ,EACR,IAAI,EACJ,KAAK,EAAE,uBAAuB;IAC9B,GAAG,EAAE,aAAa;IAClB,QAAQ,EAAE,mBAAmB;IAC7B,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CACzD,CACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAgB,wBAAwB,CAC5C,QAAgB;;QAEhB,MAAM,UAAU,GAAG,MAAM,WAAW,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAExC,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAErC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxB,CAAC;CAAA"}
@@ -1 +1,22 @@
1
- import{z as e}from"@hono/zod-openapi";export const HeaderSchema=e.object({"accept-language":e.string().optional().openapi({example:"en-US",description:"Accept-Language header",param:{in:"header",name:"accept-language"}}),cookie:e.string().optional().openapi({example:"session=1234567890",description:"Cookie header",param:{in:"header",name:"cookie"}})}).openapi("Headers");
1
+ import { z } from "@hono/zod-openapi";
2
+ export const HeaderSchema = z
3
+ .object({
4
+ "accept-language": z.string().optional().openapi({
5
+ example: "en-US",
6
+ description: "Accept-Language header",
7
+ param: {
8
+ in: "header",
9
+ name: "accept-language",
10
+ },
11
+ }),
12
+ cookie: z.string().optional().openapi({
13
+ example: "session=1234567890",
14
+ description: "Cookie header",
15
+ param: {
16
+ in: "header",
17
+ name: "cookie",
18
+ },
19
+ }),
20
+ })
21
+ .openapi("Headers");
22
+ //# sourceMappingURL=headers.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"headers.schema.js","sourceRoot":"","sources":["../../../../../../packages/rest-api/src/core/auth/headers.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AAEtC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC;KAC1B,MAAM,CAAC;IACN,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC;QAC/C,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,wBAAwB;QACrC,KAAK,EAAE;YACL,EAAE,EAAE,QAAQ;YACZ,IAAI,EAAE,iBAAiB;SACxB;KACF,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC;QACpC,OAAO,EAAE,oBAAoB;QAC7B,WAAW,EAAE,eAAe;QAC5B,KAAK,EAAE;YACL,EAAE,EAAE,QAAQ;YACZ,IAAI,EAAE,QAAQ;SACf;KACF,CAAC;CACH,CAAC;KACD,OAAO,CAAC,SAAS,CAAC,CAAC"}
@@ -1 +1,30 @@
1
- import{z as e}from"@hono/zod-openapi";export const UserSchema=e.object({id:e.string().openapi({example:"clm1234567890abcdef",description:"User's ID"}),email:e.string().openapi({example:"user@example.com",description:"User's email address",format:"email"}),firstname:e.string().openapi({example:"John",description:"User's first name"}),lastname:e.string().openapi({example:"Doe",description:"User's last name"}),image:e.string().nullable().optional().openapi({example:"https://example.com/image.jpg",description:"User's profile image"}),name:e.string().nullable().optional().openapi({description:"User's full name (optional)"})}).openapi("User");
1
+ import { z } from "@hono/zod-openapi";
2
+ export const UserSchema = z
3
+ .object({
4
+ id: z.string().openapi({
5
+ example: "clm1234567890abcdef",
6
+ description: "User's ID",
7
+ }),
8
+ email: z.string().openapi({
9
+ example: "user@example.com",
10
+ description: "User's email address",
11
+ format: "email",
12
+ }),
13
+ firstname: z.string().openapi({
14
+ example: "John",
15
+ description: "User's first name",
16
+ }),
17
+ lastname: z.string().openapi({
18
+ example: "Doe",
19
+ description: "User's last name",
20
+ }),
21
+ image: z.string().nullable().optional().openapi({
22
+ example: "https://example.com/image.jpg",
23
+ description: "User's profile image",
24
+ }),
25
+ name: z.string().nullable().optional().openapi({
26
+ description: "User's full name (optional)",
27
+ }),
28
+ })
29
+ .openapi("User");
30
+ //# sourceMappingURL=user.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.schema.js","sourceRoot":"","sources":["../../../../../../packages/rest-api/src/core/auth/user.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AAEtC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC;KACxB,MAAM,CAAC;IACN,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC;QACrB,OAAO,EAAE,qBAAqB;QAC9B,WAAW,EAAE,WAAW;KACzB,CAAC;IACF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC;QACxB,OAAO,EAAE,kBAAkB;QAC3B,WAAW,EAAE,sBAAsB;QACnC,MAAM,EAAE,OAAO;KAChB,CAAC;IACF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC;QAC5B,OAAO,EAAE,MAAM;QACf,WAAW,EAAE,mBAAmB;KACjC,CAAC;IACF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC;QAC3B,OAAO,EAAE,KAAK;QACd,WAAW,EAAE,kBAAkB;KAChC,CAAC;IACF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC;QAC9C,OAAO,EAAE,+BAA+B;QACxC,WAAW,EAAE,sBAAsB;KACpC,CAAC;IACF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC;QAC7C,WAAW,EAAE,6BAA6B;KAC3C,CAAC;CACH,CAAC;KACD,OAAO,CAAC,MAAM,CAAC,CAAC"}
@@ -2,35 +2,163 @@ import * as Prisma from './internal/prismaNamespaceBrowser';
2
2
  export { Prisma };
3
3
  export * as $Enums from './enums';
4
4
  export * from './enums';
5
+ /**
6
+ * Model User
7
+ *
8
+ */
5
9
  export type User = Prisma.UserModel;
10
+ /**
11
+ * Model Session
12
+ *
13
+ */
6
14
  export type Session = Prisma.SessionModel;
15
+ /**
16
+ * Model Account
17
+ *
18
+ */
7
19
  export type Account = Prisma.AccountModel;
20
+ /**
21
+ * Model Verification
22
+ *
23
+ */
8
24
  export type Verification = Prisma.VerificationModel;
25
+ /**
26
+ * Model Member
27
+ *
28
+ */
9
29
  export type Member = Prisma.MemberModel;
30
+ /**
31
+ * Model Invitation
32
+ *
33
+ */
10
34
  export type Invitation = Prisma.InvitationModel;
35
+ /**
36
+ * Model Organization
37
+ *
38
+ */
11
39
  export type Organization = Prisma.OrganizationModel;
40
+ /**
41
+ * Model OpeningTimes
42
+ *
43
+ */
12
44
  export type OpeningTimes = Prisma.OpeningTimesModel;
45
+ /**
46
+ * Model ClosingTimes
47
+ *
48
+ */
13
49
  export type ClosingTimes = Prisma.ClosingTimesModel;
50
+ /**
51
+ * Model OrganizationConfiguration
52
+ *
53
+ */
14
54
  export type OrganizationConfiguration = Prisma.OrganizationConfigurationModel;
55
+ /**
56
+ * Model Address
57
+ *
58
+ */
15
59
  export type Address = Prisma.AddressModel;
60
+ /**
61
+ * Model LegalEntity
62
+ *
63
+ */
16
64
  export type LegalEntity = Prisma.LegalEntityModel;
65
+ /**
66
+ * Model File
67
+ *
68
+ */
17
69
  export type File = Prisma.FileModel;
70
+ /**
71
+ * Model Manufacturer
72
+ *
73
+ */
18
74
  export type Manufacturer = Prisma.ManufacturerModel;
75
+ /**
76
+ * Model ManufacturerTranslation
77
+ *
78
+ */
19
79
  export type ManufacturerTranslation = Prisma.ManufacturerTranslationModel;
80
+ /**
81
+ * Model ProductCategory
82
+ *
83
+ */
20
84
  export type ProductCategory = Prisma.ProductCategoryModel;
85
+ /**
86
+ * Model ProductCategoryTranslation
87
+ *
88
+ */
21
89
  export type ProductCategoryTranslation = Prisma.ProductCategoryTranslationModel;
90
+ /**
91
+ * Model Product
92
+ *
93
+ */
22
94
  export type Product = Prisma.ProductModel;
95
+ /**
96
+ * Model ProductSnapshot
97
+ *
98
+ */
23
99
  export type ProductSnapshot = Prisma.ProductSnapshotModel;
100
+ /**
101
+ * Model ProductTranslation
102
+ *
103
+ */
24
104
  export type ProductTranslation = Prisma.ProductTranslationModel;
105
+ /**
106
+ * Model ModifierGroup
107
+ *
108
+ */
25
109
  export type ModifierGroup = Prisma.ModifierGroupModel;
110
+ /**
111
+ * Model ModifierGroupTranslation
112
+ *
113
+ */
26
114
  export type ModifierGroupTranslation = Prisma.ModifierGroupTranslationModel;
115
+ /**
116
+ * Model Modifier
117
+ *
118
+ */
27
119
  export type Modifier = Prisma.ModifierModel;
120
+ /**
121
+ * Model Order
122
+ *
123
+ */
28
124
  export type Order = Prisma.OrderModel;
125
+ /**
126
+ * Model OrderItem
127
+ *
128
+ */
29
129
  export type OrderItem = Prisma.OrderItemModel;
130
+ /**
131
+ * Model OrderItemTranslation
132
+ *
133
+ */
30
134
  export type OrderItemTranslation = Prisma.OrderItemTranslationModel;
135
+ /**
136
+ * Model Payment
137
+ *
138
+ */
31
139
  export type Payment = Prisma.PaymentModel;
140
+ /**
141
+ * Model PaymentSession
142
+ *
143
+ */
32
144
  export type PaymentSession = Prisma.PaymentSessionModel;
145
+ /**
146
+ * Model Campaign
147
+ *
148
+ */
33
149
  export type Campaign = Prisma.CampaignModel;
150
+ /**
151
+ * Model ShippingMethod
152
+ *
153
+ */
34
154
  export type ShippingMethod = Prisma.ShippingMethodModel;
155
+ /**
156
+ * Model ShippingZone
157
+ *
158
+ */
35
159
  export type ShippingZone = Prisma.ShippingZoneModel;
160
+ /**
161
+ * Model Reservation
162
+ *
163
+ */
36
164
  export type Reservation = Prisma.ReservationModel;
@@ -1 +1,18 @@
1
- import*as r from"./internal/prismaNamespaceBrowser";export{r as Prisma};export*as $Enums from"./enums";export*from"./enums";
1
+ /* !!! This is code generated by Prisma. Do not edit directly. !!! */
2
+ /* eslint-disable */
3
+ // biome-ignore-all lint: generated file
4
+ // @ts-nocheck
5
+ /*
6
+ * This file should be your main import to use Prisma-related types and utilities in a browser.
7
+ * Use it to get access to models, enums, and input types.
8
+ *
9
+ * This file does not contain a `PrismaClient` class, nor several other helpers that are intended as server-side only.
10
+ * See `client.ts` for the standard, server-side entry point.
11
+ *
12
+ * 🟢 You can import this file directly.
13
+ */
14
+ import * as Prisma from './internal/prismaNamespaceBrowser';
15
+ export { Prisma };
16
+ export * as $Enums from './enums';
17
+ export * from './enums';
18
+ //# sourceMappingURL=browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../../../../../../packages/rest-api/src/core/db/__generated__/client/browser.ts"],"names":[],"mappings":"AACA,qEAAqE;AACrE,oBAAoB;AACpB,wCAAwC;AACxC,eAAe;AACf;;;;;;;;GAQG;AAEH,OAAO,KAAK,MAAM,MAAM,mCAAmC,CAAA;AAC3D,OAAO,EAAE,MAAM,EAAE,CAAA;AACjB,OAAO,KAAK,MAAM,MAAM,SAAS,CAAA;AACjC,cAAc,SAAS,CAAC"}