@voyant-travel/db 0.108.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 (336) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +60 -0
  3. package/dist/aggregate-snapshots.d.ts +66 -0
  4. package/dist/aggregate-snapshots.d.ts.map +1 -0
  5. package/dist/aggregate-snapshots.js +110 -0
  6. package/dist/aggregate-snapshots.js.map +1 -0
  7. package/dist/columns/collection.d.ts +37 -0
  8. package/dist/columns/collection.d.ts.map +1 -0
  9. package/dist/columns/collection.js +44 -0
  10. package/dist/columns/collection.js.map +1 -0
  11. package/dist/columns/cruise.d.ts +26 -0
  12. package/dist/columns/cruise.d.ts.map +1 -0
  13. package/dist/columns/cruise.js +31 -0
  14. package/dist/columns/cruise.js.map +1 -0
  15. package/dist/columns/departure-sub-tables.d.ts +179 -0
  16. package/dist/columns/departure-sub-tables.d.ts.map +1 -0
  17. package/dist/columns/departure-sub-tables.js +214 -0
  18. package/dist/columns/departure-sub-tables.js.map +1 -0
  19. package/dist/columns/departure.d.ts +20 -0
  20. package/dist/columns/departure.d.ts.map +1 -0
  21. package/dist/columns/departure.js +23 -0
  22. package/dist/columns/departure.js.map +1 -0
  23. package/dist/columns/destinations.d.ts +21 -0
  24. package/dist/columns/destinations.d.ts.map +1 -0
  25. package/dist/columns/destinations.js +24 -0
  26. package/dist/columns/destinations.js.map +1 -0
  27. package/dist/columns/index.d.ts +31 -0
  28. package/dist/columns/index.d.ts.map +1 -0
  29. package/dist/columns/index.js +57 -0
  30. package/dist/columns/index.js.map +1 -0
  31. package/dist/columns/itinerary-sub-tables.d.ts +177 -0
  32. package/dist/columns/itinerary-sub-tables.d.ts.map +1 -0
  33. package/dist/columns/itinerary-sub-tables.js +122 -0
  34. package/dist/columns/itinerary-sub-tables.js.map +1 -0
  35. package/dist/columns/itinerary.d.ts +17 -0
  36. package/dist/columns/itinerary.d.ts.map +1 -0
  37. package/dist/columns/itinerary.js +20 -0
  38. package/dist/columns/itinerary.js.map +1 -0
  39. package/dist/columns/lodging.d.ts +143 -0
  40. package/dist/columns/lodging.d.ts.map +1 -0
  41. package/dist/columns/lodging.js +164 -0
  42. package/dist/columns/lodging.js.map +1 -0
  43. package/dist/columns/offers.d.ts +31 -0
  44. package/dist/columns/offers.d.ts.map +1 -0
  45. package/dist/columns/offers.js +43 -0
  46. package/dist/columns/offers.js.map +1 -0
  47. package/dist/columns/pricing.d.ts +60 -0
  48. package/dist/columns/pricing.d.ts.map +1 -0
  49. package/dist/columns/pricing.js +71 -0
  50. package/dist/columns/pricing.js.map +1 -0
  51. package/dist/columns/product-accommodation.d.ts +99 -0
  52. package/dist/columns/product-accommodation.d.ts.map +1 -0
  53. package/dist/columns/product-accommodation.js +65 -0
  54. package/dist/columns/product-accommodation.js.map +1 -0
  55. package/dist/columns/product-addons.d.ts +18 -0
  56. package/dist/columns/product-addons.d.ts.map +1 -0
  57. package/dist/columns/product-addons.js +21 -0
  58. package/dist/columns/product-addons.js.map +1 -0
  59. package/dist/columns/product-availability-states.d.ts +65 -0
  60. package/dist/columns/product-availability-states.d.ts.map +1 -0
  61. package/dist/columns/product-availability-states.js +81 -0
  62. package/dist/columns/product-availability-states.js.map +1 -0
  63. package/dist/columns/product-availability.d.ts +21 -0
  64. package/dist/columns/product-availability.d.ts.map +1 -0
  65. package/dist/columns/product-availability.js +24 -0
  66. package/dist/columns/product-availability.js.map +1 -0
  67. package/dist/columns/product-booking-rules.d.ts +45 -0
  68. package/dist/columns/product-booking-rules.d.ts.map +1 -0
  69. package/dist/columns/product-booking-rules.js +55 -0
  70. package/dist/columns/product-booking-rules.js.map +1 -0
  71. package/dist/columns/product-category-assignments.d.ts +17 -0
  72. package/dist/columns/product-category-assignments.d.ts.map +1 -0
  73. package/dist/columns/product-category-assignments.js +20 -0
  74. package/dist/columns/product-category-assignments.js.map +1 -0
  75. package/dist/columns/product-extensions.d.ts +24 -0
  76. package/dist/columns/product-extensions.d.ts.map +1 -0
  77. package/dist/columns/product-extensions.js +27 -0
  78. package/dist/columns/product-extensions.js.map +1 -0
  79. package/dist/columns/product-media.d.ts +19 -0
  80. package/dist/columns/product-media.d.ts.map +1 -0
  81. package/dist/columns/product-media.js +22 -0
  82. package/dist/columns/product-media.js.map +1 -0
  83. package/dist/columns/product-overrides.d.ts +19 -0
  84. package/dist/columns/product-overrides.d.ts.map +1 -0
  85. package/dist/columns/product-overrides.js +22 -0
  86. package/dist/columns/product-overrides.js.map +1 -0
  87. package/dist/columns/product-preferences.d.ts +51 -0
  88. package/dist/columns/product-preferences.d.ts.map +1 -0
  89. package/dist/columns/product-preferences.js +59 -0
  90. package/dist/columns/product-preferences.js.map +1 -0
  91. package/dist/columns/product-publish-settings.d.ts +18 -0
  92. package/dist/columns/product-publish-settings.d.ts.map +1 -0
  93. package/dist/columns/product-publish-settings.js +21 -0
  94. package/dist/columns/product-publish-settings.js.map +1 -0
  95. package/dist/columns/product-rate-plans.d.ts +28 -0
  96. package/dist/columns/product-rate-plans.d.ts.map +1 -0
  97. package/dist/columns/product-rate-plans.js +33 -0
  98. package/dist/columns/product-rate-plans.js.map +1 -0
  99. package/dist/columns/product-translations.d.ts +24 -0
  100. package/dist/columns/product-translations.d.ts.map +1 -0
  101. package/dist/columns/product-translations.js +27 -0
  102. package/dist/columns/product-translations.js.map +1 -0
  103. package/dist/columns/product-versions.d.ts +19 -0
  104. package/dist/columns/product-versions.d.ts.map +1 -0
  105. package/dist/columns/product-versions.js +22 -0
  106. package/dist/columns/product-versions.js.map +1 -0
  107. package/dist/columns/product-visibility.d.ts +16 -0
  108. package/dist/columns/product-visibility.d.ts.map +1 -0
  109. package/dist/columns/product-visibility.js +19 -0
  110. package/dist/columns/product-visibility.js.map +1 -0
  111. package/dist/columns/product.d.ts +56 -0
  112. package/dist/columns/product.d.ts.map +1 -0
  113. package/dist/columns/product.js +44 -0
  114. package/dist/columns/product.js.map +1 -0
  115. package/dist/columns/room.d.ts +117 -0
  116. package/dist/columns/room.d.ts.map +1 -0
  117. package/dist/columns/room.js +86 -0
  118. package/dist/columns/room.js.map +1 -0
  119. package/dist/columns/ship.d.ts +22 -0
  120. package/dist/columns/ship.d.ts.map +1 -0
  121. package/dist/columns/ship.js +25 -0
  122. package/dist/columns/ship.js.map +1 -0
  123. package/dist/columns/tags.d.ts +33 -0
  124. package/dist/columns/tags.d.ts.map +1 -0
  125. package/dist/columns/tags.js +38 -0
  126. package/dist/columns/tags.js.map +1 -0
  127. package/dist/columns/transport.d.ts +53 -0
  128. package/dist/columns/transport.d.ts.map +1 -0
  129. package/dist/columns/transport.js +62 -0
  130. package/dist/columns/transport.js.map +1 -0
  131. package/dist/connection-config.d.ts +101 -0
  132. package/dist/connection-config.d.ts.map +1 -0
  133. package/dist/connection-config.js +106 -0
  134. package/dist/connection-config.js.map +1 -0
  135. package/dist/crud.d.ts +87 -0
  136. package/dist/crud.d.ts.map +1 -0
  137. package/dist/crud.js +190 -0
  138. package/dist/crud.js.map +1 -0
  139. package/dist/helpers.d.ts +33 -0
  140. package/dist/helpers.d.ts.map +1 -0
  141. package/dist/helpers.js +49 -0
  142. package/dist/helpers.js.map +1 -0
  143. package/dist/index.d.ts +109 -0
  144. package/dist/index.d.ts.map +1 -0
  145. package/dist/index.js +155 -0
  146. package/dist/index.js.map +1 -0
  147. package/dist/lib/index.d.ts +3 -0
  148. package/dist/lib/index.d.ts.map +1 -0
  149. package/dist/lib/index.js +5 -0
  150. package/dist/lib/index.js.map +1 -0
  151. package/dist/lib/typeid-column.d.ts +75 -0
  152. package/dist/lib/typeid-column.d.ts.map +1 -0
  153. package/dist/lib/typeid-column.js +92 -0
  154. package/dist/lib/typeid-column.js.map +1 -0
  155. package/dist/lib/typeid-core.d.ts +36 -0
  156. package/dist/lib/typeid-core.d.ts.map +1 -0
  157. package/dist/lib/typeid-core.js +67 -0
  158. package/dist/lib/typeid-core.js.map +1 -0
  159. package/dist/lib/typeid-prefixes.d.ts +342 -0
  160. package/dist/lib/typeid-prefixes.d.ts.map +1 -0
  161. package/dist/lib/typeid-prefixes.js +379 -0
  162. package/dist/lib/typeid-prefixes.js.map +1 -0
  163. package/dist/lib/typeid-schemas.d.ts +206 -0
  164. package/dist/lib/typeid-schemas.d.ts.map +1 -0
  165. package/dist/lib/typeid-schemas.js +207 -0
  166. package/dist/lib/typeid-schemas.js.map +1 -0
  167. package/dist/lib/typeid-zod.d.ts +16 -0
  168. package/dist/lib/typeid-zod.d.ts.map +1 -0
  169. package/dist/lib/typeid-zod.js +29 -0
  170. package/dist/lib/typeid-zod.js.map +1 -0
  171. package/dist/lib/typeid.d.ts +2 -0
  172. package/dist/lib/typeid.d.ts.map +1 -0
  173. package/dist/lib/typeid.js +6 -0
  174. package/dist/lib/typeid.js.map +1 -0
  175. package/dist/lifecycle.d.ts +24 -0
  176. package/dist/lifecycle.d.ts.map +1 -0
  177. package/dist/lifecycle.js +30 -0
  178. package/dist/lifecycle.js.map +1 -0
  179. package/dist/links.d.ts +22 -0
  180. package/dist/links.d.ts.map +1 -0
  181. package/dist/links.js +281 -0
  182. package/dist/links.js.map +1 -0
  183. package/dist/operators.d.ts +9 -0
  184. package/dist/operators.d.ts.map +1 -0
  185. package/dist/operators.js +9 -0
  186. package/dist/operators.js.map +1 -0
  187. package/dist/outbox.d.ts +87 -0
  188. package/dist/outbox.d.ts.map +1 -0
  189. package/dist/outbox.js +245 -0
  190. package/dist/outbox.js.map +1 -0
  191. package/dist/primitives/catalog-schemas.d.ts +101 -0
  192. package/dist/primitives/catalog-schemas.d.ts.map +1 -0
  193. package/dist/primitives/catalog-schemas.js +69 -0
  194. package/dist/primitives/catalog-schemas.js.map +1 -0
  195. package/dist/primitives/catalog.d.ts +47 -0
  196. package/dist/primitives/catalog.d.ts.map +1 -0
  197. package/dist/primitives/catalog.js +94 -0
  198. package/dist/primitives/catalog.js.map +1 -0
  199. package/dist/primitives/index.d.ts +4 -0
  200. package/dist/primitives/index.d.ts.map +1 -0
  201. package/dist/primitives/index.js +4 -0
  202. package/dist/primitives/index.js.map +1 -0
  203. package/dist/primitives/offers.d.ts +224 -0
  204. package/dist/primitives/offers.d.ts.map +1 -0
  205. package/dist/primitives/offers.js +132 -0
  206. package/dist/primitives/offers.js.map +1 -0
  207. package/dist/queries/index.d.ts +18 -0
  208. package/dist/queries/index.d.ts.map +1 -0
  209. package/dist/queries/index.js +30 -0
  210. package/dist/queries/index.js.map +1 -0
  211. package/dist/runtime/index.d.ts +4 -0
  212. package/dist/runtime/index.d.ts.map +1 -0
  213. package/dist/runtime/index.js +5 -0
  214. package/dist/runtime/index.js.map +1 -0
  215. package/dist/runtime/locks.d.ts +5 -0
  216. package/dist/runtime/locks.d.ts.map +1 -0
  217. package/dist/runtime/locks.js +36 -0
  218. package/dist/runtime/locks.js.map +1 -0
  219. package/dist/schema/00_ensure_schemas.d.ts +5 -0
  220. package/dist/schema/00_ensure_schemas.d.ts.map +1 -0
  221. package/dist/schema/00_ensure_schemas.js +6 -0
  222. package/dist/schema/00_ensure_schemas.js.map +1 -0
  223. package/dist/schema/aggregate-snapshots.d.ts +97 -0
  224. package/dist/schema/aggregate-snapshots.d.ts.map +1 -0
  225. package/dist/schema/aggregate-snapshots.js +27 -0
  226. package/dist/schema/aggregate-snapshots.js.map +1 -0
  227. package/dist/schema/iam/apikey.d.ts +396 -0
  228. package/dist/schema/iam/apikey.d.ts.map +1 -0
  229. package/dist/schema/iam/apikey.js +41 -0
  230. package/dist/schema/iam/apikey.js.map +1 -0
  231. package/dist/schema/iam/auth.d.ts +1026 -0
  232. package/dist/schema/iam/auth.d.ts.map +1 -0
  233. package/dist/schema/iam/auth.js +138 -0
  234. package/dist/schema/iam/auth.js.map +1 -0
  235. package/dist/schema/iam/cloud_auth.d.ts +446 -0
  236. package/dist/schema/iam/cloud_auth.d.ts.map +1 -0
  237. package/dist/schema/iam/cloud_auth.js +46 -0
  238. package/dist/schema/iam/cloud_auth.js.map +1 -0
  239. package/dist/schema/iam/index.d.ts +8 -0
  240. package/dist/schema/iam/index.d.ts.map +1 -0
  241. package/dist/schema/iam/index.js +8 -0
  242. package/dist/schema/iam/index.js.map +1 -0
  243. package/dist/schema/iam/invitations.d.ts +173 -0
  244. package/dist/schema/iam/invitations.d.ts.map +1 -0
  245. package/dist/schema/iam/invitations.js +27 -0
  246. package/dist/schema/iam/invitations.js.map +1 -0
  247. package/dist/schema/iam/kms.d.ts +53 -0
  248. package/dist/schema/iam/kms.d.ts.map +1 -0
  249. package/dist/schema/iam/kms.js +40 -0
  250. package/dist/schema/iam/kms.js.map +1 -0
  251. package/dist/schema/iam/roles.d.ts +12 -0
  252. package/dist/schema/iam/roles.d.ts.map +1 -0
  253. package/dist/schema/iam/roles.js +12 -0
  254. package/dist/schema/iam/roles.js.map +1 -0
  255. package/dist/schema/iam/user_profiles.d.ts +442 -0
  256. package/dist/schema/iam/user_profiles.d.ts.map +1 -0
  257. package/dist/schema/iam/user_profiles.js +125 -0
  258. package/dist/schema/iam/user_profiles.js.map +1 -0
  259. package/dist/schema/index.d.ts +5 -0
  260. package/dist/schema/index.d.ts.map +1 -0
  261. package/dist/schema/index.js +5 -0
  262. package/dist/schema/index.js.map +1 -0
  263. package/dist/schema/infra/domains.d.ts +609 -0
  264. package/dist/schema/infra/domains.d.ts.map +1 -0
  265. package/dist/schema/infra/domains.js +108 -0
  266. package/dist/schema/infra/domains.js.map +1 -0
  267. package/dist/schema/infra/email_domain_records.d.ts +255 -0
  268. package/dist/schema/infra/email_domain_records.d.ts.map +1 -0
  269. package/dist/schema/infra/email_domain_records.js +65 -0
  270. package/dist/schema/infra/email_domain_records.js.map +1 -0
  271. package/dist/schema/infra/event_outbox.d.ts +232 -0
  272. package/dist/schema/infra/event_outbox.d.ts.map +1 -0
  273. package/dist/schema/infra/event_outbox.js +59 -0
  274. package/dist/schema/infra/event_outbox.js.map +1 -0
  275. package/dist/schema/infra/idempotency_keys.d.ts +186 -0
  276. package/dist/schema/infra/idempotency_keys.d.ts.map +1 -0
  277. package/dist/schema/infra/idempotency_keys.js +40 -0
  278. package/dist/schema/infra/idempotency_keys.js.map +1 -0
  279. package/dist/schema/infra/index.d.ts +9 -0
  280. package/dist/schema/infra/index.d.ts.map +1 -0
  281. package/dist/schema/infra/index.js +10 -0
  282. package/dist/schema/infra/index.js.map +1 -0
  283. package/dist/schema/infra/public_document_delivery_grants.d.ts +356 -0
  284. package/dist/schema/infra/public_document_delivery_grants.d.ts.map +1 -0
  285. package/dist/schema/infra/public_document_delivery_grants.js +36 -0
  286. package/dist/schema/infra/public_document_delivery_grants.js.map +1 -0
  287. package/dist/schema/infra/rate_limit_buckets.d.ts +138 -0
  288. package/dist/schema/infra/rate_limit_buckets.d.ts.map +1 -0
  289. package/dist/schema/infra/rate_limit_buckets.js +52 -0
  290. package/dist/schema/infra/rate_limit_buckets.js.map +1 -0
  291. package/dist/schema/infra/webhook_deliveries.d.ts +572 -0
  292. package/dist/schema/infra/webhook_deliveries.d.ts.map +1 -0
  293. package/dist/schema/infra/webhook_deliveries.js +136 -0
  294. package/dist/schema/infra/webhook_deliveries.js.map +1 -0
  295. package/dist/schema/infra/webhook_subscriptions.d.ts +284 -0
  296. package/dist/schema/infra/webhook_subscriptions.d.ts.map +1 -0
  297. package/dist/schema/infra/webhook_subscriptions.js +64 -0
  298. package/dist/schema/infra/webhook_subscriptions.js.map +1 -0
  299. package/dist/schema/infra/write_intents.d.ts +185 -0
  300. package/dist/schema/infra/write_intents.d.ts.map +1 -0
  301. package/dist/schema/infra/write_intents.js +50 -0
  302. package/dist/schema/infra/write_intents.js.map +1 -0
  303. package/dist/schema/voyant/bookings.d.ts +2 -0
  304. package/dist/schema/voyant/bookings.d.ts.map +1 -0
  305. package/dist/schema/voyant/bookings.js +2 -0
  306. package/dist/schema/voyant/bookings.js.map +1 -0
  307. package/dist/schema/voyant/finance.d.ts +2 -0
  308. package/dist/schema/voyant/finance.d.ts.map +1 -0
  309. package/dist/schema/voyant/finance.js +2 -0
  310. package/dist/schema/voyant/finance.js.map +1 -0
  311. package/dist/test-utils.d.ts +17 -0
  312. package/dist/test-utils.d.ts.map +1 -0
  313. package/dist/test-utils.js +56 -0
  314. package/dist/test-utils.js.map +1 -0
  315. package/dist/transaction-capability.d.ts +11 -0
  316. package/dist/transaction-capability.d.ts.map +1 -0
  317. package/dist/transaction-capability.js +17 -0
  318. package/dist/transaction-capability.js.map +1 -0
  319. package/dist/transaction.d.ts +31 -0
  320. package/dist/transaction.d.ts.map +1 -0
  321. package/dist/transaction.js +72 -0
  322. package/dist/transaction.js.map +1 -0
  323. package/dist/tsconfig.tsbuildinfo +1 -0
  324. package/dist/types.d.ts +10 -0
  325. package/dist/types.d.ts.map +1 -0
  326. package/dist/types.js +2 -0
  327. package/dist/types.js.map +1 -0
  328. package/dist/utils.d.ts +2 -0
  329. package/dist/utils.d.ts.map +1 -0
  330. package/dist/utils.js +19 -0
  331. package/dist/utils.js.map +1 -0
  332. package/dist/write-intents.d.ts +51 -0
  333. package/dist/write-intents.d.ts.map +1 -0
  334. package/dist/write-intents.js +95 -0
  335. package/dist/write-intents.js.map +1 -0
  336. package/package.json +306 -0
