@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.
- package/CODEOWNERS +1 -0
- package/LICENSE +21 -0
- package/README.md +19 -0
- package/dist/adapter/AddressAdapter.d.ts +3 -0
- package/dist/adapter/AuthAdapter.d.ts +6 -0
- package/dist/adapter/BuyerAdapter.d.ts +4 -0
- package/dist/adapter/CommonAdapter.d.ts +4 -0
- package/dist/adapter/DateTimeAdapter.d.ts +4 -0
- package/dist/adapter/EventAdapter.d.ts +22 -0
- package/dist/adapter/FileSystemAdapter.d.ts +4 -0
- package/dist/adapter/FinanceAdapter.d.ts +6 -0
- package/dist/adapter/FluxAdapter.d.ts +6 -0
- package/dist/adapter/MerchantAdapter.d.ts +8 -0
- package/dist/adapter/MerchantDashboardAdapter.d.ts +5 -0
- package/dist/adapter/OrderAdapter.d.ts +7 -0
- package/dist/adapter/PaymentAdapter.d.ts +7 -0
- package/dist/adapter/ProductAdapter.d.ts +4 -0
- package/dist/adapter/PublicPayAdapter.d.ts +4 -0
- package/dist/adapter/PublicShopAdapter.d.ts +13 -0
- package/dist/adapter/ReservationAdapter.d.ts +6 -0
- package/dist/adapter/TicketAdapter.d.ts +4 -0
- package/dist/adapter/index.d.ts +18 -0
- package/dist/dto/address/AddressDto.d.ts +20 -0
- package/dist/dto/address/index.d.ts +1 -0
- package/dist/dto/auth/TotpStateDto.d.ts +10 -0
- package/dist/dto/auth/UserDto.d.ts +23 -0
- package/dist/dto/auth/UserTokenDto.d.ts +23 -0
- package/dist/dto/auth/index.d.ts +3 -0
- package/dist/dto/common/StatusResponseDto.d.ts +8 -0
- package/dist/dto/common/index.d.ts +1 -0
- package/dist/dto/event/EventAvailabilityDto.d.ts +14 -0
- package/dist/dto/event/EventCountersDto.d.ts +10 -0
- package/dist/dto/event/EventDto.d.ts +29 -0
- package/dist/dto/event/EventStatisticsAttendanceDto.d.ts +10 -0
- package/dist/dto/event/EventStatisticsBuyerTotalsDto.d.ts +14 -0
- package/dist/dto/event/EventStatisticsFinancialDto.d.ts +9 -0
- package/dist/dto/event/EventStatisticsOrderTotalsDto.d.ts +12 -0
- package/dist/dto/event/EventStatisticsOrdersDto.d.ts +10 -0
- package/dist/dto/event/EventStatisticsScanTotalsDto.d.ts +10 -0
- package/dist/dto/event/EventStatisticsScansDto.d.ts +12 -0
- package/dist/dto/event/EventStatisticsScansPerAppTeamDto.d.ts +10 -0
- package/dist/dto/event/EventStatisticsSwapTotalsDto.d.ts +10 -0
- package/dist/dto/event/ShopDesignDto.d.ts +10 -0
- package/dist/dto/event/ShopDto.d.ts +35 -0
- package/dist/dto/event/ShopElementButtonDto.d.ts +12 -0
- package/dist/dto/event/ShopElementDividerDto.d.ts +10 -0
- package/dist/dto/event/ShopElementDto.d.ts +9 -0
- package/dist/dto/event/ShopElementHeadingDto.d.ts +10 -0
- package/dist/dto/event/ShopElementNoticeDto.d.ts +15 -0
- package/dist/dto/event/ShopElementProductDto.d.ts +7 -0
- package/dist/dto/event/ShopElementTextDto.d.ts +7 -0
- package/dist/dto/event/StockOverviewDto.d.ts +13 -0
- package/dist/dto/event/StockOverviewItemDto.d.ts +13 -0
- package/dist/dto/event/StockPoolDto.d.ts +25 -0
- package/dist/dto/event/TicketTemplateDto.d.ts +18 -0
- package/dist/dto/event/index.d.ts +25 -0
- package/dist/dto/fileSystem/PictureDto.d.ts +10 -0
- package/dist/dto/fileSystem/index.d.ts +1 -0
- package/dist/dto/finance/FinanceOverviewDto.d.ts +13 -0
- package/dist/dto/finance/InvoiceDto.d.ts +25 -0
- package/dist/dto/finance/InvoiceLineDto.d.ts +17 -0
- package/dist/dto/finance/index.d.ts +3 -0
- package/dist/dto/index.d.ts +14 -0
- package/dist/dto/merchant/ContractDto.d.ts +16 -0
- package/dist/dto/merchant/InvitationDto.d.ts +25 -0
- package/dist/dto/merchant/MerchantDashboardKeyMetricsDto.d.ts +22 -0
- package/dist/dto/merchant/MerchantDashboardUpcomingEventDto.d.ts +25 -0
- package/dist/dto/merchant/MerchantDto.d.ts +32 -0
- package/dist/dto/merchant/MerchantUserDto.d.ts +14 -0
- package/dist/dto/merchant/VatNumberDto.d.ts +19 -0
- package/dist/dto/merchant/index.d.ts +7 -0
- package/dist/dto/order/BuyerDto.d.ts +27 -0
- package/dist/dto/order/OrderDto.d.ts +37 -0
- package/dist/dto/order/OrderLineDto.d.ts +20 -0
- package/dist/dto/order/OrderPaymentProviderDto.d.ts +8 -0
- package/dist/dto/order/OrderProductDto.d.ts +12 -0
- package/dist/dto/order/index.d.ts +5 -0
- package/dist/dto/payment/CostDto.d.ts +16 -0
- package/dist/dto/payment/PaymentMethodDto.d.ts +10 -0
- package/dist/dto/payment/PaymentProviderDto.d.ts +12 -0
- package/dist/dto/payment/TransactionDto.d.ts +24 -0
- package/dist/dto/payment/index.d.ts +4 -0
- package/dist/dto/product/ProductDto.d.ts +30 -0
- package/dist/dto/product/index.d.ts +1 -0
- package/dist/dto/publicPay/PublicPaymentMethodDto.d.ts +10 -0
- package/dist/dto/publicPay/index.d.ts +1 -0
- package/dist/dto/publicShop/PublicShopCartProductDto.d.ts +10 -0
- package/dist/dto/publicShop/PublicShopDesignDto.d.ts +10 -0
- package/dist/dto/publicShop/PublicShopDto.d.ts +31 -0
- package/dist/dto/publicShop/PublicShopElementButtonDto.d.ts +12 -0
- package/dist/dto/publicShop/PublicShopElementDividerDto.d.ts +10 -0
- package/dist/dto/publicShop/PublicShopElementDto.d.ts +9 -0
- package/dist/dto/publicShop/PublicShopElementHeadingDto.d.ts +10 -0
- package/dist/dto/publicShop/PublicShopElementNoticeDto.d.ts +15 -0
- package/dist/dto/publicShop/PublicShopElementProductDto.d.ts +7 -0
- package/dist/dto/publicShop/PublicShopElementTextDto.d.ts +7 -0
- package/dist/dto/publicShop/PublicShopEventDto.d.ts +16 -0
- package/dist/dto/publicShop/PublicShopMerchantDto.d.ts +8 -0
- package/dist/dto/publicShop/PublicShopProductDto.d.ts +28 -0
- package/dist/dto/publicShop/PublicShopReservationDto.d.ts +14 -0
- package/dist/dto/publicShop/PublicShopReservationProductDetailsDto.d.ts +13 -0
- package/dist/dto/publicShop/PublicShopReservationProductDto.d.ts +9 -0
- package/dist/dto/publicShop/PublicShopTimeSlotDto.d.ts +15 -0
- package/dist/dto/publicShop/index.d.ts +17 -0
- package/dist/dto/reservation/ReservationDto.d.ts +16 -0
- package/dist/dto/reservation/ReservationItemDto.d.ts +9 -0
- package/dist/dto/reservation/ReservationProductDto.d.ts +13 -0
- package/dist/dto/reservation/index.d.ts +3 -0
- package/dist/dto/ticket/TicketDto.d.ts +31 -0
- package/dist/dto/ticket/index.d.ts +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +136 -0
- package/dist/service/AuthService.d.ts +11 -0
- package/dist/service/InvitationService.d.ts +7 -0
- package/dist/service/MeService.d.ts +12 -0
- package/dist/service/MerchantBuyerService.d.ts +7 -0
- package/dist/service/MerchantBuyersService.d.ts +5 -0
- package/dist/service/MerchantDashboardService.d.ts +6 -0
- package/dist/service/MerchantEventProductService.d.ts +10 -0
- package/dist/service/MerchantEventProductsService.d.ts +8 -0
- package/dist/service/MerchantEventService.d.ts +13 -0
- package/dist/service/MerchantEventShopService.d.ts +9 -0
- package/dist/service/MerchantEventShopsService.d.ts +8 -0
- package/dist/service/MerchantEventStatisticsService.d.ts +10 -0
- package/dist/service/MerchantEventStockPoolsService.d.ts +9 -0
- package/dist/service/MerchantEventTicketTemplateService.d.ts +11 -0
- package/dist/service/MerchantEventTicketTemplatesService.d.ts +9 -0
- package/dist/service/MerchantEventsService.d.ts +7 -0
- package/dist/service/MerchantFinanceInvoiceService.d.ts +6 -0
- package/dist/service/MerchantFinanceInvoicesService.d.ts +5 -0
- package/dist/service/MerchantFinanceService.d.ts +8 -0
- package/dist/service/MerchantOrderService.d.ts +9 -0
- package/dist/service/MerchantOrdersService.d.ts +5 -0
- package/dist/service/MerchantService.d.ts +14 -0
- package/dist/service/MerchantStatisticsService.d.ts +5 -0
- package/dist/service/MerchantTicketService.d.ts +7 -0
- package/dist/service/MerchantTicketsService.d.ts +5 -0
- package/dist/service/MerchantUsersService.d.ts +7 -0
- package/dist/service/MerchantsService.d.ts +5 -0
- package/dist/service/PublicOrderService.d.ts +7 -0
- package/dist/service/PublicShopService.d.ts +9 -0
- package/dist/service/ReservationService.d.ts +6 -0
- package/dist/service/ServicesService.d.ts +9 -0
- package/dist/service/UiSelectOptionsService.d.ts +6 -0
- package/dist/service/index.d.ts +32 -0
- package/dist/types/index.d.ts +9 -0
- package/dist/util/emptyNull.d.ts +1 -0
- package/dist/util/index.d.ts +4 -0
- package/dist/util/jsonBlob.d.ts +1 -0
- package/dist/util/optional.d.ts +4 -0
- package/dist/util/optionalArray.d.ts +1 -0
- package/package.json +62 -0
- package/src/adapter/AddressAdapter.ts +18 -0
- package/src/adapter/AuthAdapter.ts +42 -0
- package/src/adapter/BuyerAdapter.ts +22 -0
- package/src/adapter/CommonAdapter.ts +12 -0
- package/src/adapter/DateTimeAdapter.ts +11 -0
- package/src/adapter/EventAdapter.ts +237 -0
- package/src/adapter/FileSystemAdapter.ts +13 -0
- package/src/adapter/FinanceAdapter.ts +40 -0
- package/src/adapter/FluxAdapter.ts +21 -0
- package/src/adapter/MerchantAdapter.ts +70 -0
- package/src/adapter/MerchantDashboardAdapter.ts +29 -0
- package/src/adapter/OrderAdapter.ts +55 -0
- package/src/adapter/PaymentAdapter.ts +48 -0
- package/src/adapter/ProductAdapter.ts +24 -0
- package/src/adapter/PublicPayAdapter.ts +13 -0
- package/src/adapter/PublicShopAdapter.ts +149 -0
- package/src/adapter/ReservationAdapter.ts +33 -0
- package/src/adapter/TicketAdapter.ts +24 -0
- package/src/adapter/index.ts +18 -0
- package/src/dto/address/AddressDto.ts +88 -0
- package/src/dto/address/index.ts +1 -0
- package/src/dto/auth/TotpStateDto.ts +38 -0
- package/src/dto/auth/UserDto.ts +99 -0
- package/src/dto/auth/UserTokenDto.ts +91 -0
- package/src/dto/auth/index.ts +3 -0
- package/src/dto/common/StatusResponseDto.ts +28 -0
- package/src/dto/common/index.ts +1 -0
- package/src/dto/event/EventAvailabilityDto.ts +58 -0
- package/src/dto/event/EventCountersDto.ts +38 -0
- package/src/dto/event/EventDto.ts +121 -0
- package/src/dto/event/EventStatisticsAttendanceDto.ts +38 -0
- package/src/dto/event/EventStatisticsBuyerTotalsDto.ts +58 -0
- package/src/dto/event/EventStatisticsFinancialDto.ts +29 -0
- package/src/dto/event/EventStatisticsOrderTotalsDto.ts +48 -0
- package/src/dto/event/EventStatisticsOrdersDto.ts +30 -0
- package/src/dto/event/EventStatisticsScanTotalsDto.ts +38 -0
- package/src/dto/event/EventStatisticsScansDto.ts +40 -0
- package/src/dto/event/EventStatisticsScansPerAppTeamDto.ts +38 -0
- package/src/dto/event/EventStatisticsSwapTotalsDto.ts +38 -0
- package/src/dto/event/ShopDesignDto.ts +38 -0
- package/src/dto/event/ShopDto.ts +151 -0
- package/src/dto/event/ShopElementButtonDto.ts +41 -0
- package/src/dto/event/ShopElementDividerDto.ts +31 -0
- package/src/dto/event/ShopElementDto.ts +27 -0
- package/src/dto/event/ShopElementHeadingDto.ts +31 -0
- package/src/dto/event/ShopElementNoticeDto.ts +52 -0
- package/src/dto/event/ShopElementProductDto.ts +20 -0
- package/src/dto/event/ShopElementTextDto.ts +20 -0
- package/src/dto/event/StockOverviewDto.ts +49 -0
- package/src/dto/event/StockOverviewItemDto.ts +49 -0
- package/src/dto/event/StockPoolDto.ts +109 -0
- package/src/dto/event/TicketTemplateDto.ts +70 -0
- package/src/dto/event/index.ts +25 -0
- package/src/dto/fileSystem/PictureDto.ts +38 -0
- package/src/dto/fileSystem/index.ts +1 -0
- package/src/dto/finance/FinanceOverviewDto.ts +49 -0
- package/src/dto/finance/InvoiceDto.ts +101 -0
- package/src/dto/finance/InvoiceLineDto.ts +61 -0
- package/src/dto/finance/index.ts +3 -0
- package/src/dto/index.ts +14 -0
- package/src/dto/merchant/ContractDto.ts +60 -0
- package/src/dto/merchant/InvitationDto.ts +101 -0
- package/src/dto/merchant/MerchantDashboardKeyMetricsDto.ts +59 -0
- package/src/dto/merchant/MerchantDashboardUpcomingEventDto.ts +101 -0
- package/src/dto/merchant/MerchantDto.ts +140 -0
- package/src/dto/merchant/MerchantUserDto.ts +50 -0
- package/src/dto/merchant/VatNumberDto.ts +79 -0
- package/src/dto/merchant/index.ts +7 -0
- package/src/dto/order/BuyerDto.ts +111 -0
- package/src/dto/order/OrderDto.ts +161 -0
- package/src/dto/order/OrderLineDto.ts +80 -0
- package/src/dto/order/OrderPaymentProviderDto.ts +28 -0
- package/src/dto/order/OrderProductDto.ts +48 -0
- package/src/dto/order/index.ts +5 -0
- package/src/dto/payment/CostDto.ts +68 -0
- package/src/dto/payment/PaymentMethodDto.ts +38 -0
- package/src/dto/payment/PaymentProviderDto.ts +40 -0
- package/src/dto/payment/TransactionDto.ts +100 -0
- package/src/dto/payment/index.ts +4 -0
- package/src/dto/product/ProductDto.ts +130 -0
- package/src/dto/product/index.ts +1 -0
- package/src/dto/publicPay/PublicPaymentMethodDto.ts +38 -0
- package/src/dto/publicPay/index.ts +1 -0
- package/src/dto/publicShop/PublicShopCartProductDto.ts +38 -0
- package/src/dto/publicShop/PublicShopDesignDto.ts +38 -0
- package/src/dto/publicShop/PublicShopDto.ts +131 -0
- package/src/dto/publicShop/PublicShopElementButtonDto.ts +41 -0
- package/src/dto/publicShop/PublicShopElementDividerDto.ts +31 -0
- package/src/dto/publicShop/PublicShopElementDto.ts +27 -0
- package/src/dto/publicShop/PublicShopElementHeadingDto.ts +31 -0
- package/src/dto/publicShop/PublicShopElementNoticeDto.ts +52 -0
- package/src/dto/publicShop/PublicShopElementProductDto.ts +20 -0
- package/src/dto/publicShop/PublicShopElementTextDto.ts +20 -0
- package/src/dto/publicShop/PublicShopEventDto.ts +60 -0
- package/src/dto/publicShop/PublicShopMerchantDto.ts +28 -0
- package/src/dto/publicShop/PublicShopProductDto.ts +120 -0
- package/src/dto/publicShop/PublicShopReservationDto.ts +50 -0
- package/src/dto/publicShop/PublicShopReservationProductDetailsDto.ts +49 -0
- package/src/dto/publicShop/PublicShopReservationProductDto.ts +29 -0
- package/src/dto/publicShop/PublicShopTimeSlotDto.ts +59 -0
- package/src/dto/publicShop/index.ts +17 -0
- package/src/dto/reservation/ReservationDto.ts +60 -0
- package/src/dto/reservation/ReservationItemDto.ts +29 -0
- package/src/dto/reservation/ReservationProductDto.ts +49 -0
- package/src/dto/reservation/index.ts +3 -0
- package/src/dto/ticket/TicketDto.ts +131 -0
- package/src/dto/ticket/index.ts +1 -0
- package/src/index.ts +5 -0
- package/src/service/AuthService.ts +71 -0
- package/src/service/InvitationService.ts +35 -0
- package/src/service/MeService.ts +106 -0
- package/src/service/MerchantBuyerService.ts +37 -0
- package/src/service/MerchantBuyersService.ts +17 -0
- package/src/service/MerchantDashboardService.ts +23 -0
- package/src/service/MerchantEventProductService.ts +76 -0
- package/src/service/MerchantEventProductsService.ts +48 -0
- package/src/service/MerchantEventService.ts +115 -0
- package/src/service/MerchantEventShopService.ts +66 -0
- package/src/service/MerchantEventShopsService.ts +43 -0
- package/src/service/MerchantEventStatisticsService.ts +65 -0
- package/src/service/MerchantEventStockPoolsService.ts +54 -0
- package/src/service/MerchantEventTicketTemplateService.ts +75 -0
- package/src/service/MerchantEventTicketTemplatesService.ts +53 -0
- package/src/service/MerchantEventsService.ts +35 -0
- package/src/service/MerchantFinanceInvoiceService.ts +25 -0
- package/src/service/MerchantFinanceInvoicesService.ts +17 -0
- package/src/service/MerchantFinanceService.ts +36 -0
- package/src/service/MerchantOrderService.ts +55 -0
- package/src/service/MerchantOrdersService.ts +26 -0
- package/src/service/MerchantService.ts +117 -0
- package/src/service/MerchantStatisticsService.ts +14 -0
- package/src/service/MerchantTicketService.ts +35 -0
- package/src/service/MerchantTicketsService.ts +26 -0
- package/src/service/MerchantUsersService.ts +34 -0
- package/src/service/MerchantsService.ts +15 -0
- package/src/service/PublicOrderService.ts +35 -0
- package/src/service/PublicShopService.ts +49 -0
- package/src/service/ReservationService.ts +23 -0
- package/src/service/ServicesService.ts +18 -0
- package/src/service/UiSelectOptionsService.ts +33 -0
- package/src/service/index.ts +32 -0
- package/src/types/auth.ts +47 -0
- package/src/types/event.ts +28 -0
- package/src/types/finance.ts +14 -0
- package/src/types/general.ts +19 -0
- package/src/types/index.ts +9 -0
- package/src/types/order.ts +7 -0
- package/src/types/payment.ts +11 -0
- package/src/types/product.ts +2 -0
- package/src/types/publicShop.ts +7 -0
- package/src/types/ticket.ts +12 -0
- package/src/util/emptyNull.ts +9 -0
- package/src/util/index.ts +4 -0
- package/src/util/jsonBlob.ts +5 -0
- package/src/util/optional.ts +7 -0
- 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,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
|
+
}
|