@sellout/models 0.0.97 → 0.0.99
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/enums/PaymentMethodEnum.d.ts +5 -0
- package/.dist/enums/PaymentMethodEnum.js +10 -0
- package/.dist/enums/PaymentMethodEnum.js.map +1 -0
- package/.dist/graphql/mutations/{setUserOrgContextId.js → createStripeSetupIntent.js} +3 -5
- package/.dist/graphql/mutations/createStripeSetupIntent.js.map +1 -0
- package/.dist/graphql/mutations/{resetPasswordInApp.mutation.js → generateOrderReport.mutation.js} +3 -3
- package/.dist/graphql/mutations/generateOrderReport.mutation.js.map +1 -0
- package/.dist/graphql/mutations/listStripeTerminalReaders.mutation.d.ts +2 -0
- package/.dist/graphql/mutations/listStripeTerminalReaders.mutation.js +21 -0
- package/.dist/graphql/mutations/listStripeTerminalReaders.mutation.js.map +1 -0
- package/.dist/graphql/mutations/listStripeTerminalReaders.query.d.ts +2 -0
- package/.dist/graphql/mutations/listStripeTerminalReaders.query.js +21 -0
- package/.dist/graphql/mutations/listStripeTerminalReaders.query.js.map +1 -0
- package/.dist/graphql/mutations/registerStripeTermainlReader.mutation.d.ts +2 -0
- package/.dist/graphql/mutations/registerStripeTermainlReader.mutation.js +13 -0
- package/.dist/graphql/mutations/registerStripeTermainlReader.mutation.js.map +1 -0
- package/.dist/graphql/mutations/registerStripeTerminalReader.d.ts +2 -0
- package/.dist/graphql/mutations/registerStripeTerminalReader.js +13 -0
- package/.dist/graphql/mutations/registerStripeTerminalReader.js.map +1 -0
- package/.dist/graphql/mutations/verifyPhoneAuthentication.mutation.js +15 -0
- package/.dist/graphql/mutations/verifyPhoneAuthentication.mutation.js.map +1 -0
- package/.dist/graphql/mutations/verifyUserPhoneAuthentication.js +15 -0
- package/.dist/graphql/mutations/verifyUserPhoneAuthentication.js.map +1 -0
- package/.dist/graphql/queries/customerProfile.query.js +18 -0
- package/.dist/graphql/queries/customerProfile.query.js.map +1 -1
- package/.dist/graphql/queries/events.query.js +18 -0
- package/.dist/graphql/queries/events.query.js.map +1 -1
- package/.dist/graphql/queries/metrics.query.js +29 -0
- package/.dist/graphql/queries/metrics.query.js.map +1 -0
- package/.dist/graphql/queries/metricsData.query.d.ts +2 -0
- package/.dist/graphql/queries/metricsData.query.js +29 -0
- package/.dist/graphql/queries/metricsData.query.js.map +1 -0
- package/.dist/interfaces/IAnalytics.d.ts +22 -1
- package/.dist/interfaces/IAnalytics.js +52 -1
- package/.dist/interfaces/IAnalytics.js.map +1 -1
- package/.dist/interfaces/IEvent.d.ts +4 -2
- package/.dist/interfaces/IEvent.js +1 -1
- package/.dist/interfaces/IEvent.js.map +1 -1
- package/.dist/interfaces/IEventQuery.d.ts +22 -0
- package/.dist/interfaces/IEventQuery.js +15 -0
- package/.dist/interfaces/IEventQuery.js.map +1 -0
- package/.dist/interfaces/IMetricData.d.ts +57 -0
- package/.dist/interfaces/IMetricData.js +70 -0
- package/.dist/interfaces/IMetricData.js.map +1 -0
- package/.dist/interfaces/IOrderQuery.d.ts +14 -0
- package/.dist/interfaces/{ISecondaryEmail.js → IOrderQuery.js} +1 -1
- package/.dist/interfaces/IOrderQuery.js.map +1 -0
- package/.dist/interfaces/IStripe.d.ts +9 -0
- package/.dist/interfaces/IStripe.js +3 -0
- package/.dist/interfaces/IStripe.js.map +1 -0
- package/.dist/interfaces/IStripeSource.d.ts +1 -1
- package/.dist/interfaces/IUserProfile.d.ts +2 -0
- package/.dist/sellout-proto.js +96 -8
- package/.dist/utils/AnalyticsUtil.d.ts +2 -0
- package/.dist/utils/AnalyticsUtil.js +46 -7
- package/.dist/utils/AnalyticsUtil.js.map +1 -1
- package/.dist/utils/MetricsUtil.d.ts +7 -0
- package/.dist/utils/MetricsUtil.js +29 -0
- package/.dist/utils/MetricsUtil.js.map +1 -0
- package/.dist/utils/fee-util-broken-but-why.d.ts +8 -0
- package/.dist/utils/fee-util-broken-but-why.js +38 -0
- package/.dist/utils/fee-util-broken-but-why.js.map +1 -0
- package/package.json +4 -4
- package/src/graphql/mutations/generateOrderReport.mutation.ts +9 -0
- package/src/graphql/queries/customerProfile.query.ts +18 -0
- package/src/graphql/queries/events.query.ts +18 -0
- package/src/interfaces/IAnalytics.ts +55 -0
- package/src/interfaces/IEvent.ts +3 -1
- package/src/interfaces/IEventQuery.ts +24 -0
- package/src/interfaces/IOrderQuery.ts +14 -0
- package/src/interfaces/IUserProfile.ts +2 -0
- package/src/proto/event.proto +4 -1
- package/src/proto/order.proto +5 -4
- package/src/utils/AnalyticsUtil.ts +86 -12
- package/.dist/enums/DefaultPerformerImageUrls.d.ts +0 -5
- package/.dist/enums/DefaultPerformerImageUrls.js +0 -11
- package/.dist/enums/DefaultPerformerImageUrls.js.map +0 -1
- package/.dist/graphql/mutations/resetPasswordInApp.mutation.js.map +0 -1
- package/.dist/graphql/mutations/setUserOrgContextId.js.map +0 -1
- package/.dist/graphql/queries/customerProfile.js +0 -42
- package/.dist/graphql/queries/customerProfile.js.map +0 -1
- package/.dist/graphql/queries/organization.query.js +0 -49
- package/.dist/graphql/queries/organization.query.js.map +0 -1
- package/.dist/graphql/queries/organizations.js +0 -49
- package/.dist/graphql/queries/organizations.js.map +0 -1
- package/.dist/interfaces/ISecondaryEmail.d.ts +0 -4
- package/.dist/interfaces/ISecondaryEmail.js.map +0 -1
- package/.dist/schemas/SecondaryEmail.d.ts +0 -12
- package/.dist/schemas/SecondaryEmail.js +0 -14
- package/.dist/schemas/SecondaryEmail.js.map +0 -1
- /package/.dist/graphql/mutations/{resetPasswordInApp.mutation.d.ts → createStripeSetupIntent.d.ts} +0 -0
- /package/.dist/graphql/mutations/{setUserOrgContextId.d.ts → generateOrderReport.mutation.d.ts} +0 -0
- /package/.dist/graphql/{queries/customerProfile.d.ts → mutations/verifyPhoneAuthentication.mutation.d.ts} +0 -0
- /package/.dist/graphql/{queries/organization.query.d.ts → mutations/verifyUserPhoneAuthentication.d.ts} +0 -0
- /package/.dist/graphql/queries/{organizations.d.ts → metrics.query.d.ts} +0 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const IFee__1 = require("../interfaces/IFee\";");
|
|
4
|
+
exports.default = {
|
|
5
|
+
processingFees(fees) {
|
|
6
|
+
return fees.filter((fee) => {
|
|
7
|
+
if (fee.appliedBy === IFee__1.FeeAppliedByEnum.Sellout || fee.appliedBy === IFee__1.FeeAppliedByEnum.Stripe) {
|
|
8
|
+
return true;
|
|
9
|
+
}
|
|
10
|
+
return false;
|
|
11
|
+
});
|
|
12
|
+
},
|
|
13
|
+
selloutFees(fees) {
|
|
14
|
+
return fees.filter((fee) => {
|
|
15
|
+
if (fee.appliedBy === IFee__1.FeeAppliedByEnum.Sellout) {
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
return false;
|
|
19
|
+
});
|
|
20
|
+
},
|
|
21
|
+
stripeFees(fees) {
|
|
22
|
+
return fees.filter((fee) => {
|
|
23
|
+
if (fee.appliedBy === IFee__1.FeeAppliedByEnum.Stripe) {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
return true;
|
|
27
|
+
});
|
|
28
|
+
},
|
|
29
|
+
promoterFees(fees) {
|
|
30
|
+
return fees.filter((fee) => {
|
|
31
|
+
if (fee.appliedBy === IFee__1.FeeAppliedByEnum.Sellout || fee.appliedBy === IFee__1.FeeAppliedByEnum.Stripe) {
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
return true;
|
|
35
|
+
});
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=fee-util-broken-but-why.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fee-util-broken-but-why.js","sourceRoot":"","sources":["../../src/utils/fee-util-broken-but-why.ts"],"names":[],"mappings":";;AAAA,iDAA4D;AAE5D,kBAAe;IACb,cAAc,CAAC,IAAY;QACzB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAS,EAAE,EAAE;YAC/B,IAAI,GAAG,CAAC,SAAS,KAAK,wBAAgB,CAAC,OAAO,IAAI,GAAG,CAAC,SAAS,KAAK,wBAAgB,CAAC,MAAM,EAAE;gBAC3F,OAAO,IAAI,CAAC;aACb;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IACD,WAAW,CAAC,IAAY;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAS,EAAE,EAAE;YAC/B,IAAI,GAAG,CAAC,SAAS,KAAK,wBAAgB,CAAC,OAAO,EAAE;gBAC9C,OAAO,IAAI,CAAC;aACb;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IACD,UAAU,CAAC,IAAY;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAS,EAAE,EAAE;YAC/B,IAAI,GAAG,CAAC,SAAS,KAAK,wBAAgB,CAAC,MAAM,EAAE;gBAC7C,OAAO,KAAK,CAAC;aACd;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IACD,YAAY,CAAC,IAAY;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAS,EAAE,EAAE;YAC/B,IAAI,GAAG,CAAC,SAAS,KAAK,wBAAgB,CAAC,OAAO,IAAI,GAAG,CAAC,SAAS,KAAK,wBAAgB,CAAC,MAAM,EAAE;gBAC3F,OAAO,KAAK,CAAC;aACd;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sellout/models",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.99",
|
|
4
4
|
"description": "Sellout.io models",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -17,8 +17,8 @@
|
|
|
17
17
|
"license": "MIT",
|
|
18
18
|
"dependencies": {
|
|
19
19
|
"@hapi/joi": "^16.1.7",
|
|
20
|
-
"@sellout/service": "^0.0.
|
|
21
|
-
"@sellout/utils": "^0.0.
|
|
20
|
+
"@sellout/service": "^0.0.99",
|
|
21
|
+
"@sellout/utils": "^0.0.99",
|
|
22
22
|
"@types/hapi__joi": "^16.0.1",
|
|
23
23
|
"@types/shortid": "0.0.29",
|
|
24
24
|
"apollo-link-debounce": "^2.1.0",
|
|
@@ -32,5 +32,5 @@
|
|
|
32
32
|
"protobufjs": "~6.10.1",
|
|
33
33
|
"typescript": "^3.8.3"
|
|
34
34
|
},
|
|
35
|
-
"gitHead": "
|
|
35
|
+
"gitHead": "7162c9d082ea3ee7169a885d4158fb45040cf93e"
|
|
36
36
|
}
|
|
@@ -30,6 +30,24 @@ const query = gql`
|
|
|
30
30
|
city
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
+
analytics {
|
|
34
|
+
label
|
|
35
|
+
type
|
|
36
|
+
interval
|
|
37
|
+
intervalOptions
|
|
38
|
+
coordinates {
|
|
39
|
+
x
|
|
40
|
+
y
|
|
41
|
+
}
|
|
42
|
+
segments {
|
|
43
|
+
label
|
|
44
|
+
type
|
|
45
|
+
coordinates {
|
|
46
|
+
x
|
|
47
|
+
y
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
33
51
|
published
|
|
34
52
|
...EventSchedule
|
|
35
53
|
...Location
|
|
@@ -32,6 +32,8 @@ export enum AnalyticsTypeEnum {
|
|
|
32
32
|
AvgOrderValue = "Avg. Order Value",
|
|
33
33
|
OnlineSessions = "Online Sessions",
|
|
34
34
|
OnlineConversationRate = "Online Converstation Rate",
|
|
35
|
+
EventAnalytics = 'Event Analytics',
|
|
36
|
+
UserAnalytics = 'User Analytics'
|
|
35
37
|
}
|
|
36
38
|
|
|
37
39
|
export enum AnalyticsValueTypeEnum {
|
|
@@ -44,6 +46,7 @@ export interface IAnalyticsQueryParams {
|
|
|
44
46
|
eventId?: string;
|
|
45
47
|
venueId?: string;
|
|
46
48
|
artistId?: string;
|
|
49
|
+
userId?: string;
|
|
47
50
|
startDate?: number;
|
|
48
51
|
endDate?: number;
|
|
49
52
|
interval?: AnalyticsIntervalEnum;
|
|
@@ -55,6 +58,28 @@ export interface ICoordinate {
|
|
|
55
58
|
y: number;
|
|
56
59
|
}
|
|
57
60
|
|
|
61
|
+
export enum EventAnalyticsEnum {
|
|
62
|
+
SoldOutPercentage = 'Sold Out',
|
|
63
|
+
TotalSales = 'Total Sales',
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export enum EventAnalyticsSegmentsIndexEnum {
|
|
67
|
+
SoldOut = 0,
|
|
68
|
+
TotalSales = 1,
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export enum UserAnalyticsEnum {
|
|
72
|
+
EventsAttendedCount = 'EventAttendedCount',
|
|
73
|
+
TicketsPurchasedCount = 'TicketsPurchasedCount',
|
|
74
|
+
LifeTimeValue = 'LifeTimeValue',
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export enum UserAnalyticsSegmentsIndexEnum {
|
|
78
|
+
EventsAttendedCount = 0,
|
|
79
|
+
TicketsPurchasedCount = 1,
|
|
80
|
+
LifeTimeValue = 2,
|
|
81
|
+
}
|
|
82
|
+
|
|
58
83
|
export default interface IAnalytics {
|
|
59
84
|
label: string;
|
|
60
85
|
interval?: AnalyticsIntervalEnum;
|
|
@@ -65,6 +90,36 @@ export default interface IAnalytics {
|
|
|
65
90
|
totalValue?: number;
|
|
66
91
|
}
|
|
67
92
|
|
|
93
|
+
|
|
94
|
+
// const EventAnalytics: IAnalytics = {
|
|
95
|
+
// label: AnalyticsTypeEnum.EventAnalytics,
|
|
96
|
+
// type: AnalyticsValueTypeEnum.General,
|
|
97
|
+
// interval: AnalyticsIntervalEnum.Hour,
|
|
98
|
+
// segments: [
|
|
99
|
+
// {
|
|
100
|
+
// label: EventAnalyticsEnum.SoldOutPercentage,
|
|
101
|
+
// type: AnalyticsValueTypeEnum.Percent,
|
|
102
|
+
// coordinates: [
|
|
103
|
+
// {
|
|
104
|
+
// x: 1,
|
|
105
|
+
// y: 68,
|
|
106
|
+
// },
|
|
107
|
+
// ]
|
|
108
|
+
// },
|
|
109
|
+
// {
|
|
110
|
+
// label: EventAnalyticsEnum.TotalSales,
|
|
111
|
+
// type: AnalyticsValueTypeEnum.Currency,
|
|
112
|
+
// coordinates: [
|
|
113
|
+
// {
|
|
114
|
+
// x: 1,
|
|
115
|
+
// y: 2120100,
|
|
116
|
+
// },
|
|
117
|
+
// ]
|
|
118
|
+
// }
|
|
119
|
+
// ]
|
|
120
|
+
|
|
121
|
+
// }
|
|
122
|
+
|
|
68
123
|
// const TicketSalesCard: IAnalytics = {
|
|
69
124
|
// label: AnalyticsTypeEnum.TicketSales,
|
|
70
125
|
// type: AnalyticsValueTypeEnum.Currency,
|
package/src/interfaces/IEvent.ts
CHANGED
|
@@ -13,6 +13,7 @@ import IPerformance from './IPerformance';
|
|
|
13
13
|
import IEventPromotion from './IEventPromotion';
|
|
14
14
|
import IEventCustomField from './IEventCustomField';
|
|
15
15
|
import IAddress from "./IAddress";
|
|
16
|
+
import IAnalytics from "./IAnalytics";
|
|
16
17
|
|
|
17
18
|
export enum EventTypeEnum {
|
|
18
19
|
GeneralEvent = 'General Event', // TODO // BACKFILL
|
|
@@ -38,9 +39,9 @@ export enum EventAgeEnum {
|
|
|
38
39
|
}
|
|
39
40
|
|
|
40
41
|
export enum SendQRCodeEnum {
|
|
41
|
-
DayOfShow = 'Day of show',
|
|
42
42
|
UponOrder = 'Upon order',
|
|
43
43
|
TwoWeeksBefore = 'Two weeks before show',
|
|
44
|
+
DayOfShow = 'Day of show',
|
|
44
45
|
}
|
|
45
46
|
|
|
46
47
|
export enum EventProcessAsEnum {
|
|
@@ -87,4 +88,5 @@ export interface IEventGraphQL extends IEvent {
|
|
|
87
88
|
webFlowEntity?: IWebFlowEntity
|
|
88
89
|
seatingPublicKey?: string;
|
|
89
90
|
hasOrders: boolean;
|
|
91
|
+
analytics: IAnalytics;
|
|
90
92
|
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export enum EventQuerySortByEnum {
|
|
2
|
+
CreatedAt = 'createdAt',
|
|
3
|
+
StartsAt = 'schedule.startsAt',
|
|
4
|
+
};
|
|
5
|
+
|
|
6
|
+
export enum EventQueryOrderByEnum {
|
|
7
|
+
Ascending = -1,
|
|
8
|
+
Descending = 1,
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export default interface IEventQuery {
|
|
12
|
+
orgId?: string;
|
|
13
|
+
name?: string;
|
|
14
|
+
eventIds?: string[];
|
|
15
|
+
venueIds?: string[];
|
|
16
|
+
artistIds?: string[];
|
|
17
|
+
userIds?: string[];
|
|
18
|
+
startDate?: number;
|
|
19
|
+
endDate?: number;
|
|
20
|
+
sortBy?: EventQuerySortByEnum;
|
|
21
|
+
orderBy?: EventQueryOrderByEnum;
|
|
22
|
+
published?: boolean;
|
|
23
|
+
any?: boolean;
|
|
24
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export default interface IOrderQuery {
|
|
2
|
+
orgId?: string;
|
|
3
|
+
orderIds?: string[];
|
|
4
|
+
eventIds?: string[];
|
|
5
|
+
venueIds?: string[];
|
|
6
|
+
artistIds?: string[];
|
|
7
|
+
userIds?: string[];
|
|
8
|
+
userQuery?: string;
|
|
9
|
+
states?: string[];
|
|
10
|
+
types?: string[];
|
|
11
|
+
startDate?: number;
|
|
12
|
+
endDate?: number;
|
|
13
|
+
any?: boolean;
|
|
14
|
+
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import IAddress from "./IAddress";
|
|
2
|
+
import IAnalytics from "./IAnalytics";
|
|
2
3
|
import IStripeCustomer from './IStripeCustomer';
|
|
3
4
|
import IUser from "./IUser";
|
|
4
5
|
|
|
@@ -23,4 +24,5 @@ export default interface IUserProfile {
|
|
|
23
24
|
export interface IUserProfileGraphQL extends IUserProfile {
|
|
24
25
|
user: IUser;
|
|
25
26
|
stripeCustomer: IStripeCustomer;
|
|
27
|
+
analytics: IAnalytics;
|
|
26
28
|
}
|
package/src/proto/event.proto
CHANGED
|
@@ -197,7 +197,10 @@ message EventQuery {
|
|
|
197
197
|
repeated string userIds = 4;
|
|
198
198
|
int32 startDate = 5;
|
|
199
199
|
int32 endDate = 6;
|
|
200
|
-
|
|
200
|
+
string sortBy = 7;
|
|
201
|
+
int32 orderBy = 8;
|
|
202
|
+
bool published = 9;
|
|
203
|
+
bool any = 10;
|
|
201
204
|
}
|
|
202
205
|
|
|
203
206
|
message QueryEventsRequest {
|
package/src/proto/order.proto
CHANGED
|
@@ -341,10 +341,11 @@ message OrderAnalyticsQuery {
|
|
|
341
341
|
string eventId = 0;
|
|
342
342
|
string venueId = 1;
|
|
343
343
|
string artistId = 2;
|
|
344
|
-
|
|
345
|
-
int32
|
|
346
|
-
|
|
347
|
-
|
|
344
|
+
string userId = 3;
|
|
345
|
+
int32 startDate = 4;
|
|
346
|
+
int32 endDate = 5;
|
|
347
|
+
string interval = 6;
|
|
348
|
+
repeated string types = 7;
|
|
348
349
|
}
|
|
349
350
|
|
|
350
351
|
message QueryOrderAnalyticsRequest {
|
|
@@ -3,7 +3,9 @@ import IAnalytics, {
|
|
|
3
3
|
AnalyticsIntervalEnum,
|
|
4
4
|
AnalyticsTypeEnum,
|
|
5
5
|
AnalyticsValueTypeEnum,
|
|
6
|
+
EventAnalyticsEnum,
|
|
6
7
|
ICoordinate,
|
|
8
|
+
UserAnalyticsEnum,
|
|
7
9
|
} from "../interfaces/IAnalytics";
|
|
8
10
|
import IOrder from "../interfaces/IOrder";
|
|
9
11
|
import IOrderTicket from "../interfaces/IOrderTicket";
|
|
@@ -175,8 +177,6 @@ type IntervalInfo = {
|
|
|
175
177
|
intervalNum: number;
|
|
176
178
|
};
|
|
177
179
|
|
|
178
|
-
|
|
179
|
-
|
|
180
180
|
const getIntervalInfo = (
|
|
181
181
|
orders: IOrder[],
|
|
182
182
|
startDate?: number,
|
|
@@ -191,12 +191,6 @@ const getIntervalInfo = (
|
|
|
191
191
|
}
|
|
192
192
|
|
|
193
193
|
const duration = endDate - startDate; // duration in seconds
|
|
194
|
-
|
|
195
|
-
// console.log('start', startDate);
|
|
196
|
-
// console.log('end', endDate);
|
|
197
|
-
// console.log('dur', duration);
|
|
198
|
-
// console.log('interval', interval)
|
|
199
|
-
|
|
200
194
|
const intervalFromDuration = getIntervalFromDuration(duration);
|
|
201
195
|
const intervalOptions = intervalsMap[intervalFromDuration];
|
|
202
196
|
if(!interval) {
|
|
@@ -213,10 +207,6 @@ const getIntervalInfo = (
|
|
|
213
207
|
// Number of intervals.
|
|
214
208
|
const intervalNum = Math.ceil(duration / intervalLength) + 1;
|
|
215
209
|
|
|
216
|
-
// const altIntervalIndex = orderedIntervals.indexOf(interval) + 1;
|
|
217
|
-
// const altInterval = orderedIntervals[altIntervalIndex];
|
|
218
|
-
// if (altInterval) intervalOptions.push(altInterval);
|
|
219
|
-
|
|
220
210
|
return {
|
|
221
211
|
startDate,
|
|
222
212
|
endDate,
|
|
@@ -271,6 +261,12 @@ export default {
|
|
|
271
261
|
case AnalyticsTypeEnum.TotalOrders:
|
|
272
262
|
return this.totalOrders(type, orders, intervalInfo);
|
|
273
263
|
|
|
264
|
+
case AnalyticsTypeEnum.EventAnalytics:
|
|
265
|
+
return this.eventAnalytics(type, orders, intervalInfo, showSegments);
|
|
266
|
+
|
|
267
|
+
case AnalyticsTypeEnum.UserAnalytics:
|
|
268
|
+
return this.userAnalytics(type, orders, intervalInfo, showSegments);
|
|
269
|
+
|
|
274
270
|
default:
|
|
275
271
|
return {
|
|
276
272
|
label: type,
|
|
@@ -698,6 +694,84 @@ export default {
|
|
|
698
694
|
coordinatesSumFn
|
|
699
695
|
);
|
|
700
696
|
},
|
|
697
|
+
eventAnalytics(
|
|
698
|
+
type: AnalyticsTypeEnum,
|
|
699
|
+
orders: IOrder[],
|
|
700
|
+
intervalInfo: IntervalInfo,
|
|
701
|
+
showSegments: boolean,
|
|
702
|
+
): IAnalytics {
|
|
703
|
+
const coordinatesSumFn = (orders: IOrder[]) =>
|
|
704
|
+
orders.filter(order => Boolean(order.promotionCode))
|
|
705
|
+
.length;
|
|
706
|
+
|
|
707
|
+
let segmentTypes;
|
|
708
|
+
let segmentCoordinatesHOSumFn;
|
|
709
|
+
if (showSegments) {
|
|
710
|
+
segmentTypes = [EventAnalyticsEnum.SoldOutPercentage, EventAnalyticsEnum.TotalSales];
|
|
711
|
+
|
|
712
|
+
segmentCoordinatesHOSumFn = (segmentType: string) => (orders: IOrder[]) => {
|
|
713
|
+
switch(segmentType) {
|
|
714
|
+
case EventAnalyticsEnum.SoldOutPercentage:
|
|
715
|
+
return 0;
|
|
716
|
+
case EventAnalyticsEnum.TotalSales:
|
|
717
|
+
return orders.reduce((cur: number, next: IOrder) => cur + next?.payments?.[0].transferAmount ?? 0, 0);
|
|
718
|
+
}
|
|
719
|
+
}
|
|
720
|
+
}
|
|
721
|
+
|
|
722
|
+
return makeAnalytics(
|
|
723
|
+
type,
|
|
724
|
+
orders,
|
|
725
|
+
intervalInfo,
|
|
726
|
+
AnalyticsValueTypeEnum.Quantity,
|
|
727
|
+
coordinatesSumFn,
|
|
728
|
+
segmentTypes,
|
|
729
|
+
segmentCoordinatesHOSumFn
|
|
730
|
+
);
|
|
731
|
+
},
|
|
732
|
+
userAnalytics(
|
|
733
|
+
type: AnalyticsTypeEnum,
|
|
734
|
+
orders: IOrder[],
|
|
735
|
+
intervalInfo: IntervalInfo,
|
|
736
|
+
showSegments: boolean,
|
|
737
|
+
): IAnalytics {
|
|
738
|
+
|
|
739
|
+
const coordinatesSumFn = (orders: IOrder[]) =>
|
|
740
|
+
orders.filter(order => Boolean(order.promotionCode))
|
|
741
|
+
.length;
|
|
742
|
+
|
|
743
|
+
let segmentTypes;
|
|
744
|
+
let segmentCoordinatesHOSumFn;
|
|
745
|
+
if (showSegments) {
|
|
746
|
+
segmentTypes = [
|
|
747
|
+
UserAnalyticsEnum.EventsAttendedCount,
|
|
748
|
+
UserAnalyticsEnum.TicketsPurchasedCount,
|
|
749
|
+
UserAnalyticsEnum.LifeTimeValue
|
|
750
|
+
];
|
|
751
|
+
|
|
752
|
+
segmentCoordinatesHOSumFn = (segmentType: string) => (orders: IOrder[]) => {
|
|
753
|
+
switch (segmentType) {
|
|
754
|
+
case UserAnalyticsEnum.EventsAttendedCount:
|
|
755
|
+
return [...new Set(orders.map(order => order.eventId))].length;
|
|
756
|
+
case UserAnalyticsEnum.TicketsPurchasedCount:
|
|
757
|
+
return orders.reduce((cur: number, next: IOrder) => cur + next.tickets.length ?? 0, 0);
|
|
758
|
+
case UserAnalyticsEnum.LifeTimeValue:
|
|
759
|
+
return orders.reduce((cur: number, next: IOrder) => cur + next.payments?.[0].transferAmount ?? 0, 0);
|
|
760
|
+
|
|
761
|
+
}
|
|
762
|
+
}
|
|
763
|
+
}
|
|
764
|
+
|
|
765
|
+
return makeAnalytics(
|
|
766
|
+
type,
|
|
767
|
+
orders,
|
|
768
|
+
intervalInfo,
|
|
769
|
+
AnalyticsValueTypeEnum.Quantity,
|
|
770
|
+
coordinatesSumFn,
|
|
771
|
+
segmentTypes,
|
|
772
|
+
segmentCoordinatesHOSumFn
|
|
773
|
+
);
|
|
774
|
+
},
|
|
701
775
|
|
|
702
776
|
// Returns start and end date
|
|
703
777
|
durationToUnix(duration: AnalyticsDurationEnum): IDuration {
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export declare enum DefaultArtistImageUrls {
|
|
2
|
-
Individual = "https://storage.googleapis.com/sellout-assets/default-images/performer/individual.jpg",
|
|
3
|
-
MusicalArtist = "https://storage.googleapis.com/sellout-assets/default-images/performer/musical-artist.jpg",
|
|
4
|
-
Film = "https://storage.googleapis.com/sellout-assets/default-images/performer/film.jpg"
|
|
5
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DefaultArtistImageUrls = void 0;
|
|
4
|
-
var DefaultArtistImageUrls;
|
|
5
|
-
(function (DefaultArtistImageUrls) {
|
|
6
|
-
DefaultArtistImageUrls["Individual"] = "https://storage.googleapis.com/sellout-assets/default-images/performer/individual.jpg";
|
|
7
|
-
DefaultArtistImageUrls["MusicalArtist"] = "https://storage.googleapis.com/sellout-assets/default-images/performer/musical-artist.jpg";
|
|
8
|
-
DefaultArtistImageUrls["Film"] = "https://storage.googleapis.com/sellout-assets/default-images/performer/film.jpg";
|
|
9
|
-
})(DefaultArtistImageUrls = exports.DefaultArtistImageUrls || (exports.DefaultArtistImageUrls = {}));
|
|
10
|
-
;
|
|
11
|
-
//# sourceMappingURL=DefaultPerformerImageUrls.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultPerformerImageUrls.js","sourceRoot":"","sources":["../../src/enums/DefaultPerformerImageUrls.ts"],"names":[],"mappings":";;;AAAA,IAAY,sBAIX;AAJD,WAAY,sBAAsB;IAChC,8HAAoG,CAAA;IACpG,qIAA2G,CAAA;IAC3G,kHAAwF,CAAA;AAC1F,CAAC,EAJW,sBAAsB,GAAtB,8BAAsB,KAAtB,8BAAsB,QAIjC;AAAA,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resetPasswordInApp.mutation.js","sourceRoot":"","sources":["../../../src/graphql/mutations/resetPasswordInApp.mutation.ts"],"names":[],"mappings":";;;;;AAAA,8DAA8B;AAE9B,MAAM,QAAQ,GAAG,qBAAG,CAAA;;;;CAInB,CAAC;AAEF,kBAAe,QAAQ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setUserOrgContextId.js","sourceRoot":"","sources":["../../../src/graphql/mutations/setUserOrgContextId.ts"],"names":[],"mappings":";;;;;AAAA,8DAA8B;AAE9B,MAAM,QAAQ,GAAG,qBAAG,CAAA;;;;;;CAMnB,CAAC;AAEF,kBAAe,QAAQ,CAAC"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const graphql_tag_1 = __importDefault(require("graphql-tag"));
|
|
7
|
-
const query = graphql_tag_1.default `
|
|
8
|
-
query userProfiles($query: UserProfileQueryInput) {
|
|
9
|
-
userProfiles(query: $query) {
|
|
10
|
-
_id
|
|
11
|
-
imageUrl
|
|
12
|
-
user {
|
|
13
|
-
_id
|
|
14
|
-
email
|
|
15
|
-
firstName
|
|
16
|
-
lastName
|
|
17
|
-
phoneNumber
|
|
18
|
-
phoneNumberVerifiedAt
|
|
19
|
-
}
|
|
20
|
-
metrics {
|
|
21
|
-
orgId
|
|
22
|
-
yearToDateValue
|
|
23
|
-
lifeTimeValue
|
|
24
|
-
createdAt
|
|
25
|
-
lifeTimeTicketsPurchased
|
|
26
|
-
lifeTimeUpgradesPurchased
|
|
27
|
-
}
|
|
28
|
-
stripeCustomerId
|
|
29
|
-
address {
|
|
30
|
-
address1
|
|
31
|
-
address2
|
|
32
|
-
city
|
|
33
|
-
state
|
|
34
|
-
zip
|
|
35
|
-
country
|
|
36
|
-
phone
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
`;
|
|
41
|
-
exports.default = query;
|
|
42
|
-
//# sourceMappingURL=customerProfile.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"customerProfile.js","sourceRoot":"","sources":["../../../src/graphql/queries/customerProfile.ts"],"names":[],"mappings":";;;;;AAAA,8DAA8B;AAE9B,MAAM,KAAK,GAAG,qBAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiChB,CAAC;AAEF,kBAAe,KAAK,CAAC"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const graphql_tag_1 = __importDefault(require("graphql-tag"));
|
|
7
|
-
const query = graphql_tag_1.default `
|
|
8
|
-
query organizations {
|
|
9
|
-
organizations {
|
|
10
|
-
_id
|
|
11
|
-
orgName
|
|
12
|
-
orgUrls
|
|
13
|
-
orgLogoUrl
|
|
14
|
-
createdAt
|
|
15
|
-
address {
|
|
16
|
-
address1
|
|
17
|
-
address2
|
|
18
|
-
city
|
|
19
|
-
state
|
|
20
|
-
zip
|
|
21
|
-
country
|
|
22
|
-
}
|
|
23
|
-
user {
|
|
24
|
-
email
|
|
25
|
-
}
|
|
26
|
-
seating {
|
|
27
|
-
publicKey
|
|
28
|
-
secretKey
|
|
29
|
-
designerKey
|
|
30
|
-
}
|
|
31
|
-
webFlow {
|
|
32
|
-
sites {
|
|
33
|
-
name
|
|
34
|
-
webFlowId
|
|
35
|
-
enabled
|
|
36
|
-
createdAt
|
|
37
|
-
updatedAt
|
|
38
|
-
previewUrl
|
|
39
|
-
domains {
|
|
40
|
-
lastPublishedAt
|
|
41
|
-
name
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
`;
|
|
48
|
-
exports.default = query;
|
|
49
|
-
//# sourceMappingURL=organization.query.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"organization.query.js","sourceRoot":"","sources":["../../../src/graphql/queries/organization.query.ts"],"names":[],"mappings":";;;;;AAAA,8DAA8B;AAE9B,MAAM,KAAK,GAAG,qBAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwChB,CAAC;AAEF,kBAAe,KAAK,CAAC"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const graphql_tag_1 = __importDefault(require("graphql-tag"));
|
|
7
|
-
const query = graphql_tag_1.default `
|
|
8
|
-
query organizations {
|
|
9
|
-
organizations {
|
|
10
|
-
_id
|
|
11
|
-
orgName
|
|
12
|
-
orgUrls
|
|
13
|
-
orgLogoUrl
|
|
14
|
-
createdAt
|
|
15
|
-
address {
|
|
16
|
-
address1
|
|
17
|
-
address2
|
|
18
|
-
city
|
|
19
|
-
state
|
|
20
|
-
zip
|
|
21
|
-
country
|
|
22
|
-
}
|
|
23
|
-
user {
|
|
24
|
-
email
|
|
25
|
-
}
|
|
26
|
-
seating {
|
|
27
|
-
publicKey
|
|
28
|
-
secretKey
|
|
29
|
-
designerKey
|
|
30
|
-
}
|
|
31
|
-
webFlow {
|
|
32
|
-
sites {
|
|
33
|
-
name
|
|
34
|
-
webFlowId
|
|
35
|
-
enabled
|
|
36
|
-
createdAt
|
|
37
|
-
updatedAt
|
|
38
|
-
previewUrl
|
|
39
|
-
domains {
|
|
40
|
-
lastPublishedAt
|
|
41
|
-
name
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
`;
|
|
48
|
-
exports.default = query;
|
|
49
|
-
//# sourceMappingURL=organizations.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"organizations.js","sourceRoot":"","sources":["../../../src/graphql/queries/organizations.ts"],"names":[],"mappings":";;;;;AAAA,8DAA8B;AAE9B,MAAM,KAAK,GAAG,qBAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwChB,CAAC;AAEF,kBAAe,KAAK,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ISecondaryEmail.js","sourceRoot":"","sources":["../../src/interfaces/ISecondaryEmail.ts"],"names":[],"mappings":""}
|