@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.
Files changed (113) hide show
  1. package/.dist/interfaces/IAddress.d.ts +13 -0
  2. package/.dist/interfaces/IAddress.js +3 -0
  3. package/.dist/interfaces/IAddress.js.map +1 -0
  4. package/.dist/interfaces/IMetrics.d.ts +29 -0
  5. package/.dist/interfaces/IMetrics.js +3 -0
  6. package/.dist/interfaces/IMetrics.js.map +1 -0
  7. package/.dist/interfaces/IPagination.d.ts +4 -0
  8. package/.dist/interfaces/IPagination.js +3 -0
  9. package/.dist/interfaces/IPagination.js.map +1 -0
  10. package/.dist/interfaces/IQuery.d.ts +15 -0
  11. package/.dist/interfaces/IQuery.js +20 -0
  12. package/.dist/interfaces/IQuery.js.map +1 -0
  13. package/.dist/mongo/Address.d.ts +58 -0
  14. package/.dist/mongo/Address.js +60 -0
  15. package/.dist/mongo/Address.js.map +1 -0
  16. package/.dist/mongo/Metrics.d.ts +131 -0
  17. package/.dist/mongo/Metrics.js +137 -0
  18. package/.dist/mongo/Metrics.js.map +1 -0
  19. package/.dist/schemas/Address.d.ts +58 -0
  20. package/.dist/schemas/Address.js +60 -0
  21. package/.dist/schemas/Address.js.map +1 -0
  22. package/.dist/schemas/Metrics.d.ts +131 -0
  23. package/.dist/schemas/Metrics.js +137 -0
  24. package/.dist/schemas/Metrics.js.map +1 -0
  25. package/.dist/sellout-proto.js +92266 -0
  26. package/.dist/utils/EventUtil.d.ts +38 -0
  27. package/.dist/utils/EventUtil.js +188 -0
  28. package/.dist/utils/EventUtil.js.map +1 -0
  29. package/.dist/utils/FeeUtil.d.ts +7 -0
  30. package/.dist/utils/FeeUtil.js +37 -0
  31. package/.dist/utils/FeeUtil.js.map +1 -0
  32. package/.dist/utils/OrderUtil.d.ts +29 -0
  33. package/.dist/utils/OrderUtil.js +216 -0
  34. package/.dist/utils/OrderUtil.js.map +1 -0
  35. package/.dist/utils/WebFlowUtil.d.ts +7 -0
  36. package/.dist/utils/WebFlowUtil.js +10 -0
  37. package/.dist/utils/WebFlowUtil.js.map +1 -0
  38. package/package.json +29 -0
  39. package/src/interfaces/IAddress.ts +13 -0
  40. package/src/interfaces/IArtist.ts +14 -0
  41. package/src/interfaces/IArtistContact.ts +8 -0
  42. package/src/interfaces/IArtistPressKit.ts +8 -0
  43. package/src/interfaces/IEvent.ts +62 -0
  44. package/src/interfaces/IEventCustomField.ts +16 -0
  45. package/src/interfaces/IEventPromotion.ts +15 -0
  46. package/src/interfaces/IEventSchedule.ts +7 -0
  47. package/src/interfaces/IEventUpgrade.ts +13 -0
  48. package/src/interfaces/IFee.ts +46 -0
  49. package/src/interfaces/IFile.ts +7 -0
  50. package/src/interfaces/IMetrics.ts +33 -0
  51. package/src/interfaces/IOrder.ts +32 -0
  52. package/src/interfaces/IOrderCustomField.ts +7 -0
  53. package/src/interfaces/IOrderState.ts +19 -0
  54. package/src/interfaces/IOrderSummary.ts +37 -0
  55. package/src/interfaces/IOrderTicket.ts +15 -0
  56. package/src/interfaces/IOrderType.ts +5 -0
  57. package/src/interfaces/IOrderUpgrade.ts +14 -0
  58. package/src/interfaces/IOrganization.ts +19 -0
  59. package/src/interfaces/IPagination.ts +4 -0
  60. package/src/interfaces/IPerformance.ts +18 -0
  61. package/src/interfaces/IQuery.ts +30 -0
  62. package/src/interfaces/IRefund.ts +6 -0
  63. package/src/interfaces/IRole.ts +17 -0
  64. package/src/interfaces/IScan.ts +5 -0
  65. package/src/interfaces/ISeating.ts +9 -0
  66. package/src/interfaces/ISocialAccountLink.ts +14 -0
  67. package/src/interfaces/ITask.ts +22 -0
  68. package/src/interfaces/ITicketExchange.ts +11 -0
  69. package/src/interfaces/ITicketHold.ts +6 -0
  70. package/src/interfaces/ITicketTier.ts +9 -0
  71. package/src/interfaces/ITicketType.ts +12 -0
  72. package/src/interfaces/IUser.ts +26 -0
  73. package/src/interfaces/IUserProfile.ts +20 -0
  74. package/src/interfaces/IVenue.ts +17 -0
  75. package/src/interfaces/IWebFlow.ts +55 -0
  76. package/src/proto/artist.proto +156 -0
  77. package/src/proto/broadcast.proto +157 -0
  78. package/src/proto/common.proto +59 -0
  79. package/src/proto/email.proto +179 -0
  80. package/src/proto/error.proto +31 -0
  81. package/src/proto/event.proto +270 -0
  82. package/src/proto/fee.proto +196 -0
  83. package/src/proto/file-upload.proto +27 -0
  84. package/src/proto/order.proto +272 -0
  85. package/src/proto/organization.proto +107 -0
  86. package/src/proto/role.proto +136 -0
  87. package/src/proto/seating.proto +64 -0
  88. package/src/proto/stripe.proto +181 -0
  89. package/src/proto/task.proto +39 -0
  90. package/src/proto/twilio.proto +43 -0
  91. package/src/proto/user-profile.proto +124 -0
  92. package/src/proto/user.proto +284 -0
  93. package/src/proto/venue.proto +120 -0
  94. package/src/proto/web-flow.proto +315 -0
  95. package/src/schemas/Address.ts +57 -0
  96. package/src/schemas/Artist.ts +104 -0
  97. package/src/schemas/Event.ts +400 -0
  98. package/src/schemas/Fee.ts +74 -0
  99. package/src/schemas/Metrics.ts +134 -0
  100. package/src/schemas/Order.ts +200 -0
  101. package/src/schemas/Organization.ts +108 -0
  102. package/src/schemas/Role.ts +37 -0
  103. package/src/schemas/Seating.ts +34 -0
  104. package/src/schemas/User.ts +95 -0
  105. package/src/schemas/UserProfile.ts +67 -0
  106. package/src/schemas/Venue.ts +58 -0
  107. package/src/schemas/WebFlow.ts +132 -0
  108. package/src/utils/EventUtil.ts +186 -0
  109. package/src/utils/FeeUtil.ts +34 -0
  110. package/src/utils/OrderUtil.ts +226 -0
  111. package/src/utils/WebFlowUtil.ts +8 -0
  112. package/tsconfig.json +27 -0
  113. package/tslint.json +21 -0
