@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,400 @@
1
+ import shortid from 'shortid';
2
+ import { EventAgeEnum, SendQRCodeEnum, EventProcessAsEnum } from '../interfaces/IEvent';
3
+ import Address from './Address';
4
+ import Metrics from './Metrics';
5
+
6
+ const EventCustomFields = {
7
+ _id: {
8
+ type: String,
9
+ default: shortid.generate
10
+ },
11
+ label: {
12
+ type: String,
13
+ required: false
14
+ },
15
+ type: {
16
+ type: String,
17
+ required: true
18
+ },
19
+ minLength: {
20
+ type: Number,
21
+ required: true,
22
+ default: 0
23
+ },
24
+ maxLength: {
25
+ type: Number,
26
+ required: false,
27
+ default: null,
28
+ },
29
+ minValue: {
30
+ type: Number,
31
+ required: true,
32
+ default: 0
33
+ },
34
+ maxValue: {
35
+ type: Number,
36
+ required: false,
37
+ default: null
38
+ },
39
+ required: {
40
+ type: Boolean,
41
+ required: true,
42
+ default: false,
43
+ },
44
+ active: {
45
+ type: Boolean,
46
+ required: true,
47
+ default: true
48
+ }
49
+ };
50
+
51
+ const EventPromotion = {
52
+ _id: {
53
+ type: String,
54
+ default: shortid.generate,
55
+ },
56
+ code: {
57
+ type: String,
58
+ required: true,
59
+ },
60
+ type: {
61
+ type: String,
62
+ required: true
63
+ },
64
+ totalQty: {
65
+ type: Number,
66
+ required: true
67
+ },
68
+ remainingQty: {
69
+ type: Number,
70
+ required: true
71
+ },
72
+ ticketTypeIds: [
73
+ {
74
+ type: String,
75
+ required: true,
76
+ default: []
77
+ }
78
+ ],
79
+ upgradeIds: [
80
+ {
81
+ type: String,
82
+ required: true,
83
+ default: []
84
+ }
85
+ ],
86
+ active: {
87
+ type: Boolean,
88
+ required: true,
89
+ default: true,
90
+ }
91
+ };
92
+
93
+ const EventFee = {
94
+ name: {
95
+ type: String,
96
+ required: true,
97
+ },
98
+ type: {
99
+ type: String,
100
+ required: true,
101
+ },
102
+ amount: {
103
+ type: Number,
104
+ required: true,
105
+ },
106
+ };
107
+
108
+ const EventSchedule = {
109
+ announceAt: {
110
+ type: Number,
111
+ required: false,
112
+ },
113
+ ticketsAt: {
114
+ type: Number,
115
+ required: false,
116
+ },
117
+ ticketsEndAt: {
118
+ type: Number,
119
+ required: false,
120
+ },
121
+ startsAt: {
122
+ type: Number,
123
+ required: false,
124
+ },
125
+ endsAt: {
126
+ type: Number,
127
+ required: false,
128
+ },
129
+ };
130
+
131
+ const EventUpgrade = {
132
+ name: {
133
+ type: String,
134
+ required: true,
135
+ },
136
+ price: {
137
+ type: Number,
138
+ required: true,
139
+ },
140
+ totalQty: {
141
+ type: Number,
142
+ required: true,
143
+ },
144
+ remainingQty: {
145
+ type: Number,
146
+ required: true,
147
+ },
148
+ purchaseLimit: {
149
+ type: Number,
150
+ required: true,
151
+ default: 8,
152
+ },
153
+ complimentary: {
154
+ type: Boolean,
155
+ required: true,
156
+ default: false,
157
+ },
158
+ ticketTypeIds: [
159
+ {
160
+ type: String,
161
+ required: true,
162
+ }
163
+ ],
164
+ imageUrl: {
165
+ type: String,
166
+ required: false,
167
+ },
168
+ description: {
169
+ type: String,
170
+ required: false,
171
+ },
172
+ visible: {
173
+ type: Boolean,
174
+ required: true,
175
+ default: true,
176
+ },
177
+ };
178
+
179
+ export const PerformanceSchedule = {
180
+ doorsAt: {
181
+ type: Number,
182
+ required: false,
183
+ },
184
+ startsAt: {
185
+ type: Number,
186
+ required: false,
187
+ },
188
+ };
189
+
190
+ const Performance = {
191
+ name: {
192
+ type: String,
193
+ required: false,
194
+ },
195
+ headliningArtistIds: [
196
+ {
197
+ type: String,
198
+ required: false,
199
+ }
200
+ ],
201
+ openingArtistIds: [
202
+ {
203
+ type: String,
204
+ requird: false,
205
+ }
206
+ ],
207
+ venueId: {
208
+ type: String,
209
+ required: false,
210
+ },
211
+ venueStageId: {
212
+ type: String,
213
+ required: false,
214
+ },
215
+ price: {
216
+ type: Number,
217
+ required: false,
218
+ default: 0,
219
+ },
220
+ posterImageUrl: {
221
+ type: String,
222
+ required: false,
223
+ },
224
+ videoLink: {
225
+ type: String,
226
+ required: false,
227
+ },
228
+ songLink: {
229
+ type: String,
230
+ required: false,
231
+ },
232
+ schedule: PerformanceSchedule,
233
+ };
234
+
235
+ const TicketExchange = {
236
+ allowed: {
237
+ type: String,
238
+ required: false,
239
+ },
240
+ percent: {
241
+ type: String,
242
+ required: false,
243
+ },
244
+ };
245
+
246
+ const TicketHold = {
247
+ name: {
248
+ type: String,
249
+ required: true,
250
+ },
251
+ qty: {
252
+ type: Number,
253
+ required: true,
254
+ },
255
+ ticketTypeId: {
256
+ type: String,
257
+ required: true,
258
+ },
259
+ };
260
+
261
+ const TicketTier = {
262
+ name: {
263
+ type: String,
264
+ required: true,
265
+ },
266
+ price: {
267
+ type: Number,
268
+ required: true,
269
+ },
270
+ startsAt: {
271
+ type: Number,
272
+ required: true,
273
+ },
274
+ endsAt: {
275
+ type: Number,
276
+ required: true,
277
+ },
278
+ totalQty: {
279
+ type: Number,
280
+ required: true,
281
+ },
282
+ remainingQty: {
283
+ type: Number,
284
+ required: true,
285
+ },
286
+ };
287
+
288
+ const TicketType = {
289
+ name: {
290
+ type: String,
291
+ required: true,
292
+ },
293
+ totalQty: {
294
+ type: Number,
295
+ required: true,
296
+ },
297
+ remainingQty: {
298
+ type: Number,
299
+ required: true,
300
+ },
301
+ purchaseLimit: {
302
+ type: Number,
303
+ required: true,
304
+ default: 8,
305
+ },
306
+ visible: {
307
+ type: Boolean,
308
+ required: true,
309
+ default: true,
310
+ },
311
+ performanceIds: [
312
+ {
313
+ type: String,
314
+ required: false,
315
+ default: [],
316
+ }
317
+ ],
318
+ tiers: [TicketTier]
319
+ };
320
+
321
+
322
+ export default {
323
+ _id: {
324
+ type: String,
325
+ default: shortid.generate
326
+ },
327
+ orgId: {
328
+ type: String,
329
+ required: true
330
+ },
331
+ type: {
332
+ type: String,
333
+ required: false
334
+ },
335
+ name: {
336
+ type: String,
337
+ required: false
338
+ },
339
+ subtitle: {
340
+ type: String,
341
+ required: false
342
+ },
343
+ description: {
344
+ type: String,
345
+ required: false
346
+ },
347
+ posterImageUrl: {
348
+ type: String,
349
+ required: false
350
+ },
351
+ venueId: {
352
+ type: String,
353
+ required: false
354
+ },
355
+ createdAt: {
356
+ type: Number,
357
+ required: true
358
+ },
359
+ publishable: {
360
+ type: Boolean,
361
+ required: true,
362
+ default: false
363
+ },
364
+ seatingChartKey: {
365
+ type: String,
366
+ required: false,
367
+ },
368
+ age: {
369
+ type: String,
370
+ required: true,
371
+ default: EventAgeEnum.AllAges
372
+ },
373
+ active: {
374
+ type: Boolean,
375
+ default: true
376
+ },
377
+ userAgreement: {
378
+ type: String,
379
+ required: false
380
+ },
381
+ processAs: {
382
+ type: String,
383
+ required: true,
384
+ default: EventProcessAsEnum.Paid,
385
+ },
386
+ sendQRCode: {
387
+ type: String,
388
+ default: SendQRCodeEnum.UponOrder,
389
+ },
390
+ location: Address,
391
+ schedule: EventSchedule,
392
+ performances: [Performance],
393
+ ticketTypes: [TicketType],
394
+ holds: [TicketHold],
395
+ upgrades: [EventUpgrade],
396
+ promotions: [EventPromotion],
397
+ customFields: [EventCustomFields],
398
+ exchange: TicketExchange,
399
+ metrics: Metrics
400
+ };
@@ -0,0 +1,74 @@
1
+ import shortid from 'shortid';
2
+
3
+ export default {
4
+ _id: {
5
+ type: String,
6
+ default: shortid.generate,
7
+ },
8
+ name: {
9
+ type: String,
10
+ required: true,
11
+ },
12
+ orgId: {
13
+ type: String,
14
+ required: false,
15
+ default: null,
16
+ },
17
+ eventId: {
18
+ type: String,
19
+ required: false,
20
+ default: null,
21
+ },
22
+ type: {
23
+ type: String,
24
+ required: true,
25
+ },
26
+ value: {
27
+ type: Number,
28
+ required: true,
29
+ },
30
+ appliedTo: {
31
+ type: String,
32
+ required: true,
33
+ },
34
+ appliedBy: {
35
+ type: String,
36
+ required: true,
37
+ },
38
+ minAppliedToPrice: {
39
+ type: Number,
40
+ required: false,
41
+ default: null,
42
+ },
43
+ maxAppliedToPrice: {
44
+ type: Number,
45
+ required: false,
46
+ default: null,
47
+ },
48
+ filters: [{
49
+ type: String,
50
+ required: false,
51
+ default: [],
52
+ }],
53
+ createdBy: {
54
+ type: String,
55
+ required: true,
56
+ },
57
+ createdAt: {
58
+ type: Number,
59
+ required: true,
60
+ },
61
+ updatedBy: {
62
+ type: String,
63
+ required: true,
64
+ },
65
+ updatedAt: {
66
+ type: Number,
67
+ required: true,
68
+ },
69
+ disabled: {
70
+ type: Boolean,
71
+ required: true,
72
+ default: false,
73
+ },
74
+ };
@@ -0,0 +1,134 @@
1
+ export default {
2
+ orgId: {
3
+ type: String,
4
+ required: false,
5
+ },
6
+ createdAt: {
7
+ type: Number,
8
+ required: false,
9
+ },
10
+ // Value
11
+ lifeTimeValue: {
12
+ type: Number,
13
+ required: false,
14
+ default: 0,
15
+ },
16
+ yearToDateValue: {
17
+ type: Number,
18
+ required: false,
19
+ default: 0,
20
+ },
21
+ lifeTimeValueRefunded: {
22
+ type: Number,
23
+ required: false,
24
+ default: 0,
25
+ },
26
+ yearToDateValueRefunded: {
27
+ type: Number,
28
+ required: false,
29
+ default: 0,
30
+ },
31
+ lifeTimeValueComped: {
32
+ type: Number,
33
+ required: false,
34
+ default: 0,
35
+ },
36
+ yearToDateValueComped: {
37
+ type: Number,
38
+ required: false,
39
+ default: 0,
40
+ },
41
+ // Tickets
42
+ lifeTimeTicketsPurchased: {
43
+ type: Number,
44
+ required: false,
45
+ default: 0,
46
+ },
47
+ yearToDateTicketsPurchased: {
48
+ type: Number,
49
+ required: false,
50
+ default: 0,
51
+ },
52
+ lifeTimeTicketsRefunded: {
53
+ type: Number,
54
+ required: false,
55
+ default: 0,
56
+ },
57
+ yearToDateTicketsRefunded: {
58
+ type: Number,
59
+ required: false,
60
+ default: 0,
61
+ },
62
+ lifeTimeTicketsComped: {
63
+ type: Number,
64
+ required: false,
65
+ default: 0,
66
+ },
67
+ yearToDateTicketsComped: {
68
+ type: Number,
69
+ required: false,
70
+ default: 0,
71
+ },
72
+ // Upgrades
73
+ lifeTimeUpgradesPurchased: {
74
+ type: Number,
75
+ required: false,
76
+ default: 0,
77
+ },
78
+ yearToDateUpgradesPurchased: {
79
+ type: Number,
80
+ required: false,
81
+ default: 0,
82
+ },
83
+ lifeTimeUpgradesRefunded: {
84
+ type: Number,
85
+ required: false,
86
+ default: 0,
87
+ },
88
+ yearToDateUpgradesRefunded: {
89
+ type: Number,
90
+ required: false,
91
+ default: 0,
92
+ },
93
+ lifeTimeUpgradesComped: {
94
+ type: Number,
95
+ required: false,
96
+ default: 0,
97
+ },
98
+ yearToDateUpgradesComped: {
99
+ type: Number,
100
+ required: false,
101
+ default: 0,
102
+ },
103
+ // Orders
104
+ lifeTimeOrdersPurchased: {
105
+ type: Number,
106
+ required: false,
107
+ default: 0,
108
+ },
109
+ yearToDateOrdersPurchased: {
110
+ type: Number,
111
+ required: false,
112
+ default: 0,
113
+ },
114
+ lifeTimeOrdersRefunded: {
115
+ type: Number,
116
+ required: false,
117
+ default: 0,
118
+ },
119
+ yearToDateOrdersRefunded: {
120
+ type: Number,
121
+ required: false,
122
+ default: 0,
123
+ },
124
+ lifeTimeOrdersComped: {
125
+ type: Number,
126
+ required: false,
127
+ default: 0,
128
+ },
129
+ yearToDateOrdersComped: {
130
+ type: Number,
131
+ required: false,
132
+ default: 0,
133
+ },
134
+ };