@passly-nl/data 0.1.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 (309) hide show
  1. package/CODEOWNERS +1 -0
  2. package/LICENSE +21 -0
  3. package/README.md +19 -0
  4. package/dist/adapter/AddressAdapter.d.ts +3 -0
  5. package/dist/adapter/AuthAdapter.d.ts +6 -0
  6. package/dist/adapter/BuyerAdapter.d.ts +4 -0
  7. package/dist/adapter/CommonAdapter.d.ts +4 -0
  8. package/dist/adapter/DateTimeAdapter.d.ts +4 -0
  9. package/dist/adapter/EventAdapter.d.ts +22 -0
  10. package/dist/adapter/FileSystemAdapter.d.ts +4 -0
  11. package/dist/adapter/FinanceAdapter.d.ts +6 -0
  12. package/dist/adapter/FluxAdapter.d.ts +6 -0
  13. package/dist/adapter/MerchantAdapter.d.ts +8 -0
  14. package/dist/adapter/MerchantDashboardAdapter.d.ts +5 -0
  15. package/dist/adapter/OrderAdapter.d.ts +7 -0
  16. package/dist/adapter/PaymentAdapter.d.ts +7 -0
  17. package/dist/adapter/ProductAdapter.d.ts +4 -0
  18. package/dist/adapter/PublicPayAdapter.d.ts +4 -0
  19. package/dist/adapter/PublicShopAdapter.d.ts +13 -0
  20. package/dist/adapter/ReservationAdapter.d.ts +6 -0
  21. package/dist/adapter/TicketAdapter.d.ts +4 -0
  22. package/dist/adapter/index.d.ts +18 -0
  23. package/dist/dto/address/AddressDto.d.ts +20 -0
  24. package/dist/dto/address/index.d.ts +1 -0
  25. package/dist/dto/auth/TotpStateDto.d.ts +10 -0
  26. package/dist/dto/auth/UserDto.d.ts +23 -0
  27. package/dist/dto/auth/UserTokenDto.d.ts +23 -0
  28. package/dist/dto/auth/index.d.ts +3 -0
  29. package/dist/dto/common/StatusResponseDto.d.ts +8 -0
  30. package/dist/dto/common/index.d.ts +1 -0
  31. package/dist/dto/event/EventAvailabilityDto.d.ts +14 -0
  32. package/dist/dto/event/EventCountersDto.d.ts +10 -0
  33. package/dist/dto/event/EventDto.d.ts +29 -0
  34. package/dist/dto/event/EventStatisticsAttendanceDto.d.ts +10 -0
  35. package/dist/dto/event/EventStatisticsBuyerTotalsDto.d.ts +14 -0
  36. package/dist/dto/event/EventStatisticsFinancialDto.d.ts +9 -0
  37. package/dist/dto/event/EventStatisticsOrderTotalsDto.d.ts +12 -0
  38. package/dist/dto/event/EventStatisticsOrdersDto.d.ts +10 -0
  39. package/dist/dto/event/EventStatisticsScanTotalsDto.d.ts +10 -0
  40. package/dist/dto/event/EventStatisticsScansDto.d.ts +12 -0
  41. package/dist/dto/event/EventStatisticsScansPerAppTeamDto.d.ts +10 -0
  42. package/dist/dto/event/EventStatisticsSwapTotalsDto.d.ts +10 -0
  43. package/dist/dto/event/ShopDesignDto.d.ts +10 -0
  44. package/dist/dto/event/ShopDto.d.ts +35 -0
  45. package/dist/dto/event/ShopElementButtonDto.d.ts +12 -0
  46. package/dist/dto/event/ShopElementDividerDto.d.ts +10 -0
  47. package/dist/dto/event/ShopElementDto.d.ts +9 -0
  48. package/dist/dto/event/ShopElementHeadingDto.d.ts +10 -0
  49. package/dist/dto/event/ShopElementNoticeDto.d.ts +15 -0
  50. package/dist/dto/event/ShopElementProductDto.d.ts +7 -0
  51. package/dist/dto/event/ShopElementTextDto.d.ts +7 -0
  52. package/dist/dto/event/StockOverviewDto.d.ts +13 -0
  53. package/dist/dto/event/StockOverviewItemDto.d.ts +13 -0
  54. package/dist/dto/event/StockPoolDto.d.ts +25 -0
  55. package/dist/dto/event/TicketTemplateDto.d.ts +18 -0
  56. package/dist/dto/event/index.d.ts +25 -0
  57. package/dist/dto/fileSystem/PictureDto.d.ts +10 -0
  58. package/dist/dto/fileSystem/index.d.ts +1 -0
  59. package/dist/dto/finance/FinanceOverviewDto.d.ts +13 -0
  60. package/dist/dto/finance/InvoiceDto.d.ts +25 -0
  61. package/dist/dto/finance/InvoiceLineDto.d.ts +17 -0
  62. package/dist/dto/finance/index.d.ts +3 -0
  63. package/dist/dto/index.d.ts +14 -0
  64. package/dist/dto/merchant/ContractDto.d.ts +16 -0
  65. package/dist/dto/merchant/InvitationDto.d.ts +25 -0
  66. package/dist/dto/merchant/MerchantDashboardKeyMetricsDto.d.ts +22 -0
  67. package/dist/dto/merchant/MerchantDashboardUpcomingEventDto.d.ts +25 -0
  68. package/dist/dto/merchant/MerchantDto.d.ts +32 -0
  69. package/dist/dto/merchant/MerchantUserDto.d.ts +14 -0
  70. package/dist/dto/merchant/VatNumberDto.d.ts +19 -0
  71. package/dist/dto/merchant/index.d.ts +7 -0
  72. package/dist/dto/order/BuyerDto.d.ts +27 -0
  73. package/dist/dto/order/OrderDto.d.ts +37 -0
  74. package/dist/dto/order/OrderLineDto.d.ts +20 -0
  75. package/dist/dto/order/OrderPaymentProviderDto.d.ts +8 -0
  76. package/dist/dto/order/OrderProductDto.d.ts +12 -0
  77. package/dist/dto/order/index.d.ts +5 -0
  78. package/dist/dto/payment/CostDto.d.ts +16 -0
  79. package/dist/dto/payment/PaymentMethodDto.d.ts +10 -0
  80. package/dist/dto/payment/PaymentProviderDto.d.ts +12 -0
  81. package/dist/dto/payment/TransactionDto.d.ts +24 -0
  82. package/dist/dto/payment/index.d.ts +4 -0
  83. package/dist/dto/product/ProductDto.d.ts +30 -0
  84. package/dist/dto/product/index.d.ts +1 -0
  85. package/dist/dto/publicPay/PublicPaymentMethodDto.d.ts +10 -0
  86. package/dist/dto/publicPay/index.d.ts +1 -0
  87. package/dist/dto/publicShop/PublicShopCartProductDto.d.ts +10 -0
  88. package/dist/dto/publicShop/PublicShopDesignDto.d.ts +10 -0
  89. package/dist/dto/publicShop/PublicShopDto.d.ts +31 -0
  90. package/dist/dto/publicShop/PublicShopElementButtonDto.d.ts +12 -0
  91. package/dist/dto/publicShop/PublicShopElementDividerDto.d.ts +10 -0
  92. package/dist/dto/publicShop/PublicShopElementDto.d.ts +9 -0
  93. package/dist/dto/publicShop/PublicShopElementHeadingDto.d.ts +10 -0
  94. package/dist/dto/publicShop/PublicShopElementNoticeDto.d.ts +15 -0
  95. package/dist/dto/publicShop/PublicShopElementProductDto.d.ts +7 -0
  96. package/dist/dto/publicShop/PublicShopElementTextDto.d.ts +7 -0
  97. package/dist/dto/publicShop/PublicShopEventDto.d.ts +16 -0
  98. package/dist/dto/publicShop/PublicShopMerchantDto.d.ts +8 -0
  99. package/dist/dto/publicShop/PublicShopProductDto.d.ts +28 -0
  100. package/dist/dto/publicShop/PublicShopReservationDto.d.ts +14 -0
  101. package/dist/dto/publicShop/PublicShopReservationProductDetailsDto.d.ts +13 -0
  102. package/dist/dto/publicShop/PublicShopReservationProductDto.d.ts +9 -0
  103. package/dist/dto/publicShop/PublicShopTimeSlotDto.d.ts +15 -0
  104. package/dist/dto/publicShop/index.d.ts +17 -0
  105. package/dist/dto/reservation/ReservationDto.d.ts +16 -0
  106. package/dist/dto/reservation/ReservationItemDto.d.ts +9 -0
  107. package/dist/dto/reservation/ReservationProductDto.d.ts +13 -0
  108. package/dist/dto/reservation/index.d.ts +3 -0
  109. package/dist/dto/ticket/TicketDto.d.ts +31 -0
  110. package/dist/dto/ticket/index.d.ts +1 -0
  111. package/dist/index.d.ts +5 -0
  112. package/dist/index.js +4 -0
  113. package/dist/index.js.map +136 -0
  114. package/dist/service/AuthService.d.ts +11 -0
  115. package/dist/service/InvitationService.d.ts +7 -0
  116. package/dist/service/MeService.d.ts +12 -0
  117. package/dist/service/MerchantBuyerService.d.ts +7 -0
  118. package/dist/service/MerchantBuyersService.d.ts +5 -0
  119. package/dist/service/MerchantDashboardService.d.ts +6 -0
  120. package/dist/service/MerchantEventProductService.d.ts +10 -0
  121. package/dist/service/MerchantEventProductsService.d.ts +8 -0
  122. package/dist/service/MerchantEventService.d.ts +13 -0
  123. package/dist/service/MerchantEventShopService.d.ts +9 -0
  124. package/dist/service/MerchantEventShopsService.d.ts +8 -0
  125. package/dist/service/MerchantEventStatisticsService.d.ts +10 -0
  126. package/dist/service/MerchantEventStockPoolsService.d.ts +9 -0
  127. package/dist/service/MerchantEventTicketTemplateService.d.ts +11 -0
  128. package/dist/service/MerchantEventTicketTemplatesService.d.ts +9 -0
  129. package/dist/service/MerchantEventsService.d.ts +7 -0
  130. package/dist/service/MerchantFinanceInvoiceService.d.ts +6 -0
  131. package/dist/service/MerchantFinanceInvoicesService.d.ts +5 -0
  132. package/dist/service/MerchantFinanceService.d.ts +8 -0
  133. package/dist/service/MerchantOrderService.d.ts +9 -0
  134. package/dist/service/MerchantOrdersService.d.ts +5 -0
  135. package/dist/service/MerchantService.d.ts +14 -0
  136. package/dist/service/MerchantStatisticsService.d.ts +5 -0
  137. package/dist/service/MerchantTicketService.d.ts +7 -0
  138. package/dist/service/MerchantTicketsService.d.ts +5 -0
  139. package/dist/service/MerchantUsersService.d.ts +7 -0
  140. package/dist/service/MerchantsService.d.ts +5 -0
  141. package/dist/service/PublicOrderService.d.ts +7 -0
  142. package/dist/service/PublicShopService.d.ts +9 -0
  143. package/dist/service/ReservationService.d.ts +6 -0
  144. package/dist/service/ServicesService.d.ts +9 -0
  145. package/dist/service/UiSelectOptionsService.d.ts +6 -0
  146. package/dist/service/index.d.ts +32 -0
  147. package/dist/types/index.d.ts +9 -0
  148. package/dist/util/emptyNull.d.ts +1 -0
  149. package/dist/util/index.d.ts +4 -0
  150. package/dist/util/jsonBlob.d.ts +1 -0
  151. package/dist/util/optional.d.ts +4 -0
  152. package/dist/util/optionalArray.d.ts +1 -0
  153. package/package.json +62 -0
  154. package/src/adapter/AddressAdapter.ts +18 -0
  155. package/src/adapter/AuthAdapter.ts +42 -0
  156. package/src/adapter/BuyerAdapter.ts +22 -0
  157. package/src/adapter/CommonAdapter.ts +12 -0
  158. package/src/adapter/DateTimeAdapter.ts +11 -0
  159. package/src/adapter/EventAdapter.ts +237 -0
  160. package/src/adapter/FileSystemAdapter.ts +13 -0
  161. package/src/adapter/FinanceAdapter.ts +40 -0
  162. package/src/adapter/FluxAdapter.ts +21 -0
  163. package/src/adapter/MerchantAdapter.ts +70 -0
  164. package/src/adapter/MerchantDashboardAdapter.ts +29 -0
  165. package/src/adapter/OrderAdapter.ts +55 -0
  166. package/src/adapter/PaymentAdapter.ts +48 -0
  167. package/src/adapter/ProductAdapter.ts +24 -0
  168. package/src/adapter/PublicPayAdapter.ts +13 -0
  169. package/src/adapter/PublicShopAdapter.ts +149 -0
  170. package/src/adapter/ReservationAdapter.ts +33 -0
  171. package/src/adapter/TicketAdapter.ts +24 -0
  172. package/src/adapter/index.ts +18 -0
  173. package/src/dto/address/AddressDto.ts +88 -0
  174. package/src/dto/address/index.ts +1 -0
  175. package/src/dto/auth/TotpStateDto.ts +38 -0
  176. package/src/dto/auth/UserDto.ts +99 -0
  177. package/src/dto/auth/UserTokenDto.ts +91 -0
  178. package/src/dto/auth/index.ts +3 -0
  179. package/src/dto/common/StatusResponseDto.ts +28 -0
  180. package/src/dto/common/index.ts +1 -0
  181. package/src/dto/event/EventAvailabilityDto.ts +58 -0
  182. package/src/dto/event/EventCountersDto.ts +38 -0
  183. package/src/dto/event/EventDto.ts +121 -0
  184. package/src/dto/event/EventStatisticsAttendanceDto.ts +38 -0
  185. package/src/dto/event/EventStatisticsBuyerTotalsDto.ts +58 -0
  186. package/src/dto/event/EventStatisticsFinancialDto.ts +29 -0
  187. package/src/dto/event/EventStatisticsOrderTotalsDto.ts +48 -0
  188. package/src/dto/event/EventStatisticsOrdersDto.ts +30 -0
  189. package/src/dto/event/EventStatisticsScanTotalsDto.ts +38 -0
  190. package/src/dto/event/EventStatisticsScansDto.ts +40 -0
  191. package/src/dto/event/EventStatisticsScansPerAppTeamDto.ts +38 -0
  192. package/src/dto/event/EventStatisticsSwapTotalsDto.ts +38 -0
  193. package/src/dto/event/ShopDesignDto.ts +38 -0
  194. package/src/dto/event/ShopDto.ts +151 -0
  195. package/src/dto/event/ShopElementButtonDto.ts +41 -0
  196. package/src/dto/event/ShopElementDividerDto.ts +31 -0
  197. package/src/dto/event/ShopElementDto.ts +27 -0
  198. package/src/dto/event/ShopElementHeadingDto.ts +31 -0
  199. package/src/dto/event/ShopElementNoticeDto.ts +52 -0
  200. package/src/dto/event/ShopElementProductDto.ts +20 -0
  201. package/src/dto/event/ShopElementTextDto.ts +20 -0
  202. package/src/dto/event/StockOverviewDto.ts +49 -0
  203. package/src/dto/event/StockOverviewItemDto.ts +49 -0
  204. package/src/dto/event/StockPoolDto.ts +109 -0
  205. package/src/dto/event/TicketTemplateDto.ts +70 -0
  206. package/src/dto/event/index.ts +25 -0
  207. package/src/dto/fileSystem/PictureDto.ts +38 -0
  208. package/src/dto/fileSystem/index.ts +1 -0
  209. package/src/dto/finance/FinanceOverviewDto.ts +49 -0
  210. package/src/dto/finance/InvoiceDto.ts +101 -0
  211. package/src/dto/finance/InvoiceLineDto.ts +61 -0
  212. package/src/dto/finance/index.ts +3 -0
  213. package/src/dto/index.ts +14 -0
  214. package/src/dto/merchant/ContractDto.ts +60 -0
  215. package/src/dto/merchant/InvitationDto.ts +101 -0
  216. package/src/dto/merchant/MerchantDashboardKeyMetricsDto.ts +59 -0
  217. package/src/dto/merchant/MerchantDashboardUpcomingEventDto.ts +101 -0
  218. package/src/dto/merchant/MerchantDto.ts +140 -0
  219. package/src/dto/merchant/MerchantUserDto.ts +50 -0
  220. package/src/dto/merchant/VatNumberDto.ts +79 -0
  221. package/src/dto/merchant/index.ts +7 -0
  222. package/src/dto/order/BuyerDto.ts +111 -0
  223. package/src/dto/order/OrderDto.ts +161 -0
  224. package/src/dto/order/OrderLineDto.ts +80 -0
  225. package/src/dto/order/OrderPaymentProviderDto.ts +28 -0
  226. package/src/dto/order/OrderProductDto.ts +48 -0
  227. package/src/dto/order/index.ts +5 -0
  228. package/src/dto/payment/CostDto.ts +68 -0
  229. package/src/dto/payment/PaymentMethodDto.ts +38 -0
  230. package/src/dto/payment/PaymentProviderDto.ts +40 -0
  231. package/src/dto/payment/TransactionDto.ts +100 -0
  232. package/src/dto/payment/index.ts +4 -0
  233. package/src/dto/product/ProductDto.ts +130 -0
  234. package/src/dto/product/index.ts +1 -0
  235. package/src/dto/publicPay/PublicPaymentMethodDto.ts +38 -0
  236. package/src/dto/publicPay/index.ts +1 -0
  237. package/src/dto/publicShop/PublicShopCartProductDto.ts +38 -0
  238. package/src/dto/publicShop/PublicShopDesignDto.ts +38 -0
  239. package/src/dto/publicShop/PublicShopDto.ts +131 -0
  240. package/src/dto/publicShop/PublicShopElementButtonDto.ts +41 -0
  241. package/src/dto/publicShop/PublicShopElementDividerDto.ts +31 -0
  242. package/src/dto/publicShop/PublicShopElementDto.ts +27 -0
  243. package/src/dto/publicShop/PublicShopElementHeadingDto.ts +31 -0
  244. package/src/dto/publicShop/PublicShopElementNoticeDto.ts +52 -0
  245. package/src/dto/publicShop/PublicShopElementProductDto.ts +20 -0
  246. package/src/dto/publicShop/PublicShopElementTextDto.ts +20 -0
  247. package/src/dto/publicShop/PublicShopEventDto.ts +60 -0
  248. package/src/dto/publicShop/PublicShopMerchantDto.ts +28 -0
  249. package/src/dto/publicShop/PublicShopProductDto.ts +120 -0
  250. package/src/dto/publicShop/PublicShopReservationDto.ts +50 -0
  251. package/src/dto/publicShop/PublicShopReservationProductDetailsDto.ts +49 -0
  252. package/src/dto/publicShop/PublicShopReservationProductDto.ts +29 -0
  253. package/src/dto/publicShop/PublicShopTimeSlotDto.ts +59 -0
  254. package/src/dto/publicShop/index.ts +17 -0
  255. package/src/dto/reservation/ReservationDto.ts +60 -0
  256. package/src/dto/reservation/ReservationItemDto.ts +29 -0
  257. package/src/dto/reservation/ReservationProductDto.ts +49 -0
  258. package/src/dto/reservation/index.ts +3 -0
  259. package/src/dto/ticket/TicketDto.ts +131 -0
  260. package/src/dto/ticket/index.ts +1 -0
  261. package/src/index.ts +5 -0
  262. package/src/service/AuthService.ts +71 -0
  263. package/src/service/InvitationService.ts +35 -0
  264. package/src/service/MeService.ts +106 -0
  265. package/src/service/MerchantBuyerService.ts +37 -0
  266. package/src/service/MerchantBuyersService.ts +17 -0
  267. package/src/service/MerchantDashboardService.ts +23 -0
  268. package/src/service/MerchantEventProductService.ts +76 -0
  269. package/src/service/MerchantEventProductsService.ts +48 -0
  270. package/src/service/MerchantEventService.ts +115 -0
  271. package/src/service/MerchantEventShopService.ts +66 -0
  272. package/src/service/MerchantEventShopsService.ts +43 -0
  273. package/src/service/MerchantEventStatisticsService.ts +65 -0
  274. package/src/service/MerchantEventStockPoolsService.ts +54 -0
  275. package/src/service/MerchantEventTicketTemplateService.ts +75 -0
  276. package/src/service/MerchantEventTicketTemplatesService.ts +53 -0
  277. package/src/service/MerchantEventsService.ts +35 -0
  278. package/src/service/MerchantFinanceInvoiceService.ts +25 -0
  279. package/src/service/MerchantFinanceInvoicesService.ts +17 -0
  280. package/src/service/MerchantFinanceService.ts +36 -0
  281. package/src/service/MerchantOrderService.ts +55 -0
  282. package/src/service/MerchantOrdersService.ts +26 -0
  283. package/src/service/MerchantService.ts +117 -0
  284. package/src/service/MerchantStatisticsService.ts +14 -0
  285. package/src/service/MerchantTicketService.ts +35 -0
  286. package/src/service/MerchantTicketsService.ts +26 -0
  287. package/src/service/MerchantUsersService.ts +34 -0
  288. package/src/service/MerchantsService.ts +15 -0
  289. package/src/service/PublicOrderService.ts +35 -0
  290. package/src/service/PublicShopService.ts +49 -0
  291. package/src/service/ReservationService.ts +23 -0
  292. package/src/service/ServicesService.ts +18 -0
  293. package/src/service/UiSelectOptionsService.ts +33 -0
  294. package/src/service/index.ts +32 -0
  295. package/src/types/auth.ts +47 -0
  296. package/src/types/event.ts +28 -0
  297. package/src/types/finance.ts +14 -0
  298. package/src/types/general.ts +19 -0
  299. package/src/types/index.ts +9 -0
  300. package/src/types/order.ts +7 -0
  301. package/src/types/payment.ts +11 -0
  302. package/src/types/product.ts +2 -0
  303. package/src/types/publicShop.ts +7 -0
  304. package/src/types/ticket.ts +12 -0
  305. package/src/util/emptyNull.ts +9 -0
  306. package/src/util/index.ts +4 -0
  307. package/src/util/jsonBlob.ts +5 -0
  308. package/src/util/optional.ts +7 -0
  309. package/src/util/optionalArray.ts +7 -0
