@@ -464,6 +464,35 @@ func deserializeDTO(readCloser io.Reader, successPayload interface{}) error {
464464 }
465465 ret .Files [index ] = f
466466 }
467+
468+ } else if strings .Contains (dtoType , "FileVersionsResponse" ) {
469+ var temp FileVersionsResponse_
470+ ret := successPayload .(* FileVersionsResponse )
471+ if err := json .NewDecoder (readCloser ).Decode (& temp ); err != nil {
472+ return err
473+ }
474+ ret .Code = temp .Code
475+ ret .Status = temp .Status
476+ ret .FileVersions = make ([]FileVersion , len (temp .FileVersions ))
477+ re := regexp .MustCompile ("\\ /Date\\ ((\\ d+?)000\\ +0000\\ )\\ /" )
478+
479+ for index , fileVersion := range temp .FileVersions {
480+ res := re .FindAllStringSubmatch (fileVersion .ModifiedDate , - 1 )
481+ var f FileVersion
482+ f .Name = fileVersion .Name
483+ f .IsFolder = fileVersion .IsFolder
484+ f .Size = fileVersion .Size
485+ f .Path = fileVersion .Path
486+ f .IsLatest = fileVersion .IsLatest
487+ f .VersionId = fileVersion .VersionId
488+ if res != nil {
489+ i , err := strconv .ParseInt (res [0 ][1 ], 10 , 64 )
490+ if err == nil {
491+ f .ModifiedDate = time .Unix (i , 0 )
492+ }
493+ }
494+ ret .FileVersions [index ] = f
495+ }
467496
468497 } else {
469498 return json .NewDecoder (readCloser ).Decode (& successPayload )
@@ -487,6 +516,24 @@ type File_ struct {
487516 Path string `json:"Path,omitempty"`
488517}
489518
519+ type FileVersionsResponse_ struct {
520+ // Response status code.
521+ Code int32 `json:"Code"`
522+ // Response status.
523+ Status string `json:"Status,omitempty"`
524+ FileVersions []FileVersion_ `json:"FileVersions,omitempty"`
525+ }
526+
527+ type FileVersion_ struct {
528+ Name string `json:"Name,omitempty"`
529+ IsFolder bool `json:"IsFolder"`
530+ ModifiedDate string `json:"ModifiedDate,omitempty"`
531+ Size int64 `json:"Size"`
532+ Path string `json:"Path,omitempty"`
533+ VersionId string `json:"VersionId,omitempty"`
534+ IsLatest bool `json:"IsLatest,omitempty"`
535+ }
536+
490537// TokenResp represents data returned by GetAccessToken and RefreshToken as HTTP response body.
491538type TokenResp struct {
492539 AccessToken string `json:"access_token"`
0 commit comments