@@ -0,0 +1,38 @@
1
+ declare const _default: {
2
+ hasBeenAnnouced(event: any): boolean;
3
+ isAnnounced(event: any): boolean;
4
+ isOnSale(event: any): boolean;
5
+ isInProgress(event: any): boolean;
6
+ saleHasEnded(event: any): boolean;
7
+ hasEnded(event: any): boolean;
8
+ hasActivePreSalePromotions(event: any): boolean;
9
+ qrCodeEmailAt(event: any): number;
10
+ shouldSendOrderReceipt(event: any): boolean;
11
+ /****************************************************************************************
12
+ Venue
13
+ ****************************************************************************************/
14
+ venueIds(event: any): string[];
15
+ seatingId(event: any): string;
16
+ /****************************************************************************************
17
+ Artist
18
+ ****************************************************************************************/
19
+ artistIds(event: any): string[];
20
+ headliningArtistIds(event: any): string[];
21
+ openingArtistIds(event: any): string[];
22
+ /****************************************************************************************
23
+ Tickets
24
+ ****************************************************************************************/
25
+ ticketType(event: any, ticketTypeId: any): any;
26
+ remainingTicketQty(event: any, ticketTypeId?: string | null): number;
27
+ remainingQtyByTicketTypes(event: any): object;
28
+ purchaseLimitByTicketTypes(event: any): object;
29
+ getCurrentTierId(event: any, ticketTypeId: string): string;
30
+ /****************************************************************************************
31
+ Upgrades
32
+ ****************************************************************************************/
33
+ upgrade(event: any, upgradeId: any): any;
34
+ remainingUpgradeQty(event: any, upgradeId?: string | null): number;
35
+ remainingQtyByUpgrades(event: any): object;
36
+ purchaseLimitByUpgrades(event: any): object;
37
+ };
38
+ export default _default;
@@ -0,0 +1,188 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const Time = require("@sellout/utils/.dist/time");
4
+ exports.default = {
5
+ hasBeenAnnouced(event) {
6
+ const { schedule: { announceAt } } = event;
7
+ const now = Time.now();
8
+ return announceAt < now;
9
+ },
10
+ isAnnounced(event) {
11
+ const { schedule: { announceAt, ticketsAt } } = event;
12
+ const now = Time.now();
13
+ return announceAt < now && now < ticketsAt;
14
+ },
15
+ isOnSale(event) {
16
+ const { schedule: { ticketsAt, ticketsEndAt } } = event;
17
+ const now = Time.now();
18
+ return ticketsAt < now && now < ticketsEndAt;
19
+ },
20
+ isInProgress(event) {
21
+ const { schedule: { startsAt, endsAt } } = event;
22
+ const now = Time.now();
23
+ return startsAt < now && now < endsAt;
24
+ },
25
+ saleHasEnded(event) {
26
+ const { schedule: { ticketsEndAt } } = event;
27
+ const now = Time.now();
28
+ return ticketsEndAt < now;
29
+ },
30
+ hasEnded(event) {
31
+ const { schedule: { endsAt } } = event;
32
+ const now = Time.now();
33
+ return endsAt < now;
34
+ },
35
+ hasActivePreSalePromotions(event) {
36
+ return event.promotions
37
+ .filter(promotion => promotion.type === 'Pre-Sale Code')
38
+ .filter(promotion => promotion.active)
39
+ .length > 0;
40
+ },
41
+ qrCodeEmailAt(event) {
42
+ const { performances: [performance] } = event;
43
+ const { schedule: { doorsAt, startsAt } } = performance;
44
+ if (event.sendQRCode === 'Upon Order') {
45
+ return Time.now();
46
+ }
47
+ if (event.sendQRCode === 'Two Weeks Before Show') {
48
+ const TWO_WEEKS = 14 * 24 * 60 * 60;
49
+ return startsAt - TWO_WEEKS;
50
+ }
51
+ return doorsAt - (600);
52
+ },
53
+ shouldSendOrderReceipt(event) {
54
+ const now = Time.now();
55
+ const qrCodeEmailAt = this.qrCodeEmailAt(event);
56
+ // Never send a receipt if we are
57
+ // send a qr code upon order
58
+ if (event.sendQRCode === 'Upon Order') {
59
+ return false;
60
+ }
61
+ // Only send a receipt if QR codes for
62
+ // the event haven't already gone out
63
+ if (qrCodeEmailAt > now) {
64
+ return true;
65
+ }
66
+ return false;
67
+ },
68
+ /****************************************************************************************
69
+ Venue
70
+ ****************************************************************************************/
71
+ venueIds(event) {
72
+ let venueIds = [event.venueId];
73
+ event.performances.forEach(performance => {
74
+ venueIds = venueIds.concat(performance.venueStageId);
75
+ });
76
+ venueIds = [...new Set(venueIds)];
77
+ venueIds = venueIds.filter(v => !!v);
78
+ return venueIds;
79
+ },
80
+ seatingId(event) {
81
+ return event._id.replace('_', 'SAMH');
82
+ },
83
+ /****************************************************************************************
84
+ Artist
85
+ ****************************************************************************************/
86
+ artistIds(event) {
87
+ let artistIds = [];
88
+ event.performances.forEach(performance => {
89
+ artistIds = artistIds
90
+ .concat(performance.headliningArtistIds)
91
+ .concat(performance.openingArtistIds);
92
+ });
93
+ artistIds = [...new Set(artistIds)];
94
+ artistIds = artistIds.filter(a => !!a);
95
+ return artistIds;
96
+ },
97
+ headliningArtistIds(event) {
98
+ let artistIds = [];
99
+ event.performances.forEach(performance => {
100
+ artistIds = artistIds
101
+ .concat(performance.headliningArtistIds);
102
+ });
103
+ artistIds = [...new Set(artistIds)];
104
+ artistIds = artistIds.filter(a => !!a);
105
+ return artistIds;
106
+ },
107
+ openingArtistIds(event) {
108
+ let artistIds = [];
109
+ event.performances.forEach(performance => {
110
+ artistIds = artistIds
111
+ .concat(performance.openingArtistIds);
112
+ });
113
+ artistIds = [...new Set(artistIds)];
114
+ artistIds = artistIds.filter(a => !!a);
115
+ return artistIds;
116
+ },
117
+ /****************************************************************************************
118
+ Tickets
119
+ ****************************************************************************************/
120
+ ticketType(event, ticketTypeId) {
121
+ return event.ticketTypes.find(ticketType => ticketType._id === ticketTypeId);
122
+ },
123
+ remainingTicketQty(event, ticketTypeId = null) {
124
+ if (ticketTypeId) {
125
+ let ticketType = event.ticketTypes.find(ticketType => ticketType._id === ticketTypeId);
126
+ if (!ticketType)
127
+ return 0;
128
+ else
129
+ return ticketType.remainingQty;
130
+ }
131
+ else {
132
+ return event.ticketTypes.reduce((cur, next) => {
133
+ return cur + next.remainingQty;
134
+ }, 0);
135
+ }
136
+ },
137
+ remainingQtyByTicketTypes(event) {
138
+ return event.ticketTypes.reduce((cur, ticketType) => {
139
+ cur[ticketType._id] = this.remainingTicketQty(event, ticketType._id);
140
+ return cur;
141
+ }, {});
142
+ },
143
+ purchaseLimitByTicketTypes(event) {
144
+ return event.ticketTypes.reduce((cur, ticketType) => {
145
+ cur[ticketType._id] = ticketType.purchaseLimit;
146
+ return cur;
147
+ }, {});
148
+ },
149
+ getCurrentTierId(event, ticketTypeId) {
150
+ const ticketType = event.ticketTypes.find(t => t._id.toString() === ticketTypeId);
151
+ const now = Time.now();
152
+ const tier = ticketType.tiers.find(tier => tier.startsAt < now && now < tier.endsAt);
153
+ return tier._id;
154
+ },
155
+ /****************************************************************************************
156
+ Upgrades
157
+ ****************************************************************************************/
158
+ upgrade(event, upgradeId) {
159
+ return event.upgrades.find(upgrades => upgrades._id === upgradeId);
160
+ },
161
+ remainingUpgradeQty(event, upgradeId = null) {
162
+ if (upgradeId) {
163
+ let upgrade = event.upgrades.find(upgrade => upgrade._id === upgradeId);
164
+ if (!upgrade)
165
+ return 0;
166
+ else
167
+ return upgrade.remainingQty;
168
+ }
169
+ else {
170
+ return event.upgrades.reduce((cur, next) => {
171
+ return cur + next.remainingQty;
172
+ }, 0);
173
+ }
174
+ },
175
+ remainingQtyByUpgrades(event) {
176
+ return event.upgrades.reduce((cur, upgrade) => {
177
+ cur[upgrade._id] = this.remainingUpgradeQty(event, upgrade._id);
178
+ return cur;
179
+ }, {});
180
+ },
181
+ purchaseLimitByUpgrades(event) {
182
+ return event.upgrades.reduce((cur, upgrade) => {
183
+ cur[upgrade._id] = upgrade.purchaseLimit;
184
+ return cur;
185
+ }, {});
186
+ },
187
+ };
188
+ //# sourceMappingURL=EventUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventUtil.js","sourceRoot":"","sources":["../../src/utils/EventUtil.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ declare const _default: {
2
+ processingFees(fees: any): any;
3
+ selloutFees(fees: any): any;
4
+ stripeFees(fees: any): any;
5
+ promoterFees(fees: any): any;
6
+ };
7
+ export default _default;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = {
4
+ processingFees(fees) {
5
+ return fees.filter((fee) => {
6
+ if (fee.appliedBy === 'Sellout' || fee.appliedBy === 'Stripe') {
7
+ return true;
8
+ }
9
+ return false;
10
+ });
11
+ },
12
+ selloutFees(fees) {
13
+ return fees.filter((fee) => {
14
+ if (fee.appliedBy === 'Sellout') {
15
+ return true;
16
+ }
17
+ return false;
18
+ });
19
+ },
20
+ stripeFees(fees) {
21
+ return fees.filter((fee) => {
22
+ if (fee.appliedBy === 'Stripe') {
23
+ return false;
24
+ }
25
+ return true;
26
+ });
27
+ },
28
+ promoterFees(fees) {
29
+ return fees.filter((fee) => {
30
+ if (fee.appliedBy === 'Sellout' || fee.appliedBy === 'Stripe') {
31
+ return false;
32
+ }
33
+ return true;
34
+ });
35
+ },
36
+ };
37
+ //# sourceMappingURL=FeeUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FeeUtil.js","sourceRoot":"","sources":["../../src/utils/FeeUtil.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACb,cAAc,CAAC,IAAI;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;YACzB,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,GAAG,CAAC,SAAS,KAAK,QAAQ,EAAE;gBAC7D,OAAO,IAAI,CAAC;aACb;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IACD,WAAW,CAAC,IAAI;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;YACzB,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,EAAE;gBAC/B,OAAO,IAAI,CAAC;aACb;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IACD,UAAU,CAAC,IAAI;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;YACzB,IAAI,GAAG,CAAC,SAAS,KAAK,QAAQ,EAAE;gBAC9B,OAAO,KAAK,CAAC;aACd;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IACD,YAAY,CAAC,IAAI;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;YACzB,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,GAAG,CAAC,SAAS,KAAK,QAAQ,EAAE;gBAC7D,OAAO,KAAK,CAAC;aACd;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
@@ -0,0 +1,29 @@
1
+ declare const _default: {
2
+ /** **************************************************************************************
3
+ Order
4
+ *************************************************************************************** */
5
+ orderTotal(order: any, fees: any): number;
6
+ orderTotalWithRefund(order: any, fees: any): number;
7
+ orderSubtotal(order: any): any;
8
+ orderFee(order: any, fees: any): number;
9
+ processingFees(order: any, fees: any): number;
10
+ selloutFees(order: any, fees: any): number;
11
+ stripeFees(order: any, fees: any): number;
12
+ promoterFees(order: any, fees: any): any;
13
+ /** **************************************************************************************
14
+ Ticket
15
+ *************************************************************************************** */
16
+ ticketTypeTotal(order: any, ticketTypeId: any): any;
17
+ ticketCountsByTicketTypeId(order: any): any;
18
+ ticketIsScannable(orderTicket: any): boolean;
19
+ seatIsSelected(order: any, seat: any): any;
20
+ allSeats(order: any): any;
21
+ ticketTypeSeats(order: any, ticketTypeId: any): any;
22
+ /** **************************************************************************************
23
+ Upgrade
24
+ *************************************************************************************** */
25
+ upgradeTypeTotal(order: any, upgradeId: any): any;
26
+ upgradeCountsByUpgradeId(order: any): any;
27
+ upgradeIsScannable(orderUpgrade: any): boolean;
28
+ };
29
+ export default _default;
@@ -0,0 +1,216 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const FeeUtil_1 = require("./FeeUtil");
4
+ exports.default = {
5
+ /** **************************************************************************************
6
+ Order
7
+ *************************************************************************************** */
8
+ orderTotal(order, fees) {
9
+ // if (order.type === this.types.Complimentary) return 0;
10
+ // if (order.type === this.types.RSVP) fees = [];
11
+ if ((!order.tickets || !order.tickets.length) &&
12
+ (!order.upgrades || !order.upgrades.length))
13
+ return 0;
14
+ if (!order.tickets)
15
+ order.tickets = [];
16
+ if (!order.upgrades)
17
+ order.upgrades = [];
18
+ const ticketFees = fees.filter(f => f.appliedTo === "Ticket");
19
+ const upgradeFees = fees.filter(f => f.appliedTo === "Upgrade");
20
+ let orderFees = fees.filter(f => f.appliedTo === "Order");
21
+ function applyTicketFee(ticket, fee) {
22
+ if (fee.filters.includes("Seated") && !ticket.seat)
23
+ return 0;
24
+ const noMax = fee.maxAppliedToPrice === 0;
25
+ if ((fee.minAppliedToPrice <= ticket.price &&
26
+ ticket.price <= fee.maxAppliedToPrice) ||
27
+ noMax) {
28
+ if (fee.type === "Flat") {
29
+ return fee.value;
30
+ }
31
+ if (fee.type === "Percent") {
32
+ return (ticket.price * fee.value) / 100;
33
+ }
34
+ }
35
+ else {
36
+ return 0;
37
+ }
38
+ }
39
+ function applyUpgradeFee(upgrade, fee) {
40
+ const noMax = fee.maxAppliedToPrice === 0;
41
+ if ((fee.minAppliedToPrice <= upgrade.price &&
42
+ upgrade.price <= fee.minAppliedToPrice) ||
43
+ noMax) {
44
+ if (fee.type === "Flat") {
45
+ return fee.value;
46
+ }
47
+ if (fee.type === "Percent") {
48
+ return (upgrade.price * fee.value) / 100;
49
+ }
50
+ }
51
+ else {
52
+ return 0;
53
+ }
54
+ }
55
+ function applyOrderFee(orderSubtotal, fee) {
56
+ if (fee.type === "Flat") {
57
+ return orderSubtotal + fee.value;
58
+ }
59
+ if (fee.type === "Percent") {
60
+ return orderSubtotal / (1 - fee.value / 100);
61
+ }
62
+ }
63
+ const ticketTotal = order.tickets.reduce((cur, ticket) => cur + ticket.price, 0);
64
+ const ticketFeeTotal = order.tickets.reduce((cur, ticket) => {
65
+ return (cur +
66
+ ticketFees.reduce((cur, fee) => cur + applyTicketFee(ticket, fee), 0));
67
+ }, 0);
68
+ const upgradeTotal = order.upgrades.reduce((cur, upgrade) => cur + upgrade.price, 0);
69
+ const upgradeFeeTotal = order.upgrades.reduce((cur, upgrade) => {
70
+ return (cur +
71
+ upgradeFees.reduce((cur, fee) => cur + applyUpgradeFee(upgrade, fee), 0));
72
+ }, 0);
73
+ const orderSubtotal = ticketTotal + ticketFeeTotal + upgradeTotal + upgradeFeeTotal;
74
+ // Order matters here. Flat type fees must be
75
+ // applied before Percent type fees
76
+ orderFees = orderFees.sort(({ type }) => {
77
+ if (type === "Flat")
78
+ return -1;
79
+ return 1;
80
+ });
81
+ const orderTotal = orderFees.reduce((cur, fee) => {
82
+ return applyOrderFee(cur, fee);
83
+ }, orderSubtotal);
84
+ return Math.round(orderTotal);
85
+ },
86
+ orderTotalWithRefund(order, fees) {
87
+ return this.orderTotal(order, fees) - (order.refundedAmount || 0);
88
+ },
89
+ orderSubtotal(order) {
90
+ if (!order.tickets)
91
+ order.tickets = [];
92
+ if (!order.upgrades)
93
+ order.upgrades = [];
94
+ const ticketTotal = order.tickets.reduce((cur, ticket) => cur + ticket.price, 0);
95
+ const upgradeTotal = order.upgrades.reduce((cur, upgrade) => cur + upgrade.price, 0);
96
+ return ticketTotal + upgradeTotal;
97
+ },
98
+ orderFee(order, fees) {
99
+ if (!order.tickets)
100
+ order.tickets = [];
101
+ if (!order.upgrades)
102
+ order.upgrades = [];
103
+ return this.orderTotal(order, fees) - this.orderSubtotal(order);
104
+ },
105
+ // This one is special because stripe fees
106
+ // can be applied as a percentage
107
+ processingFees(order, fees) {
108
+ if (!order.tickets)
109
+ order.tickets = [];
110
+ if (!order.upgrades)
111
+ order.upgrades = [];
112
+ const total = this.orderTotal(order, fees);
113
+ const subtotal = this.orderSubtotal(order);
114
+ const promoterFees = this.promoterFees(order, fees);
115
+ return total - subtotal - promoterFees;
116
+ },
117
+ selloutFees(order, fees) {
118
+ if (!order.tickets)
119
+ order.tickets = [];
120
+ if (!order.upgrades)
121
+ order.upgrades = [];
122
+ fees = FeeUtil_1.default.selloutFees(fees);
123
+ return this.orderTotal(order, fees) - this.orderSubtotal(order);
124
+ },
125
+ // This one is special because stripe fees
126
+ // can be applied as a percentage
127
+ stripeFees(order, fees) {
128
+ if (!order.tickets)
129
+ order.tickets = [];
130
+ if (!order.upgrades)
131
+ order.upgrades = [];
132
+ const total = this.orderTotal(order, fees);
133
+ const subtotal = this.orderSubtotal(order);
134
+ const selloutFees = this.selloutFees(order, fees);
135
+ const promoterFees = this.promoterFees(order, fees);
136
+ return total - subtotal - selloutFees - promoterFees;
137
+ },
138
+ promoterFees(order, fees) {
139
+ if (!order.tickets)
140
+ order.tickets = [];
141
+ if (!order.upgrades)
142
+ order.upgrades = [];
143
+ fees = FeeUtil_1.default.promoterFees(fees);
144
+ return this.orderFee(order, fees);
145
+ },
146
+ /** **************************************************************************************
147
+ Ticket
148
+ *************************************************************************************** */
149
+ ticketTypeTotal(order, ticketTypeId) {
150
+ return order.tickets
151
+ .filter(t => t.ticketTypeId === ticketTypeId)
152
+ .reduce((cur, next) => cur + next.price, 0);
153
+ },
154
+ ticketCountsByTicketTypeId(order) {
155
+ return order.tickets.reduce((cur, ticket) => {
156
+ if (cur[ticket.ticketTypeId])
157
+ cur[ticket.ticketTypeId]++;
158
+ else
159
+ cur[ticket.ticketTypeId] = 1;
160
+ return cur;
161
+ }, {});
162
+ },
163
+ ticketIsScannable(orderTicket) {
164
+ if (!orderTicket)
165
+ return false;
166
+ let { scan = {}, refund = {} } = orderTicket;
167
+ if (scan.scanned && scan.scannedAt > 0)
168
+ return false;
169
+ if (refund.refunded && refund.refundedAt > 0)
170
+ return false;
171
+ return true;
172
+ },
173
+ seatIsSelected(order, seat) {
174
+ const allSeats = this.allSeats(order);
175
+ return allSeats.includes(seat);
176
+ },
177
+ allSeats(order) {
178
+ return order.tickets
179
+ .filter(ticket => Boolean(ticket.seat))
180
+ .map(ticket => ticket.seat);
181
+ },
182
+ ticketTypeSeats(order, ticketTypeId) {
183
+ return order.tickets
184
+ .filter(ticket => ticket.ticketTypeId === ticketTypeId)
185
+ .filter(ticket => Boolean(ticket.seat))
186
+ .map(ticket => ticket.seat);
187
+ },
188
+ /** **************************************************************************************
189
+ Upgrade
190
+ *************************************************************************************** */
191
+ upgradeTypeTotal(order, upgradeId) {
192
+ return order.upgrades
193
+ .filter(t => t.upgradeId === upgradeId)
194
+ .reduce((cur, next) => cur + next.price, 0);
195
+ },
196
+ upgradeCountsByUpgradeId(order) {
197
+ return order.upgrades.reduce((cur, upgrades) => {
198
+ if (cur[upgrades.upgradeId])
199
+ cur[upgrades.upgradeId]++;
200
+ else
201
+ cur[upgrades.upgradeId] = 1;
202
+ return cur;
203
+ }, {});
204
+ },
205
+ upgradeIsScannable(orderUpgrade) {
206
+ if (!orderUpgrade)
207
+ return false;
208
+ let { scan = {}, refund = {} } = orderUpgrade;
209
+ if (scan.scanned && scan.scannedAt > 0)
210
+ return false;
211
+ if (refund.refunded && refund.refundedAt > 0)
212
+ return false;
213
+ return true;
214
+ }
215
+ };
216
+ //# sourceMappingURL=OrderUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrderUtil.js","sourceRoot":"","sources":["../../src/utils/OrderUtil.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ declare const _default: {
2
+ /****************************************************************************************
3
+ WebFlow Entity
4
+ ****************************************************************************************/
5
+ getSiteEntityId(entity: any, siteId: any): void;
6
+ };
7
+ export default _default;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = {
4
+ /****************************************************************************************
5
+ WebFlow Entity
6
+ ****************************************************************************************/
7
+ getSiteEntityId(entity, siteId) {
8
+ }
9
+ };
10
+ //# sourceMappingURL=WebFlowUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebFlowUtil.js","sourceRoot":"","sources":["../../src/utils/WebFlowUtil.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACf;;6FAEyF;IACvF,eAAe,CAAC,MAAM,EAAE,MAAM;IAE9B,CAAC;CACF,CAAA"}
package/package.json ADDED
@@ -0,0 +1,29 @@
1
+ {
2
+ "name": "@sellout/models",
3
+ "version": "0.0.1",
4
+ "description": "Sellout.io models",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "build": "tsc --project . && npm run build:pb",
8
+ "build:pb": "pbjs -t static-module -w commonjs -o ./.dist/sellout-proto.js src/proto/*.proto",
9
+ "start": "nodemon --watch src -e json,js,ts -x \"npm run build\""
10
+ },
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "www.github.com/sellout-tickets/sellout/common/models"
14
+ },
15
+ "author": "samheutmaker@gmail.com",
16
+ "license": "MIT",
17
+ "dependencies": {
18
+ "@sellout/service": "^0.0.1",
19
+ "@sellout/utils": "^0.0.1",
20
+ "shortid": "^2.2.15"
21
+ },
22
+ "devDependencies": {
23
+ "@types/node": "^13.9.1",
24
+ "nodemon": "^2.0.2",
25
+ "protobufjs": "~6.8.8",
26
+ "typescript": "^3.8.3"
27
+ },
28
+ "gitHead": "5f577126fcc59699bc5447b62f0ee56aa4b9759b"
29
+ }
@@ -0,0 +1,13 @@
1
+ export default interface IAddress {
2
+ address1?: string;
3
+ address2?: string;
4
+ city?: string;
5
+ state?: string;
6
+ zip?: string;
7
+ country?: string;
8
+ phone?: string;
9
+ lat?: number;
10
+ lng?: number;
11
+ placeId?: string;
12
+ timezone?: string;
13
+ }
@@ -0,0 +1,14 @@
1
+ import IMetrics from "@sellout/models/.dist/interfaces/IMetrics";
2
+ import { ISocialAccountLink } from './ISocialAccountLink';
3
+ import IArtistPressKit from './IArtistPressKit';
4
+ import IArtistContact from './IArtistContact';
5
+
6
+ export default interface IArtist {
7
+ _id?: string;
8
+ name: string;
9
+ genres: string[];
10
+ socialAccounts: ISocialAccountLink[];
11
+ pressKits: IArtistPressKit[];
12
+ contacts: IArtistContact[];
13
+ metrics: IMetrics,
14
+ }
@@ -0,0 +1,8 @@
1
+ export default interface IArtistContact {
2
+ firstName: string;
3
+ lastName: string;
4
+ title: string;
5
+ company: string;
6
+ email: string;
7
+ phoneNumber: string;
8
+ }
@@ -0,0 +1,8 @@
1
+ import { ISocialAccountLink } from "./ISocialAccountLink";
2
+
3
+ export default interface IArtistPressKit {
4
+ title: string;
5
+ description: string;
6
+ posterImageUrls: string[];
7
+ links: ISocialAccountLink[];
8
+ }