@sellout/models 0.0.7 → 0.0.8
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/EPurchasePortalModes.d.ts +4 -0
- package/.dist/enums/EPurchasePortalModes.js +9 -0
- package/.dist/enums/EPurchasePortalModes.js.map +1 -0
- package/.dist/enums/EPurchasePortalStatus.d.ts +4 -0
- package/.dist/enums/EPurchasePortalStatus.js +8 -0
- package/.dist/enums/EPurchasePortalStatus.js.map +1 -0
- package/.dist/graphql/fragments/event.fragment.d.ts +19 -0
- package/.dist/graphql/fragments/event.fragment.js +252 -0
- package/.dist/graphql/fragments/event.fragment.js.map +1 -0
- package/.dist/graphql/fragments/order.fragment.d.ts +9 -0
- package/.dist/graphql/fragments/order.fragment.js +60 -0
- package/.dist/graphql/fragments/order.fragment.js.map +1 -0
- package/.dist/graphql/mutations/forgotPassword.d.ts +2 -0
- package/.dist/graphql/mutations/forgotPassword.js +13 -0
- package/.dist/graphql/mutations/forgotPassword.js.map +1 -0
- package/.dist/graphql/mutations/login.d.ts +2 -0
- package/.dist/graphql/mutations/login.js +23 -0
- package/.dist/graphql/mutations/login.js.map +1 -0
- package/.dist/graphql/mutations/register.d.ts +2 -0
- package/.dist/graphql/mutations/register.js +23 -0
- package/.dist/graphql/mutations/register.js.map +1 -0
- package/.dist/graphql/queries/context.query.d.ts +2 -0
- package/.dist/graphql/queries/context.query.js +46 -0
- package/.dist/graphql/queries/context.query.js.map +1 -0
- package/.dist/graphql/queries/event.query.d.ts +2 -0
- package/.dist/graphql/queries/event.query.js +63 -0
- package/.dist/graphql/queries/event.query.js.map +1 -0
- package/.dist/graphql/queries/events.query.d.ts +2 -0
- package/.dist/graphql/queries/events.query.js +67 -0
- package/.dist/graphql/queries/events.query.js.map +1 -0
- package/.dist/graphql/queries/isSuperUser.query.d.ts +2 -0
- package/.dist/graphql/queries/isSuperUser.query.js +13 -0
- package/.dist/graphql/queries/isSuperUser.query.js.map +1 -0
- package/.dist/graphql/queries/order.query.d.ts +2 -0
- package/.dist/graphql/queries/order.query.js +98 -0
- package/.dist/graphql/queries/order.query.js.map +1 -0
- package/.dist/graphql/queries/orders.query.d.ts +2 -0
- package/.dist/graphql/queries/orders.query.js +61 -0
- package/.dist/graphql/queries/orders.query.js.map +1 -0
- package/.dist/interfaces/IOrder.d.ts +1 -0
- package/.dist/interfaces/IOrder.js.map +1 -1
- package/.dist/schemas/Order.d.ts +5 -0
- package/.dist/schemas/Order.js +5 -0
- package/.dist/schemas/Order.js.map +1 -1
- package/.dist/sellout-proto.js +1245 -0
- package/.dist/utils/OrderUtil.d.ts +18 -6
- package/.dist/utils/OrderUtil.js +114 -41
- package/.dist/utils/OrderUtil.js.map +1 -1
- package/package.json +6 -4
- package/src/enums/EPurchasePortalModes.ts +4 -0
- package/src/enums/EPurchasePortalStatus.ts +4 -0
- package/src/graphql/fragments/event.fragment.ts +270 -0
- package/src/graphql/fragments/order.fragment.ts +66 -0
- package/src/graphql/mutations/forgotPassword.ts +9 -0
- package/src/graphql/mutations/login.ts +19 -0
- package/src/graphql/mutations/register.ts +19 -0
- package/src/graphql/queries/context.query.ts +42 -0
- package/src/graphql/queries/event.query.ts +59 -0
- package/src/graphql/queries/events.query.ts +63 -0
- package/src/graphql/queries/isSuperUser.query.ts +9 -0
- package/src/graphql/queries/order.query.ts +94 -0
- package/src/graphql/queries/orders.query.ts +57 -0
- package/src/interfaces/IOrder.ts +2 -1
- package/src/proto/email.proto +2 -0
- package/src/proto/order.proto +3 -0
- package/src/proto/plivo.proto +31 -0
- package/src/schemas/Order.ts +5 -0
- package/src/utils/OrderUtil.ts +111 -72
- package/.dist/mongo/Address.d.ts +0 -58
- package/.dist/mongo/Address.js +0 -60
- package/.dist/mongo/Address.js.map +0 -1
- package/.dist/mongo/Metrics.d.ts +0 -131
- package/.dist/mongo/Metrics.js +0 -137
- package/.dist/mongo/Metrics.js.map +0 -1
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import gql from 'graphql-tag';
|
|
2
|
+
|
|
3
|
+
interface OrderFragments {
|
|
4
|
+
tickets: object;
|
|
5
|
+
upgrades: object;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
interface OrderFragment {
|
|
9
|
+
fragments: OrderFragments;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
const Order: OrderFragment = {
|
|
13
|
+
fragments: {
|
|
14
|
+
tickets: {},
|
|
15
|
+
upgrades: {},
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export default Order;
|
|
20
|
+
|
|
21
|
+
Order.fragments = {
|
|
22
|
+
tickets: gql`
|
|
23
|
+
fragment OrderTickets on Order {
|
|
24
|
+
tickets {
|
|
25
|
+
_id
|
|
26
|
+
name
|
|
27
|
+
ticketTypeId
|
|
28
|
+
ticketTierId
|
|
29
|
+
price
|
|
30
|
+
seat
|
|
31
|
+
refund {
|
|
32
|
+
refunded
|
|
33
|
+
refundedAt
|
|
34
|
+
refundedBy
|
|
35
|
+
refundedAmount
|
|
36
|
+
}
|
|
37
|
+
scan {
|
|
38
|
+
scanned
|
|
39
|
+
scannedAt
|
|
40
|
+
scannedBy
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
`,
|
|
45
|
+
upgrades: gql`
|
|
46
|
+
fragment OrderUpgrades on Order {
|
|
47
|
+
upgrades {
|
|
48
|
+
_id
|
|
49
|
+
name
|
|
50
|
+
upgradeId
|
|
51
|
+
price
|
|
52
|
+
refund {
|
|
53
|
+
refunded
|
|
54
|
+
refundedAt
|
|
55
|
+
refundedBy
|
|
56
|
+
refundedAmount
|
|
57
|
+
}
|
|
58
|
+
scan {
|
|
59
|
+
scanned
|
|
60
|
+
scannedAt
|
|
61
|
+
scannedBy
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
`,
|
|
66
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import gql from 'graphql-tag';
|
|
2
|
+
|
|
3
|
+
const mutation = gql`
|
|
4
|
+
mutation Login($email: String!, $password: String!) {
|
|
5
|
+
login(email: $email, password: $password) {
|
|
6
|
+
user {
|
|
7
|
+
_id
|
|
8
|
+
firstName
|
|
9
|
+
lastName
|
|
10
|
+
email
|
|
11
|
+
phoneNumber
|
|
12
|
+
createdAt
|
|
13
|
+
}
|
|
14
|
+
token
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
`;
|
|
18
|
+
|
|
19
|
+
export default mutation;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import gql from 'graphql-tag';
|
|
2
|
+
|
|
3
|
+
const mutation = gql`
|
|
4
|
+
mutation Register($user: UserInput!) {
|
|
5
|
+
register(user: $user) {
|
|
6
|
+
user {
|
|
7
|
+
_id
|
|
8
|
+
firstName
|
|
9
|
+
lastName
|
|
10
|
+
email
|
|
11
|
+
phoneNumber
|
|
12
|
+
createdAt
|
|
13
|
+
}
|
|
14
|
+
token
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
`;
|
|
18
|
+
|
|
19
|
+
export default mutation;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import gql from "graphql-tag";
|
|
2
|
+
|
|
3
|
+
const query = gql`
|
|
4
|
+
query context {
|
|
5
|
+
userProfile {
|
|
6
|
+
userId
|
|
7
|
+
firstName
|
|
8
|
+
lastName
|
|
9
|
+
email
|
|
10
|
+
phoneNumber
|
|
11
|
+
imageUrl
|
|
12
|
+
}
|
|
13
|
+
organization {
|
|
14
|
+
_id
|
|
15
|
+
userId
|
|
16
|
+
createdAt
|
|
17
|
+
authyId
|
|
18
|
+
stripeId
|
|
19
|
+
stripeConnectAccount {
|
|
20
|
+
name
|
|
21
|
+
country
|
|
22
|
+
email
|
|
23
|
+
payoutsEnabled
|
|
24
|
+
stripeAccountId
|
|
25
|
+
}
|
|
26
|
+
seating {
|
|
27
|
+
publicKey
|
|
28
|
+
secretKey
|
|
29
|
+
designerKey
|
|
30
|
+
}
|
|
31
|
+
orgName
|
|
32
|
+
orgUrls
|
|
33
|
+
orgLogoUrl
|
|
34
|
+
orgColorHex
|
|
35
|
+
bio
|
|
36
|
+
email
|
|
37
|
+
phoneNumber
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
`;
|
|
41
|
+
|
|
42
|
+
export default query;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import gql from "graphql-tag";
|
|
2
|
+
import Event from "../fragments/event.fragment";
|
|
3
|
+
|
|
4
|
+
const query = gql`
|
|
5
|
+
query event($eventId: String!) {
|
|
6
|
+
event(eventId: $eventId) {
|
|
7
|
+
_id
|
|
8
|
+
orgId
|
|
9
|
+
type
|
|
10
|
+
name
|
|
11
|
+
subtitle
|
|
12
|
+
description
|
|
13
|
+
userAgreement
|
|
14
|
+
processAs
|
|
15
|
+
posterImageUrl
|
|
16
|
+
venueId
|
|
17
|
+
createdAt
|
|
18
|
+
publishable
|
|
19
|
+
seatingChartKey
|
|
20
|
+
age
|
|
21
|
+
sendQRCode
|
|
22
|
+
hasOrders
|
|
23
|
+
venue {
|
|
24
|
+
name
|
|
25
|
+
address {
|
|
26
|
+
state
|
|
27
|
+
city
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
...EventSchedule
|
|
31
|
+
...Location
|
|
32
|
+
...Performances
|
|
33
|
+
...TicketTypes
|
|
34
|
+
...TicketHolds
|
|
35
|
+
...EventUpgrades
|
|
36
|
+
...EventPromotions
|
|
37
|
+
...EventCustomFields
|
|
38
|
+
...TicketExchange
|
|
39
|
+
...Fees
|
|
40
|
+
...Metrics
|
|
41
|
+
...WebFlowEntity
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
${Event.fragments.schedule}
|
|
46
|
+
${Event.fragments.location}
|
|
47
|
+
${Event.fragments.performances}
|
|
48
|
+
${Event.fragments.ticketTypes}
|
|
49
|
+
${Event.fragments.holds}
|
|
50
|
+
${Event.fragments.upgrades}
|
|
51
|
+
${Event.fragments.promotions}
|
|
52
|
+
${Event.fragments.customFields}
|
|
53
|
+
${Event.fragments.exchange}
|
|
54
|
+
${Event.fragments.fees}
|
|
55
|
+
${Event.fragments.metrics}
|
|
56
|
+
${Event.fragments.webFlowEntity}
|
|
57
|
+
`;
|
|
58
|
+
|
|
59
|
+
export default query;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import gql from "graphql-tag";
|
|
2
|
+
import Event from "../fragments/event.fragment";
|
|
3
|
+
|
|
4
|
+
const query = gql`
|
|
5
|
+
query events($query: EventQueryInput, $pagination: PaginationInput) {
|
|
6
|
+
events(query: $query, pagination: $pagination) {
|
|
7
|
+
_id
|
|
8
|
+
orgId
|
|
9
|
+
type
|
|
10
|
+
name
|
|
11
|
+
subtitle
|
|
12
|
+
description
|
|
13
|
+
userAgreement
|
|
14
|
+
processAs
|
|
15
|
+
posterImageUrl
|
|
16
|
+
venueId
|
|
17
|
+
createdAt
|
|
18
|
+
publishable
|
|
19
|
+
seatingChartKey
|
|
20
|
+
age
|
|
21
|
+
sendQRCode
|
|
22
|
+
venue {
|
|
23
|
+
name
|
|
24
|
+
address {
|
|
25
|
+
state
|
|
26
|
+
city
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
metrics {
|
|
30
|
+
lifeTimeTicketsPurchased
|
|
31
|
+
lifeTimeTicketsRefunded
|
|
32
|
+
lifeTimeValue
|
|
33
|
+
lifeTimeValueRefunded
|
|
34
|
+
}
|
|
35
|
+
...EventSchedule
|
|
36
|
+
...Location
|
|
37
|
+
...Performances
|
|
38
|
+
...TicketTypes
|
|
39
|
+
...TicketHolds
|
|
40
|
+
...EventUpgrades
|
|
41
|
+
...EventPromotions
|
|
42
|
+
...EventCustomFields
|
|
43
|
+
...TicketExchange
|
|
44
|
+
...Fees
|
|
45
|
+
...WebFlowEntity
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
${Event.fragments.schedule}
|
|
50
|
+
${Event.fragments.location}
|
|
51
|
+
${Event.fragments.performances}
|
|
52
|
+
${Event.fragments.ticketTypes}
|
|
53
|
+
${Event.fragments.holds}
|
|
54
|
+
${Event.fragments.upgrades}
|
|
55
|
+
${Event.fragments.promotions}
|
|
56
|
+
${Event.fragments.customFields}
|
|
57
|
+
${Event.fragments.exchange}
|
|
58
|
+
${Event.fragments.fees}
|
|
59
|
+
${Event.fragments.webFlowEntity}
|
|
60
|
+
|
|
61
|
+
`;
|
|
62
|
+
|
|
63
|
+
export default query;
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import gql from "graphql-tag";
|
|
2
|
+
import Order from '../fragments/order.fragment';
|
|
3
|
+
|
|
4
|
+
const query = gql`
|
|
5
|
+
query order($orderId: String) {
|
|
6
|
+
order(orderId: $orderId) {
|
|
7
|
+
_id
|
|
8
|
+
userId
|
|
9
|
+
user {
|
|
10
|
+
email
|
|
11
|
+
firstName
|
|
12
|
+
lastName
|
|
13
|
+
phoneNumber
|
|
14
|
+
userProfile {
|
|
15
|
+
imageUrl
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
orgId
|
|
19
|
+
eventId
|
|
20
|
+
event {
|
|
21
|
+
name
|
|
22
|
+
posterImageUrl
|
|
23
|
+
sendQRCode
|
|
24
|
+
performances {
|
|
25
|
+
schedule {
|
|
26
|
+
doorsAt
|
|
27
|
+
startsAt
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
schedule {
|
|
31
|
+
startsAt
|
|
32
|
+
}
|
|
33
|
+
venueId
|
|
34
|
+
venue {
|
|
35
|
+
name
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
feeIds
|
|
39
|
+
fees {
|
|
40
|
+
_id
|
|
41
|
+
name
|
|
42
|
+
orgId
|
|
43
|
+
eventId
|
|
44
|
+
type
|
|
45
|
+
value
|
|
46
|
+
appliedTo
|
|
47
|
+
appliedBy
|
|
48
|
+
minAppliedToPrice
|
|
49
|
+
maxAppliedToPrice
|
|
50
|
+
filters
|
|
51
|
+
createdBy
|
|
52
|
+
createdAt
|
|
53
|
+
updatedBy
|
|
54
|
+
updatedAt
|
|
55
|
+
disabled
|
|
56
|
+
}
|
|
57
|
+
createdAt
|
|
58
|
+
stripeChargeId
|
|
59
|
+
stripeCharge {
|
|
60
|
+
brand
|
|
61
|
+
last4
|
|
62
|
+
}
|
|
63
|
+
state
|
|
64
|
+
refundedAmount
|
|
65
|
+
refundReason
|
|
66
|
+
promotionCode
|
|
67
|
+
type
|
|
68
|
+
ipAddress
|
|
69
|
+
address {
|
|
70
|
+
lat
|
|
71
|
+
lng
|
|
72
|
+
zip
|
|
73
|
+
}
|
|
74
|
+
customFields {
|
|
75
|
+
_id
|
|
76
|
+
label
|
|
77
|
+
value
|
|
78
|
+
customFieldId
|
|
79
|
+
type
|
|
80
|
+
}
|
|
81
|
+
createdBy
|
|
82
|
+
creator {
|
|
83
|
+
firstName
|
|
84
|
+
lastName
|
|
85
|
+
}
|
|
86
|
+
...OrderTickets
|
|
87
|
+
...OrderUpgrades
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
${Order.fragments.tickets}
|
|
91
|
+
${Order.fragments.upgrades}
|
|
92
|
+
`;
|
|
93
|
+
|
|
94
|
+
export default query;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import gql from "graphql-tag";
|
|
2
|
+
import Order from '../fragments/order.fragment';
|
|
3
|
+
|
|
4
|
+
const query = gql`
|
|
5
|
+
query orders($query: OrderQueryInput, $pagination: PaginationInput) {
|
|
6
|
+
orders(query: $query, pagination: $pagination) {
|
|
7
|
+
_id
|
|
8
|
+
userId
|
|
9
|
+
user {
|
|
10
|
+
email
|
|
11
|
+
firstName
|
|
12
|
+
lastName
|
|
13
|
+
createdAt
|
|
14
|
+
}
|
|
15
|
+
orgId
|
|
16
|
+
eventId
|
|
17
|
+
eventName
|
|
18
|
+
fees {
|
|
19
|
+
_id
|
|
20
|
+
name
|
|
21
|
+
orgId
|
|
22
|
+
eventId
|
|
23
|
+
type
|
|
24
|
+
value
|
|
25
|
+
minAppliedToPrice
|
|
26
|
+
maxAppliedToPrice
|
|
27
|
+
filters
|
|
28
|
+
appliedTo
|
|
29
|
+
appliedBy
|
|
30
|
+
createdBy
|
|
31
|
+
createdAt
|
|
32
|
+
updatedBy
|
|
33
|
+
updatedAt
|
|
34
|
+
disabled
|
|
35
|
+
}
|
|
36
|
+
createdAt
|
|
37
|
+
stripeChargeId
|
|
38
|
+
state
|
|
39
|
+
refundedAmount
|
|
40
|
+
promotionCode
|
|
41
|
+
type
|
|
42
|
+
ipAddress
|
|
43
|
+
address {
|
|
44
|
+
lat
|
|
45
|
+
lng
|
|
46
|
+
zip
|
|
47
|
+
}
|
|
48
|
+
...OrderTickets
|
|
49
|
+
...OrderUpgrades
|
|
50
|
+
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
${Order.fragments.tickets}
|
|
54
|
+
${Order.fragments.upgrades}
|
|
55
|
+
`;
|
|
56
|
+
|
|
57
|
+
export default query;
|
package/src/interfaces/IOrder.ts
CHANGED
package/src/proto/email.proto
CHANGED
|
@@ -134,6 +134,7 @@ message QueueOrderRefundEmailRequest {
|
|
|
134
134
|
string orderSubtotalRefunded = 24;
|
|
135
135
|
string orderFeesRefunded = 25;
|
|
136
136
|
string orderTotalRefunded = 26;
|
|
137
|
+
string refundReason = 27;
|
|
137
138
|
}
|
|
138
139
|
|
|
139
140
|
message QueueOrderCanceledEmailRequest {
|
|
@@ -164,6 +165,7 @@ message QueueOrderCanceledEmailRequest {
|
|
|
164
165
|
string orderSubtotalRefunded = 24;
|
|
165
166
|
string orderFeesRefunded = 25;
|
|
166
167
|
string orderTotalRefunded = 26;
|
|
168
|
+
string refundReason = 27;
|
|
167
169
|
}
|
|
168
170
|
|
|
169
171
|
service EmailService {
|
package/src/proto/order.proto
CHANGED
|
@@ -30,6 +30,7 @@ message Order {
|
|
|
30
30
|
string ipAddress = 19;
|
|
31
31
|
Address address = 20;
|
|
32
32
|
repeated OrderCustomField customFields = 21;
|
|
33
|
+
string refundReason = 22;
|
|
33
34
|
}
|
|
34
35
|
|
|
35
36
|
message OrderTicket {
|
|
@@ -105,6 +106,7 @@ message RefundOrderRequest {
|
|
|
105
106
|
repeated string ticketIds = 4;
|
|
106
107
|
repeated string upgradeIds = 5;
|
|
107
108
|
string refundedBy = 6;
|
|
109
|
+
string refundReason = 7;
|
|
108
110
|
}
|
|
109
111
|
|
|
110
112
|
message RefundOrderResponse {
|
|
@@ -119,6 +121,7 @@ message RefundEventOrdersRequest {
|
|
|
119
121
|
string eventId = 2;
|
|
120
122
|
string refundedBy = 3;
|
|
121
123
|
bool dryRun = 4;
|
|
124
|
+
string refundReason = 5;
|
|
122
125
|
}
|
|
123
126
|
|
|
124
127
|
message RefundEventOrdersResponse {
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
syntax = "proto3";
|
|
2
|
+
|
|
3
|
+
import "error.proto";
|
|
4
|
+
|
|
5
|
+
message SendPlivoSMSRequest {
|
|
6
|
+
string spanContext = 0;
|
|
7
|
+
string phoneNumber = 1;
|
|
8
|
+
string message = 2;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
message SendPlivoSMSResponse {
|
|
12
|
+
StatusCode status = 0;
|
|
13
|
+
repeated Error errors = 1;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
message SendPlivoMMSRequest {
|
|
17
|
+
string spanContext = 0;
|
|
18
|
+
string phoneNumber = 1;
|
|
19
|
+
string message = 2;
|
|
20
|
+
string mediaUrl = 3;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
message SendPlivoMMSResponse {
|
|
24
|
+
StatusCode status = 0;
|
|
25
|
+
repeated Error errors = 1;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
service PlivoService {
|
|
29
|
+
rpc sendPlivoSMS(SendPlivoSMSRequest) returns (SendPlivoSMSResponse) {}
|
|
30
|
+
rpc sendPlivoMMS(SendPlivoMMSRequest) returns (SendPlivoMMSResponse) {}
|
|
31
|
+
}
|