@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,237 @@
1
+ import { adapter } from '@basmilius/http-client';
2
+ import { AddressAdapter, DateTimeAdapter, FileSystemAdapter, MerchantAdapter, PaymentAdapter, ProductAdapter } from '#data/adapter';
3
+ import { EventAvailabilityDto, EventCountersDto, EventDto, EventStatisticsAttendanceDto, EventStatisticsBuyerTotalsDto, EventStatisticsFinancialDto, EventStatisticsOrdersDto, EventStatisticsOrderTotalsDto, EventStatisticsScansDto, EventStatisticsScansPerAppTeamDto, EventStatisticsScanTotalsDto, EventStatisticsSwapTotalsDto, ShopDesignDto, ShopDto, ShopElementButtonDto, ShopElementDividerDto, ShopElementDto, ShopElementHeadingDto, ShopElementNoticeDto, ShopElementProductDto, ShopElementTextDto, StockOverviewDto, StockOverviewItemDto, StockPoolDto, TicketTemplateDto } from '#data/dto';
4
+ import { optional } from '#data/util';
5
+
6
+ @adapter
7
+ export class EventAdapter {
8
+ static parseEventFromObject(event: Record<string, any>): EventDto {
9
+ return new EventDto(
10
+ event.id,
11
+ event.name,
12
+ event.description,
13
+ DateTimeAdapter.parseDateTimeFromString(event.starts_on),
14
+ DateTimeAdapter.parseDateTimeFromString(event.ends_on),
15
+ event.minimum_age,
16
+ event.status,
17
+ optional(event.address, AddressAdapter.parseAddressFromObject)!,
18
+ optional(event.header_file, FileSystemAdapter.parsePictureFromObject)!,
19
+ DateTimeAdapter.parseDateTimeFromString(event.created_on),
20
+ DateTimeAdapter.parseDateTimeFromString(event.updated_on)
21
+ );
22
+ }
23
+
24
+ static parseEventAvailabilityFromObject(availability: Record<string, any>): EventAvailabilityDto {
25
+ return new EventAvailabilityDto(
26
+ availability.has_products,
27
+ availability.has_shops,
28
+ availability.has_shops_with_products,
29
+ availability.is_publishable,
30
+ availability.is_published
31
+ );
32
+ }
33
+
34
+ static parseEventCountersFromObject(counters: Record<string, any>): EventCountersDto {
35
+ return new EventCountersDto(
36
+ counters.guests,
37
+ counters.orders,
38
+ counters.tickets
39
+ );
40
+ }
41
+
42
+ static parseShopFromObject(shop: Record<string, any>): ShopDto {
43
+ return new ShopDto(
44
+ shop.id,
45
+ shop.name,
46
+ shop.is_published,
47
+ shop.password,
48
+ optional(shop.starts_on, DateTimeAdapter.parseDateTimeFromString),
49
+ optional(shop.ends_on, DateTimeAdapter.parseDateTimeFromString),
50
+ shop.field_address,
51
+ shop.field_birthdate,
52
+ shop.field_gender,
53
+ shop.field_phone_number,
54
+ shop.status,
55
+ optional(shop.design, EventAdapter.parseShopDesignFromObject),
56
+ optional(shop.event, EventAdapter.parseEventFromObject),
57
+ optional(shop.merchant, MerchantAdapter.parseMerchantFromObject)
58
+ );
59
+ }
60
+
61
+ static parseShopDesignFromObject(design: Record<string, any>): ShopDesignDto {
62
+ return new ShopDesignDto(
63
+ design.background_color,
64
+ design.foreground_color,
65
+ design.primary_color
66
+ );
67
+ }
68
+
69
+ static parseShopElementFromObject(element: Record<string, any>): ShopElementDto {
70
+ switch (element.type) {
71
+ case 'button':
72
+ return new ShopElementButtonDto(
73
+ element.id,
74
+ element.icon,
75
+ element.text,
76
+ element.url
77
+ );
78
+
79
+ case 'divider':
80
+ return new ShopElementDividerDto(
81
+ element.id,
82
+ element.icon,
83
+ element.text
84
+ );
85
+
86
+ case 'heading':
87
+ return new ShopElementHeadingDto(
88
+ element.id,
89
+ element.heading_level,
90
+ element.title
91
+ );
92
+
93
+ case 'notice':
94
+ return new ShopElementNoticeDto(
95
+ element.id,
96
+ element.icon,
97
+ element.notice_type,
98
+ element.title,
99
+ element.text
100
+ );
101
+
102
+ case 'product':
103
+ return new ShopElementProductDto(
104
+ element.id,
105
+ ProductAdapter.parseProductFromObject(element.product)
106
+ );
107
+
108
+ case 'text':
109
+ return new ShopElementTextDto(
110
+ element.id,
111
+ element.text
112
+ );
113
+ }
114
+
115
+ return new ShopElementTextDto(
116
+ 'unknown',
117
+ 'Unknown element type.'
118
+ );
119
+ }
120
+
121
+ static parseStockOverviewFromObject(overview: Record<string, any>): StockOverviewDto {
122
+ return new StockOverviewDto(
123
+ overview.total,
124
+ overview.sold,
125
+ overview.remaining,
126
+ overview.items.map(EventAdapter.parseStockOverviewItemFromObject)
127
+ );
128
+ }
129
+
130
+ static parseStockOverviewItemFromObject(item: Record<string, any>): StockOverviewItemDto {
131
+ return new StockOverviewItemDto(
132
+ EventAdapter.parseStockPoolFromObject(item.pool),
133
+ ProductAdapter.parseProductFromObject(item.product),
134
+ item.remaining,
135
+ item.sold
136
+ );
137
+ }
138
+
139
+ static parseStockPoolFromObject(pool: Record<string, any>): StockPoolDto {
140
+ return new StockPoolDto(
141
+ pool.id,
142
+ pool.event_id,
143
+ pool.merchant_id,
144
+ pool.name,
145
+ pool.remaining_stock,
146
+ pool.stock,
147
+ pool.is_shared,
148
+ pool.product_names ?? [],
149
+ DateTimeAdapter.parseDateTimeFromString(pool.created_on),
150
+ DateTimeAdapter.parseDateTimeFromString(pool.updated_on)
151
+ );
152
+ }
153
+
154
+ static parseTicketTemplateFromObject(template: Record<string, any>): TicketTemplateDto {
155
+ return new TicketTemplateDto(
156
+ template.id,
157
+ template.name,
158
+ optional(template.product, ProductAdapter.parseProductFromObject),
159
+ template.product_id,
160
+ template.variant,
161
+ optional(template.visual, FileSystemAdapter.parsePictureFromObject)
162
+ );
163
+ }
164
+
165
+ static parseEventStatisticsAttendanceFromObject(attendance: Record<string, any>): EventStatisticsAttendanceDto {
166
+ return new EventStatisticsAttendanceDto(
167
+ attendance.attended,
168
+ attendance.expected,
169
+ attendance.rate
170
+ );
171
+ }
172
+
173
+ static parseEventStatisticsBuyerTotalsFromObject(totals: Record<string, any>): EventStatisticsBuyerTotalsDto {
174
+ return new EventStatisticsBuyerTotalsDto(
175
+ totals.acquired,
176
+ totals.average_tickets,
177
+ totals.doubting,
178
+ totals.returning,
179
+ totals.total
180
+ );
181
+ }
182
+
183
+ static parseEventStatisticsFinancialFromObject(financial: Record<string, any>): EventStatisticsFinancialDto {
184
+ return new EventStatisticsFinancialDto(
185
+ PaymentAdapter.parseCostFromObject(financial.platform_cost),
186
+ PaymentAdapter.parseCostFromObject(financial.revenue)
187
+ );
188
+ }
189
+
190
+ static parseEventStatisticsOrdersFromObject(totals: Record<string, any>): EventStatisticsOrdersDto {
191
+ return new EventStatisticsOrdersDto(
192
+ totals.chart,
193
+ EventAdapter.parseEventStatisticsOrderTotalsFromObject(totals.totals)
194
+ );
195
+ }
196
+
197
+ static parseEventStatisticsOrderTotalsFromObject(totals: Record<string, any>): EventStatisticsOrderTotalsDto {
198
+ return new EventStatisticsOrderTotalsDto(
199
+ totals.fulfilled,
200
+ totals.interrupted,
201
+ totals.pending,
202
+ totals.total
203
+ );
204
+ }
205
+
206
+ static parseEventStatisticsScansFromObject(scans: Record<string, any>): EventStatisticsScansDto {
207
+ return new EventStatisticsScansDto(
208
+ scans.app_teams.map(EventAdapter.parseEventStatisticsScansPerAppTeamFromObject),
209
+ scans.chart,
210
+ EventAdapter.parseEventStatisticsScanTotalsFromObject(scans.totals)
211
+ );
212
+ }
213
+
214
+ static parseEventStatisticsScansPerAppTeamFromObject(appTeam: Record<string, any>): EventStatisticsScansPerAppTeamDto {
215
+ return new EventStatisticsScansPerAppTeamDto(
216
+ appTeam.id,
217
+ appTeam.name,
218
+ appTeam.scans
219
+ );
220
+ }
221
+
222
+ static parseEventStatisticsScanTotalsFromObject(totals: Record<string, any>): EventStatisticsScanTotalsDto {
223
+ return new EventStatisticsScanTotalsDto(
224
+ totals.total,
225
+ totals.checkins,
226
+ totals.checkouts
227
+ );
228
+ }
229
+
230
+ static parseEventStatisticsSwapTotalsFromObject(totals: Record<string, any>): EventStatisticsSwapTotalsDto {
231
+ return new EventStatisticsSwapTotalsDto(
232
+ totals.swaps,
233
+ totals.tickets,
234
+ totals.rate
235
+ );
236
+ }
237
+ }
@@ -0,0 +1,13 @@
1
+ import { adapter } from '@basmilius/http-client';
2
+ import { PictureDto } from '#data/dto';
3
+
4
+ @adapter
5
+ export class FileSystemAdapter {
6
+ static parsePictureFromObject(picture: Record<string, any>): PictureDto {
7
+ return new PictureDto(
8
+ picture.id,
9
+ picture.url,
10
+ picture.variants
11
+ );
12
+ }
13
+ }
@@ -0,0 +1,40 @@
1
+ import { adapter } from '@basmilius/http-client';
2
+ import { DateTimeAdapter, PaymentAdapter } from '#data/adapter';
3
+ import { FinanceOverviewDto, InvoiceDto, InvoiceLineDto } from '#data/dto';
4
+ import { optionalArray } from '#data/util';
5
+
6
+ @adapter
7
+ export class FinanceAdapter {
8
+ static parseFinanceOverviewFromObject(overview: Record<string, any>): FinanceOverviewDto {
9
+ return new FinanceOverviewDto(
10
+ PaymentAdapter.parseCostFromObject(overview.estimated_payment_cost),
11
+ overview.orders,
12
+ PaymentAdapter.parseCostFromObject(overview.platform_cost),
13
+ PaymentAdapter.parseCostFromObject(overview.revenue)
14
+ );
15
+ }
16
+
17
+ static parseInvoiceFromObject(invoice: Record<string, any>): InvoiceDto {
18
+ return new InvoiceDto(
19
+ invoice.id,
20
+ invoice.number,
21
+ invoice.sequence,
22
+ invoice.status,
23
+ invoice.year,
24
+ PaymentAdapter.parseCostFromObject(invoice.total),
25
+ optionalArray(invoice.lines, FinanceAdapter.parseInvoiceLineFromObject)!,
26
+ DateTimeAdapter.parseDateTimeFromString(invoice.created_on),
27
+ DateTimeAdapter.parseDateTimeFromString(invoice.updated_on)
28
+ );
29
+ }
30
+
31
+ static parseInvoiceLineFromObject(line: Record<string, any>): InvoiceLineDto {
32
+ return new InvoiceLineDto(
33
+ line.id,
34
+ line.type,
35
+ PaymentAdapter.parseCostFromObject(line.cost),
36
+ DateTimeAdapter.parseDateTimeFromString(line.created_on),
37
+ DateTimeAdapter.parseDateTimeFromString(line.updated_on)
38
+ );
39
+ }
40
+ }
@@ -0,0 +1,21 @@
1
+ import { adapter } from '@basmilius/http-client';
2
+ import type { FluxFormSelectEntry, FluxFormSelectGroup, FluxFormSelectOption } from '@flux-ui/types';
3
+
4
+ @adapter
5
+ export class FluxAdapter {
6
+ static parseFluxFormSelectEntryFromObject(entry: object): FluxFormSelectEntry {
7
+ if ('value' in entry) {
8
+ return FluxAdapter.parseFluxFormSelectOptionFromObject(entry);
9
+ }
10
+
11
+ return FluxAdapter.parseFluxFormSelectGroupFromObject(entry);
12
+ }
13
+
14
+ static parseFluxFormSelectGroupFromObject(group: object): FluxFormSelectGroup {
15
+ return group as FluxFormSelectGroup;
16
+ }
17
+
18
+ static parseFluxFormSelectOptionFromObject(option: object): FluxFormSelectOption {
19
+ return option as FluxFormSelectOption;
20
+ }
21
+ }
@@ -0,0 +1,70 @@
1
+ import { adapter } from '@basmilius/http-client';
2
+ import { AddressAdapter, AuthAdapter, DateTimeAdapter, FileSystemAdapter, PaymentAdapter } from '#data/adapter';
3
+ import { ContractDto, InvitationDto, MerchantDto, MerchantUserDto, VatNumberDto } from '#data/dto';
4
+ import { optional } from '#data/util';
5
+
6
+ @adapter
7
+ export class MerchantAdapter {
8
+ static parseContractFromObject(contract: Record<string, any>): ContractDto {
9
+ return new ContractDto(
10
+ contract.id,
11
+ DateTimeAdapter.parseDateTimeFromString(contract.starts_on),
12
+ DateTimeAdapter.parseDateTimeFromString(contract.ends_on),
13
+ PaymentAdapter.parseCostFromObject(contract.fee),
14
+ contract.remark
15
+ );
16
+ }
17
+
18
+ static parseInvitationFromObject(invitation: Record<string, any>): InvitationDto {
19
+ return new InvitationDto(
20
+ invitation.id,
21
+ invitation.merchant_id,
22
+ invitation.user_id,
23
+ invitation.claims,
24
+ invitation.is_new_user,
25
+ DateTimeAdapter.parseDateTimeFromString(invitation.created_on),
26
+ DateTimeAdapter.parseDateTimeFromString(invitation.updated_on),
27
+ MerchantAdapter.parseMerchantFromObject(invitation.merchant),
28
+ AuthAdapter.parseUserFromObject(invitation.user)
29
+ );
30
+ }
31
+
32
+ static parseMerchantFromObject(merchant: Record<string, any>): MerchantDto {
33
+ return new MerchantDto(
34
+ merchant.id,
35
+ merchant.name,
36
+ merchant.email,
37
+ merchant.phone_number,
38
+ merchant.url,
39
+ merchant.chamber_of_commerce_number,
40
+ merchant.vat_number,
41
+ merchant.currency,
42
+ optional(merchant.address, AddressAdapter.parseAddressFromObject),
43
+ optional(merchant.current_contract, MerchantAdapter.parseContractFromObject),
44
+ optional(merchant.logo, FileSystemAdapter.parsePictureFromObject),
45
+ optional(merchant.created_on, DateTimeAdapter.parseDateTimeFromString),
46
+ optional(merchant.updated_on, DateTimeAdapter.parseDateTimeFromString)
47
+ );
48
+ }
49
+
50
+ static parseMerchantUserFromObject(merchantUser: Record<string, any>): MerchantUserDto {
51
+ return new MerchantUserDto(
52
+ merchantUser.is_manager,
53
+ DateTimeAdapter.parseDateTimeFromString(merchantUser.created_on),
54
+ DateTimeAdapter.parseDateTimeFromString(merchantUser.updated_on),
55
+ AuthAdapter.parseUserFromObject(merchantUser.user)
56
+ );
57
+ }
58
+
59
+ static parseVatNumberFromObject(vatNumber: Record<string, any>): VatNumberDto {
60
+ return new VatNumberDto(
61
+ vatNumber.id,
62
+ vatNumber.vat_number,
63
+ vatNumber.name,
64
+ vatNumber.address,
65
+ vatNumber.country_code,
66
+ DateTimeAdapter.parseDateTimeFromString(vatNumber.created_on),
67
+ DateTimeAdapter.parseDateTimeFromString(vatNumber.updated_on)
68
+ );
69
+ }
70
+ }
@@ -0,0 +1,29 @@
1
+ import { adapter } from '@basmilius/http-client';
2
+ import { DateTimeAdapter, FileSystemAdapter } from '#data/adapter';
3
+ import { MerchantDashboardKeyMetricsDto, MerchantDashboardUpcomingEventDto } from '#data/dto';
4
+
5
+ @adapter
6
+ export class MerchantDashboardAdapter {
7
+ static parseKeyMetricsFromObject(keyMetrics: Record<string, any>): MerchantDashboardKeyMetricsDto {
8
+ return new MerchantDashboardKeyMetricsDto(
9
+ keyMetrics.revenue,
10
+ keyMetrics.tickets,
11
+ keyMetrics.events,
12
+ keyMetrics.tasks
13
+ );
14
+ }
15
+
16
+ static parseUpcomingEventFromObject(event: Record<string, any>): MerchantDashboardUpcomingEventDto {
17
+ return new MerchantDashboardUpcomingEventDto(
18
+ event.id,
19
+ event.name,
20
+ event.description,
21
+ FileSystemAdapter.parsePictureFromObject(event.header_file),
22
+ event.status,
23
+ DateTimeAdapter.parseDateTimeFromString(event.starts_on),
24
+ event.tickets_sold,
25
+ event.tickets_total,
26
+ event.sell_through_rate
27
+ );
28
+ }
29
+ }
@@ -0,0 +1,55 @@
1
+ import { adapter } from '@basmilius/http-client';
2
+ import { BuyerAdapter, DateTimeAdapter, EventAdapter, PaymentAdapter, PublicShopAdapter } from '#data/adapter';
3
+ import { OrderDto, OrderLineDto, OrderPaymentProviderDto, OrderProductDto } from '#data/dto';
4
+ import { optional, optionalArray } from '#data/util';
5
+
6
+ @adapter
7
+ export class OrderAdapter {
8
+ static parseOrderFromObject(order: Record<string, any>): OrderDto {
9
+ return new OrderDto(
10
+ order.id,
11
+ order.code,
12
+ order.origin,
13
+ order.type,
14
+ DateTimeAdapter.parseDateTimeFromString(order.created_on),
15
+ optional(order.payment_provider, OrderAdapter.parseOrderPaymentProviderFromObject),
16
+ optional(order.platform_cost, PaymentAdapter.parseCostFromObject)!,
17
+ optional(order.sub_total, PaymentAdapter.parseCostFromObject)!,
18
+ optional(order.total, PaymentAdapter.parseCostFromObject)!,
19
+ order.url,
20
+ optional(order.buyer, BuyerAdapter.parseBuyerFromObject),
21
+ optional(order.event, EventAdapter.parseEventFromObject),
22
+ optionalArray(order.lines, OrderAdapter.parseOrderLineFromObject),
23
+ optional(order.shop, PublicShopAdapter.parsePublicShopFromObject),
24
+ optional(order.transaction, PaymentAdapter.parseTransactionFromObject)
25
+ );
26
+ }
27
+
28
+ static parseOrderLineFromObject(line: Record<string, any>): OrderLineDto {
29
+ return new OrderLineDto(
30
+ line.id,
31
+ PaymentAdapter.parseCostFromObject(line.price),
32
+ line.quantity,
33
+ OrderAdapter.parseOrderProductFromObject(line.product),
34
+ PaymentAdapter.parseCostFromObject(line.sub_total),
35
+ DateTimeAdapter.parseDateTimeFromString(line.created_on),
36
+ DateTimeAdapter.parseDateTimeFromString(line.updated_on)
37
+ );
38
+ }
39
+
40
+ static parseOrderPaymentProviderFromObject(provider: Record<string, any>): OrderPaymentProviderDto {
41
+ return new OrderPaymentProviderDto(
42
+ provider.name,
43
+ provider.url
44
+ );
45
+ }
46
+
47
+ static parseOrderProductFromObject(product: Record<string, any>): OrderProductDto {
48
+ return new OrderProductDto(
49
+ product.id,
50
+ product.name,
51
+ product.description,
52
+ product.image
53
+ );
54
+ }
55
+ }
@@ -0,0 +1,48 @@
1
+ import { adapter } from '@basmilius/http-client';
2
+ import { OrderAdapter } from '#data/adapter';
3
+ import { CostDto, PaymentMethodDto, PaymentProviderDto, TransactionDto } from '#data/dto';
4
+ import { optional } from '#data/util';
5
+
6
+ @adapter
7
+ export class PaymentAdapter {
8
+ static parseCostFromObject(cost: Record<string, any>): CostDto {
9
+ return new CostDto(
10
+ cost.currency_code,
11
+ cost.currency_decimals,
12
+ cost.currency_sign,
13
+ cost.decimal,
14
+ cost.formatted,
15
+ cost.value
16
+ );
17
+ }
18
+
19
+ static parsePaymentMethodFromObject(method: Record<string, any>): PaymentMethodDto {
20
+ return new PaymentMethodDto(
21
+ method.id,
22
+ method.name,
23
+ method.image
24
+ );
25
+ }
26
+
27
+ static parsePaymentProviderFromObject(provider: Record<string, any>): PaymentProviderDto {
28
+ return new PaymentProviderDto(
29
+ provider.id,
30
+ provider.type,
31
+ provider.methods.map(PaymentAdapter.parsePaymentMethodFromObject)
32
+ );
33
+ }
34
+
35
+ static parseTransactionFromObject(transaction: Record<string, any>): TransactionDto {
36
+ return new TransactionDto(
37
+ transaction.id,
38
+ transaction.description,
39
+ transaction.status,
40
+ PaymentAdapter.parseCostFromObject(transaction.cost),
41
+ transaction.metadata,
42
+ transaction.external_checkout_url,
43
+ transaction.external_details,
44
+ optional(transaction.order, OrderAdapter.parseOrderFromObject),
45
+ optional(transaction.payment_method, PaymentAdapter.parsePaymentMethodFromObject)
46
+ );
47
+ }
48
+ }
@@ -0,0 +1,24 @@
1
+ import { adapter } from '@basmilius/http-client';
2
+ import { EventAdapter, FileSystemAdapter, PaymentAdapter } from '#data/adapter';
3
+ import { ProductDto } from '#data/dto';
4
+ import { optional, optionalArray } from '#data/util';
5
+
6
+ @adapter
7
+ export class ProductAdapter {
8
+ static parseProductFromObject(product: Record<string, any>): ProductDto {
9
+ return new ProductDto(
10
+ product.id,
11
+ product.type,
12
+ product.name,
13
+ product.description,
14
+ optional(product.price, PaymentAdapter.parseCostFromObject),
15
+ product.max_quantity,
16
+ product.is_active,
17
+ product.is_swappable,
18
+ product.remaining_stock,
19
+ optional(product.stock_pool, EventAdapter.parseStockPoolFromObject),
20
+ optional(product.image, FileSystemAdapter.parsePictureFromObject),
21
+ optionalArray(product.images, FileSystemAdapter.parsePictureFromObject)!
22
+ );
23
+ }
24
+ }
@@ -0,0 +1,13 @@
1
+ import { adapter } from '@basmilius/http-client';
2
+ import { PublicPaymentMethodDto } from '#data/dto';
3
+
4
+ @adapter
5
+ export class PublicPayAdapter {
6
+ static parsePublicPaymentMethodFromObject(method: Record<string, any>): PublicPaymentMethodDto {
7
+ return new PublicPaymentMethodDto(
8
+ method.id,
9
+ method.name,
10
+ method.image
11
+ );
12
+ }
13
+ }