@@ -78,14 +78,14 @@ var listPhoneCmd = &cobra.Command{
78
78
79
79
for _ , phoneNumber := range phoneNumbers {
80
80
// Extract common fields from the union type
81
- id , number , name , status , assistantId , createdAt := extractPhoneNumberFields (* phoneNumber )
81
+ fields := extractPhoneNumberFields (* phoneNumber )
82
82
83
83
// Show assistant ID in a separate line if it exists
84
84
fmt .Printf ("%-36s %-16s %-25s %-8s %-20s\n " ,
85
- id , number , name , status , createdAt )
85
+ fields . ID , fields . Number , fields . Name , fields . Status , fields . CreatedAt )
86
86
87
- if assistantId != "None" {
88
- fmt .Printf (" └─ Assistant: %s\n " , assistantId )
87
+ if fields . AssistantID != "None" {
88
+ fmt .Printf (" └─ Assistant: %s\n " , fields . AssistantID )
89
89
}
90
90
}
91
91
@@ -203,80 +203,107 @@ var deletePhoneCmd = &cobra.Command{
203
203
},
204
204
}
205
205
206
+ // PhoneNumberFields represents the common fields of a phone number
207
+ type PhoneNumberFields struct {
208
+ ID string
209
+ Number string
210
+ Name string
211
+ Status string
212
+ AssistantID string
213
+ CreatedAt string
214
+ }
215
+
206
216
// extractPhoneNumberFields extracts common fields from the union type phone number
207
- func extractPhoneNumberFields (phoneNumber vapi.PhoneNumbersListResponseItem ) ( id , number , name , status , assistantId , createdAt string ) {
217
+ func extractPhoneNumberFields (phoneNumber vapi.PhoneNumbersListResponseItem ) PhoneNumberFields {
208
218
// Handle VapiPhoneNumber
209
219
if vapiPhone := phoneNumber .GetVapiPhoneNumber (); vapiPhone != nil {
210
- id = vapiPhone .GetId ()
211
- number = getStringValue (vapiPhone .GetNumber ())
212
- name = getStringValue (vapiPhone .GetName ())
213
- status = "Unknown"
220
+ status := "Unknown"
214
221
if vapiPhone .GetStatus () != nil {
215
222
status = string (* vapiPhone .GetStatus ())
216
223
}
217
- assistantId = getStringValue (vapiPhone .GetAssistantId ())
218
- createdAt = vapiPhone .GetCreatedAt ().Format ("2006-01-02 15:04" )
219
- return
224
+ return PhoneNumberFields {
225
+ ID : vapiPhone .GetId (),
226
+ Number : getStringValue (vapiPhone .GetNumber ()),
227
+ Name : getStringValue (vapiPhone .GetName ()),
228
+ Status : status ,
229
+ AssistantID : getStringValue (vapiPhone .GetAssistantId ()),
230
+ CreatedAt : vapiPhone .GetCreatedAt ().Format ("2006-01-02 15:04" ),
231
+ }
220
232
}
221
233
222
234
// Handle TwilioPhoneNumber
223
235
if twilioPhone := phoneNumber .GetTwilioPhoneNumber (); twilioPhone != nil {
224
- id = twilioPhone .GetId ()
225
- number = twilioPhone .GetNumber ()
226
- name = getStringValue (twilioPhone .GetName ())
227
- status = "Unknown"
236
+ status := "Unknown"
228
237
if twilioPhone .GetStatus () != nil {
229
238
status = string (* twilioPhone .GetStatus ())
230
239
}
231
- assistantId = getStringValue (twilioPhone .GetAssistantId ())
232
- createdAt = twilioPhone .GetCreatedAt ().Format ("2006-01-02 15:04" )
233
- return
240
+ return PhoneNumberFields {
241
+ ID : twilioPhone .GetId (),
242
+ Number : twilioPhone .GetNumber (),
243
+ Name : getStringValue (twilioPhone .GetName ()),
244
+ Status : status ,
245
+ AssistantID : getStringValue (twilioPhone .GetAssistantId ()),
246
+ CreatedAt : twilioPhone .GetCreatedAt ().Format ("2006-01-02 15:04" ),
247
+ }
234
248
}
235
249
236
250
// Handle VonagePhoneNumber
237
251
if vonagePhone := phoneNumber .GetVonagePhoneNumber (); vonagePhone != nil {
238
- id = vonagePhone .GetId ()
239
- number = vonagePhone .GetNumber ()
240
- name = getStringValue (vonagePhone .GetName ())
241
- status = "Unknown"
252
+ status := "Unknown"
242
253
if vonagePhone .GetStatus () != nil {
243
254
status = string (* vonagePhone .GetStatus ())
244
255
}
245
- assistantId = getStringValue (vonagePhone .GetAssistantId ())
246
- createdAt = vonagePhone .GetCreatedAt ().Format ("2006-01-02 15:04" )
247
- return
256
+ return PhoneNumberFields {
257
+ ID : vonagePhone .GetId (),
258
+ Number : vonagePhone .GetNumber (),
259
+ Name : getStringValue (vonagePhone .GetName ()),
260
+ Status : status ,
261
+ AssistantID : getStringValue (vonagePhone .GetAssistantId ()),
262
+ CreatedAt : vonagePhone .GetCreatedAt ().Format ("2006-01-02 15:04" ),
263
+ }
248
264
}
249
265
250
266
// Handle TelnyxPhoneNumber
251
267
if telnyxPhone := phoneNumber .GetTelnyxPhoneNumber (); telnyxPhone != nil {
252
- id = telnyxPhone .GetId ()
253
- number = telnyxPhone .GetNumber ()
254
- name = getStringValue (telnyxPhone .GetName ())
255
- status = "Unknown"
268
+ status := "Unknown"
256
269
if telnyxPhone .GetStatus () != nil {
257
270
status = string (* telnyxPhone .GetStatus ())
258
271
}
259
- assistantId = getStringValue (telnyxPhone .GetAssistantId ())
260
- createdAt = telnyxPhone .GetCreatedAt ().Format ("2006-01-02 15:04" )
261
- return
272
+ return PhoneNumberFields {
273
+ ID : telnyxPhone .GetId (),
274
+ Number : telnyxPhone .GetNumber (),
275
+ Name : getStringValue (telnyxPhone .GetName ()),
276
+ Status : status ,
277
+ AssistantID : getStringValue (telnyxPhone .GetAssistantId ()),
278
+ CreatedAt : telnyxPhone .GetCreatedAt ().Format ("2006-01-02 15:04" ),
279
+ }
262
280
}
263
281
264
282
// Handle ByoPhoneNumber
265
283
if byoPhone := phoneNumber .GetByoPhoneNumber (); byoPhone != nil {
266
- id = byoPhone .GetId ()
267
- number = getStringValue (byoPhone .GetNumber ())
268
- name = getStringValue (byoPhone .GetName ())
269
- status = "Unknown"
284
+ status := "Unknown"
270
285
if byoPhone .GetStatus () != nil {
271
286
status = string (* byoPhone .GetStatus ())
272
287
}
273
- assistantId = getStringValue (byoPhone .GetAssistantId ())
274
- createdAt = byoPhone .GetCreatedAt ().Format ("2006-01-02 15:04" )
275
- return
288
+ return PhoneNumberFields {
289
+ ID : byoPhone .GetId (),
290
+ Number : getStringValue (byoPhone .GetNumber ()),
291
+ Name : getStringValue (byoPhone .GetName ()),
292
+ Status : status ,
293
+ AssistantID : getStringValue (byoPhone .GetAssistantId ()),
294
+ CreatedAt : byoPhone .GetCreatedAt ().Format ("2006-01-02 15:04" ),
295
+ }
276
296
}
277
297
278
298
// Fallback if no phone number type is set
279
- return "Unknown" , "Unknown" , "Unknown" , "Unknown" , "Unknown" , "Unknown"
299
+ return PhoneNumberFields {
300
+ ID : "Unknown" ,
301
+ Number : "Unknown" ,
302
+ Name : "Unknown" ,
303
+ Status : "Unknown" ,
304
+ AssistantID : "Unknown" ,
305
+ CreatedAt : "Unknown" ,
306
+ }
280
307
}
281
308
282
309
// getStringValue safely extracts string from pointer or returns fallback
0 commit comments