@sellout/models 0.0.233 → 0.0.237
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/graphql/fragments/event.fragment.js +2 -0
- package/.dist/graphql/fragments/event.fragment.js.map +1 -1
- package/.dist/graphql/fragments/order.fragment.d.ts +1 -0
- package/.dist/graphql/fragments/order.fragment.js +23 -0
- package/.dist/graphql/fragments/order.fragment.js.map +1 -1
- package/.dist/graphql/mutations/createOrder.mutation.js +1 -0
- package/.dist/graphql/mutations/createOrder.mutation.js.map +1 -1
- package/.dist/graphql/queries/discountCodeVerify.query.d.ts +2 -0
- package/.dist/graphql/queries/discountCodeVerify.query.js +34 -0
- package/.dist/graphql/queries/discountCodeVerify.query.js.map +1 -0
- package/.dist/graphql/queries/order.query.js +4 -0
- package/.dist/graphql/queries/order.query.js.map +1 -1
- package/.dist/interfaces/IAnalytics.d.ts +3 -0
- package/.dist/interfaces/IAnalytics.js +3 -0
- package/.dist/interfaces/IAnalytics.js.map +1 -1
- package/.dist/interfaces/ICreateOrderParams.d.ts +3 -0
- package/.dist/interfaces/IEventPromotion.d.ts +5 -0
- package/.dist/interfaces/IEventPromotion.js +6 -1
- package/.dist/interfaces/IEventPromotion.js.map +1 -1
- package/.dist/interfaces/IFee.d.ts +3 -8
- package/.dist/interfaces/IFee.js +4 -10
- package/.dist/interfaces/IFee.js.map +1 -1
- package/.dist/interfaces/IOrder.d.ts +2 -0
- package/.dist/interfaces/IOrder.js.map +1 -1
- package/.dist/interfaces/IOrderSummary.d.ts +1 -0
- package/.dist/interfaces/IOrderTicket.d.ts +1 -0
- package/.dist/interfaces/IPayment.d.ts +2 -0
- package/.dist/schemas/Event.d.ts +4 -0
- package/.dist/schemas/Event.js +4 -0
- package/.dist/schemas/Event.js.map +1 -1
- package/.dist/schemas/Order.d.ts +21 -0
- package/.dist/schemas/Order.js +21 -0
- package/.dist/schemas/Order.js.map +1 -1
- package/.dist/sellout-proto.js +705 -6
- package/.dist/utils/AnalyticsUtil.d.ts +2 -0
- package/.dist/utils/AnalyticsUtil.js +72 -0
- package/.dist/utils/AnalyticsUtil.js.map +1 -1
- package/.dist/utils/OrderUtil.js +1 -1
- package/.dist/utils/OrderUtil.js.map +1 -1
- package/.dist/utils/PaymentUtil.d.ts +2 -0
- package/.dist/utils/PaymentUtil.js +382 -33
- package/.dist/utils/PaymentUtil.js.map +1 -1
- package/package.json +3 -3
- package/src/graphql/fragments/event.fragment.ts +2 -0
- package/src/graphql/fragments/order.fragment.ts +24 -0
- package/src/graphql/mutations/createOrder.mutation.ts +1 -0
- package/src/graphql/queries/discountCodeVerify.query.ts +30 -0
- package/src/graphql/queries/order.query.ts +4 -0
- package/src/interfaces/IAnalytics.ts +3 -0
- package/src/interfaces/ICreateOrderParams.ts +4 -0
- package/src/interfaces/IEventPromotion.ts +7 -0
- package/src/interfaces/IFee.ts +3 -10
- package/src/interfaces/IOrder.ts +2 -0
- package/src/interfaces/IOrderSummary.ts +1 -0
- package/src/interfaces/IOrderTicket.ts +1 -0
- package/src/interfaces/IPayment.ts +3 -1
- package/src/proto/email.proto +1 -0
- package/src/proto/event.proto +18 -1
- package/src/proto/order.proto +15 -0
- package/src/schemas/Event.ts +4 -0
- package/src/schemas/Order.ts +21 -0
- package/src/utils/AnalyticsUtil.ts +123 -2
- package/src/utils/OrderUtil.ts +2 -1
- package/src/utils/PaymentUtil.ts +595 -96
|
@@ -14,6 +14,7 @@ import { OrderTypeEnum } from "../interfaces/IOrderType";
|
|
|
14
14
|
// import { OrderStateEnum } from "../interfaces/IOrderState";
|
|
15
15
|
import * as Time from "@sellout/utils/.dist/time";
|
|
16
16
|
import * as Price from '@sellout/utils/.dist/price';
|
|
17
|
+
// import { number } from "@hapi/joi";
|
|
17
18
|
|
|
18
19
|
interface IDuration {
|
|
19
20
|
startsAt: number;
|
|
@@ -24,7 +25,7 @@ const sum = (array: number[]) => (array.length ? array.pop() + sum(array) : 0);
|
|
|
24
25
|
|
|
25
26
|
const makeArray = (intervalNum: number) => new Array(intervalNum).fill(0);
|
|
26
27
|
|
|
27
|
-
type SumFn = (orders: IOrder[]) =>
|
|
28
|
+
type SumFn = (orders: IOrder[]) => any;
|
|
28
29
|
|
|
29
30
|
const makeCoordinates = (
|
|
30
31
|
orders: IOrder[],
|
|
@@ -268,6 +269,13 @@ export default {
|
|
|
268
269
|
case AnalyticsTypeEnum.UserAnalytics:
|
|
269
270
|
return this.userAnalytics(type, orders, intervalInfo, showSegments);
|
|
270
271
|
|
|
272
|
+
case AnalyticsTypeEnum.TicketsScanned:
|
|
273
|
+
return this.ticketsScanned(type, orders, intervalInfo, showSegments);
|
|
274
|
+
|
|
275
|
+
case AnalyticsTypeEnum.UpgradesScanned:
|
|
276
|
+
return this.upgradesScanned(type, orders, intervalInfo, showSegments);
|
|
277
|
+
|
|
278
|
+
|
|
271
279
|
default:
|
|
272
280
|
return {
|
|
273
281
|
label: type,
|
|
@@ -452,7 +460,7 @@ export default {
|
|
|
452
460
|
|
|
453
461
|
// return ordersData
|
|
454
462
|
// }
|
|
455
|
-
|
|
463
|
+
|
|
456
464
|
const ordersData = orders.reduce((cur, order) => {
|
|
457
465
|
let total;
|
|
458
466
|
if (order.type == OrderTypeEnum.RSVP) {
|
|
@@ -488,6 +496,7 @@ export default {
|
|
|
488
496
|
orders
|
|
489
497
|
// .filter(order => order.type === OrderTypeEnum.Paid)
|
|
490
498
|
.reduce((cur, order) => cur + order.tickets.length, 0);
|
|
499
|
+
|
|
491
500
|
|
|
492
501
|
let segmentTypes;
|
|
493
502
|
let segmentCoordinatesHOSumFn;
|
|
@@ -521,6 +530,116 @@ export default {
|
|
|
521
530
|
);
|
|
522
531
|
},
|
|
523
532
|
|
|
533
|
+
ticketsScanned(
|
|
534
|
+
type: AnalyticsTypeEnum,
|
|
535
|
+
orders: IOrder[],
|
|
536
|
+
intervalInfo: IntervalInfo,
|
|
537
|
+
showSegments: boolean,
|
|
538
|
+
): IAnalytics {
|
|
539
|
+
let count = 0;
|
|
540
|
+
const coordinatesSumFn = (orders: IOrder[]) => orders.reduce((cur, order) => {
|
|
541
|
+
order?.tickets.map(ticket => {
|
|
542
|
+
ticket?.scan?.map(a => {
|
|
543
|
+
if (a.scanned) {
|
|
544
|
+
count = count + 1
|
|
545
|
+
}
|
|
546
|
+
}
|
|
547
|
+
)
|
|
548
|
+
})
|
|
549
|
+
return count
|
|
550
|
+
}, 0);
|
|
551
|
+
let segmentTypes;
|
|
552
|
+
let segmentCoordinatesHOSumFn;
|
|
553
|
+
if (showSegments) {
|
|
554
|
+
segmentTypes = Object.keys(
|
|
555
|
+
orders
|
|
556
|
+
.reduce((cur, next: IOrder) => {
|
|
557
|
+
return cur.concat(next.tickets);
|
|
558
|
+
}, [] as IOrderTicket[])
|
|
559
|
+
.reduce((cur, next: IOrderTicket) => {
|
|
560
|
+
cur[next.name] = true;
|
|
561
|
+
return cur;
|
|
562
|
+
}, {})
|
|
563
|
+
|
|
564
|
+
);
|
|
565
|
+
|
|
566
|
+
segmentCoordinatesHOSumFn = (segmentType: string) => (orders:any) => orders
|
|
567
|
+
.reduce((cur, order) => {
|
|
568
|
+
const filteredTickets = order.tickets.filter((ticket) => {
|
|
569
|
+
return ticket.name === segmentType && ticket?.scan.some(scanData => scanData.scanned === true);
|
|
570
|
+
});
|
|
571
|
+
|
|
572
|
+
// console.log(filteredTickets);
|
|
573
|
+
|
|
574
|
+
return cur + filteredTickets.length;
|
|
575
|
+
}, 0);
|
|
576
|
+
|
|
577
|
+
}
|
|
578
|
+
|
|
579
|
+
return makeAnalytics(
|
|
580
|
+
type,
|
|
581
|
+
orders,
|
|
582
|
+
intervalInfo,
|
|
583
|
+
AnalyticsValueTypeEnum.Quantity,
|
|
584
|
+
coordinatesSumFn ,
|
|
585
|
+
segmentTypes,
|
|
586
|
+
segmentCoordinatesHOSumFn
|
|
587
|
+
);
|
|
588
|
+
},
|
|
589
|
+
|
|
590
|
+
// upgradeScannedCount
|
|
591
|
+
upgradesScanned(
|
|
592
|
+
type: AnalyticsTypeEnum,
|
|
593
|
+
orders: IOrder[],
|
|
594
|
+
intervalInfo: IntervalInfo,
|
|
595
|
+
showSegments: boolean,
|
|
596
|
+
): IAnalytics {
|
|
597
|
+
let count = 0;
|
|
598
|
+
const coordinatesSumFn = (orders: any) => orders.reduce((cur, order) => {
|
|
599
|
+
order?.upgrades.map(upgrade => {
|
|
600
|
+
if(upgrade?.scan.scanned){
|
|
601
|
+
count = count + 1
|
|
602
|
+
}
|
|
603
|
+
})
|
|
604
|
+
return count
|
|
605
|
+
}, 0);
|
|
606
|
+
let segmentTypes;
|
|
607
|
+
let segmentCoordinatesHOSumFn;
|
|
608
|
+
if (showSegments) {
|
|
609
|
+
segmentTypes = Object.keys(
|
|
610
|
+
orders
|
|
611
|
+
.reduce((cur, next: IOrder) => {
|
|
612
|
+
return cur.concat(next.upgrades);
|
|
613
|
+
}, [] as IOrderUpgrade[])
|
|
614
|
+
.reduce((cur, next: IOrderUpgrade) => {
|
|
615
|
+
cur[next.name] = true;
|
|
616
|
+
return cur;
|
|
617
|
+
}, {})
|
|
618
|
+
);
|
|
619
|
+
segmentCoordinatesHOSumFn = (segmentType: string) => (orders:any) => orders
|
|
620
|
+
.reduce((cur, order) => {
|
|
621
|
+
const filteredUpgrades = order.upgrades.filter((upgrade) => {
|
|
622
|
+
return upgrade.name === segmentType && upgrade?.scan.scanned === true;
|
|
623
|
+
});
|
|
624
|
+
|
|
625
|
+
console.log(filteredUpgrades);
|
|
626
|
+
|
|
627
|
+
return cur + filteredUpgrades.length;
|
|
628
|
+
}, 0);
|
|
629
|
+
|
|
630
|
+
}
|
|
631
|
+
|
|
632
|
+
return makeAnalytics(
|
|
633
|
+
type,
|
|
634
|
+
orders,
|
|
635
|
+
intervalInfo,
|
|
636
|
+
AnalyticsValueTypeEnum.Quantity,
|
|
637
|
+
coordinatesSumFn ,
|
|
638
|
+
segmentTypes,
|
|
639
|
+
segmentCoordinatesHOSumFn
|
|
640
|
+
);
|
|
641
|
+
},
|
|
642
|
+
|
|
524
643
|
ticketComps(
|
|
525
644
|
type: AnalyticsTypeEnum,
|
|
526
645
|
orders: IOrder[],
|
|
@@ -544,8 +663,10 @@ export default {
|
|
|
544
663
|
cur[next.name] = true;
|
|
545
664
|
return cur;
|
|
546
665
|
}, {})
|
|
666
|
+
|
|
547
667
|
);
|
|
548
668
|
|
|
669
|
+
|
|
549
670
|
segmentCoordinatesHOSumFn = (segmentType: string) => (orders: IOrder[]) =>
|
|
550
671
|
orders
|
|
551
672
|
.filter(order => order.type === OrderTypeEnum.Complimentary)
|
package/src/utils/OrderUtil.ts
CHANGED
|
@@ -236,6 +236,7 @@ export default {
|
|
|
236
236
|
|
|
237
237
|
return subTotal || 0
|
|
238
238
|
},
|
|
239
|
+
|
|
239
240
|
orderSubtotalWithRefund(order) {
|
|
240
241
|
if (order.type === OrderTypeEnum.Complimentary) return 0;
|
|
241
242
|
if (!order.tickets) order.tickets = [];
|
|
@@ -325,7 +326,7 @@ export default {
|
|
|
325
326
|
ticketTypeTotal(order, ticketTypeId) {
|
|
326
327
|
return order.tickets
|
|
327
328
|
.filter(t => t.ticketTypeId === ticketTypeId)
|
|
328
|
-
.reduce((cur, next) => cur + next.
|
|
329
|
+
.reduce((cur, next) => cur + next.origionalPrice, 0);
|
|
329
330
|
},
|
|
330
331
|
ticketCountsByTicketTypeId(order) {
|
|
331
332
|
return order.tickets.reduce((cur, ticket) => {
|