Fix time, it actually uses the RFC now

This commit is contained in:
comp500 2019-06-12 17:21:29 +01:00
parent c19a4b1e60
commit d0e4ccb681
No known key found for this signature in database
GPG Key ID: 214C822FFEC586B5

View File

@ -1,5 +1,4 @@
package curseforge package curseforge
import ( import (
"bytes" "bytes"
"encoding/json" "encoding/json"
@ -8,7 +7,6 @@ import (
"io" "io"
"net/http" "net/http"
"strconv" "strconv"
"strings"
"time" "time"
) )
@ -147,31 +145,14 @@ func getModInfo(modID int) (modInfo, error) {
return infoRes, nil return infoRes, nil
} }
const cfDateFormatString = "2006-01-02T15:04:05.999"
type cfDateFormat struct {
time.Time
}
func (f *cfDateFormat) UnmarshalJSON(input []byte) error {
trimmed := strings.Trim(string(input), `"`)
time, err := time.Parse(cfDateFormatString, trimmed)
if err != nil {
return err
}
f.Time = time
return nil
}
// modFileInfo is a subset of the deserialised JSON response from the Curse API for mod files // modFileInfo is a subset of the deserialised JSON response from the Curse API for mod files
type modFileInfo struct { type modFileInfo struct {
ID int `json:"id"` ID int `json:"id"`
FileName string `json:"fileNameOnDisk"` FileName string `json:"fileNameOnDisk"`
FriendlyName string `json:"fileName"` FriendlyName string `json:"fileName"`
Date cfDateFormat `json:"fileDate"` Date time.Time `json:"fileDate"`
Length int `json:"fileLength"` Length int `json:"fileLength"`
FileType int `json:"releaseType"` FileType int `json:"releaseType"`
// fileStatus? means latest/preferred? // fileStatus? means latest/preferred?
DownloadURL string `json:"downloadUrl"` DownloadURL string `json:"downloadUrl"`
GameVersions []string `json:"gameVersion"` GameVersions []string `json:"gameVersion"`