aboutsummaryrefslogtreecommitdiffstats
path: root/modules/migration
diff options
context:
space:
mode:
Diffstat (limited to 'modules/migration')
-rw-r--r--modules/migration/file_format.go11
1 files changed, 5 insertions, 6 deletions
diff --git a/modules/migration/file_format.go b/modules/migration/file_format.go
index 30e1d256cd..92cf71407d 100644
--- a/modules/migration/file_format.go
+++ b/modules/migration/file_format.go
@@ -8,12 +8,13 @@ import (
"fmt"
"os"
"strings"
+ "time"
"code.gitea.io/gitea/modules/json"
"code.gitea.io/gitea/modules/log"
"github.com/santhosh-tekuri/jsonschema/v5"
- "gopkg.in/yaml.v2"
+ "gopkg.in/yaml.v3"
)
// Load project data from file, with optional validation
@@ -84,13 +85,9 @@ func validate(bs []byte, datatype interface{}, isJSON bool) error {
func toStringKeys(val interface{}) (interface{}, error) {
var err error
switch val := val.(type) {
- case map[interface{}]interface{}:
+ case map[string]interface{}:
m := make(map[string]interface{})
for k, v := range val {
- k, ok := k.(string)
- if !ok {
- return nil, fmt.Errorf("found non-string key %T %s", k, k)
- }
m[k], err = toStringKeys(v)
if err != nil {
return nil, err
@@ -106,6 +103,8 @@ func toStringKeys(val interface{}) (interface{}, error) {
}
}
return l, nil
+ case time.Time:
+ return val.Format(time.RFC3339), nil
default:
return val, nil
}