servicem8 0.9.23 → 0.9.25
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/api.json +522 -516
- package/bin/mcp-server.js +22 -14
- package/bin/mcp-server.js.map +6 -6
- package/dist/commonjs/lib/config.d.ts +3 -3
- package/dist/commonjs/lib/config.js +3 -3
- package/dist/commonjs/mcp-server/mcp-server.js +1 -1
- package/dist/commonjs/mcp-server/server.js +1 -1
- package/dist/commonjs/models/components/form.d.ts +4 -0
- package/dist/commonjs/models/components/form.d.ts.map +1 -1
- package/dist/commonjs/models/components/form.js +8 -0
- package/dist/commonjs/models/components/form.js.map +1 -1
- package/dist/esm/lib/config.d.ts +3 -3
- package/dist/esm/lib/config.js +3 -3
- package/dist/esm/mcp-server/mcp-server.js +1 -1
- package/dist/esm/mcp-server/server.js +1 -1
- package/dist/esm/models/components/form.d.ts +4 -0
- package/dist/esm/models/components/form.d.ts.map +1 -1
- package/dist/esm/models/components/form.js +8 -0
- package/dist/esm/models/components/form.js.map +1 -1
- package/docs/sdks/allocationwindows/README.md +4 -4
- package/docs/sdks/assets/README.md +8 -8
- package/docs/sdks/assettypefields/README.md +8 -8
- package/docs/sdks/assettypes/README.md +4 -4
- package/docs/sdks/attachments/README.md +12 -12
- package/docs/sdks/badges/README.md +12 -12
- package/docs/sdks/bundles/README.md +4 -4
- package/docs/sdks/categories/README.md +4 -4
- package/docs/sdks/clients/README.md +8 -8
- package/docs/sdks/companycontacts/README.md +8 -8
- package/docs/sdks/emailtemplates/README.md +4 -4
- package/docs/sdks/feedback/README.md +8 -8
- package/docs/sdks/formfields/README.md +8 -8
- package/docs/sdks/formresponses/README.md +32 -32
- package/docs/sdks/forms/README.md +8 -8
- package/docs/sdks/jobactivities/README.md +36 -36
- package/docs/sdks/joballocations/README.md +48 -48
- package/docs/sdks/jobchecklists/README.md +40 -40
- package/docs/sdks/jobcontacts/README.md +8 -8
- package/docs/sdks/jobmaterialbundles/README.md +12 -12
- package/docs/sdks/jobmaterials/README.md +20 -20
- package/docs/sdks/jobpayments/README.md +16 -16
- package/docs/sdks/jobqueues/README.md +4 -4
- package/docs/sdks/jobs/README.md +76 -76
- package/docs/sdks/jobtemplates/README.md +4 -4
- package/docs/sdks/knowledgearticles/README.md +4 -4
- package/docs/sdks/locations/README.md +4 -4
- package/docs/sdks/materials/README.md +8 -8
- package/docs/sdks/notes/README.md +16 -16
- package/docs/sdks/securityroles/README.md +4 -4
- package/docs/sdks/smstemplates/README.md +4 -4
- package/docs/sdks/staffmembers/README.md +28 -28
- package/docs/sdks/staffmessages/README.md +28 -28
- package/docs/sdks/tasks/README.md +28 -28
- package/docs/sdks/taxrates/README.md +4 -4
- package/docs/sdks/vendors/README.md +2 -2
- package/examples/package-lock.json +1 -1
- package/jsr.json +1 -1
- package/package.json +1 -1
- package/src/lib/config.ts +3 -3
- package/src/mcp-server/mcp-server.ts +1 -1
- package/src/mcp-server/server.ts +1 -1
- package/src/models/components/form.ts +12 -0
|
@@ -113,13 +113,13 @@ const serviceM8 = new ServiceM8({
|
|
|
113
113
|
|
|
114
114
|
async function run() {
|
|
115
115
|
const result = await serviceM8.staffMessages.createStaffMessages({
|
|
116
|
-
uuid: "123e4567-
|
|
117
|
-
fromStaffUuid: "123e4567-
|
|
118
|
-
toStaffUuid: "123e4567-
|
|
119
|
-
sentTimestamp: "2025-
|
|
120
|
-
deliveredTimestamp: "2025-
|
|
121
|
-
readTimestamp: "2025-
|
|
122
|
-
regardingJobUuid: "123e4567-
|
|
116
|
+
uuid: "123e4567-4f86-4e22-bd84-2313f977a5db",
|
|
117
|
+
fromStaffUuid: "123e4567-706c-4e14-8704-2313fd09053b",
|
|
118
|
+
toStaffUuid: "123e4567-cefd-451e-b5cb-2313f7aa388b",
|
|
119
|
+
sentTimestamp: "2025-08-01 12:00:00",
|
|
120
|
+
deliveredTimestamp: "2025-08-01 12:00:00",
|
|
121
|
+
readTimestamp: "2025-08-01 12:00:00",
|
|
122
|
+
regardingJobUuid: "123e4567-b782-44d9-9dc2-2313f367b8fb",
|
|
123
123
|
});
|
|
124
124
|
|
|
125
125
|
console.log(result);
|
|
@@ -146,13 +146,13 @@ const serviceM8 = new ServiceM8Core({
|
|
|
146
146
|
|
|
147
147
|
async function run() {
|
|
148
148
|
const res = await staffMessagesCreateStaffMessages(serviceM8, {
|
|
149
|
-
uuid: "123e4567-
|
|
150
|
-
fromStaffUuid: "123e4567-
|
|
151
|
-
toStaffUuid: "123e4567-
|
|
152
|
-
sentTimestamp: "2025-
|
|
153
|
-
deliveredTimestamp: "2025-
|
|
154
|
-
readTimestamp: "2025-
|
|
155
|
-
regardingJobUuid: "123e4567-
|
|
149
|
+
uuid: "123e4567-4f86-4e22-bd84-2313f977a5db",
|
|
150
|
+
fromStaffUuid: "123e4567-706c-4e14-8704-2313fd09053b",
|
|
151
|
+
toStaffUuid: "123e4567-cefd-451e-b5cb-2313f7aa388b",
|
|
152
|
+
sentTimestamp: "2025-08-01 12:00:00",
|
|
153
|
+
deliveredTimestamp: "2025-08-01 12:00:00",
|
|
154
|
+
readTimestamp: "2025-08-01 12:00:00",
|
|
155
|
+
regardingJobUuid: "123e4567-b782-44d9-9dc2-2313f367b8fb",
|
|
156
156
|
});
|
|
157
157
|
if (res.ok) {
|
|
158
158
|
const { value: result } = res;
|
|
@@ -283,13 +283,13 @@ async function run() {
|
|
|
283
283
|
const result = await serviceM8.staffMessages.updateStaffMessages({
|
|
284
284
|
uuid: "b5fd0f7a-6810-4261-acdb-e8e543cf4e72",
|
|
285
285
|
staffMessage: {
|
|
286
|
-
uuid: "123e4567-
|
|
287
|
-
fromStaffUuid: "123e4567-
|
|
288
|
-
toStaffUuid: "123e4567-
|
|
289
|
-
sentTimestamp: "2025-
|
|
290
|
-
deliveredTimestamp: "2025-
|
|
291
|
-
readTimestamp: "2025-
|
|
292
|
-
regardingJobUuid: "123e4567-
|
|
286
|
+
uuid: "123e4567-4f86-4e22-bd84-2313f977a5db",
|
|
287
|
+
fromStaffUuid: "123e4567-706c-4e14-8704-2313fd09053b",
|
|
288
|
+
toStaffUuid: "123e4567-cefd-451e-b5cb-2313f7aa388b",
|
|
289
|
+
sentTimestamp: "2025-08-01 12:00:00",
|
|
290
|
+
deliveredTimestamp: "2025-08-01 12:00:00",
|
|
291
|
+
readTimestamp: "2025-08-01 12:00:00",
|
|
292
|
+
regardingJobUuid: "123e4567-b782-44d9-9dc2-2313f367b8fb",
|
|
293
293
|
},
|
|
294
294
|
});
|
|
295
295
|
|
|
@@ -319,13 +319,13 @@ async function run() {
|
|
|
319
319
|
const res = await staffMessagesUpdateStaffMessages(serviceM8, {
|
|
320
320
|
uuid: "b5fd0f7a-6810-4261-acdb-e8e543cf4e72",
|
|
321
321
|
staffMessage: {
|
|
322
|
-
uuid: "123e4567-
|
|
323
|
-
fromStaffUuid: "123e4567-
|
|
324
|
-
toStaffUuid: "123e4567-
|
|
325
|
-
sentTimestamp: "2025-
|
|
326
|
-
deliveredTimestamp: "2025-
|
|
327
|
-
readTimestamp: "2025-
|
|
328
|
-
regardingJobUuid: "123e4567-
|
|
322
|
+
uuid: "123e4567-4f86-4e22-bd84-2313f977a5db",
|
|
323
|
+
fromStaffUuid: "123e4567-706c-4e14-8704-2313fd09053b",
|
|
324
|
+
toStaffUuid: "123e4567-cefd-451e-b5cb-2313f7aa388b",
|
|
325
|
+
sentTimestamp: "2025-08-01 12:00:00",
|
|
326
|
+
deliveredTimestamp: "2025-08-01 12:00:00",
|
|
327
|
+
readTimestamp: "2025-08-01 12:00:00",
|
|
328
|
+
regardingJobUuid: "123e4567-b782-44d9-9dc2-2313f367b8fb",
|
|
329
329
|
},
|
|
330
330
|
});
|
|
331
331
|
if (res.ok) {
|
|
@@ -125,13 +125,13 @@ async function run() {
|
|
|
125
125
|
const result = await serviceM8.tasks.createTasks({
|
|
126
126
|
dueDate: "YYYY-MM-DD",
|
|
127
127
|
name: "<value>",
|
|
128
|
-
relatedObjectUuid: "123e4567-
|
|
129
|
-
completedTimestamp: "2025-
|
|
130
|
-
completedByStaffUuid: "123e4567-
|
|
131
|
-
assignedToStaffUuid: "123e4567-
|
|
132
|
-
uuid: "123e4567-
|
|
133
|
-
createdByStaffUuid: "123e4567-
|
|
134
|
-
createDate: "2025-
|
|
128
|
+
relatedObjectUuid: "123e4567-ce5b-4029-ac72-2313fb48337b",
|
|
129
|
+
completedTimestamp: "2025-08-01 12:00:00",
|
|
130
|
+
completedByStaffUuid: "123e4567-7584-4e83-9698-2313f0ffa11b",
|
|
131
|
+
assignedToStaffUuid: "123e4567-fe9b-4c23-a3dd-2313f3e3351b",
|
|
132
|
+
uuid: "123e4567-d1b9-48fa-9e50-2313f07399ab",
|
|
133
|
+
createdByStaffUuid: "123e4567-f4ef-4822-ba59-2313fdb3ec5b",
|
|
134
|
+
createDate: "2025-08-01 12:00:00",
|
|
135
135
|
});
|
|
136
136
|
|
|
137
137
|
console.log(result);
|
|
@@ -160,13 +160,13 @@ async function run() {
|
|
|
160
160
|
const res = await tasksCreateTasks(serviceM8, {
|
|
161
161
|
dueDate: "YYYY-MM-DD",
|
|
162
162
|
name: "<value>",
|
|
163
|
-
relatedObjectUuid: "123e4567-
|
|
164
|
-
completedTimestamp: "2025-
|
|
165
|
-
completedByStaffUuid: "123e4567-
|
|
166
|
-
assignedToStaffUuid: "123e4567-
|
|
167
|
-
uuid: "123e4567-
|
|
168
|
-
createdByStaffUuid: "123e4567-
|
|
169
|
-
createDate: "2025-
|
|
163
|
+
relatedObjectUuid: "123e4567-ce5b-4029-ac72-2313fb48337b",
|
|
164
|
+
completedTimestamp: "2025-08-01 12:00:00",
|
|
165
|
+
completedByStaffUuid: "123e4567-7584-4e83-9698-2313f0ffa11b",
|
|
166
|
+
assignedToStaffUuid: "123e4567-fe9b-4c23-a3dd-2313f3e3351b",
|
|
167
|
+
uuid: "123e4567-d1b9-48fa-9e50-2313f07399ab",
|
|
168
|
+
createdByStaffUuid: "123e4567-f4ef-4822-ba59-2313fdb3ec5b",
|
|
169
|
+
createDate: "2025-08-01 12:00:00",
|
|
170
170
|
});
|
|
171
171
|
if (res.ok) {
|
|
172
172
|
const { value: result } = res;
|
|
@@ -309,13 +309,13 @@ async function run() {
|
|
|
309
309
|
task: {
|
|
310
310
|
dueDate: "YYYY-MM-DD",
|
|
311
311
|
name: "<value>",
|
|
312
|
-
relatedObjectUuid: "123e4567-
|
|
313
|
-
completedTimestamp: "2025-
|
|
314
|
-
completedByStaffUuid: "123e4567-
|
|
315
|
-
assignedToStaffUuid: "123e4567-
|
|
316
|
-
uuid: "123e4567-
|
|
317
|
-
createdByStaffUuid: "123e4567-
|
|
318
|
-
createDate: "2025-
|
|
312
|
+
relatedObjectUuid: "123e4567-ce5b-4029-ac72-2313fb48337b",
|
|
313
|
+
completedTimestamp: "2025-08-01 12:00:00",
|
|
314
|
+
completedByStaffUuid: "123e4567-7584-4e83-9698-2313f0ffa11b",
|
|
315
|
+
assignedToStaffUuid: "123e4567-fe9b-4c23-a3dd-2313f3e3351b",
|
|
316
|
+
uuid: "123e4567-d1b9-48fa-9e50-2313f07399ab",
|
|
317
|
+
createdByStaffUuid: "123e4567-f4ef-4822-ba59-2313fdb3ec5b",
|
|
318
|
+
createDate: "2025-08-01 12:00:00",
|
|
319
319
|
},
|
|
320
320
|
});
|
|
321
321
|
|
|
@@ -347,13 +347,13 @@ async function run() {
|
|
|
347
347
|
task: {
|
|
348
348
|
dueDate: "YYYY-MM-DD",
|
|
349
349
|
name: "<value>",
|
|
350
|
-
relatedObjectUuid: "123e4567-
|
|
351
|
-
completedTimestamp: "2025-
|
|
352
|
-
completedByStaffUuid: "123e4567-
|
|
353
|
-
assignedToStaffUuid: "123e4567-
|
|
354
|
-
uuid: "123e4567-
|
|
355
|
-
createdByStaffUuid: "123e4567-
|
|
356
|
-
createDate: "2025-
|
|
350
|
+
relatedObjectUuid: "123e4567-ce5b-4029-ac72-2313fb48337b",
|
|
351
|
+
completedTimestamp: "2025-08-01 12:00:00",
|
|
352
|
+
completedByStaffUuid: "123e4567-7584-4e83-9698-2313f0ffa11b",
|
|
353
|
+
assignedToStaffUuid: "123e4567-fe9b-4c23-a3dd-2313f3e3351b",
|
|
354
|
+
uuid: "123e4567-d1b9-48fa-9e50-2313f07399ab",
|
|
355
|
+
createdByStaffUuid: "123e4567-f4ef-4822-ba59-2313fdb3ec5b",
|
|
356
|
+
createDate: "2025-08-01 12:00:00",
|
|
357
357
|
},
|
|
358
358
|
});
|
|
359
359
|
if (res.ok) {
|
|
@@ -113,7 +113,7 @@ const serviceM8 = new ServiceM8({
|
|
|
113
113
|
|
|
114
114
|
async function run() {
|
|
115
115
|
const result = await serviceM8.taxRates.createTaxRates({
|
|
116
|
-
uuid: "123e4567-
|
|
116
|
+
uuid: "123e4567-5e92-4186-8819-2313fd31601b",
|
|
117
117
|
name: "<value>",
|
|
118
118
|
});
|
|
119
119
|
|
|
@@ -141,7 +141,7 @@ const serviceM8 = new ServiceM8Core({
|
|
|
141
141
|
|
|
142
142
|
async function run() {
|
|
143
143
|
const res = await taxRatesCreateTaxRates(serviceM8, {
|
|
144
|
-
uuid: "123e4567-
|
|
144
|
+
uuid: "123e4567-5e92-4186-8819-2313fd31601b",
|
|
145
145
|
name: "<value>",
|
|
146
146
|
});
|
|
147
147
|
if (res.ok) {
|
|
@@ -273,7 +273,7 @@ async function run() {
|
|
|
273
273
|
const result = await serviceM8.taxRates.updateTaxRates({
|
|
274
274
|
uuid: "276d45f4-bf8b-41ae-82d4-264af7ec45cc",
|
|
275
275
|
taxRate: {
|
|
276
|
-
uuid: "123e4567-
|
|
276
|
+
uuid: "123e4567-5e92-4186-8819-2313fd31601b",
|
|
277
277
|
name: "<value>",
|
|
278
278
|
},
|
|
279
279
|
});
|
|
@@ -304,7 +304,7 @@ async function run() {
|
|
|
304
304
|
const res = await taxRatesUpdateTaxRates(serviceM8, {
|
|
305
305
|
uuid: "276d45f4-bf8b-41ae-82d4-264af7ec45cc",
|
|
306
306
|
taxRate: {
|
|
307
|
-
uuid: "123e4567-
|
|
307
|
+
uuid: "123e4567-5e92-4186-8819-2313fd31601b",
|
|
308
308
|
name: "<value>",
|
|
309
309
|
},
|
|
310
310
|
});
|
|
@@ -202,7 +202,7 @@ async function run() {
|
|
|
202
202
|
const result = await serviceM8.vendors.updateVendors({
|
|
203
203
|
uuid: "d90cffed-8677-4cbe-ab38-b734ac463633",
|
|
204
204
|
vendor: {
|
|
205
|
-
uuid: "123e4567-
|
|
205
|
+
uuid: "123e4567-f7f4-48d3-90ec-2313fe0e6c6b",
|
|
206
206
|
name: "<value>",
|
|
207
207
|
},
|
|
208
208
|
});
|
|
@@ -233,7 +233,7 @@ async function run() {
|
|
|
233
233
|
const res = await vendorsUpdateVendors(serviceM8, {
|
|
234
234
|
uuid: "d90cffed-8677-4cbe-ab38-b734ac463633",
|
|
235
235
|
vendor: {
|
|
236
|
-
uuid: "123e4567-
|
|
236
|
+
uuid: "123e4567-f7f4-48d3-90ec-2313fe0e6c6b",
|
|
237
237
|
name: "<value>",
|
|
238
238
|
},
|
|
239
239
|
});
|
package/jsr.json
CHANGED
package/package.json
CHANGED
package/src/lib/config.ts
CHANGED
|
@@ -65,7 +65,7 @@ export function serverURLFromOptions(options: SDKOptions): URL | null {
|
|
|
65
65
|
export const SDK_METADATA = {
|
|
66
66
|
language: "typescript",
|
|
67
67
|
openapiDocVersion: "1.0.0",
|
|
68
|
-
sdkVersion: "0.9.
|
|
69
|
-
genVersion: "2.
|
|
70
|
-
userAgent: "speakeasy-sdk/typescript 0.9.
|
|
68
|
+
sdkVersion: "0.9.25",
|
|
69
|
+
genVersion: "2.672.0",
|
|
70
|
+
userAgent: "speakeasy-sdk/typescript 0.9.25 2.672.0 1.0.0 servicem8",
|
|
71
71
|
} as const;
|
package/src/mcp-server/server.ts
CHANGED
|
@@ -66,6 +66,7 @@ export type Form = {
|
|
|
66
66
|
* Timestamp at which record was last modified
|
|
67
67
|
*/
|
|
68
68
|
editDate?: any | undefined;
|
|
69
|
+
badgeName?: string | undefined;
|
|
69
70
|
};
|
|
70
71
|
|
|
71
72
|
export type FormInput = {
|
|
@@ -97,6 +98,7 @@ export type FormInput = {
|
|
|
97
98
|
* Record active/deleted flag. Valid values are [0,1]. Valid values are [0,1]
|
|
98
99
|
*/
|
|
99
100
|
active?: FormActive | undefined;
|
|
101
|
+
badgeName?: string | undefined;
|
|
100
102
|
};
|
|
101
103
|
|
|
102
104
|
/** @internal */
|
|
@@ -210,6 +212,7 @@ export const Form$inboundSchema: z.ZodType<Form, z.ZodTypeDef, unknown> = z
|
|
|
210
212
|
uuid: z.string().optional(),
|
|
211
213
|
active: FormActive$inboundSchema.default(1),
|
|
212
214
|
edit_date: z.any().optional(),
|
|
215
|
+
badge_name: z.string().optional(),
|
|
213
216
|
}).transform((v) => {
|
|
214
217
|
return remap$(v, {
|
|
215
218
|
"document_template_uuid": "documentTemplateUuid",
|
|
@@ -217,6 +220,7 @@ export const Form$inboundSchema: z.ZodType<Form, z.ZodTypeDef, unknown> = z
|
|
|
217
220
|
"badge_mandatory_state": "badgeMandatoryState",
|
|
218
221
|
"template_fields": "templateFields",
|
|
219
222
|
"edit_date": "editDate",
|
|
223
|
+
"badge_name": "badgeName",
|
|
220
224
|
});
|
|
221
225
|
});
|
|
222
226
|
|
|
@@ -230,6 +234,7 @@ export type Form$Outbound = {
|
|
|
230
234
|
uuid?: string | undefined;
|
|
231
235
|
active: number;
|
|
232
236
|
edit_date?: any | undefined;
|
|
237
|
+
badge_name?: string | undefined;
|
|
233
238
|
};
|
|
234
239
|
|
|
235
240
|
/** @internal */
|
|
@@ -244,6 +249,7 @@ export const Form$outboundSchema: z.ZodType<Form$Outbound, z.ZodTypeDef, Form> =
|
|
|
244
249
|
uuid: z.string().optional(),
|
|
245
250
|
active: FormActive$outboundSchema.default(1),
|
|
246
251
|
editDate: z.any().optional(),
|
|
252
|
+
badgeName: z.string().optional(),
|
|
247
253
|
}).transform((v) => {
|
|
248
254
|
return remap$(v, {
|
|
249
255
|
documentTemplateUuid: "document_template_uuid",
|
|
@@ -251,6 +257,7 @@ export const Form$outboundSchema: z.ZodType<Form$Outbound, z.ZodTypeDef, Form> =
|
|
|
251
257
|
badgeMandatoryState: "badge_mandatory_state",
|
|
252
258
|
templateFields: "template_fields",
|
|
253
259
|
editDate: "edit_date",
|
|
260
|
+
badgeName: "badge_name",
|
|
254
261
|
});
|
|
255
262
|
});
|
|
256
263
|
|
|
@@ -295,12 +302,14 @@ export const FormInput$inboundSchema: z.ZodType<
|
|
|
295
302
|
.optional(),
|
|
296
303
|
uuid: z.string().optional(),
|
|
297
304
|
active: FormActive$inboundSchema.default(1),
|
|
305
|
+
badge_name: z.string().optional(),
|
|
298
306
|
}).transform((v) => {
|
|
299
307
|
return remap$(v, {
|
|
300
308
|
"document_template_uuid": "documentTemplateUuid",
|
|
301
309
|
"can_be_used_independently": "canBeUsedIndependently",
|
|
302
310
|
"badge_mandatory_state": "badgeMandatoryState",
|
|
303
311
|
"template_fields": "templateFields",
|
|
312
|
+
"badge_name": "badgeName",
|
|
304
313
|
});
|
|
305
314
|
});
|
|
306
315
|
|
|
@@ -313,6 +322,7 @@ export type FormInput$Outbound = {
|
|
|
313
322
|
template_fields?: Array<TemplateField$Outbound> | undefined;
|
|
314
323
|
uuid?: string | undefined;
|
|
315
324
|
active: number;
|
|
325
|
+
badge_name?: string | undefined;
|
|
316
326
|
};
|
|
317
327
|
|
|
318
328
|
/** @internal */
|
|
@@ -329,12 +339,14 @@ export const FormInput$outboundSchema: z.ZodType<
|
|
|
329
339
|
.optional(),
|
|
330
340
|
uuid: z.string().optional(),
|
|
331
341
|
active: FormActive$outboundSchema.default(1),
|
|
342
|
+
badgeName: z.string().optional(),
|
|
332
343
|
}).transform((v) => {
|
|
333
344
|
return remap$(v, {
|
|
334
345
|
documentTemplateUuid: "document_template_uuid",
|
|
335
346
|
canBeUsedIndependently: "can_be_used_independently",
|
|
336
347
|
badgeMandatoryState: "badge_mandatory_state",
|
|
337
348
|
templateFields: "template_fields",
|
|
349
|
+
badgeName: "badge_name",
|
|
338
350
|
});
|
|
339
351
|
});
|
|
340
352
|
|