@@ -0,0 +1,131 @@
1
+ import { dto } from '@basmilius/http-client';
2
+ import type { DateTime } from 'luxon';
3
+ import type { BuyerDto, EventDto, OrderDto, ProductDto } from '#data/dto';
4
+ import type { ScanStatus, TicketValidity } from '#data/types';
5
+
6
+ @dto
7
+ export class TicketDto {
8
+ get id(): string {
9
+ return this.#id;
10
+ }
11
+
12
+ set id(value: string) {
13
+ this.#id = value;
14
+ }
15
+
16
+ get sequence(): number {
17
+ return this.#sequence;
18
+ }
19
+
20
+ set sequence(value: number) {
21
+ this.#sequence = value;
22
+ }
23
+
24
+ get code(): string {
25
+ return this.#code;
26
+ }
27
+
28
+ set code(value: string) {
29
+ this.#code = value;
30
+ }
31
+
32
+ get status(): ScanStatus {
33
+ return this.#status;
34
+ }
35
+
36
+ set status(value: ScanStatus) {
37
+ this.#status = value;
38
+ }
39
+
40
+ get validity(): TicketValidity {
41
+ return this.#validity;
42
+ }
43
+
44
+ set validity(value: TicketValidity) {
45
+ this.#validity = value;
46
+ }
47
+
48
+ get buyer(): BuyerDto {
49
+ return this.#buyer;
50
+ }
51
+
52
+ set buyer(value: BuyerDto) {
53
+ this.#buyer = value;
54
+ }
55
+
56
+ get event(): EventDto {
57
+ return this.#event;
58
+ }
59
+
60
+ set event(value: EventDto) {
61
+ this.#event = value;
62
+ }
63
+
64
+ get holder(): BuyerDto | null {
65
+ return this.#holder;
66
+ }
67
+
68
+ set holder(value: BuyerDto | null) {
69
+ this.#holder = value;
70
+ }
71
+
72
+ get order(): OrderDto {
73
+ return this.#order;
74
+ }
75
+
76
+ set order(value: OrderDto) {
77
+ this.#order = value;
78
+ }
79
+
80
+ get product(): ProductDto {
81
+ return this.#product;
82
+ }
83
+
84
+ set product(value: ProductDto) {
85
+ this.#product = value;
86
+ }
87
+
88
+ get createdOn(): DateTime {
89
+ return this.#createdOn;
90
+ }
91
+
92
+ set createdOn(value: DateTime) {
93
+ this.#createdOn = value;
94
+ }
95
+
96
+ get updatedOn(): DateTime {
97
+ return this.#updatedOn;
98
+ }
99
+
100
+ set updatedOn(value: DateTime) {
101
+ this.#updatedOn = value;
102
+ }
103
+
104
+ #id: string;
105
+ #sequence: number;
106
+ #code: string;
107
+ #status: ScanStatus;
108
+ #validity: TicketValidity;
109
+ #buyer: BuyerDto;
110
+ #event: EventDto;
111
+ #holder: BuyerDto | null;
112
+ #order: OrderDto;
113
+ #product: ProductDto;
114
+ #createdOn: DateTime;
115
+ #updatedOn: DateTime;
116
+
117
+ constructor(id: string, sequence: number, code: string, status: ScanStatus, validity: TicketValidity, buyer: BuyerDto, event: EventDto, holder: BuyerDto | null, order: OrderDto, product: ProductDto, createdOn: DateTime, updatedOn: DateTime) {
118
+ this.#id = id;
119
+ this.#sequence = sequence;
120
+ this.#code = code;
121
+ this.#status = status;
122
+ this.#validity = validity;
123
+ this.#buyer = buyer;
124
+ this.#event = event;
125
+ this.#holder = holder;
126
+ this.#order = order;
127
+ this.#product = product;
128
+ this.#createdOn = createdOn;
129
+ this.#updatedOn = updatedOn;
130
+ }
131
+ }
@@ -0,0 +1 @@
1
+ export { TicketDto } from './TicketDto';
package/src/index.ts ADDED
@@ -0,0 +1,5 @@
1
+ export * from './adapter';
2
+ export * from './dto';
3
+ export * from './service';
4
+ export * from './types';
5
+ export * from './util';
@@ -0,0 +1,71 @@
1
+ import { BaseResponse, BaseService, type Paginated, QueryString } from '@basmilius/http-client';
2
+ import { AuthAdapter } from '#data/adapter';
3
+ import type { UserTokenDto } from '#data/dto';
4
+ import type { Claim } from '#data/types';
5
+
6
+ export class AuthService extends BaseService {
7
+ async get(): Promise<BaseResponse<UserTokenDto>> {
8
+ return await this
9
+ .request('/auth')
10
+ .method('get')
11
+ .bearerToken()
12
+ .queryString(QueryString.builder()
13
+ .append('language', 'nl'))
14
+ .runAdapter(AuthAdapter.parseUserTokenFromObject);
15
+ }
16
+
17
+ async getClaims(): Promise<BaseResponse<Claim[]>> {
18
+ return await this
19
+ .request('/auth/claims')
20
+ .method('get')
21
+ .bearerToken()
22
+ .queryString(QueryString.builder()
23
+ .append('language', 'nl'))
24
+ .runAdapter(r => Object.values(r) as Claim[]);
25
+ }
26
+
27
+ async getPasswordCompromised(): Promise<BaseResponse<boolean>> {
28
+ return await this
29
+ .request('/auth/password-compromised')
30
+ .method('get')
31
+ .bearerToken()
32
+ .queryString(QueryString.builder()
33
+ .append('language', 'nl'))
34
+ .runDataKey<{ readonly compromised: boolean; }>('compromised');
35
+ }
36
+
37
+ async getSessions(offset: number, limit: number): Promise<BaseResponse<Paginated<UserTokenDto>>> {
38
+ return await this
39
+ .request('/auth/sessions')
40
+ .method('get')
41
+ .bearerToken()
42
+ .queryString(QueryString.builder()
43
+ .append('language', 'nl')
44
+ .append('offset', offset)
45
+ .append('limit', limit))
46
+ .runPaginatedAdapter(AuthAdapter.parseUserTokenFromObject);
47
+ }
48
+
49
+ async post(email: string, password: string, code?: string): Promise<BaseResponse<UserTokenDto>> {
50
+ return await this
51
+ .request('/auth')
52
+ .method('post')
53
+ .body({email, password, code})
54
+ .queryString(QueryString.builder()
55
+ .append('language', 'nl'))
56
+ .runAdapter(AuthAdapter.parseUserTokenFromObject);
57
+ }
58
+
59
+ async deleteSession(token: string): Promise<BaseResponse<never>> {
60
+ return await this
61
+ .request('/auth/sessions')
62
+ .method('delete')
63
+ .bearerToken()
64
+ .queryString(QueryString.builder()
65
+ .append('language', 'nl'))
66
+ .body({
67
+ token
68
+ })
69
+ .runEmpty();
70
+ }
71
+ }
@@ -0,0 +1,35 @@
1
+ import { BaseResponse, BaseService, QueryString } from '@basmilius/http-client';
2
+ import { AuthAdapter, CommonAdapter, MerchantAdapter } from '#data/adapter';
3
+ import type { InvitationDto, StatusResponseDto, UserTokenDto } from '#data/dto';
4
+
5
+ export class InvitationService extends BaseService {
6
+ async get(invitationId: string): Promise<BaseResponse<InvitationDto>> {
7
+ return await this
8
+ .request(`/invitations/${invitationId}`)
9
+ .method('get')
10
+ .queryString(QueryString.builder()
11
+ .append('language', 'nl'))
12
+ .runAdapter(MerchantAdapter.parseInvitationFromObject);
13
+ }
14
+
15
+ async postAccept(invitationId: string, password?: string): Promise<BaseResponse<UserTokenDto>> {
16
+ return await this
17
+ .request(`/invitations/${invitationId}/accept`)
18
+ .method('post')
19
+ .queryString(QueryString.builder()
20
+ .append('language', 'nl'))
21
+ .body({
22
+ password
23
+ })
24
+ .runAdapter(AuthAdapter.parseUserTokenFromObject);
25
+ }
26
+
27
+ async postDecline(invitationId: string): Promise<BaseResponse<StatusResponseDto>> {
28
+ return await this
29
+ .request(`/invitations/${invitationId}/decline`)
30
+ .method('post')
31
+ .queryString(QueryString.builder()
32
+ .append('language', 'nl'))
33
+ .runAdapter(CommonAdapter.parseStatusResponseFromObject);
34
+ }
35
+ }
@@ -0,0 +1,106 @@
1
+ import { BaseResponse, BaseService, QueryString } from '@basmilius/http-client';
2
+ import { AuthAdapter, CommonAdapter } from '#data/adapter';
3
+ import type { StatusResponseDto, TotpStateDto, UserDto } from '#data/dto';
4
+
5
+ export class MeService extends BaseService {
6
+ async get(): Promise<BaseResponse<UserDto>> {
7
+ return await this
8
+ .request('/me')
9
+ .method('get')
10
+ .bearerToken()
11
+ .queryString(QueryString.builder()
12
+ .append('language', 'nl'))
13
+ .runAdapter(AuthAdapter.parseUserFromObject);
14
+ }
15
+
16
+ async getTotp(): Promise<BaseResponse<TotpStateDto>> {
17
+ return await this
18
+ .request('/me/totp')
19
+ .method('get')
20
+ .bearerToken()
21
+ .queryString(QueryString.builder()
22
+ .append('language', 'nl'))
23
+ .runAdapter(AuthAdapter.parseTotpStateFromObject);
24
+ }
25
+
26
+ async post(firstName: string, lastName: string, phoneNumber: string): Promise<BaseResponse<StatusResponseDto>> {
27
+ return await this
28
+ .request('/me')
29
+ .method('post')
30
+ .bearerToken()
31
+ .queryString(QueryString.builder()
32
+ .append('language', 'nl'))
33
+ .body({
34
+ first_name: firstName,
35
+ last_name: lastName,
36
+ phone_number: phoneNumber
37
+ })
38
+ .runAdapter(CommonAdapter.parseStatusResponseFromObject);
39
+ }
40
+
41
+ async postChangePassword(password: string, newPassword: string, newPasswordConfirm: string): Promise<BaseResponse<StatusResponseDto>> {
42
+ return await this
43
+ .request('/me/change-password')
44
+ .method('post')
45
+ .bearerToken()
46
+ .queryString(QueryString.builder()
47
+ .append('language', 'nl'))
48
+ .body({
49
+ password,
50
+ new_password: newPassword,
51
+ new_password_confirm: newPasswordConfirm
52
+ })
53
+ .runAdapter(CommonAdapter.parseStatusResponseFromObject);
54
+ }
55
+
56
+ async postProfilePicture(picture: File): Promise<BaseResponse<StatusResponseDto>> {
57
+ const data = new FormData();
58
+ data.append('file', picture);
59
+
60
+ return await this
61
+ .request('/me/profile-picture')
62
+ .method('post')
63
+ .bearerToken()
64
+ .queryString(QueryString.builder()
65
+ .append('language', 'nl'))
66
+ .body(data)
67
+ .runAdapter(CommonAdapter.parseStatusResponseFromObject);
68
+ }
69
+
70
+ async postTotp(secret: string, code: string): Promise<BaseResponse<TotpStateDto>> {
71
+ return await this
72
+ .request('/me/totp')
73
+ .method('post')
74
+ .bearerToken()
75
+ .queryString(QueryString.builder()
76
+ .append('language', 'nl'))
77
+ .body({
78
+ secret,
79
+ code
80
+ })
81
+ .runAdapter(AuthAdapter.parseTotpStateFromObject);
82
+ }
83
+
84
+ async deleteProfilePicture(): Promise<BaseResponse<StatusResponseDto>> {
85
+ return await this
86
+ .request('/me/profile-picture')
87
+ .method('delete')
88
+ .bearerToken()
89
+ .queryString(QueryString.builder()
90
+ .append('language', 'nl'))
91
+ .runAdapter(CommonAdapter.parseStatusResponseFromObject);
92
+ }
93
+
94
+ async deleteTotp(code: string): Promise<BaseResponse<TotpStateDto>> {
95
+ return await this
96
+ .request('/me/totp')
97
+ .method('delete')
98
+ .bearerToken()
99
+ .queryString(QueryString.builder()
100
+ .append('language', 'nl'))
101
+ .body({
102
+ code
103
+ })
104
+ .runAdapter(AuthAdapter.parseTotpStateFromObject);
105
+ }
106
+ }
@@ -0,0 +1,37 @@
1
+ import { BaseResponse, BaseService, Paginated, QueryString } from '@basmilius/http-client';
2
+ import { BuyerAdapter, OrderAdapter } from '#data/adapter';
3
+ import type { BuyerDto, OrderDto } from '#data/dto';
4
+
5
+ export class MerchantBuyerService extends BaseService {
6
+ async get(merchantId: string, buyerId: string): Promise<BaseResponse<BuyerDto>> {
7
+ return await this
8
+ .request(`/merchants/${merchantId}/buyers/${buyerId}`)
9
+ .method('get')
10
+ .bearerToken()
11
+ .queryString(QueryString.builder()
12
+ .append('language', 'nl'))
13
+ .runAdapter(BuyerAdapter.parseBuyerFromObject);
14
+ }
15
+
16
+ async getOrder(merchantId: string, buyerId: string, orderId: string): Promise<BaseResponse<OrderDto>> {
17
+ return await this
18
+ .request(`/merchants/${merchantId}/buyers/${buyerId}/orders/${orderId}`)
19
+ .method('get')
20
+ .bearerToken()
21
+ .queryString(QueryString.builder()
22
+ .append('language', 'nl'))
23
+ .runAdapter(OrderAdapter.parseOrderFromObject);
24
+ }
25
+
26
+ async getOrders(merchantId: string, buyerId: string, offset: number, limit: number): Promise<BaseResponse<Paginated<OrderDto>>> {
27
+ return await this
28
+ .request(`/merchants/${merchantId}/buyers/${buyerId}/orders`)
29
+ .method('get')
30
+ .bearerToken()
31
+ .queryString(QueryString.builder()
32
+ .append('language', 'nl')
33
+ .append('offset', offset)
34
+ .append('limit', limit))
35
+ .runPaginatedAdapter(OrderAdapter.parseOrderFromObject);
36
+ }
37
+ }
@@ -0,0 +1,17 @@
1
+ import { BaseResponse, BaseService, Paginated, QueryString } from '@basmilius/http-client';
2
+ import { BuyerAdapter } from '#data/adapter';
3
+ import type { BuyerDto } from '#data/dto';
4
+
5
+ export class MerchantBuyersService extends BaseService {
6
+ async get(merchantId: string, offset: number, limit: number): Promise<BaseResponse<Paginated<BuyerDto>>> {
7
+ return await this
8
+ .request(`/merchants/${merchantId}/buyers`)
9
+ .method('get')
10
+ .queryString(QueryString.builder()
11
+ .append('language', 'nl')
12
+ .append('offset', offset)
13
+ .append('limit', limit))
14
+ .bearerToken()
15
+ .runPaginatedAdapter(BuyerAdapter.parseBuyerFromObject);
16
+ }
17
+ }
@@ -0,0 +1,23 @@
1
+ import { BaseResponse, BaseService, QueryString } from '@basmilius/http-client';
2
+ import { MerchantDashboardAdapter } from '#data/adapter';
3
+ import type { MerchantDashboardKeyMetricsDto, MerchantDashboardUpcomingEventDto } from '#data/dto';
4
+
5
+ export class MerchantDashboardService extends BaseService {
6
+ async getKeyMetrics(merchantId: string): Promise<BaseResponse<MerchantDashboardKeyMetricsDto>> {
7
+ return await this
8
+ .request(`/merchants/${merchantId}/dashboard/key-metrics`)
9
+ .method('get')
10
+ .queryString(QueryString.builder()
11
+ .append('language', 'nl'))
12
+ .bearerToken()
13
+ .runAdapter(MerchantDashboardAdapter.parseKeyMetricsFromObject);
14
+ }
15
+
16
+ async getUpcomingEvents(merchantId: string): Promise<BaseResponse<MerchantDashboardUpcomingEventDto[]>> {
17
+ return await this
18
+ .request(`/merchants/${merchantId}/dashboard/upcoming-events`)
19
+ .method('get')
20
+ .bearerToken()
21
+ .runArrayAdapter(MerchantDashboardAdapter.parseUpcomingEventFromObject);
22
+ }
23
+ }
@@ -0,0 +1,76 @@
1
+ import { BaseResponse, BaseService, QueryString } from '@basmilius/http-client';
2
+ import { ProductAdapter } from '#data/adapter';
3
+ import type { ProductDto } from '#data/dto';
4
+
5
+ export class MerchantEventProductService extends BaseService {
6
+ async get(merchantId: string, eventId: string, productId: string): Promise<BaseResponse<ProductDto>> {
7
+ return await this
8
+ .request(`/merchants/${merchantId}/events/${eventId}/products/${productId}`)
9
+ .method('get')
10
+ .bearerToken()
11
+ .queryString(QueryString.builder()
12
+ .append('language', 'nl'))
13
+ .runAdapter(ProductAdapter.parseProductFromObject);
14
+ }
15
+
16
+ async postImage(merchantId: string, eventId: string, productId: string, picture: File): Promise<BaseResponse<object>> {
17
+ const data = new FormData();
18
+ data.append('file', picture);
19
+
20
+ return await this
21
+ .request(`/merchants/${merchantId}/events/${eventId}/products/${productId}/media`)
22
+ .method('post')
23
+ .bearerToken()
24
+ .queryString(QueryString.builder()
25
+ .append('language', 'nl'))
26
+ .body(data)
27
+ .runAdapter(r => r);
28
+ }
29
+
30
+ async patch(merchantId: string, eventId: string, productId: string, product: ProductDto): Promise<BaseResponse<ProductDto>> {
31
+ return await this
32
+ .request(`/merchants/${merchantId}/events/${eventId}/products/${productId}`)
33
+ .method('patch')
34
+ .bearerToken()
35
+ .queryString(QueryString.builder()
36
+ .append('language', 'nl'))
37
+ .body({
38
+ name: product.name,
39
+ description: product.description,
40
+ price: product.price.cents,
41
+ max_quantity: product.maxQuantity,
42
+ is_swappable: product.isSwappable
43
+ })
44
+ .runAdapter(ProductAdapter.parseProductFromObject);
45
+ }
46
+
47
+ async patchPause(merchantId: string, eventId: string, productId: string): Promise<BaseResponse<never>> {
48
+ return await this
49
+ .request(`/merchants/${merchantId}/events/${eventId}/products/${productId}/pause`)
50
+ .method('patch')
51
+ .bearerToken()
52
+ .queryString(QueryString.builder()
53
+ .append('language', 'nl'))
54
+ .runEmpty();
55
+ }
56
+
57
+ async patchResume(merchantId: string, eventId: string, productId: string): Promise<BaseResponse<never>> {
58
+ return await this
59
+ .request(`/merchants/${merchantId}/events/${eventId}/products/${productId}/resume`)
60
+ .method('patch')
61
+ .bearerToken()
62
+ .queryString(QueryString.builder()
63
+ .append('language', 'nl'))
64
+ .runEmpty();
65
+ }
66
+
67
+ async delete(merchantId: string, eventId: string, productId: string): Promise<BaseResponse<never>> {
68
+ return await this
69
+ .request(`/merchants/${merchantId}/events/${eventId}/products/${productId}`)
70
+ .method('delete')
71
+ .bearerToken()
72
+ .queryString(QueryString.builder()
73
+ .append('language', 'nl'))
74
+ .runEmpty();
75
+ }
76
+ }
@@ -0,0 +1,48 @@
1
+ import { BaseResponse, BaseService, Paginated, QueryString } from '@basmilius/http-client';
2
+ import type { FluxFormSelectEntry } from '@flux-ui/types';
3
+ import { FluxAdapter, ProductAdapter } from '#data/adapter';
4
+ import type { ProductDto } from '#data/dto';
5
+
6
+ export class MerchantEventProductsService extends BaseService {
7
+ async get(merchantId: string, eventId: string, offset: number, limit: number): Promise<BaseResponse<Paginated<ProductDto>>> {
8
+ return await this
9
+ .request(`/merchants/${merchantId}/events/${eventId}/products`)
10
+ .method('get')
11
+ .bearerToken()
12
+ .queryString(QueryString.builder()
13
+ .append('language', 'nl')
14
+ .append('offset', offset)
15
+ .append('limit', limit))
16
+ .runPaginatedAdapter(ProductAdapter.parseProductFromObject);
17
+ }
18
+
19
+ async getSelectOptions(merchantId: string, eventId: string, searchQuery: string | null = null, ids: string[] | null = null): Promise<BaseResponse<FluxFormSelectEntry[]>> {
20
+ return await this
21
+ .request(`/merchants/${merchantId}/events/${eventId}/products/select-options`)
22
+ .method('get')
23
+ .bearerToken()
24
+ .queryString(QueryString.builder()
25
+ .append('language', 'nl')
26
+ .appendArray('ids[]', ids)
27
+ .append('searchQuery', searchQuery))
28
+ .runArrayAdapter(FluxAdapter.parseFluxFormSelectEntryFromObject);
29
+ }
30
+
31
+ async post(merchantId: string, eventId: string, name: string, description: string, price: number, maxQuantity: number, stock: number | null, stockPoolId: string | null): Promise<BaseResponse<ProductDto>> {
32
+ return await this
33
+ .request(`/merchants/${merchantId}/events/${eventId}/products`)
34
+ .method('post')
35
+ .bearerToken()
36
+ .queryString(QueryString.builder()
37
+ .append('language', 'nl'))
38
+ .body({
39
+ name,
40
+ description,
41
+ price,
42
+ stock,
43
+ max_quantity: maxQuantity,
44
+ stock_pool_id: stockPoolId
45
+ })
46
+ .runAdapter(ProductAdapter.parseProductFromObject);
47
+ }
48
+ }
@@ -0,0 +1,115 @@
1
+ import { BaseResponse, BaseService, QueryString } from '@basmilius/http-client';
2
+ import { CommonAdapter, EventAdapter } from '#data/adapter';
3
+ import type { EventAvailabilityDto, EventCountersDto, EventDto, StatusResponseDto } from '#data/dto';
4
+ import { emptyNull } from '#data/util';
5
+
6
+ export class MerchantEventService extends BaseService {
7
+ async get(merchantId: string, eventId: string): Promise<BaseResponse<EventDto>> {
8
+ return await this
9
+ .request(`/merchants/${merchantId}/events/${eventId}`)
10
+ .method('get')
11
+ .bearerToken()
12
+ .queryString(QueryString.builder()
13
+ .append('language', 'nl'))
14
+ .runAdapter(EventAdapter.parseEventFromObject);
15
+ }
16
+
17
+ async getAvailability(merchantId: string, eventId: string): Promise<BaseResponse<EventAvailabilityDto>> {
18
+ return await this
19
+ .request(`/merchants/${merchantId}/events/${eventId}/availability`)
20
+ .method('get')
21
+ .bearerToken()
22
+ .queryString(QueryString.builder()
23
+ .append('language', 'nl'))
24
+ .runAdapter(EventAdapter.parseEventAvailabilityFromObject);
25
+ }
26
+
27
+ async getCounters(merchantId: string, eventId: string): Promise<BaseResponse<EventCountersDto>> {
28
+ return await this
29
+ .request(`/merchants/${merchantId}/events/${eventId}/counters`)
30
+ .method('get')
31
+ .bearerToken()
32
+ .queryString(QueryString.builder()
33
+ .append('language', 'nl'))
34
+ .runAdapter(EventAdapter.parseEventCountersFromObject);
35
+ }
36
+
37
+ async post(merchantId: string, event: EventDto): Promise<BaseResponse<EventDto>> {
38
+ return await this
39
+ .request(`/merchants/${merchantId}/events/${event.id}`)
40
+ .method('post')
41
+ .bearerToken()
42
+ .queryString(QueryString.builder()
43
+ .append('language', 'nl'))
44
+ .body({
45
+ name: event.name,
46
+ description: event.description,
47
+ starts_on: event.startsOn.toISO(),
48
+ ends_on: event.endsOn.toISO(),
49
+ minimum_age: event.minimumAge,
50
+ address: {
51
+ label: emptyNull(event.address.label),
52
+ street: event.address.street,
53
+ number: event.address.number,
54
+ postal_code: event.address.postalCode,
55
+ city: event.address.city,
56
+ country_code: event.address.country
57
+ }
58
+ })
59
+ .runAdapter(EventAdapter.parseEventFromObject);
60
+ }
61
+
62
+ async postHeader(merchantId: string, eventId: string, picture: File): Promise<BaseResponse<StatusResponseDto>> {
63
+ const data = new FormData();
64
+ data.append('file', picture);
65
+
66
+ return await this
67
+ .request(`/merchants/${merchantId}/events/${eventId}/header`)
68
+ .method('post')
69
+ .bearerToken()
70
+ .queryString(QueryString.builder()
71
+ .append('language', 'nl'))
72
+ .body(data)
73
+ .runAdapter(CommonAdapter.parseStatusResponseFromObject);
74
+ }
75
+
76
+ async postPublish(merchantId: string, eventId: string): Promise<BaseResponse<StatusResponseDto>> {
77
+ return await this
78
+ .request(`/merchants/${merchantId}/events/${eventId}/publish`)
79
+ .method('post')
80
+ .bearerToken()
81
+ .queryString(QueryString.builder()
82
+ .append('language', 'nl'))
83
+ .runAdapter(CommonAdapter.parseStatusResponseFromObject);
84
+ }
85
+
86
+ async postUnpublish(merchantId: string, eventId: string): Promise<BaseResponse<StatusResponseDto>> {
87
+ return await this
88
+ .request(`/merchants/${merchantId}/events/${eventId}/unpublish`)
89
+ .method('post')
90
+ .bearerToken()
91
+ .queryString(QueryString.builder()
92
+ .append('language', 'nl'))
93
+ .runAdapter(CommonAdapter.parseStatusResponseFromObject);
94
+ }
95
+
96
+ async delete(merchantId: string, eventId: string): Promise<BaseResponse<StatusResponseDto>> {
97
+ return await this
98
+ .request(`/merchants/${merchantId}/events/${eventId}`)
99
+ .method('delete')
100
+ .bearerToken()
101
+ .queryString(QueryString.builder()
102
+ .append('language', 'nl'))
103
+ .runAdapter(CommonAdapter.parseStatusResponseFromObject);
104
+ }
105
+
106
+ async deleteHeader(merchantId: string, eventId: string): Promise<BaseResponse<StatusResponseDto>> {
107
+ return await this
108
+ .request(`/merchants/${merchantId}/events/${eventId}/header`)
109
+ .method('delete')
110
+ .bearerToken()
111
+ .queryString(QueryString.builder()
112
+ .append('language', 'nl'))
113
+ .runAdapter(CommonAdapter.parseStatusResponseFromObject);
114
+ }
115
+ }