summaryrefslogtreecommitdiffstats
path: root/models/helper.go
diff options
context:
space:
mode:
authorLunny Xiao <xiaolunwen@gmail.com>2021-12-10 09:27:50 +0800
committerGitHub <noreply@github.com>2021-12-10 09:27:50 +0800
commit719bddcd76610a63dadc8555760072957a11cf30 (patch)
tree0df26092fba7e3e21444fe493e6b349473b6b0cb /models/helper.go
parentfb8166c6c6b652a0e6fa98681780a6a71090faf3 (diff)
downloadgitea-719bddcd76610a63dadc8555760072957a11cf30.tar.gz
gitea-719bddcd76610a63dadc8555760072957a11cf30.zip
Move repository model into models/repo (#17933)
* Some refactors related repository model * Move more methods out of repository * Move repository into models/repo * Fix test * Fix test * some improvements * Remove unnecessary function
Diffstat (limited to 'models/helper.go')
-rw-r--r--models/helper.go37
1 files changed, 3 insertions, 34 deletions
diff --git a/models/helper.go b/models/helper.go
index 41dd1ccd53..15df424539 100644
--- a/models/helper.go
+++ b/models/helper.go
@@ -5,10 +5,8 @@
package models
import (
- "encoding/binary"
-
+ repo_model "code.gitea.io/gitea/models/repo"
user_model "code.gitea.io/gitea/models/user"
- "code.gitea.io/gitea/modules/json"
)
func keysInt64(m map[int64]struct{}) []int64 {
@@ -19,8 +17,8 @@ func keysInt64(m map[int64]struct{}) []int64 {
return keys
}
-func valuesRepository(m map[int64]*Repository) []*Repository {
- values := make([]*Repository, 0, len(m))
+func valuesRepository(m map[int64]*repo_model.Repository) []*repo_model.Repository {
+ values := make([]*repo_model.Repository, 0, len(m))
for _, v := range m {
values = append(values, v)
}
@@ -34,32 +32,3 @@ func valuesUser(m map[int64]*user_model.User) []*user_model.User {
}
return values
}
-
-// JSONUnmarshalHandleDoubleEncode - due to a bug in xorm (see https://gitea.com/xorm/xorm/pulls/1957) - it's
-// possible that a Blob may be double encoded or gain an unwanted prefix of 0xff 0xfe.
-func JSONUnmarshalHandleDoubleEncode(bs []byte, v interface{}) error {
- err := json.Unmarshal(bs, v)
- if err != nil {
- ok := true
- rs := []byte{}
- temp := make([]byte, 2)
- for _, rn := range string(bs) {
- if rn > 0xffff {
- ok = false
- break
- }
- binary.LittleEndian.PutUint16(temp, uint16(rn))
- rs = append(rs, temp...)
- }
- if ok {
- if len(rs) > 1 && rs[0] == 0xff && rs[1] == 0xfe {
- rs = rs[2:]
- }
- err = json.Unmarshal(rs, v)
- }
- }
- if err != nil && len(bs) > 2 && bs[0] == 0xff && bs[1] == 0xfe {
- err = json.Unmarshal(bs[2:], v)
- }
- return err
-}