@@ -0,0 +1,164 @@
1
+ import { boolean, char, date, integer, jsonb, text, timestamp } from "drizzle-orm/pg-core";
2
+ /**
3
+ * Lodging property core columns - shared between db-main and db-marketplace.
4
+ * Contains common property data.
5
+ * NOTE: status is NOT included as db-main uses text and db-marketplace uses an enum.
6
+ */
7
+ export function lodgingPropertyCoreColumns() {
8
+ return {
9
+ code: text("code"),
10
+ name: text("name").notNull(),
11
+ nickname: text("nickname"),
12
+ description: text("description"),
13
+ defaultCurrency: char("default_currency", { length: 3 }),
14
+ timezone: text("timezone"),
15
+ contacts: jsonb("contacts"),
16
+ address: jsonb("address"),
17
+ geoPoint: jsonb("geo_point"),
18
+ stars: integer("stars"),
19
+ propertyType: text("property_type"),
20
+ active: boolean("active").default(true),
21
+ version: integer("version").notNull().default(1),
22
+ publishedAt: timestamp("published_at", { withTimezone: true }),
23
+ createdAt: timestamp("created_at", { withTimezone: true }).defaultNow(),
24
+ updatedAt: timestamp("updated_at", { withTimezone: true }).defaultNow(),
25
+ };
26
+ }
27
+ /**
28
+ * Property rooms core columns - shared between db-main and db-marketplace.
29
+ * Contains property room type data.
30
+ * NOTE: status is NOT included as db-main uses text and db-marketplace uses an enum.
31
+ */
32
+ export function lodgingPropertyRoomsCoreColumns() {
33
+ return {
34
+ code: text("code"),
35
+ nameDefault: text("name_default").notNull(),
36
+ descriptionDefault: text("description_default"),
37
+ occupancyAdultsMin: integer("occupancy_adults_min").default(1),
38
+ occupancyAdultsMax: integer("occupancy_adults_max").default(2),
39
+ occupancyChildrenMin: integer("occupancy_children_min").default(0),
40
+ occupancyChildrenMax: integer("occupancy_children_max").default(0),
41
+ occupancyInfantsMax: integer("occupancy_infants_max").default(0),
42
+ beds: jsonb("beds"),
43
+ sizeM2: integer("size_m2"),
44
+ view: text("view"),
45
+ smokingPolicy: text("smoking_policy"),
46
+ baseCurrency: char("base_currency", { length: 3 }),
47
+ attributes: jsonb("attributes").default({}),
48
+ version: integer("version").notNull().default(1),
49
+ publishedAt: timestamp("published_at", { withTimezone: true }),
50
+ createdAt: timestamp("created_at", { withTimezone: true }).defaultNow(),
51
+ updatedAt: timestamp("updated_at", { withTimezone: true }).defaultNow(),
52
+ };
53
+ }
54
+ /**
55
+ * Lodging rate plans core columns - shared between db-main and db-marketplace.
56
+ * Contains rate plan data.
57
+ * NOTE: status is NOT included as db-main uses text and db-marketplace uses an enum.
58
+ */
59
+ export function lodgingRatePlansCoreColumns() {
60
+ return {
61
+ code: text("code"),
62
+ nameDefault: text("name_default").notNull(),
63
+ descriptionDefault: text("description_default"),
64
+ mealPlan: text("meal_plan"),
65
+ prepaymentRequired: boolean("prepayment_required"),
66
+ advancePurchaseDaysMin: integer("advance_purchase_days_min"),
67
+ version: integer("version").notNull().default(1),
68
+ publishedAt: timestamp("published_at", { withTimezone: true }),
69
+ createdAt: timestamp("created_at", { withTimezone: true }).defaultNow(),
70
+ updatedAt: timestamp("updated_at", { withTimezone: true }).defaultNow(),
71
+ };
72
+ }
73
+ /**
74
+ * Property media core columns - shared between db-main and db-marketplace.
75
+ * Contains media asset references.
76
+ */
77
+ export function lodgingPropertyMediaCoreColumns() {
78
+ return {
79
+ assetId: text("asset_id"),
80
+ url: text("url"),
81
+ captionDefault: text("caption_default"),
82
+ sort: integer("sort").default(0),
83
+ };
84
+ }
85
+ /**
86
+ * Property room media core columns - shared between db-main and db-marketplace.
87
+ * Contains media asset references for property rooms.
88
+ */
89
+ export function lodgingPropertyRoomMediaCoreColumns() {
90
+ return {
91
+ assetId: text("asset_id"),
92
+ url: text("url"),
93
+ captionDefault: text("caption_default"),
94
+ sort: integer("sort").default(0),
95
+ };
96
+ }
97
+ /**
98
+ * Property translation core columns - shared between db-main and db-marketplace.
99
+ * Contains translatable property fields.
100
+ */
101
+ export function lodgingPropertyTranslationCoreColumns() {
102
+ return {
103
+ locale: text("locale").notNull(),
104
+ name: text("name"),
105
+ shortDescription: text("short_description"),
106
+ description: text("description"),
107
+ slug: text("slug"),
108
+ };
109
+ }
110
+ /**
111
+ * Property room translation core columns - shared between db-main and db-marketplace.
112
+ * Contains translatable property room fields.
113
+ */
114
+ export function lodgingPropertyRoomTranslationCoreColumns() {
115
+ return {
116
+ locale: text("locale").notNull(),
117
+ name: text("name"),
118
+ shortDescription: text("short_description"),
119
+ description: text("description"),
120
+ amenities: jsonb("amenities").$type().default([]),
121
+ };
122
+ }
123
+ /**
124
+ * Rate plan translation core columns - shared between db-main and db-marketplace.
125
+ * Contains translatable rate plan fields.
126
+ */
127
+ export function lodgingRatePlanTranslationCoreColumns() {
128
+ return {
129
+ locale: text("locale").notNull(),
130
+ name: text("name"),
131
+ shortDescription: text("short_description"),
132
+ description: text("description"),
133
+ };
134
+ }
135
+ /**
136
+ * Property room rate plan core columns - shared between db-main and db-marketplace.
137
+ * Links property rooms to rate plans with optional activation dates.
138
+ */
139
+ export function lodgingPropertyRoomRatePlanCoreColumns() {
140
+ return {
141
+ activeFrom: timestamp("active_from", { withTimezone: true }),
142
+ activeUntil: timestamp("active_until", { withTimezone: true }),
143
+ };
144
+ }
145
+ /**
146
+ * Property daily rate core columns - shared between db-main and db-marketplace.
147
+ * Daily pricing for room + rate plan combinations.
148
+ */
149
+ export function lodgingPropertyDailyRateCoreColumns() {
150
+ return {
151
+ date: date("date").notNull(),
152
+ amountMinor: integer("amount_minor").notNull(),
153
+ currency: char("currency", { length: 3 }).notNull(),
154
+ extraAdultAmountMinor: integer("extra_adult_amount_minor"),
155
+ childAmountMinor: integer("child_amount_minor"),
156
+ infantAmountMinor: integer("infant_amount_minor"),
157
+ minStay: integer("min_stay").default(1),
158
+ maxStay: integer("max_stay"),
159
+ closedToArrival: boolean("closed_to_arrival").default(false),
160
+ closedToDeparture: boolean("closed_to_departure").default(false),
161
+ updatedAt: timestamp("updated_at", { withTimezone: true }).defaultNow(),
162
+ };
163
+ }
164
+ //# sourceMappingURL=lodging.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lodging.js","sourceRoot":"","sources":["../../src/columns/lodging.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Offer-related columns shared between db-main and db-marketplace
3
+ *
4
+ * Offers are automatic discounts displayed as strikethrough pricing.
5
+ * Unlike promotions which require codes, offers auto-apply and display to all customers.
6
+ */
7
+ /**
8
+ * Core columns for offers table
9
+ */
10
+ export declare function offerCoreColumns(): {
11
+ name: import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgTextBuilderInitial<"name", [string, ...string[]]>>;
12
+ description: import("drizzle-orm/pg-core").PgTextBuilderInitial<"description", [string, ...string[]]>;
13
+ badge: import("drizzle-orm/pg-core").PgTextBuilderInitial<"badge", [string, ...string[]]>;
14
+ discountType: import("drizzle-orm").HasDefault<import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgTextBuilderInitial<"discount_type", [string, ...string[]]>>>;
15
+ discountValue: import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgVarcharBuilderInitial<"discount_value", [string, ...string[]], 50>>;
16
+ currency: import("drizzle-orm/pg-core").PgVarcharBuilderInitial<"currency", [string, ...string[]], 3>;
17
+ applicableProductIds: import("drizzle-orm/pg-core").PgJsonbBuilderInitial<"applicable_product_ids">;
18
+ applicableDepartureIds: import("drizzle-orm/pg-core").PgJsonbBuilderInitial<"applicable_departure_ids">;
19
+ applicableRoomSpecIds: import("drizzle-orm/pg-core").PgJsonbBuilderInitial<"applicable_room_spec_ids">;
20
+ validFrom: import("drizzle-orm/pg-core").PgTimestampBuilderInitial<"valid_from">;
21
+ validTo: import("drizzle-orm/pg-core").PgTimestampBuilderInitial<"valid_to">;
22
+ conditions: import("drizzle-orm").HasDefault<import("drizzle-orm/pg-core").PgJsonbBuilderInitial<"conditions">>;
23
+ stackable: import("drizzle-orm").HasDefault<import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgBooleanBuilderInitial<"stackable">>>;
24
+ stackingGroup: import("drizzle-orm/pg-core").PgTextBuilderInitial<"stacking_group", [string, ...string[]]>;
25
+ priority: import("drizzle-orm").HasDefault<import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgIntegerBuilderInitial<"priority">>>;
26
+ isActive: import("drizzle-orm").HasDefault<import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgBooleanBuilderInitial<"is_active">>>;
27
+ displayPriority: import("drizzle-orm").HasDefault<import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgIntegerBuilderInitial<"display_priority">>>;
28
+ createdAt: import("drizzle-orm").HasDefault<import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgTimestampBuilderInitial<"created_at">>>;
29
+ updatedAt: import("drizzle-orm").HasDefault<import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgTimestampBuilderInitial<"updated_at">>>;
30
+ };
31
+ //# sourceMappingURL=offers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"offers.d.ts","sourceRoot":"","sources":["../../src/columns/offers.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH;;GAEG;AACH,wBAAgB,gBAAgB;;;;;;;;;;;;;;;;;;;;EAsC/B"}
@@ -0,0 +1,43 @@
1
+ import { boolean, integer, jsonb, text, timestamp, varchar } from "drizzle-orm/pg-core";
2
+ /**
3
+ * Offer-related columns shared between db-main and db-marketplace
4
+ *
5
+ * Offers are automatic discounts displayed as strikethrough pricing.
6
+ * Unlike promotions which require codes, offers auto-apply and display to all customers.
7
+ */
8
+ /**
9
+ * Core columns for offers table
10
+ */
11
+ export function offerCoreColumns() {
12
+ return {
13
+ // Display information
14
+ name: text("name").notNull(),
15
+ description: text("description"),
16
+ badge: text("badge"), // e.g., "SALE", "LIMITED TIME", "EARLY BIRD"
17
+ // Discount configuration (percentage or fixed_amount, consistent with promotions)
18
+ discountType: text("discount_type").notNull().default("percentage"), // "percentage" | "fixed_amount"
19
+ discountValue: varchar("discount_value", { length: 50 }).notNull(), // Value as string for decimal precision
20
+ currency: varchar("currency", { length: 3 }), // Only required for fixed_amount
21
+ // Targeting (arrays for multiple products/departures/room specs)
22
+ applicableProductIds: jsonb("applicable_product_ids"), // string[]
23
+ applicableDepartureIds: jsonb("applicable_departure_ids"), // string[]
24
+ applicableRoomSpecIds: jsonb("applicable_room_spec_ids"), // string[] - for room-level targeting within products
25
+ // Validity period
26
+ validFrom: timestamp("valid_from", { withTimezone: true }),
27
+ validTo: timestamp("valid_to", { withTimezone: true }),
28
+ // Full conditions (JSONB for flexibility)
29
+ // Supports: booking_window, min_pax, customer_segment, channel, booking_date
30
+ conditions: jsonb("conditions").default({}),
31
+ // Stacking with promotions
32
+ stackable: boolean("stackable").notNull().default(false),
33
+ stackingGroup: text("stacking_group"),
34
+ priority: integer("priority").notNull().default(100), // Higher = applied first
35
+ // Display controls
36
+ isActive: boolean("is_active").notNull().default(true),
37
+ displayPriority: integer("display_priority").notNull().default(0), // Higher = shown first in list
38
+ // Audit timestamps
39
+ createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
40
+ updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow(),
41
+ };
42
+ }
43
+ //# sourceMappingURL=offers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"offers.js","sourceRoot":"","sources":["../../src/columns/offers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAEvF;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO;QACL,sBAAsB;QACtB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE;QAC5B,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,6CAA6C;QAEnE,kFAAkF;QAClF,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,gCAAgC;QACrG,aAAa,EAAE,OAAO,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,wCAAwC;QAC5G,QAAQ,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,iCAAiC;QAE/E,iEAAiE;QACjE,oBAAoB,EAAE,KAAK,CAAC,wBAAwB,CAAC,EAAE,WAAW;QAClE,sBAAsB,EAAE,KAAK,CAAC,0BAA0B,CAAC,EAAE,WAAW;QACtE,qBAAqB,EAAE,KAAK,CAAC,0BAA0B,CAAC,EAAE,sDAAsD;QAEhH,kBAAkB;QAClB,SAAS,EAAE,SAAS,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;QAC1D,OAAO,EAAE,SAAS,CAAC,UAAU,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;QAEtD,0CAA0C;QAC1C,6EAA6E;QAC7E,UAAU,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QAE3C,2BAA2B;QAC3B,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;QACxD,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACrC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,yBAAyB;QAE/E,mBAAmB;QACnB,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QACtD,eAAe,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,+BAA+B;QAElG,mBAAmB;QACnB,SAAS,EAAE,SAAS,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE;QACjF,SAAS,EAAE,SAAS,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE;KAClF,CAAA;AACH,CAAC"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Pricing-related columns shared between db-main and db-marketplace
3
+ */
4
+ /**
5
+ * Core columns for product_base_prices table
6
+ */
7
+ export declare function productBasePricesCoreColumns(): {
8
+ currency: import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgVarcharBuilderInitial<"currency", [string, ...string[]], 3>>;
9
+ pricingModel: import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgTextBuilderInitial<"pricing_model", [string, ...string[]]>>;
10
+ priceVector: import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgJsonbBuilderInitial<"price_vector">>;
11
+ taxesFees: import("drizzle-orm/pg-core").PgJsonbBuilderInitial<"taxes_fees">;
12
+ taxOverrideEnabled: import("drizzle-orm").HasDefault<import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgBooleanBuilderInitial<"tax_override_enabled">>>;
13
+ effectiveFrom: import("drizzle-orm/pg-core").PgTimestampBuilderInitial<"effective_from">;
14
+ effectiveTo: import("drizzle-orm/pg-core").PgTimestampBuilderInitial<"effective_to">;
15
+ version: import("drizzle-orm").HasDefault<import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgIntegerBuilderInitial<"version">>>;
16
+ };
17
+ /**
18
+ * Core columns for product_departure_price_overrides table
19
+ */
20
+ export declare function productDeparturePriceOverridesCoreColumns(): {
21
+ mode: import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgTextBuilderInitial<"mode", [string, ...string[]]>>;
22
+ priceVector: import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgJsonbBuilderInitial<"price_vector">>;
23
+ currency: import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgVarcharBuilderInitial<"currency", [string, ...string[]], 3>>;
24
+ createdAt: import("drizzle-orm").NotNull<import("drizzle-orm").HasDefault<import("drizzle-orm/pg-core").PgTimestampBuilderInitial<"created_at">>>;
25
+ updatedAt: import("drizzle-orm").NotNull<import("drizzle-orm").HasDefault<import("drizzle-orm/pg-core").PgTimestampBuilderInitial<"updated_at">>>;
26
+ };
27
+ /**
28
+ * Core columns for price_schedules table
29
+ */
30
+ export declare function priceSchedulesCoreColumns(): {
31
+ currency: import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgTextBuilderInitial<"currency", [string, ...string[]]>>;
32
+ occupancy: import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgIntegerBuilderInitial<"occupancy">>;
33
+ baseAmount: import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgNumericBuilderInitial<"base_amount">>;
34
+ singleSupplement: import("drizzle-orm/pg-core").PgNumericBuilderInitial<"single_supplement">;
35
+ childReduction: import("drizzle-orm/pg-core").PgNumericBuilderInitial<"child_reduction">;
36
+ taxesFees: import("drizzle-orm/pg-core").PgJsonbBuilderInitial<"taxes_fees">;
37
+ effectiveFrom: import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgTimestampBuilderInitial<"effective_from">>;
38
+ effectiveTo: import("drizzle-orm/pg-core").PgTimestampBuilderInitial<"effective_to">;
39
+ version: import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgIntegerBuilderInitial<"version">>;
40
+ };
41
+ /**
42
+ * Core columns for rate_plans table
43
+ */
44
+ export declare function ratePlansCoreColumns(): {
45
+ name: import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgTextBuilderInitial<"name", [string, ...string[]]>>;
46
+ code: import("drizzle-orm/pg-core").PgTextBuilderInitial<"code", [string, ...string[]]>;
47
+ terms: import("drizzle-orm/pg-core").PgJsonbBuilderInitial<"terms">;
48
+ isDefault: import("drizzle-orm").NotNull<import("drizzle-orm").HasDefault<import("drizzle-orm/pg-core").PgBooleanBuilderInitial<"is_default">>>;
49
+ createdAt: import("drizzle-orm").NotNull<import("drizzle-orm").HasDefault<import("drizzle-orm/pg-core").PgTimestampBuilderInitial<"created_at">>>;
50
+ };
51
+ /**
52
+ * Core columns for product_payment_overrides table
53
+ */
54
+ export declare function productPaymentOverridesCoreColumns(): {
55
+ locale: import("drizzle-orm/pg-core").PgTextBuilderInitial<"locale", [string, ...string[]]>;
56
+ settings: import("drizzle-orm").HasDefault<import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgJsonbBuilderInitial<"settings">>>;
57
+ createdAt: import("drizzle-orm").HasDefault<import("drizzle-orm/pg-core").PgTimestampBuilderInitial<"created_at">>;
58
+ updatedAt: import("drizzle-orm").HasDefault<import("drizzle-orm/pg-core").PgTimestampBuilderInitial<"updated_at">>;
59
+ };
60
+ //# sourceMappingURL=pricing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pricing.d.ts","sourceRoot":"","sources":["../../src/columns/pricing.ts"],"names":[],"mappings":"AAEA;;GAEG;AAEH;;GAEG;AACH,wBAAgB,4BAA4B;;;;;;;;;EAW3C;AAED;;GAEG;AACH,wBAAgB,yCAAyC;;;;;;EAQxD;AAED;;GAEG;AACH,wBAAgB,yBAAyB;;;;;;;;;;EAYxC;AAED;;GAEG;AACH,wBAAgB,oBAAoB;;;;;;EAQnC;AAED;;GAEG;AACH,wBAAgB,kCAAkC;;;;;EAOjD"}
@@ -0,0 +1,71 @@
1
+ import { boolean, integer, jsonb, numeric, text, timestamp, varchar } from "drizzle-orm/pg-core";
2
+ /**
3
+ * Pricing-related columns shared between db-main and db-marketplace
4
+ */
5
+ /**
6
+ * Core columns for product_base_prices table
7
+ */
8
+ export function productBasePricesCoreColumns() {
9
+ return {
10
+ currency: varchar("currency", { length: 3 }).notNull(),
11
+ pricingModel: text("pricing_model").notNull(),
12
+ priceVector: jsonb("price_vector").notNull(),
13
+ taxesFees: jsonb("taxes_fees"),
14
+ taxOverrideEnabled: boolean("tax_override_enabled").notNull().default(false),
15
+ effectiveFrom: timestamp("effective_from", { withTimezone: true }),
16
+ effectiveTo: timestamp("effective_to", { withTimezone: true }),
17
+ version: integer("version").notNull().default(1),
18
+ };
19
+ }
20
+ /**
21
+ * Core columns for product_departure_price_overrides table
22
+ */
23
+ export function productDeparturePriceOverridesCoreColumns() {
24
+ return {
25
+ mode: text("mode").notNull(),
26
+ priceVector: jsonb("price_vector").notNull(),
27
+ currency: varchar("currency", { length: 3 }).notNull(),
28
+ createdAt: timestamp("created_at", { withTimezone: true }).defaultNow().notNull(),
29
+ updatedAt: timestamp("updated_at", { withTimezone: true }).defaultNow().notNull(),
30
+ };
31
+ }
32
+ /**
33
+ * Core columns for price_schedules table
34
+ */
35
+ export function priceSchedulesCoreColumns() {
36
+ return {
37
+ currency: text("currency").notNull(),
38
+ occupancy: integer("occupancy").notNull(),
39
+ baseAmount: numeric("base_amount").notNull(),
40
+ singleSupplement: numeric("single_supplement"),
41
+ childReduction: numeric("child_reduction"),
42
+ taxesFees: jsonb("taxes_fees"),
43
+ effectiveFrom: timestamp("effective_from", { withTimezone: true }).notNull(),
44
+ effectiveTo: timestamp("effective_to", { withTimezone: true }),
45
+ version: integer("version").notNull(),
46
+ };
47
+ }
48
+ /**
49
+ * Core columns for rate_plans table
50
+ */
51
+ export function ratePlansCoreColumns() {
52
+ return {
53
+ name: text("name").notNull(),
54
+ code: text("code"),
55
+ terms: jsonb("terms"),
56
+ isDefault: boolean("is_default").default(false).notNull(),
57
+ createdAt: timestamp("created_at", { withTimezone: true }).defaultNow().notNull(),
58
+ };
59
+ }
60
+ /**
61
+ * Core columns for product_payment_overrides table
62
+ */
63
+ export function productPaymentOverridesCoreColumns() {
64
+ return {
65
+ locale: text("locale"),
66
+ settings: jsonb("settings").notNull().default("{}"),
67
+ createdAt: timestamp("created_at", { withTimezone: true }).defaultNow(),
68
+ updatedAt: timestamp("updated_at", { withTimezone: true }).defaultNow(),
69
+ };
70
+ }
71
+ //# sourceMappingURL=pricing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pricing.js","sourceRoot":"","sources":["../../src/columns/pricing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Core product accommodation options columns shared between db-main and db-marketplace.
3
+ * propertyId: null = custom accommodation, set = linked from properties
4
+ */
5
+ export declare function productAccommodationOptionsCoreColumns(): {
6
+ name: import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgTextBuilderInitial<"name", [string, ...string[]]>>;
7
+ propertyId: import("drizzle-orm/pg-core").PgTextBuilderInitial<string, [string, ...string[]]>;
8
+ provider: import("drizzle-orm").HasDefault<import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgJsonbBuilderInitial<"provider">>>;
9
+ location: import("drizzle-orm/pg-core").PgJsonbBuilderInitial<"location">;
10
+ attributes: import("drizzle-orm").HasDefault<import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgJsonbBuilderInitial<"attributes">>>;
11
+ createdAt: import("drizzle-orm").HasDefault<import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgTimestampBuilderInitial<"created_at">>>;
12
+ updatedAt: import("drizzle-orm").HasDefault<import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgTimestampBuilderInitial<"updated_at">>>;
13
+ };
14
+ /**
15
+ * Core product accommodation option rooms columns shared between db-main and db-marketplace.
16
+ */
17
+ export declare function productAccommodationOptionRoomsCoreColumns(): {
18
+ title: import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgTextBuilderInitial<"title", [string, ...string[]]>>;
19
+ description: import("drizzle-orm/pg-core").PgTextBuilderInitial<"description", [string, ...string[]]>;
20
+ occupancy: import("drizzle-orm").HasDefault<import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgJsonbBuilderInitial<"occupancy">>>;
21
+ bedsCount: import("drizzle-orm/pg-core").PgIntegerBuilderInitial<"beds_count">;
22
+ bedConfig: import("drizzle-orm").HasDefault<import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgArrayBuilder<{
23
+ name: "bed_config";
24
+ dataType: "array";
25
+ columnType: "PgArray";
26
+ data: string[];
27
+ driverParam: string | string[];
28
+ enumValues: [string, ...string[]];
29
+ size: undefined;
30
+ baseBuilder: {
31
+ name: "bed_config";
32
+ dataType: "string";
33
+ columnType: "PgText";
34
+ data: string;
35
+ enumValues: [string, ...string[]];
36
+ driverParam: string;
37
+ };
38
+ }, {
39
+ name: "bed_config";
40
+ dataType: "string";
41
+ columnType: "PgText";
42
+ data: string;
43
+ enumValues: [string, ...string[]];
44
+ driverParam: string;
45
+ }>>>;
46
+ amenities: import("drizzle-orm").HasDefault<import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgArrayBuilder<{
47
+ name: "amenities";
48
+ dataType: "array";
49
+ columnType: "PgArray";
50
+ data: string[];
51
+ driverParam: string | string[];
52
+ enumValues: [string, ...string[]];
53
+ size: undefined;
54
+ baseBuilder: {
55
+ name: "amenities";
56
+ dataType: "string";
57
+ columnType: "PgText";
58
+ data: string;
59
+ enumValues: [string, ...string[]];
60
+ driverParam: string;
61
+ };
62
+ }, {
63
+ name: "amenities";
64
+ dataType: "string";
65
+ columnType: "PgText";
66
+ data: string;
67
+ enumValues: [string, ...string[]];
68
+ driverParam: string;
69
+ }>>>;
70
+ media: import("drizzle-orm").HasDefault<import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgJsonbBuilderInitial<"media">>>;
71
+ attributes: import("drizzle-orm").HasDefault<import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgJsonbBuilderInitial<"attributes">>>;
72
+ sort: import("drizzle-orm").HasDefault<import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgIntegerBuilderInitial<"sort">>>;
73
+ createdAt: import("drizzle-orm").HasDefault<import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgTimestampBuilderInitial<"created_at">>>;
74
+ updatedAt: import("drizzle-orm").HasDefault<import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgTimestampBuilderInitial<"updated_at">>>;
75
+ };
76
+ /**
77
+ * Core product accommodation sets columns shared between db-main and db-marketplace.
78
+ */
79
+ export declare function productAccommodationSetsCoreColumns(): {
80
+ name: import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgTextBuilderInitial<"name", [string, ...string[]]>>;
81
+ selectionStrategy: import("drizzle-orm").HasDefault<import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgTextBuilderInitial<"selection_strategy", [string, ...string[]]>>>;
82
+ rule: import("drizzle-orm").HasDefault<import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgJsonbBuilderInitial<"rule">>>;
83
+ defaults: import("drizzle-orm").HasDefault<import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgJsonbBuilderInitial<"defaults">>>;
84
+ media: import("drizzle-orm").HasDefault<import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgJsonbBuilderInitial<"media">>>;
85
+ createdAt: import("drizzle-orm").HasDefault<import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgTimestampBuilderInitial<"created_at">>>;
86
+ updatedAt: import("drizzle-orm").HasDefault<import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgTimestampBuilderInitial<"updated_at">>>;
87
+ };
88
+ /**
89
+ * Core product accommodation set items columns shared between db-main and db-marketplace.
90
+ */
91
+ export declare function productAccommodationSetItemsCoreColumns(): {
92
+ board: import("drizzle-orm/pg-core").PgTextBuilderInitial<"board", [string, ...string[]]>;
93
+ priority: import("drizzle-orm").HasDefault<import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgIntegerBuilderInitial<"priority">>>;
94
+ pricingSource: import("drizzle-orm").HasDefault<import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgTextBuilderInitial<"pricing_source", [string, ...string[]]>>>;
95
+ pricing: import("drizzle-orm").HasDefault<import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgJsonbBuilderInitial<"pricing">>>;
96
+ createdAt: import("drizzle-orm").HasDefault<import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgTimestampBuilderInitial<"created_at">>>;
97
+ updatedAt: import("drizzle-orm").HasDefault<import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgTimestampBuilderInitial<"updated_at">>>;
98
+ };
99
+ //# sourceMappingURL=product-accommodation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"product-accommodation.d.ts","sourceRoot":"","sources":["../../src/columns/product-accommodation.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,wBAAgB,sCAAsC;;;;;;;;EAUrD;AAED;;GAEG;AACH,wBAAgB,0CAA0C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBzD;AAED;;GAEG;AACH,wBAAgB,mCAAmC;;;;;;;;EAUlD;AAED;;GAEG;AACH,wBAAgB,uCAAuC;;;;;;;EAStD"}
@@ -0,0 +1,65 @@
1
+ import { integer, jsonb, text, timestamp } from "drizzle-orm/pg-core";
2
+ import { typeIdRef } from "../lib/typeid-column.js";
3
+ /**
4
+ * Core product accommodation options columns shared between db-main and db-marketplace.
5
+ * propertyId: null = custom accommodation, set = linked from properties
6
+ */
7
+ export function productAccommodationOptionsCoreColumns() {
8
+ return {
9
+ name: text("name").notNull(),
10
+ propertyId: typeIdRef("property_id"), // null = custom, set = linked from property
11
+ provider: jsonb("provider").notNull().default("{}"),
12
+ location: jsonb("location"),
13
+ attributes: jsonb("attributes").notNull().default("{}"),
14
+ createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
15
+ updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow(),
16
+ };
17
+ }
18
+ /**
19
+ * Core product accommodation option rooms columns shared between db-main and db-marketplace.
20
+ */
21
+ export function productAccommodationOptionRoomsCoreColumns() {
22
+ return {
23
+ title: text("title").notNull(),
24
+ description: text("description"),
25
+ occupancy: jsonb("occupancy")
26
+ .notNull()
27
+ .default('{"adults_min": 1, "adults_max": 2, "children_min": 0, "children_max": 0}'),
28
+ bedsCount: integer("beds_count"),
29
+ bedConfig: text("bed_config").array().notNull().default([]),
30
+ amenities: text("amenities").array().notNull().default([]),
31
+ media: jsonb("media").notNull().default("[]"),
32
+ attributes: jsonb("attributes").notNull().default("{}"),
33
+ sort: integer("sort").notNull().default(0),
34
+ createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
35
+ updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow(),
36
+ };
37
+ }
38
+ /**
39
+ * Core product accommodation sets columns shared between db-main and db-marketplace.
40
+ */
41
+ export function productAccommodationSetsCoreColumns() {
42
+ return {
43
+ name: text("name").notNull(),
44
+ selectionStrategy: text("selection_strategy").notNull().default("priority"),
45
+ rule: jsonb("rule").notNull().default("{}"),
46
+ defaults: jsonb("defaults").notNull().default("{}"),
47
+ media: jsonb("media").notNull().default("[]"),
48
+ createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
49
+ updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow(),
50
+ };
51
+ }
52
+ /**
53
+ * Core product accommodation set items columns shared between db-main and db-marketplace.
54
+ */
55
+ export function productAccommodationSetItemsCoreColumns() {
56
+ return {
57
+ board: text("board"),
58
+ priority: integer("priority").notNull().default(0),
59
+ pricingSource: text("pricing_source").notNull().default("manual"),
60
+ pricing: jsonb("pricing").notNull().default("{}"),
61
+ createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
62
+ updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow(),
63
+ };
64
+ }
65
+ //# sourceMappingURL=product-accommodation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"product-accommodation.js","sourceRoot":"","sources":["../../src/columns/product-accommodation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Core product addons columns shared between db-main and db-marketplace.
3
+ *
4
+ * Use spread operator to include in table definitions:
5
+ * @example
6
+ * const productAddonsTable = pgTable("product_addons", {
7
+ * id: typeId("product_addons"),
8
+ * productId: typeIdRef("product_id").notNull().references(...),
9
+ * ...productAddonsCoreColumns(),
10
+ * })
11
+ */
12
+ export declare function productAddonsCoreColumns(): {
13
+ name: import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgTextBuilderInitial<"name", [string, ...string[]]>>;
14
+ pricing: import("drizzle-orm").NotNull<import("drizzle-orm/pg-core").PgJsonbBuilderInitial<"pricing">>;
15
+ required: import("drizzle-orm").HasDefault<import("drizzle-orm/pg-core").PgBooleanBuilderInitial<"required">>;
16
+ selectable: import("drizzle-orm").HasDefault<import("drizzle-orm/pg-core").PgBooleanBuilderInitial<"selectable">>;
17
+ };
18
+ //# sourceMappingURL=product-addons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"product-addons.d.ts","sourceRoot":"","sources":["../../src/columns/product-addons.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB;;;;;EAOvC"}
@@ -0,0 +1,21 @@
1
+ import { boolean, jsonb, text } from "drizzle-orm/pg-core";
2
+ /**
3
+ * Core product addons columns shared between db-main and db-marketplace.
4
+ *
5
+ * Use spread operator to include in table definitions:
6
+ * @example
7
+ * const productAddonsTable = pgTable("product_addons", {
8
+ * id: typeId("product_addons"),
9
+ * productId: typeIdRef("product_id").notNull().references(...),
10
+ * ...productAddonsCoreColumns(),
11
+ * })
12
+ */
13
+ export function productAddonsCoreColumns() {
14
+ return {
15
+ name: text("name").notNull(),
16
+ pricing: jsonb("pricing").notNull(),
17
+ required: boolean("required").default(false),
18
+ selectable: boolean("selectable").default(true),
19
+ };
20
+ }
21
+ //# sourceMappingURL=product-addons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"product-addons.js","sourceRoot":"","sources":["../../src/columns/product-addons.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAE1D;;;;;;;;;;GAUG;AACH,MAAM,UAAU,wBAAwB;IACtC,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE;QAC5B,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE;QACnC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;QAC5C,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;KAChD,CAAA;AACH,CAAC"}