@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,200 @@
1
+ import shortid from 'shortid';
2
+ import Address from './Address';
3
+
4
+ const Refund = {
5
+ refunded: {
6
+ type: Boolean,
7
+ required: true,
8
+ default: false,
9
+ },
10
+ refundedAt: {
11
+ type: Number,
12
+ required: false,
13
+ },
14
+ refundedBy: {
15
+ type: String,
16
+ required: false,
17
+ default: '',
18
+ },
19
+ refundedAmount: {
20
+ type: Number,
21
+ required: false,
22
+ },
23
+ };
24
+
25
+ const Scan = {
26
+ scanned: {
27
+ type: Boolean,
28
+ required: true,
29
+ default: false,
30
+ },
31
+ scannedAt: {
32
+ type: Number,
33
+ required: false,
34
+ },
35
+ scannedBy: {
36
+ type: String,
37
+ required: false,
38
+ default: '',
39
+ },
40
+ };
41
+
42
+ const OrderTicket = {
43
+ name: {
44
+ type: String,
45
+ required: true,
46
+ },
47
+ ticketTypeId: {
48
+ type: String,
49
+ required: true,
50
+ },
51
+ ticketTierId: {
52
+ type: String,
53
+ required: true,
54
+ },
55
+ price: {
56
+ type: Number,
57
+ required: true,
58
+ },
59
+ seat: {
60
+ type: String,
61
+ required: false,
62
+ default: '',
63
+ },
64
+ scan: Scan,
65
+ refund: Refund,
66
+ state: {
67
+ type: String,
68
+ required: true,
69
+ },
70
+ };
71
+
72
+ const OrderUpgrade = {
73
+ name: {
74
+ type: String,
75
+ required: true,
76
+ },
77
+ upgradeId: {
78
+ type: String,
79
+ required: true,
80
+ },
81
+ price: {
82
+ type: Number,
83
+ required: true,
84
+ },
85
+ scan: Scan,
86
+ refund: Refund,
87
+ state: {
88
+ type: String,
89
+ required: true,
90
+ },
91
+ };
92
+
93
+ const OrderCustomField = {
94
+ label: {
95
+ type: String,
96
+ required: true,
97
+ },
98
+ value: {
99
+ type: String,
100
+ required: true,
101
+ },
102
+ customFieldId: {
103
+ type: String,
104
+ required: true,
105
+ },
106
+ type: {
107
+ type: String,
108
+ required: true,
109
+ },
110
+ };
111
+
112
+ export default {
113
+ _id: {
114
+ type: String,
115
+ default: shortid.generate,
116
+ },
117
+ secretId: {
118
+ type: String,
119
+ requied: false,
120
+ default: null,
121
+ },
122
+ userId: {
123
+ type: String,
124
+ required: true,
125
+ },
126
+ orgId: {
127
+ type: String,
128
+ required: true,
129
+ },
130
+ eventId: {
131
+ type: String,
132
+ required: true,
133
+ },
134
+ eventName: {
135
+ type: String,
136
+ required: true,
137
+ },
138
+ venueIds: [{
139
+ type: String,
140
+ required: false,
141
+ default: [],
142
+ }],
143
+ artistIds: [{
144
+ type: String,
145
+ required: false,
146
+ default: [],
147
+ }],
148
+ feeIds: [{
149
+ type: String,
150
+ required: false,
151
+ default: [],
152
+ }],
153
+ createdAt: {
154
+ type: Number,
155
+ required: true,
156
+ },
157
+ createdBy: {
158
+ type: String,
159
+ required: true,
160
+ },
161
+ stripeChargeId: {
162
+ type: String,
163
+ required: false,
164
+ },
165
+ tickets: [OrderTicket],
166
+ upgrades: [OrderUpgrade],
167
+ recipientEmails: [{
168
+ type: String,
169
+ required: false,
170
+ default: [],
171
+ }],
172
+ qrCodeUrl: {
173
+ type: String,
174
+ required: false,
175
+ default: null,
176
+ },
177
+ state: {
178
+ type: String,
179
+ required: true,
180
+ },
181
+ refundedAmount: {
182
+ type: Number,
183
+ required: false,
184
+ },
185
+ type: {
186
+ type: String,
187
+ required: false,
188
+ },
189
+ promotionCode: {
190
+ type: String,
191
+ required: false,
192
+ default: null,
193
+ },
194
+ ipAddress: {
195
+ type: String,
196
+ required: true,
197
+ },
198
+ address: Address,
199
+ customFields: [OrderCustomField],
200
+ };
@@ -0,0 +1,108 @@
1
+ import shortid from 'shortid';
2
+
3
+ export default {
4
+ _id: {
5
+ type: String,
6
+ default: shortid.generate,
7
+ },
8
+ userId: {
9
+ type: String,
10
+ required: true,
11
+ },
12
+ createdAt: {
13
+ type: Number,
14
+ required: true,
15
+ },
16
+ authyId: {
17
+ type: String,
18
+ required: false,
19
+ default: null,
20
+ },
21
+ stripeId: {
22
+ type: String,
23
+ required: false,
24
+ default: null,
25
+ },
26
+ orgName: {
27
+ type: String,
28
+ required: false,
29
+ default: null,
30
+ },
31
+ orgUrls: [{
32
+ type: [String],
33
+ required: false,
34
+ default: null,
35
+ }],
36
+ address: {
37
+ address1: {
38
+ type: String,
39
+ required: false,
40
+ default: null,
41
+ },
42
+ address2: {
43
+ type: String,
44
+ required: false,
45
+ default: null,
46
+ },
47
+ city: {
48
+ type: String,
49
+ required: false,
50
+ default: null,
51
+ },
52
+ state: {
53
+ type: String,
54
+ required: false,
55
+ default: null,
56
+ },
57
+ zip: {
58
+ type: String,
59
+ required: false,
60
+ default: null,
61
+ },
62
+ country: {
63
+ type: String,
64
+ required: false,
65
+ default: null,
66
+ },
67
+ phone: {
68
+ type: String,
69
+ required: false,
70
+ default: null,
71
+ },
72
+ },
73
+ orgLogoUrl: {
74
+ type: String,
75
+ required: false,
76
+ default: null,
77
+ },
78
+ orgColorHex: {
79
+ type: String,
80
+ required: false,
81
+ default: null,
82
+ },
83
+ bio: {
84
+ type: String,
85
+ required: false,
86
+ default: null,
87
+ },
88
+ email: {
89
+ type: String,
90
+ required: false,
91
+ default: null,
92
+ },
93
+ phoneNumber: {
94
+ type: String,
95
+ required: false,
96
+ default: null,
97
+ },
98
+ facebookPixelId: {
99
+ type: String,
100
+ required: false,
101
+ default: null,
102
+ },
103
+ googleAnalyticsId: {
104
+ type: String,
105
+ required: false,
106
+ default: null,
107
+ },
108
+ };
@@ -0,0 +1,37 @@
1
+ import shortid from 'shortid';
2
+
3
+ export default {
4
+ _id: {
5
+ type: String,
6
+ default: shortid.generate,
7
+ },
8
+ orgId: {
9
+ type: String,
10
+ required: true,
11
+ },
12
+ userId: {
13
+ type: String,
14
+ required: false,
15
+ },
16
+ userEmail: {
17
+ type: String,
18
+ required: true,
19
+ },
20
+ createdAt: {
21
+ type: Number,
22
+ required: true,
23
+ },
24
+ createdBy: {
25
+ type: String,
26
+ required: true,
27
+ },
28
+ role: {
29
+ type: String,
30
+ required: true,
31
+ },
32
+ acceptedAt: {
33
+ type: Number,
34
+ required: false,
35
+ default: null,
36
+ },
37
+ };
@@ -0,0 +1,34 @@
1
+ import shortid from 'shortid';
2
+
3
+ export default {
4
+ _id: {
5
+ type: String,
6
+ default: shortid.generate,
7
+ },
8
+ orgId: {
9
+ type: String,
10
+ required: true,
11
+ },
12
+ publicKey: {
13
+ type: String,
14
+ required: true,
15
+ },
16
+ secretKey: {
17
+ type: String,
18
+ required: true,
19
+ },
20
+ designerKey: {
21
+ type: String,
22
+ required: true,
23
+ },
24
+ createdAt: {
25
+ type: Number,
26
+ required: true,
27
+ default: null,
28
+ },
29
+ updatedAt: {
30
+ type: Number,
31
+ required: false,
32
+ default: null,
33
+ },
34
+ };
@@ -0,0 +1,95 @@
1
+ import shortid from 'shortid';
2
+ import { LoginTypes } from '../interfaces/IUser';
3
+
4
+ export default {
5
+ _id: {
6
+ type: String,
7
+ default: shortid.generate,
8
+ },
9
+ email: {
10
+ type: String,
11
+ required: true,
12
+ },
13
+ passwordHash: {
14
+ type: String,
15
+ required: false,
16
+ default: null,
17
+ },
18
+ firstName: {
19
+ type: String,
20
+ required: true,
21
+ },
22
+ lastName: {
23
+ type: String,
24
+ required: true,
25
+ },
26
+ createdAt: {
27
+ type: Number,
28
+ required: true,
29
+ },
30
+ phoneNumber: {
31
+ type: String,
32
+ required: false,
33
+ default: '',
34
+ },
35
+ phoneNumberVerifiedAt: {
36
+ type: Number,
37
+ required: false,
38
+ default: '',
39
+ },
40
+ emailVerifyCode: {
41
+ type: String,
42
+ required: false,
43
+ default: null,
44
+ },
45
+ emailVerifiedAt: {
46
+ type: Number,
47
+ required: false,
48
+ default: null,
49
+ },
50
+ forgotPasswordCode: {
51
+ type: String,
52
+ required: false,
53
+ default: null,
54
+ },
55
+ lastChangedPasswordAt: {
56
+ type: Number,
57
+ required: false,
58
+ default: null,
59
+ },
60
+ orgContextId: {
61
+ type: String,
62
+ required: false,
63
+ default: null,
64
+ },
65
+ orgRole: {
66
+ type: String,
67
+ required: false,
68
+ default: null,
69
+ },
70
+ previousPhoneNumber: {
71
+ type: String,
72
+ required: false,
73
+ default: '',
74
+ },
75
+ phoneNumberWaitingForVerify: {
76
+ type: String,
77
+ required: false,
78
+ default: '',
79
+ },
80
+ previousEmail: {
81
+ type: String,
82
+ required: false,
83
+ default: '',
84
+ },
85
+ emailWaitingForVerify: {
86
+ type: String,
87
+ required: false,
88
+ default: '',
89
+ },
90
+ preferredLogin: {
91
+ type: String,
92
+ required: false,
93
+ default: LoginTypes.Password,
94
+ },
95
+ };
@@ -0,0 +1,67 @@
1
+ import shortid from 'shortid';
2
+ import Address from './Address';
3
+ import Metrics from './Metrics';
4
+
5
+ export default {
6
+ _id: {
7
+ type: String,
8
+ default: shortid.generate,
9
+ },
10
+ userId: {
11
+ type: String,
12
+ required: true,
13
+ },
14
+ firstName: {
15
+ type: String,
16
+ required: false,
17
+ },
18
+ lastName: {
19
+ type: String,
20
+ required: false,
21
+ },
22
+ email: {
23
+ type: String,
24
+ required: false,
25
+ },
26
+ phoneNumber: {
27
+ type: String,
28
+ required: false,
29
+ },
30
+ authyId: {
31
+ type: String,
32
+ required: false,
33
+ default: null,
34
+ },
35
+ stripeCustomerId: {
36
+ type: String,
37
+ required: false,
38
+ default: null,
39
+ },
40
+ imageUrl: {
41
+ type: String,
42
+ required: false,
43
+ default: null,
44
+ },
45
+ metrics: [Metrics],
46
+ orgIds: [{
47
+ type: String,
48
+ required: false,
49
+ default: [],
50
+ }],
51
+ eventIds: [{
52
+ type: String,
53
+ required: false,
54
+ default: [],
55
+ }],
56
+ venueIds: [{
57
+ type: String,
58
+ required: false,
59
+ default: [],
60
+ }],
61
+ artistIds: [{
62
+ type: String,
63
+ required: false,
64
+ default: [],
65
+ }],
66
+ address: Address,
67
+ };
@@ -0,0 +1,58 @@
1
+ import shortid from 'shortid';
2
+ import Address from './Address';
3
+ import Metrics from './Metrics';
4
+
5
+ export default {
6
+ _id: {
7
+ type: String,
8
+ default: shortid.generate,
9
+ },
10
+ name: {
11
+ type: String,
12
+ required: false,
13
+ },
14
+ description: {
15
+ type: String,
16
+ default: null,
17
+ },
18
+ capacity: {
19
+ type: Number,
20
+ default: null,
21
+ },
22
+ url: {
23
+ type: String,
24
+ default: null,
25
+ },
26
+ imageUrls: [
27
+ {
28
+ type: String,
29
+ },
30
+ ],
31
+ seatingMapIds: [
32
+ {
33
+ type: String,
34
+ },
35
+ ],
36
+ venueGlobalId: {
37
+ type: String,
38
+ default: null,
39
+ },
40
+ orgId: {
41
+ type: String,
42
+ default: null,
43
+ },
44
+ venueFee: {
45
+ type: Number,
46
+ default: null,
47
+ },
48
+ createdAt: {
49
+ type: Number,
50
+ default: null,
51
+ },
52
+ createdBy: {
53
+ type: String,
54
+ default: null,
55
+ },
56
+ address: Address,
57
+ metrics: Metrics,
58
+ };
@@ -0,0 +1,132 @@
1
+ import shortid from 'shortid';
2
+
3
+ const WebFlowSiteDomain = {
4
+ name: {
5
+ type: String,
6
+ required: true,
7
+ },
8
+ lastPublishedAt: {
9
+ type: Number,
10
+ required: false,
11
+ default: null,
12
+ },
13
+ };
14
+
15
+ const WebFlowSite = {
16
+ name: {
17
+ type: String,
18
+ required: false,
19
+ },
20
+ webFlowId: {
21
+ type: String,
22
+ required: true,
23
+ },
24
+ enabled: {
25
+ type: Boolean,
26
+ required: true,
27
+ default: true,
28
+ },
29
+ eventCollectionId: {
30
+ type: String,
31
+ required: true,
32
+ default: null,
33
+ },
34
+ venueCollectionId: {
35
+ type: String,
36
+ required: true,
37
+ default: null,
38
+ },
39
+ artistCollectionId: {
40
+ type: String,
41
+ required: true,
42
+ default: null,
43
+ },
44
+ organizationCollectionId: {
45
+ type: String,
46
+ required: true,
47
+ default: null,
48
+ },
49
+ eventTypeCollectionId: {
50
+ type: String,
51
+ required: true,
52
+ default: null,
53
+ },
54
+ previewUrl: {
55
+ type: String,
56
+ required: true,
57
+ default: null,
58
+ },
59
+ domains: [WebFlowSiteDomain],
60
+ createdAt: {
61
+ type: Number,
62
+ required: true,
63
+ default: null,
64
+ },
65
+ updatedAt: {
66
+ type: Number,
67
+ required: false,
68
+ default: null,
69
+ },
70
+ };
71
+
72
+ const WebFlowEntityId = {
73
+ webFlowSiteId: String,
74
+ webFlowEntityId: String,
75
+ slug: String,
76
+ };
77
+
78
+ const WebFlowEntity = {
79
+ entityType: {
80
+ type: String,
81
+ required: true,
82
+ },
83
+ name: {
84
+ type: String,
85
+ required: false,
86
+ },
87
+ selloutId: {
88
+ type: String,
89
+ required: true,
90
+ },
91
+ webFlowIds: [WebFlowEntityId],
92
+ alwaysPublishTo: [
93
+ {
94
+ type: String,
95
+ required: false,
96
+ default: [],
97
+ },
98
+ ],
99
+ createdAt: {
100
+ type: Number,
101
+ required: true,
102
+ default: null,
103
+ },
104
+ updatedAt: {
105
+ type: Number,
106
+ required: false,
107
+ default: null,
108
+ },
109
+ };
110
+
111
+ export default {
112
+ _id: {
113
+ type: String,
114
+ default: shortid.generate,
115
+ },
116
+ orgId: {
117
+ type: String,
118
+ required: true,
119
+ },
120
+ sites: [WebFlowSite],
121
+ entities: [WebFlowEntity],
122
+ createdAt: {
123
+ type: Number,
124
+ required: true,
125
+ default: null,
126
+ },
127
+ updatedAt: {
128
+ type: Number,
129
+ required: false,
130
+ default: null,
131
+ },
132
+ };