@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.
Files changed (64) hide show
  1. package/.dist/graphql/fragments/event.fragment.js +2 -0
  2. package/.dist/graphql/fragments/event.fragment.js.map +1 -1
  3. package/.dist/graphql/fragments/order.fragment.d.ts +1 -0
  4. package/.dist/graphql/fragments/order.fragment.js +23 -0
  5. package/.dist/graphql/fragments/order.fragment.js.map +1 -1
  6. package/.dist/graphql/mutations/createOrder.mutation.js +1 -0
  7. package/.dist/graphql/mutations/createOrder.mutation.js.map +1 -1
  8. package/.dist/graphql/queries/discountCodeVerify.query.d.ts +2 -0
  9. package/.dist/graphql/queries/discountCodeVerify.query.js +34 -0
  10. package/.dist/graphql/queries/discountCodeVerify.query.js.map +1 -0
  11. package/.dist/graphql/queries/order.query.js +4 -0
  12. package/.dist/graphql/queries/order.query.js.map +1 -1
  13. package/.dist/interfaces/IAnalytics.d.ts +3 -0
  14. package/.dist/interfaces/IAnalytics.js +3 -0
  15. package/.dist/interfaces/IAnalytics.js.map +1 -1
  16. package/.dist/interfaces/ICreateOrderParams.d.ts +3 -0
  17. package/.dist/interfaces/IEventPromotion.d.ts +5 -0
  18. package/.dist/interfaces/IEventPromotion.js +6 -1
  19. package/.dist/interfaces/IEventPromotion.js.map +1 -1
  20. package/.dist/interfaces/IFee.d.ts +3 -8
  21. package/.dist/interfaces/IFee.js +4 -10
  22. package/.dist/interfaces/IFee.js.map +1 -1
  23. package/.dist/interfaces/IOrder.d.ts +2 -0
  24. package/.dist/interfaces/IOrder.js.map +1 -1
  25. package/.dist/interfaces/IOrderSummary.d.ts +1 -0
  26. package/.dist/interfaces/IOrderTicket.d.ts +1 -0
  27. package/.dist/interfaces/IPayment.d.ts +2 -0
  28. package/.dist/schemas/Event.d.ts +4 -0
  29. package/.dist/schemas/Event.js +4 -0
  30. package/.dist/schemas/Event.js.map +1 -1
  31. package/.dist/schemas/Order.d.ts +21 -0
  32. package/.dist/schemas/Order.js +21 -0
  33. package/.dist/schemas/Order.js.map +1 -1
  34. package/.dist/sellout-proto.js +705 -6
  35. package/.dist/utils/AnalyticsUtil.d.ts +2 -0
  36. package/.dist/utils/AnalyticsUtil.js +72 -0
  37. package/.dist/utils/AnalyticsUtil.js.map +1 -1
  38. package/.dist/utils/OrderUtil.js +1 -1
  39. package/.dist/utils/OrderUtil.js.map +1 -1
  40. package/.dist/utils/PaymentUtil.d.ts +2 -0
  41. package/.dist/utils/PaymentUtil.js +382 -33
  42. package/.dist/utils/PaymentUtil.js.map +1 -1
  43. package/package.json +3 -3
  44. package/src/graphql/fragments/event.fragment.ts +2 -0
  45. package/src/graphql/fragments/order.fragment.ts +24 -0
  46. package/src/graphql/mutations/createOrder.mutation.ts +1 -0
  47. package/src/graphql/queries/discountCodeVerify.query.ts +30 -0
  48. package/src/graphql/queries/order.query.ts +4 -0
  49. package/src/interfaces/IAnalytics.ts +3 -0
  50. package/src/interfaces/ICreateOrderParams.ts +4 -0
  51. package/src/interfaces/IEventPromotion.ts +7 -0
  52. package/src/interfaces/IFee.ts +3 -10
  53. package/src/interfaces/IOrder.ts +2 -0
  54. package/src/interfaces/IOrderSummary.ts +1 -0
  55. package/src/interfaces/IOrderTicket.ts +1 -0
  56. package/src/interfaces/IPayment.ts +3 -1
  57. package/src/proto/email.proto +1 -0
  58. package/src/proto/event.proto +18 -1
  59. package/src/proto/order.proto +15 -0
  60. package/src/schemas/Event.ts +4 -0
  61. package/src/schemas/Order.ts +21 -0
  62. package/src/utils/AnalyticsUtil.ts +123 -2
  63. package/src/utils/OrderUtil.ts +2 -1
  64. 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[]) => number;
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)
@@ -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.price, 0);
329
+ .reduce((cur, next) => cur + next.origionalPrice, 0);
329
330
  },
330
331
  ticketCountsByTicketTypeId(order) {
331
332
  return order.tickets.reduce((cur, ticket) => {