wedance-shared 1.0.37 → 1.0.39
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/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/types/event.d.ts +5 -4
- package/dist/types/festivals/festival.d.ts +2 -2
- package/dist/types/festivals/index.d.ts +2 -2
- package/dist/types/festivals/index.js +2 -2
- package/dist/types/festivals/index.js.map +1 -1
- package/dist/types/festivals/user.d.ts +1 -1
- package/dist/types/index.d.ts +8 -8
- package/dist/types/index.js +8 -8
- package/dist/types/index.js.map +1 -1
- package/dist/types/organizer.d.ts +1 -1
- package/dist/types/ticket.d.ts +59 -14
- package/dist/types/user.d.ts +4 -4
- package/dist/utils/date.js +1 -1
- package/dist/utils/date.js.map +1 -1
- package/package.json +8 -1
- package/src/index.ts +2 -2
- package/src/types/event.ts +6 -4
- package/src/types/festivals/festival.ts +2 -2
- package/src/types/festivals/index.ts +2 -2
- package/src/types/festivals/user.ts +1 -1
- package/src/types/index.ts +8 -8
- package/src/types/organizer.ts +1 -1
- package/src/types/ticket.ts +64 -19
- package/src/types/user.ts +4 -4
- package/src/utils/date.ts +1 -1
- package/tsconfig.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from "./types";
|
|
2
|
-
export * from "./utils/date";
|
|
1
|
+
export * from "./types/index.js";
|
|
2
|
+
export * from "./utils/date.js";
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from "./types";
|
|
2
|
-
export * from "./utils/date";
|
|
1
|
+
export * from "./types/index.js";
|
|
2
|
+
export * from "./utils/date.js";
|
|
3
3
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC"}
|
package/dist/types/event.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Timestamp } from "firebase/firestore";
|
|
2
|
-
import { City } from "./city";
|
|
3
|
-
import { OrganizerName } from "./organizer";
|
|
4
|
-
import { EventTicket } from "./ticket";
|
|
5
|
-
import { UserBadge } from "./user";
|
|
2
|
+
import { City } from "./city.js";
|
|
3
|
+
import { OrganizerName } from "./organizer.js";
|
|
4
|
+
import { EventTicket } from "./ticket.js";
|
|
5
|
+
import { UserBadge } from "./user.js";
|
|
6
6
|
export type DanceTag = "salsa" | "kizomba" | "bachata" | "zouk";
|
|
7
7
|
export type Organizer = {
|
|
8
8
|
name: OrganizerName;
|
|
@@ -30,6 +30,7 @@ export type ImageData = {
|
|
|
30
30
|
* */
|
|
31
31
|
export type EventData = {
|
|
32
32
|
id: string;
|
|
33
|
+
externalId: string | null | undefined;
|
|
33
34
|
title: string;
|
|
34
35
|
from: string;
|
|
35
36
|
until: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Timestamp } from "firebase/firestore";
|
|
2
|
-
import { Links } from "../event";
|
|
3
|
-
import { EventTicket } from "
|
|
2
|
+
import { Links } from "../event.js";
|
|
3
|
+
import { EventTicket } from "../ticket.js";
|
|
4
4
|
/**
|
|
5
5
|
* This is the type of the data we get from the server
|
|
6
6
|
* */
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from "./festival";
|
|
2
|
-
export * from "./user";
|
|
1
|
+
export * from "./festival.js";
|
|
2
|
+
export * from "./user.js";
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from "./festival";
|
|
2
|
-
export * from "./user";
|
|
1
|
+
export * from "./festival.js";
|
|
2
|
+
export * from "./user.js";
|
|
3
3
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/festivals/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/festivals/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export * from "./event";
|
|
2
|
-
export * from "./ticket";
|
|
3
|
-
export * from "./city";
|
|
4
|
-
export * from "./organizer";
|
|
5
|
-
export * from "./user";
|
|
6
|
-
export * from "./other";
|
|
7
|
-
export * from "./analytics";
|
|
8
|
-
export * from "./festivals";
|
|
1
|
+
export * from "./event.js";
|
|
2
|
+
export * from "./ticket.js";
|
|
3
|
+
export * from "./city.js";
|
|
4
|
+
export * from "./organizer.js";
|
|
5
|
+
export * from "./user.js";
|
|
6
|
+
export * from "./other.js";
|
|
7
|
+
export * from "./analytics.js";
|
|
8
|
+
export * from "./festivals/index.js";
|
package/dist/types/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
// Re-export all types from individual files
|
|
2
|
-
export * from "./event";
|
|
3
|
-
export * from "./ticket";
|
|
4
|
-
export * from "./city";
|
|
5
|
-
export * from "./organizer";
|
|
6
|
-
export * from "./user";
|
|
7
|
-
export * from "./other";
|
|
8
|
-
export * from "./analytics";
|
|
2
|
+
export * from "./event.js";
|
|
3
|
+
export * from "./ticket.js";
|
|
4
|
+
export * from "./city.js";
|
|
5
|
+
export * from "./organizer.js";
|
|
6
|
+
export * from "./user.js";
|
|
7
|
+
export * from "./other.js";
|
|
8
|
+
export * from "./analytics.js";
|
|
9
9
|
// Re-export from subdirectories
|
|
10
|
-
export * from "./festivals";
|
|
10
|
+
export * from "./festivals/index.js";
|
|
11
11
|
//# sourceMappingURL=index.js.map
|
package/dist/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAE/B,gCAAgC;AAChC,cAAc,sBAAsB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { City } from "./city";
|
|
1
|
+
import { City } from "./city.js";
|
|
2
2
|
export type OrganizerName = "SOB Productions" | "Helsinki SBK" | "Avec Dance Club" | "Still Dancing" | "Tanssikoulu SalsaLatina" | "Helsinki Salsa Academy" | "BabaGen" | "Bachata Studio" | "Tanssikoulu BailaBaila" | "Petra & Otso" | "Bachata Helsinki" | "Anton Kargaltsev" | "Salsa Borealis" | "Helsinki Dance Central" | "Urbankiz Helsinki" | "S-Dance" | "Helsinki Kizomba Studio" | "idance Helsinki" | "Dance Social" | "Tinku Latin Flavours" | "Latin Garden Helsinki" | "Tampere Social Dancing" | "Azúcar" | "Kizomba Social Tampere" | "KizLab Tampere" | "Bachata & Kizomba Oulu" | "SALSA Klubi" | "Tanssikoulu Vamos" | "Feels Oulu" | "Bachata Sensual Lovers" | "Tanssikoulu Matleena" | "Merja Tanjunen" | "Fever Dance Oslo" | "Pure Dance Official" | "Dancecity" | "Bachata Monthly" | "Salsakompaniet" | "Bachata Studio Tallinn" | "Casa De Baile" | "Havana Moderna" | "Crazy Lion Events" | "Other";
|
|
3
3
|
export type OrganizerData = {
|
|
4
4
|
id: string;
|
package/dist/types/ticket.d.ts
CHANGED
|
@@ -12,11 +12,17 @@ export type Ticket = {
|
|
|
12
12
|
eventId: string;
|
|
13
13
|
eventName: string;
|
|
14
14
|
eventDate: string;
|
|
15
|
+
/**
|
|
16
|
+
* Date of purchase in ISO format
|
|
17
|
+
*/
|
|
15
18
|
purchaseDate: string;
|
|
16
19
|
quantity: number;
|
|
17
|
-
|
|
20
|
+
paidAmount: MonetaryAmount;
|
|
21
|
+
originalAmount: MonetaryAmount;
|
|
18
22
|
ticketType: string;
|
|
19
|
-
|
|
23
|
+
/**
|
|
24
|
+
* ID of the user who originally purchased the ticket
|
|
25
|
+
*/
|
|
20
26
|
originalOwnerId: string;
|
|
21
27
|
/**
|
|
22
28
|
* ID of the user who owns the ticket
|
|
@@ -31,14 +37,24 @@ export type Ticket = {
|
|
|
31
37
|
discountAmount: number;
|
|
32
38
|
discountType: "fixed" | "percentage";
|
|
33
39
|
};
|
|
34
|
-
originalPrice: number;
|
|
35
|
-
orderNumber: string;
|
|
36
40
|
checkedInAt?: string;
|
|
37
41
|
notes?: string;
|
|
38
42
|
transferredAt?: string;
|
|
39
43
|
refundedAt?: string;
|
|
40
44
|
createdAt: Timestamp;
|
|
41
45
|
updatedAt: Timestamp;
|
|
46
|
+
/**
|
|
47
|
+
* @deprecated Replaced by originalOwnerId
|
|
48
|
+
*/
|
|
49
|
+
previousOwner: string[];
|
|
50
|
+
/**
|
|
51
|
+
* @deprecated Replaced by price.amount
|
|
52
|
+
*/
|
|
53
|
+
originalPrice?: number;
|
|
54
|
+
/**
|
|
55
|
+
* @deprecated Replaced by price.amount
|
|
56
|
+
*/
|
|
57
|
+
ticketPrice?: number;
|
|
42
58
|
};
|
|
43
59
|
export type TicketTransfer = {
|
|
44
60
|
type: "transfer";
|
|
@@ -48,30 +64,54 @@ export type TicketTransfer = {
|
|
|
48
64
|
};
|
|
49
65
|
export type CouponCode = {
|
|
50
66
|
code: string;
|
|
51
|
-
discountAmount: number;
|
|
52
67
|
discountType: "fixed" | "percentage";
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
expiryDate
|
|
68
|
+
discountAmount: number;
|
|
69
|
+
startDate: string | null;
|
|
70
|
+
expiryDate: string | null;
|
|
56
71
|
};
|
|
57
72
|
export type EventTicket = {
|
|
58
73
|
id: string;
|
|
59
74
|
price: number;
|
|
60
|
-
|
|
75
|
+
price_details: MonetaryAmount;
|
|
61
76
|
eventId: string;
|
|
62
77
|
quantity: number;
|
|
63
78
|
amountSold: number;
|
|
64
|
-
coupons
|
|
79
|
+
coupons: CouponCode[] | null;
|
|
65
80
|
name: string;
|
|
66
81
|
description?: string;
|
|
67
82
|
maxQuantityPerPurchase?: number;
|
|
68
83
|
minQuantityPerPurchase?: number;
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
isEarlyBird?: boolean;
|
|
84
|
+
startDate: string | null;
|
|
85
|
+
endDate: string | null;
|
|
72
86
|
isTransferable: boolean;
|
|
73
87
|
isRefundable: boolean;
|
|
74
|
-
status: "published" | "draft";
|
|
88
|
+
status: "published" | "draft" | "sold-out" | "unavailable";
|
|
89
|
+
/**
|
|
90
|
+
* Promotional period for the ticket
|
|
91
|
+
*/
|
|
92
|
+
promotionalPeriod: PromotionalPeriod | null;
|
|
93
|
+
/**
|
|
94
|
+
* @deprecated Replaced by name
|
|
95
|
+
*/
|
|
96
|
+
ticketType: string;
|
|
97
|
+
};
|
|
98
|
+
export type PromotionalPeriod = {
|
|
99
|
+
/**
|
|
100
|
+
* Discount amount during the promotional period. Can't be more than the price. unit: MAJOR
|
|
101
|
+
*/
|
|
102
|
+
discountAmount: number;
|
|
103
|
+
/**
|
|
104
|
+
* Start date of the promotional period (ISO string)
|
|
105
|
+
*/
|
|
106
|
+
startDate: string;
|
|
107
|
+
/**
|
|
108
|
+
* End date of the promotional period (ISO string)
|
|
109
|
+
*/
|
|
110
|
+
endDate: string;
|
|
111
|
+
/**
|
|
112
|
+
* Optional description of the promotion (e.g., "Early Bird", "Flash Sale")
|
|
113
|
+
*/
|
|
114
|
+
description?: string;
|
|
75
115
|
};
|
|
76
116
|
export type Payment = {
|
|
77
117
|
amount: number;
|
|
@@ -127,3 +167,8 @@ export type Payment = {
|
|
|
127
167
|
transfer_data: string | null;
|
|
128
168
|
transfer_group: string | null;
|
|
129
169
|
};
|
|
170
|
+
export type MonetaryAmount = {
|
|
171
|
+
amount: number;
|
|
172
|
+
currency: string;
|
|
173
|
+
unit: "MAJOR" | "MINOR";
|
|
174
|
+
};
|
package/dist/types/user.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { City } from "./city";
|
|
2
|
-
import { DanceTag } from "./event";
|
|
3
|
-
import { OrganizerName } from "./organizer";
|
|
4
|
-
import { Ticket } from "./ticket";
|
|
1
|
+
import { City } from "./city.js";
|
|
2
|
+
import { DanceTag } from "./event.js";
|
|
3
|
+
import { OrganizerName } from "./organizer.js";
|
|
4
|
+
import { Ticket } from "./ticket.js";
|
|
5
5
|
export type Role = "admin" | "manager" | "organiser" | "user";
|
|
6
6
|
export type User = {
|
|
7
7
|
id: string;
|
package/dist/utils/date.js
CHANGED
package/dist/utils/date.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date.js","sourceRoot":"","sources":["../../src/utils/date.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,YAAY,MAAM,
|
|
1
|
+
{"version":3,"file":"date.js","sourceRoot":"","sources":["../../src/utils/date.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wedance-shared",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.39",
|
|
4
4
|
"description": "This repository contains shared TypeScript types and interfaces used across multiple WeDance applications:",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
|
+
"import": "./dist/index.js",
|
|
11
|
+
"require": "./dist/index.js"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
7
14
|
"scripts": {
|
|
8
15
|
"build": "tsc",
|
|
9
16
|
"build:watch": "tsc --watch",
|
package/src/index.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from "./types";
|
|
2
|
-
export * from "./utils/date";
|
|
1
|
+
export * from "./types/index.js";
|
|
2
|
+
export * from "./utils/date.js";
|
package/src/types/event.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Timestamp } from "firebase/firestore";
|
|
2
|
-
import { City } from "./city";
|
|
3
|
-
import { OrganizerName } from "./organizer";
|
|
4
|
-
import { EventTicket } from "./ticket";
|
|
5
|
-
import { UserBadge } from "./user";
|
|
2
|
+
import { City } from "./city.js";
|
|
3
|
+
import { OrganizerName } from "./organizer.js";
|
|
4
|
+
import { EventTicket } from "./ticket.js";
|
|
5
|
+
import { UserBadge } from "./user.js";
|
|
6
6
|
|
|
7
7
|
export type DanceTag = "salsa" | "kizomba" | "bachata" | "zouk";
|
|
8
8
|
|
|
@@ -37,6 +37,8 @@ export type ImageData = {
|
|
|
37
37
|
* */
|
|
38
38
|
export type EventData = {
|
|
39
39
|
id: string;
|
|
40
|
+
// Id from an event added by a partner.
|
|
41
|
+
externalId: string | null | undefined;
|
|
40
42
|
title: string;
|
|
41
43
|
// Date in iso format
|
|
42
44
|
from: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Timestamp } from "firebase/firestore";
|
|
2
|
-
import { Links } from "../event";
|
|
3
|
-
import {
|
|
2
|
+
import { Links } from "../event.js";
|
|
3
|
+
import { EventTicket } from "../ticket.js";
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* This is the type of the data we get from the server
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from "./festival";
|
|
2
|
-
export * from "./user";
|
|
1
|
+
export * from "./festival.js";
|
|
2
|
+
export * from "./user.js";
|
package/src/types/index.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
// Re-export all types from individual files
|
|
2
|
-
export * from "./event";
|
|
3
|
-
export * from "./ticket";
|
|
4
|
-
export * from "./city";
|
|
5
|
-
export * from "./organizer";
|
|
6
|
-
export * from "./user";
|
|
7
|
-
export * from "./other";
|
|
8
|
-
export * from "./analytics";
|
|
2
|
+
export * from "./event.js";
|
|
3
|
+
export * from "./ticket.js";
|
|
4
|
+
export * from "./city.js";
|
|
5
|
+
export * from "./organizer.js";
|
|
6
|
+
export * from "./user.js";
|
|
7
|
+
export * from "./other.js";
|
|
8
|
+
export * from "./analytics.js";
|
|
9
9
|
|
|
10
10
|
// Re-export from subdirectories
|
|
11
|
-
export * from "./festivals";
|
|
11
|
+
export * from "./festivals/index.js";
|
package/src/types/organizer.ts
CHANGED
package/src/types/ticket.ts
CHANGED
|
@@ -20,12 +20,17 @@ export type Ticket = {
|
|
|
20
20
|
eventId: string;
|
|
21
21
|
eventName: string;
|
|
22
22
|
eventDate: string;
|
|
23
|
+
/**
|
|
24
|
+
* Date of purchase in ISO format
|
|
25
|
+
*/
|
|
23
26
|
purchaseDate: string;
|
|
24
27
|
quantity: number;
|
|
25
|
-
|
|
28
|
+
paidAmount: MonetaryAmount;
|
|
29
|
+
originalAmount: MonetaryAmount;
|
|
26
30
|
ticketType: string;
|
|
27
|
-
|
|
28
|
-
|
|
31
|
+
/**
|
|
32
|
+
* ID of the user who originally purchased the ticket
|
|
33
|
+
*/
|
|
29
34
|
originalOwnerId: string;
|
|
30
35
|
/**
|
|
31
36
|
* ID of the user who owns the ticket
|
|
@@ -40,14 +45,24 @@ export type Ticket = {
|
|
|
40
45
|
discountAmount: number;
|
|
41
46
|
discountType: "fixed" | "percentage";
|
|
42
47
|
};
|
|
43
|
-
originalPrice: number;
|
|
44
|
-
orderNumber: string;
|
|
45
48
|
checkedInAt?: string;
|
|
46
49
|
notes?: string;
|
|
47
50
|
transferredAt?: string;
|
|
48
51
|
refundedAt?: string;
|
|
49
52
|
createdAt: Timestamp;
|
|
50
53
|
updatedAt: Timestamp;
|
|
54
|
+
/**
|
|
55
|
+
* @deprecated Replaced by originalOwnerId
|
|
56
|
+
*/
|
|
57
|
+
previousOwner: string[];
|
|
58
|
+
/**
|
|
59
|
+
* @deprecated Replaced by price.amount
|
|
60
|
+
*/
|
|
61
|
+
originalPrice?: number;
|
|
62
|
+
/**
|
|
63
|
+
* @deprecated Replaced by price.amount
|
|
64
|
+
*/
|
|
65
|
+
ticketPrice?: number;
|
|
51
66
|
};
|
|
52
67
|
|
|
53
68
|
export type TicketTransfer = {
|
|
@@ -59,32 +74,56 @@ export type TicketTransfer = {
|
|
|
59
74
|
|
|
60
75
|
export type CouponCode = {
|
|
61
76
|
code: string;
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
expiryDate?: string; // Optional expiry date for the coupon
|
|
77
|
+
discountType: "fixed" | "percentage";
|
|
78
|
+
discountAmount: number;
|
|
79
|
+
startDate: string | null;
|
|
80
|
+
expiryDate: string | null;
|
|
67
81
|
};
|
|
68
82
|
|
|
69
83
|
export type EventTicket = {
|
|
70
84
|
id: string;
|
|
71
85
|
price: number;
|
|
72
|
-
|
|
73
|
-
ticketType: string;
|
|
86
|
+
price_details: MonetaryAmount;
|
|
74
87
|
eventId: string;
|
|
75
|
-
quantity: number;
|
|
76
|
-
amountSold: number;
|
|
77
|
-
coupons
|
|
88
|
+
quantity: number;
|
|
89
|
+
amountSold: number;
|
|
90
|
+
coupons: CouponCode[] | null;
|
|
78
91
|
name: string;
|
|
79
92
|
description?: string;
|
|
80
93
|
maxQuantityPerPurchase?: number;
|
|
81
94
|
minQuantityPerPurchase?: number;
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
isEarlyBird?: boolean;
|
|
95
|
+
startDate: string | null;
|
|
96
|
+
endDate: string | null;
|
|
85
97
|
isTransferable: boolean;
|
|
86
98
|
isRefundable: boolean;
|
|
87
|
-
status: "published" | "draft";
|
|
99
|
+
status: "published" | "draft" | "sold-out" | "unavailable";
|
|
100
|
+
/**
|
|
101
|
+
* Promotional period for the ticket
|
|
102
|
+
*/
|
|
103
|
+
promotionalPeriod: PromotionalPeriod | null;
|
|
104
|
+
/**
|
|
105
|
+
* @deprecated Replaced by name
|
|
106
|
+
*/
|
|
107
|
+
ticketType: string;
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
export type PromotionalPeriod = {
|
|
111
|
+
/**
|
|
112
|
+
* Discount amount during the promotional period. Can't be more than the price. unit: MAJOR
|
|
113
|
+
*/
|
|
114
|
+
discountAmount: number;
|
|
115
|
+
/**
|
|
116
|
+
* Start date of the promotional period (ISO string)
|
|
117
|
+
*/
|
|
118
|
+
startDate: string;
|
|
119
|
+
/**
|
|
120
|
+
* End date of the promotional period (ISO string)
|
|
121
|
+
*/
|
|
122
|
+
endDate: string;
|
|
123
|
+
/**
|
|
124
|
+
* Optional description of the promotion (e.g., "Early Bird", "Flash Sale")
|
|
125
|
+
*/
|
|
126
|
+
description?: string;
|
|
88
127
|
};
|
|
89
128
|
|
|
90
129
|
export type Payment = {
|
|
@@ -141,3 +180,9 @@ export type Payment = {
|
|
|
141
180
|
transfer_data: string | null;
|
|
142
181
|
transfer_group: string | null;
|
|
143
182
|
};
|
|
183
|
+
|
|
184
|
+
export type MonetaryAmount = {
|
|
185
|
+
amount: number;
|
|
186
|
+
currency: string;
|
|
187
|
+
unit: "MAJOR" | "MINOR";
|
|
188
|
+
};
|
package/src/types/user.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { City } from "./city";
|
|
2
|
-
import { DanceTag } from "./event";
|
|
3
|
-
import { OrganizerName } from "./organizer";
|
|
4
|
-
import { Ticket } from "./ticket";
|
|
1
|
+
import { City } from "./city.js";
|
|
2
|
+
import { DanceTag } from "./event.js";
|
|
3
|
+
import { OrganizerName } from "./organizer.js";
|
|
4
|
+
import { Ticket } from "./ticket.js";
|
|
5
5
|
|
|
6
6
|
export type Role = "admin" | "manager" | "organiser" | "user";
|
|
7
7
|
|
package/src/utils/date.ts
CHANGED
package/tsconfig.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"compilerOptions": {
|
|
3
3
|
"target": "ES2020",
|
|
4
|
-
"module": "
|
|
4
|
+
"module": "NodeNext",
|
|
5
5
|
"rootDir": "./src",
|
|
6
6
|
"sourceMap": true,
|
|
7
7
|
"outDir": "./dist",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"forceConsistentCasingInFileNames": true,
|
|
13
13
|
"strict": true,
|
|
14
14
|
"skipLibCheck": true,
|
|
15
|
-
"moduleResolution": "
|
|
15
|
+
"moduleResolution": "nodenext"
|
|
16
16
|
},
|
|
17
17
|
"include": ["src/**/*"],
|
|
18
18
|
"exclude": ["node_modules", "dist"]
|