@sellout/models 0.0.1
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/interfaces/IAddress.d.ts +13 -0
- package/.dist/interfaces/IAddress.js +3 -0
- package/.dist/interfaces/IAddress.js.map +1 -0
- package/.dist/interfaces/IMetrics.d.ts +29 -0
- package/.dist/interfaces/IMetrics.js +3 -0
- package/.dist/interfaces/IMetrics.js.map +1 -0
- package/.dist/interfaces/IPagination.d.ts +4 -0
- package/.dist/interfaces/IPagination.js +3 -0
- package/.dist/interfaces/IPagination.js.map +1 -0
- package/.dist/interfaces/IQuery.d.ts +15 -0
- package/.dist/interfaces/IQuery.js +20 -0
- package/.dist/interfaces/IQuery.js.map +1 -0
- package/.dist/mongo/Address.d.ts +58 -0
- package/.dist/mongo/Address.js +60 -0
- package/.dist/mongo/Address.js.map +1 -0
- package/.dist/mongo/Metrics.d.ts +131 -0
- package/.dist/mongo/Metrics.js +137 -0
- package/.dist/mongo/Metrics.js.map +1 -0
- package/.dist/schemas/Address.d.ts +58 -0
- package/.dist/schemas/Address.js +60 -0
- package/.dist/schemas/Address.js.map +1 -0
- package/.dist/schemas/Metrics.d.ts +131 -0
- package/.dist/schemas/Metrics.js +137 -0
- package/.dist/schemas/Metrics.js.map +1 -0
- package/.dist/sellout-proto.js +92266 -0
- package/.dist/utils/EventUtil.d.ts +38 -0
- package/.dist/utils/EventUtil.js +188 -0
- package/.dist/utils/EventUtil.js.map +1 -0
- package/.dist/utils/FeeUtil.d.ts +7 -0
- package/.dist/utils/FeeUtil.js +37 -0
- package/.dist/utils/FeeUtil.js.map +1 -0
- package/.dist/utils/OrderUtil.d.ts +29 -0
- package/.dist/utils/OrderUtil.js +216 -0
- package/.dist/utils/OrderUtil.js.map +1 -0
- package/.dist/utils/WebFlowUtil.d.ts +7 -0
- package/.dist/utils/WebFlowUtil.js +10 -0
- package/.dist/utils/WebFlowUtil.js.map +1 -0
- package/package.json +29 -0
- package/src/interfaces/IAddress.ts +13 -0
- package/src/interfaces/IArtist.ts +14 -0
- package/src/interfaces/IArtistContact.ts +8 -0
- package/src/interfaces/IArtistPressKit.ts +8 -0
- package/src/interfaces/IEvent.ts +62 -0
- package/src/interfaces/IEventCustomField.ts +16 -0
- package/src/interfaces/IEventPromotion.ts +15 -0
- package/src/interfaces/IEventSchedule.ts +7 -0
- package/src/interfaces/IEventUpgrade.ts +13 -0
- package/src/interfaces/IFee.ts +46 -0
- package/src/interfaces/IFile.ts +7 -0
- package/src/interfaces/IMetrics.ts +33 -0
- package/src/interfaces/IOrder.ts +32 -0
- package/src/interfaces/IOrderCustomField.ts +7 -0
- package/src/interfaces/IOrderState.ts +19 -0
- package/src/interfaces/IOrderSummary.ts +37 -0
- package/src/interfaces/IOrderTicket.ts +15 -0
- package/src/interfaces/IOrderType.ts +5 -0
- package/src/interfaces/IOrderUpgrade.ts +14 -0
- package/src/interfaces/IOrganization.ts +19 -0
- package/src/interfaces/IPagination.ts +4 -0
- package/src/interfaces/IPerformance.ts +18 -0
- package/src/interfaces/IQuery.ts +30 -0
- package/src/interfaces/IRefund.ts +6 -0
- package/src/interfaces/IRole.ts +17 -0
- package/src/interfaces/IScan.ts +5 -0
- package/src/interfaces/ISeating.ts +9 -0
- package/src/interfaces/ISocialAccountLink.ts +14 -0
- package/src/interfaces/ITask.ts +22 -0
- package/src/interfaces/ITicketExchange.ts +11 -0
- package/src/interfaces/ITicketHold.ts +6 -0
- package/src/interfaces/ITicketTier.ts +9 -0
- package/src/interfaces/ITicketType.ts +12 -0
- package/src/interfaces/IUser.ts +26 -0
- package/src/interfaces/IUserProfile.ts +20 -0
- package/src/interfaces/IVenue.ts +17 -0
- package/src/interfaces/IWebFlow.ts +55 -0
- package/src/proto/artist.proto +156 -0
- package/src/proto/broadcast.proto +157 -0
- package/src/proto/common.proto +59 -0
- package/src/proto/email.proto +179 -0
- package/src/proto/error.proto +31 -0
- package/src/proto/event.proto +270 -0
- package/src/proto/fee.proto +196 -0
- package/src/proto/file-upload.proto +27 -0
- package/src/proto/order.proto +272 -0
- package/src/proto/organization.proto +107 -0
- package/src/proto/role.proto +136 -0
- package/src/proto/seating.proto +64 -0
- package/src/proto/stripe.proto +181 -0
- package/src/proto/task.proto +39 -0
- package/src/proto/twilio.proto +43 -0
- package/src/proto/user-profile.proto +124 -0
- package/src/proto/user.proto +284 -0
- package/src/proto/venue.proto +120 -0
- package/src/proto/web-flow.proto +315 -0
- package/src/schemas/Address.ts +57 -0
- package/src/schemas/Artist.ts +104 -0
- package/src/schemas/Event.ts +400 -0
- package/src/schemas/Fee.ts +74 -0
- package/src/schemas/Metrics.ts +134 -0
- package/src/schemas/Order.ts +200 -0
- package/src/schemas/Organization.ts +108 -0
- package/src/schemas/Role.ts +37 -0
- package/src/schemas/Seating.ts +34 -0
- package/src/schemas/User.ts +95 -0
- package/src/schemas/UserProfile.ts +67 -0
- package/src/schemas/Venue.ts +58 -0
- package/src/schemas/WebFlow.ts +132 -0
- package/src/utils/EventUtil.ts +186 -0
- package/src/utils/FeeUtil.ts +34 -0
- package/src/utils/OrderUtil.ts +226 -0
- package/src/utils/WebFlowUtil.ts +8 -0
- package/tsconfig.json +27 -0
- package/tslint.json +21 -0
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import IAddress from "@sellout/models/.dist/interfaces/IAddress";
|
|
2
|
+
import IMetrics from "@sellout/models/.dist/interfaces/IMetrics";
|
|
3
|
+
import ITicketType from './ITicketType';
|
|
4
|
+
import IEventSchedule from './IEventSchedule';
|
|
5
|
+
import ITicketExchange from './ITicketExchange';
|
|
6
|
+
import IEventUpgrade from './IEventUpgrade';
|
|
7
|
+
import ITicketHold from './ITicketHold';
|
|
8
|
+
import IPerformance from './IPerformance';
|
|
9
|
+
import IEventPromotion from './IEventPromotion';
|
|
10
|
+
import IEventCustomField from './IEventCustomField';
|
|
11
|
+
|
|
12
|
+
export enum EventTypeEnum {
|
|
13
|
+
Concert = 'Concert',
|
|
14
|
+
BasicEvent = 'Basic Event',
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export enum EventAgeEnum {
|
|
18
|
+
AllAges = 'All Ages',
|
|
19
|
+
EighteenPlus = '18+',
|
|
20
|
+
TwentyOnePlus = '21+',
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export enum SendQRCodeEnum {
|
|
24
|
+
DayOfShow = 'Day of Show',
|
|
25
|
+
UponOrder = 'Upon Order',
|
|
26
|
+
TwoWeeksBefore = 'Two Weeks Before Show',
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export enum EventProcessAsEnum {
|
|
30
|
+
Paid = 'Paid',
|
|
31
|
+
RSVP = 'RSVP',
|
|
32
|
+
Free = 'Free'
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export default interface IEvent {
|
|
36
|
+
_id?: string;
|
|
37
|
+
orgId: string;
|
|
38
|
+
type: EventTypeEnum;
|
|
39
|
+
name?: string;
|
|
40
|
+
subtitle?: string;
|
|
41
|
+
description?: string;
|
|
42
|
+
posterImageUrl?: string;
|
|
43
|
+
venueId?: string;
|
|
44
|
+
createdAt: number;
|
|
45
|
+
publishable: boolean;
|
|
46
|
+
seatingChartKey?: string;
|
|
47
|
+
age?: EventAgeEnum;
|
|
48
|
+
active?: boolean;
|
|
49
|
+
userAgreement?: string;
|
|
50
|
+
processAs?: EventProcessAsEnum;
|
|
51
|
+
sendQRCode?: SendQRCodeEnum;
|
|
52
|
+
location?: IAddress;
|
|
53
|
+
schedule?: IEventSchedule;
|
|
54
|
+
performances?: IPerformance[];
|
|
55
|
+
ticketTypes?: ITicketType[];
|
|
56
|
+
holds?: ITicketHold[];
|
|
57
|
+
upgrades?: IEventUpgrade[];
|
|
58
|
+
promotions?: IEventPromotion[];
|
|
59
|
+
customFields?: IEventCustomField[];
|
|
60
|
+
exchange?: ITicketExchange;
|
|
61
|
+
metrics: IMetrics;
|
|
62
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export enum EventCustomFieldTypeEnum {
|
|
2
|
+
Text = 'Text',
|
|
3
|
+
Number = 'Number',
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
export default interface IEventCustomFields {
|
|
7
|
+
_id?: string;
|
|
8
|
+
label?: string;
|
|
9
|
+
type: EventCustomFieldTypeEnum;
|
|
10
|
+
minLength: number;
|
|
11
|
+
maxLength: number;
|
|
12
|
+
maxValue: number;
|
|
13
|
+
minValue: number;
|
|
14
|
+
required: boolean;
|
|
15
|
+
active: boolean;
|
|
16
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export enum EventPromotionTypeEnum {
|
|
2
|
+
PreSale = "Pre-Sale Code",
|
|
3
|
+
Secret = "Secret Code",
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
export default interface IEventPromotion {
|
|
7
|
+
_id?: string;
|
|
8
|
+
code: string;
|
|
9
|
+
type: EventPromotionTypeEnum;
|
|
10
|
+
totalQty: number;
|
|
11
|
+
remainingQty: number;
|
|
12
|
+
ticketTypeIds: string[];
|
|
13
|
+
upgradeIds: string[];
|
|
14
|
+
active: boolean;
|
|
15
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export default interface IEventUpgrade {
|
|
2
|
+
_id?: string;
|
|
3
|
+
name: string;
|
|
4
|
+
price: number;
|
|
5
|
+
totalQty: number;
|
|
6
|
+
remainingQty: number;
|
|
7
|
+
purchaseLimit: number;
|
|
8
|
+
complimentary: boolean;
|
|
9
|
+
ticketTypeIds: string[];
|
|
10
|
+
imageUrl: string;
|
|
11
|
+
description: string;
|
|
12
|
+
visible: boolean;
|
|
13
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
export enum FeeTypeEnum {
|
|
2
|
+
Flat = 'Flat',
|
|
3
|
+
Percent = 'Percent',
|
|
4
|
+
FlatPlusPercent = 'Flat + Percent',
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export enum FeeAppliedToEnum {
|
|
8
|
+
Order = 'Order',
|
|
9
|
+
Ticket = 'Ticket',
|
|
10
|
+
Upgrade = 'Upgrade',
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export enum FeeAppliedByEnum {
|
|
14
|
+
Sellout = 'Sellout',
|
|
15
|
+
Stripe = 'Stripe',
|
|
16
|
+
Organization = 'Organization',
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export enum FeeFilters {
|
|
20
|
+
// Online = 'Online Orders Only',
|
|
21
|
+
// BoxOffice = 'Box Office Orders Only',
|
|
22
|
+
Seated = 'Seated',
|
|
23
|
+
// FirstOrder = 'FirstOrder',
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export default interface IFee {
|
|
27
|
+
_id?: string;
|
|
28
|
+
name: string;
|
|
29
|
+
orgId?: string;
|
|
30
|
+
eventId?: string;
|
|
31
|
+
type: FeeTypeEnum;
|
|
32
|
+
value: number;
|
|
33
|
+
appliedTo: FeeAppliedToEnum;
|
|
34
|
+
appliedBy: FeeAppliedByEnum;
|
|
35
|
+
minAppliedToPrice?: number;
|
|
36
|
+
maxAppliedToPrice?: number;
|
|
37
|
+
filters?: FeeFilters[];
|
|
38
|
+
createdBy: string;
|
|
39
|
+
createdAt: number;
|
|
40
|
+
updatedBy: string;
|
|
41
|
+
updatedAt: number;
|
|
42
|
+
disabled: boolean;
|
|
43
|
+
// disableable: boolean;
|
|
44
|
+
// editable: boolean;
|
|
45
|
+
// isGlobal: boolean;
|
|
46
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export default interface IMetrics {
|
|
2
|
+
_id?: string;
|
|
3
|
+
orgId: string;
|
|
4
|
+
createdAt: number;
|
|
5
|
+
// Value
|
|
6
|
+
lifeTimeValue?: number;
|
|
7
|
+
yearToDateValue?: number;
|
|
8
|
+
lifeTimeValueRefunded?: number;
|
|
9
|
+
yearToDateValueRefunded?: number;
|
|
10
|
+
lifeTimeValueComped?: number;
|
|
11
|
+
yearToDateValueComped?: number;
|
|
12
|
+
// Tickets
|
|
13
|
+
lifeTimeTicketsPurchased?: number;
|
|
14
|
+
yearToDateTicketsPurchased?: number;
|
|
15
|
+
lifeTimeTicketsRefunded?: number;
|
|
16
|
+
yearToDateTicketsRefunded?: number;
|
|
17
|
+
lifeTimeTicketsComped?: number;
|
|
18
|
+
yearToDateTicketsComped?: number;
|
|
19
|
+
// Upgrades
|
|
20
|
+
lifeTimeUpgradesPurchased?: number;
|
|
21
|
+
yearToDateUpgradesPurchased?: number;
|
|
22
|
+
lifeTimeUpgradesRefunded?: number;
|
|
23
|
+
yearToDateUpgradesRefunded?: number;
|
|
24
|
+
lifeTimeUpgradesComped?: number;
|
|
25
|
+
yearToDateUpgradesComped?: number;
|
|
26
|
+
// Orders
|
|
27
|
+
lifeTimeOrdersPurchased?: number;
|
|
28
|
+
yearToDateOrdersPurchased?: number;
|
|
29
|
+
lifeTimeOrdersRefunded?: number;
|
|
30
|
+
yearToDateOrdersRefunded?: number;
|
|
31
|
+
lifeTimeOrdersComped?: number;
|
|
32
|
+
yearToDateOrdersComped?: number;
|
|
33
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import IAddress from "@sellout/models/.dist/interfaces/IAddress";
|
|
2
|
+
import IOrderTicket from './IOrderTicket';
|
|
3
|
+
import IOrderUpgrade from './IOrderUpgrade';
|
|
4
|
+
import IOrderCustomField from './IOrderCustomField'
|
|
5
|
+
import { OrderStateEnum } from './IOrderState';
|
|
6
|
+
import { OrderTypeEnum } from './IOrderType';
|
|
7
|
+
|
|
8
|
+
export default interface IOrder {
|
|
9
|
+
_id?: string;
|
|
10
|
+
secretId?: string;
|
|
11
|
+
orgId: string;
|
|
12
|
+
userId: string;
|
|
13
|
+
eventId: string;
|
|
14
|
+
eventName: string;
|
|
15
|
+
venueIds: string[];
|
|
16
|
+
artistIds: string[];
|
|
17
|
+
feeIds: string[];
|
|
18
|
+
stripeChargeId?: string;
|
|
19
|
+
tickets: IOrderTicket[];
|
|
20
|
+
upgrades: IOrderUpgrade[];
|
|
21
|
+
recipientEmails?: string[];
|
|
22
|
+
qrCodeUrl?: string;
|
|
23
|
+
state?: OrderStateEnum,
|
|
24
|
+
refundedAmount?: number;
|
|
25
|
+
type?: OrderTypeEnum;
|
|
26
|
+
createdAt?: number;
|
|
27
|
+
createdBy?: string;
|
|
28
|
+
promotionCode?: string;
|
|
29
|
+
ipAddress?: string;
|
|
30
|
+
address?: IAddress
|
|
31
|
+
customFields?: IOrderCustomField[];
|
|
32
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export enum OrderStateEnum {
|
|
2
|
+
ACTIVE = 'Active',
|
|
3
|
+
REFUNDED = 'Refunded',
|
|
4
|
+
PARTIALLY_REFUNDED = 'Partial Refund',
|
|
5
|
+
// TRANSFERRED = 'Transferred',
|
|
6
|
+
// RESOLD = 'Re-sold',
|
|
7
|
+
// PARTIALLY_ADMITTED = 'Partially Admitted',
|
|
8
|
+
// ADMITTED = 'Admitted',
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export enum OrderItemStateEnum {
|
|
12
|
+
ACTIVE = 'Active',
|
|
13
|
+
CANCELED = 'Canceled',
|
|
14
|
+
// AWATING_TRANSFER = 'Awaiting Transfer',
|
|
15
|
+
// TRANSFERRED = 'Transferred',
|
|
16
|
+
// AWATING_SALE = 'Awaiting Sale',
|
|
17
|
+
// RESOLD = 'Re-sold',
|
|
18
|
+
// SCANNED = 'Scanned',
|
|
19
|
+
};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { OrderStateEnum } from './IOrderState';
|
|
2
|
+
|
|
3
|
+
export interface IOrderSummaryItem {
|
|
4
|
+
typeId: string;
|
|
5
|
+
name: string;
|
|
6
|
+
price: number;
|
|
7
|
+
count: number;
|
|
8
|
+
scannedCount: number;
|
|
9
|
+
seats?: string[];
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export default interface IOrderSummary {
|
|
13
|
+
state: OrderStateEnum;
|
|
14
|
+
total: number | string;
|
|
15
|
+
orderTotalWithRefund: number | string;
|
|
16
|
+
subtotal: number | string;
|
|
17
|
+
selloutFee: number | string;
|
|
18
|
+
stripeFee: number | string;
|
|
19
|
+
promoterFee: number | string;
|
|
20
|
+
createdAt: number | string;
|
|
21
|
+
tickets: IOrderSummaryItem[];
|
|
22
|
+
upgrades: IOrderSummaryItem[];
|
|
23
|
+
ticketsScanned?: number;
|
|
24
|
+
totalTickets?: number;
|
|
25
|
+
upgradesScanned?: number;
|
|
26
|
+
totalUpgrades?: number;
|
|
27
|
+
orgName?: string;
|
|
28
|
+
userFirstName?: string;
|
|
29
|
+
userLastName?: string;
|
|
30
|
+
userEmail?: string;
|
|
31
|
+
userPhoneNumber?: string;
|
|
32
|
+
eventName?: string;
|
|
33
|
+
venueNames?: string[];
|
|
34
|
+
venueName?: string;
|
|
35
|
+
artistNames?: string[];
|
|
36
|
+
aritstName?: string;
|
|
37
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import IRefund from './IRefund';
|
|
2
|
+
import IScan from './IScan';
|
|
3
|
+
import { OrderItemStateEnum } from './IOrderState';
|
|
4
|
+
|
|
5
|
+
export default interface IOrderTicket {
|
|
6
|
+
_id?: string;
|
|
7
|
+
name: string;
|
|
8
|
+
ticketTypeId: string;
|
|
9
|
+
ticketTierId: string;
|
|
10
|
+
price: number;
|
|
11
|
+
seat: string;
|
|
12
|
+
refund: IRefund;
|
|
13
|
+
scan: IScan;
|
|
14
|
+
state: OrderItemStateEnum;
|
|
15
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import IRefund from './IRefund';
|
|
2
|
+
import IScan from './IScan';
|
|
3
|
+
import { OrderItemStateEnum } from './IOrderState';
|
|
4
|
+
|
|
5
|
+
export default interface IOrderUpgrade {
|
|
6
|
+
_id?: string;
|
|
7
|
+
name: string;
|
|
8
|
+
upgradeId: string;
|
|
9
|
+
price: number;
|
|
10
|
+
total: number;
|
|
11
|
+
refund: IRefund;
|
|
12
|
+
scan: IScan;
|
|
13
|
+
state: OrderItemStateEnum;
|
|
14
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import IAddress from "@sellout/models/.dist/interfaces/IAddress";
|
|
2
|
+
|
|
3
|
+
export default interface IOrganization {
|
|
4
|
+
_id?: string;
|
|
5
|
+
userId?: string;
|
|
6
|
+
createdAt?: number;
|
|
7
|
+
authyId?: string;
|
|
8
|
+
stripeId?: string;
|
|
9
|
+
orgName?: string;
|
|
10
|
+
orgUrls?: string[];
|
|
11
|
+
address?: IAddress;
|
|
12
|
+
orgLogoUrl?: string;
|
|
13
|
+
orgColorHex?: string;
|
|
14
|
+
bio?: string;
|
|
15
|
+
email?: string;
|
|
16
|
+
phoneNumber?: string;
|
|
17
|
+
facebookPixelId?: string;
|
|
18
|
+
googleAnalyticsId?: string;
|
|
19
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export interface IPerformanceSchedule {
|
|
2
|
+
doorsAt: string;
|
|
3
|
+
startsAt: string;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
export default interface IPerformance {
|
|
7
|
+
_id?: string;
|
|
8
|
+
name?: string;
|
|
9
|
+
headliningArtistIds?: string[];
|
|
10
|
+
openingArtistIds?: string[];
|
|
11
|
+
venueId?: string;
|
|
12
|
+
venueStageId?: string;
|
|
13
|
+
price?: number;
|
|
14
|
+
posterImageUrl?: string;
|
|
15
|
+
videoLink?: string;
|
|
16
|
+
songLink?: string;
|
|
17
|
+
schedule?: IPerformanceSchedule;
|
|
18
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export interface IQuery {
|
|
2
|
+
any: string;
|
|
3
|
+
userId: string;
|
|
4
|
+
eventId: string;
|
|
5
|
+
artistId: string;
|
|
6
|
+
venueId: string;
|
|
7
|
+
startDate: number;
|
|
8
|
+
endDate: number;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export interface IPbQuery {
|
|
12
|
+
key: string;
|
|
13
|
+
value: any;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export function toPb(query: object): IPbQuery[] {
|
|
17
|
+
let pbQuery: IPbQuery[] = Object.keys(query).reduce((cur, key) => {
|
|
18
|
+
if (!query[key]) return cur;
|
|
19
|
+
cur.push({ key: key, value: query[key] } as IPbQuery);
|
|
20
|
+
return cur;
|
|
21
|
+
}, [] as IPbQuery[]);
|
|
22
|
+
return pbQuery;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export function fromPb(query: IPbQuery[]): IQuery {
|
|
26
|
+
return query.reduce((c, n) => {
|
|
27
|
+
c[n.key] = n.value;
|
|
28
|
+
return c;
|
|
29
|
+
}, {} as IQuery);
|
|
30
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare enum Roles {
|
|
2
|
+
OWNER = 'OWNER',
|
|
3
|
+
ADMIN = 'ADMIN',
|
|
4
|
+
BOX_OFFICE = 'BOX_OFFICE',
|
|
5
|
+
SCANNER = 'SCANNER',
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export default interface IRole {
|
|
9
|
+
_id?: string;
|
|
10
|
+
orgId: string;
|
|
11
|
+
userId?: string;
|
|
12
|
+
userEmail: string;
|
|
13
|
+
createdAt: number;
|
|
14
|
+
createdBy: string;
|
|
15
|
+
role: Roles;
|
|
16
|
+
acceptedAt?: number;
|
|
17
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export enum SocialAccountPlatform {
|
|
2
|
+
SoundClound = 'SoundCloud',
|
|
3
|
+
Facebook = 'Facebook',
|
|
4
|
+
Spotify = 'Spotify',
|
|
5
|
+
BandCamp = 'BandCamp',
|
|
6
|
+
YouTube = 'YouTube',
|
|
7
|
+
AppleMusic = 'Apple Music',
|
|
8
|
+
Instagram = 'Instagram',
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export interface ISocialAccountLink {
|
|
12
|
+
platform: SocialAccountPlatform;
|
|
13
|
+
link: string;
|
|
14
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export enum TaskTypes {
|
|
2
|
+
SendOrderQrCodeEmail = 'SendOrderQrCodeEmail',
|
|
3
|
+
UpdateWebFlowEvent = 'UpdateWebFlowEvent',
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
export default interface ITask {
|
|
7
|
+
_id?: string;
|
|
8
|
+
taskType: TaskTypes;
|
|
9
|
+
createdAt?: number;
|
|
10
|
+
executeAt: number;
|
|
11
|
+
startedAt?: number;
|
|
12
|
+
endedAt?: number;
|
|
13
|
+
success?: boolean;
|
|
14
|
+
canceledAt?: number;
|
|
15
|
+
userId?: string;
|
|
16
|
+
orgId?: string;
|
|
17
|
+
eventId?: string;
|
|
18
|
+
orderId?: string;
|
|
19
|
+
venueIds?: string[];
|
|
20
|
+
artistIds?: string[];
|
|
21
|
+
}
|
|
22
|
+
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export enum TicketExchangeAllowedEnum {
|
|
2
|
+
Always = "Always",
|
|
3
|
+
Never = 'Never',
|
|
4
|
+
After = 'After event is sold out',
|
|
5
|
+
Percent = 'After a percent of tickets are sold',
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export default interface ITicketExchange {
|
|
9
|
+
allowed: TicketExchangeAllowedEnum
|
|
10
|
+
percent: number;
|
|
11
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import ITicketTier from './ITicketTier'
|
|
2
|
+
|
|
3
|
+
export default interface ITicketType {
|
|
4
|
+
_id?: string;
|
|
5
|
+
name: string;
|
|
6
|
+
totalQty: number;
|
|
7
|
+
remainingQty: number;
|
|
8
|
+
purchaseLimit: number;
|
|
9
|
+
visible: boolean;
|
|
10
|
+
performanceIds: string[];
|
|
11
|
+
tiers: ITicketTier[];
|
|
12
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export enum LoginTypes {
|
|
2
|
+
PhoneCode = 'PhoneCode',
|
|
3
|
+
Password = 'Password',
|
|
4
|
+
TwoFactor = 'TwoFactor',
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export default interface IUser {
|
|
8
|
+
_id?: string;
|
|
9
|
+
email: string;
|
|
10
|
+
password?: string;
|
|
11
|
+
passwordHash?: string;
|
|
12
|
+
firstName: string;
|
|
13
|
+
lastName: string;
|
|
14
|
+
createdAt?: number;
|
|
15
|
+
phoneNumber?: string;
|
|
16
|
+
phoneNumberVerifiedAt?: number;
|
|
17
|
+
emailVerifyCode?: string;
|
|
18
|
+
emailVerifiedAt?: number;
|
|
19
|
+
forgotPasswordCode?: string;
|
|
20
|
+
lastChangedPasswordAt?: number;
|
|
21
|
+
orgContextId?: string;
|
|
22
|
+
orgRole?: string;
|
|
23
|
+
phoneNumberWaitingForVerify?: string;
|
|
24
|
+
emailWaitingForVerify?: string;
|
|
25
|
+
preferredLogin?: LoginTypes;
|
|
26
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import IAddress from "@sellout/models/.dist/interfaces/IAddress";
|
|
2
|
+
import IMetrics from "@sellout/models/.dist/interfaces/IMetrics";
|
|
3
|
+
|
|
4
|
+
export default interface IUserProfile {
|
|
5
|
+
_id?: string;
|
|
6
|
+
userId: string;
|
|
7
|
+
firstName?: string;
|
|
8
|
+
lastName?: string;
|
|
9
|
+
email?: string;
|
|
10
|
+
phoneNumber?: string;
|
|
11
|
+
authyId?: string;
|
|
12
|
+
stripeCustomerId?: string;
|
|
13
|
+
imageUrl?: string;
|
|
14
|
+
metrics?: IMetrics[];
|
|
15
|
+
orgIds?: string[];
|
|
16
|
+
eventIds?: string[];
|
|
17
|
+
venueIds?: string[];
|
|
18
|
+
artistIds?: string[];
|
|
19
|
+
address?: IAddress;
|
|
20
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import IAddress from "@sellout/models/.dist/interfaces/IAddress";
|
|
2
|
+
import IMetrics from "@sellout/models/.dist/interfaces/IMetrics";
|
|
3
|
+
|
|
4
|
+
export default interface IVenue {
|
|
5
|
+
_id?: string;
|
|
6
|
+
name: string;
|
|
7
|
+
description: string;
|
|
8
|
+
capacity: number;
|
|
9
|
+
address: IAddress;
|
|
10
|
+
url?: string;
|
|
11
|
+
imageUrls?: string[];
|
|
12
|
+
seatingMapIds?: string[];
|
|
13
|
+
venueGlobalId?: string;
|
|
14
|
+
orgId?: string;
|
|
15
|
+
venueFee?: number;
|
|
16
|
+
metrics?: IMetrics;
|
|
17
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
export enum WebFlowEntityType {
|
|
2
|
+
VENUE = "VENUE",
|
|
3
|
+
EVENT = "EVENT",
|
|
4
|
+
ARTIST = "ARTIST",
|
|
5
|
+
ORGANIZATION = "ORGANIZATION",
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export interface IWebFlowEntityId {
|
|
9
|
+
webFlowSiteId: string;
|
|
10
|
+
webFlowEntityId: string;
|
|
11
|
+
slug: string;
|
|
12
|
+
webFlowSite?: IWebFlowSite;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export interface IWebFlowEntity {
|
|
16
|
+
_id?: string;
|
|
17
|
+
entityType: WebFlowEntityType,
|
|
18
|
+
name: string;
|
|
19
|
+
selloutId: string;
|
|
20
|
+
webFlowIds: IWebFlowEntityId[];
|
|
21
|
+
alwaysPublishTo?: string[];
|
|
22
|
+
createdAt: number;
|
|
23
|
+
updatedAt?: number;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export interface IWebFlowSiteDomain {
|
|
27
|
+
_id?: string;
|
|
28
|
+
name: string;
|
|
29
|
+
lastPublishedAt: number;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export interface IWebFlowSite {
|
|
33
|
+
_id?: string;
|
|
34
|
+
name: string;
|
|
35
|
+
webFlowId: string;
|
|
36
|
+
enabled: boolean;
|
|
37
|
+
eventCollectionId: string;
|
|
38
|
+
venueCollectionId: string;
|
|
39
|
+
artistCollectionId: string;
|
|
40
|
+
organizationCollectionId: string;
|
|
41
|
+
eventTypeCollectionId: string;
|
|
42
|
+
previewUrl: string;
|
|
43
|
+
domains: IWebFlowSiteDomain[];
|
|
44
|
+
createdAt: number;
|
|
45
|
+
updatedAt?: number;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export default interface IWebFlow {
|
|
49
|
+
_id?: string;
|
|
50
|
+
orgId: string;
|
|
51
|
+
sites?: IWebFlowSite[];
|
|
52
|
+
entities?: IWebFlowEntity[];
|
|
53
|
+
createdAt: number;
|
|
54
|
+
updatedAt?: number;
|
|
55
|
+
}
|