@@ -78,14 +78,14 @@ var listPhoneCmd = &cobra.Command{
7878
7979 for _ , phoneNumber := range phoneNumbers {
8080 // Extract common fields from the union type
81- id , number , name , status , assistantId , createdAt := extractPhoneNumberFields (* phoneNumber )
81+ fields := extractPhoneNumberFields (* phoneNumber )
8282
8383 // Show assistant ID in a separate line if it exists
8484 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 )
8686
87- if assistantId != "None" {
88- fmt .Printf (" └─ Assistant: %s\n " , assistantId )
87+ if fields . AssistantID != "None" {
88+ fmt .Printf (" └─ Assistant: %s\n " , fields . AssistantID )
8989 }
9090 }
9191
@@ -203,80 +203,107 @@ var deletePhoneCmd = &cobra.Command{
203203 },
204204}
205205
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+
206216// 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 {
208218 // Handle VapiPhoneNumber
209219 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"
214221 if vapiPhone .GetStatus () != nil {
215222 status = string (* vapiPhone .GetStatus ())
216223 }
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+ }
220232 }
221233
222234 // Handle TwilioPhoneNumber
223235 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"
228237 if twilioPhone .GetStatus () != nil {
229238 status = string (* twilioPhone .GetStatus ())
230239 }
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+ }
234248 }
235249
236250 // Handle VonagePhoneNumber
237251 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"
242253 if vonagePhone .GetStatus () != nil {
243254 status = string (* vonagePhone .GetStatus ())
244255 }
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+ }
248264 }
249265
250266 // Handle TelnyxPhoneNumber
251267 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"
256269 if telnyxPhone .GetStatus () != nil {
257270 status = string (* telnyxPhone .GetStatus ())
258271 }
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+ }
262280 }
263281
264282 // Handle ByoPhoneNumber
265283 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"
270285 if byoPhone .GetStatus () != nil {
271286 status = string (* byoPhone .GetStatus ())
272287 }
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+ }
276296 }
277297
278298 // 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+ }
280307}
281308
282309// getStringValue safely extracts string from pointer or returns fallback
0 commit comments