mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2026-06-03 23:52:05 -04:00
models switch to using errors.Is(err, util.ErrNotExist)
This commit is contained in:
parent
39cf80ca4b
commit
4e19e6c84e
5 changed files with 19 additions and 10 deletions
|
|
@ -5,10 +5,12 @@ package forge
|
|||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
|
||||
"forgejo.org/models/db"
|
||||
"forgejo.org/modules/keying"
|
||||
"forgejo.org/modules/util"
|
||||
|
||||
"xorm.io/builder"
|
||||
)
|
||||
|
|
@ -85,7 +87,7 @@ func Equal(a, b *Forge) bool {
|
|||
func Upsert(ctx context.Context, forge *Forge) (*Forge, error) {
|
||||
if err := db.WithTx(ctx, func(ctx context.Context) error {
|
||||
found, err := Get(ctx, FindOptions{URL: &forge.URL})
|
||||
if err != nil {
|
||||
if err != nil && !errors.Is(err, util.ErrNotExist) {
|
||||
return fmt.Errorf("forge Upsert Get: %w", err)
|
||||
}
|
||||
if found == nil {
|
||||
|
|
@ -173,7 +175,7 @@ func Get(ctx context.Context, opts FindOptions) (*Forge, error) {
|
|||
return nil, fmt.Errorf("forge Get Find: %w", err)
|
||||
}
|
||||
if len(forges) == 0 {
|
||||
return nil, nil //nolint:nilnil
|
||||
return nil, util.ErrNotExist
|
||||
}
|
||||
if len(forges) != 1 {
|
||||
return nil, fmt.Errorf("forge Get expected to find one forge but found %d instead", len(forges))
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ import (
|
|||
"testing"
|
||||
|
||||
"forgejo.org/models/unittest"
|
||||
"forgejo.org/modules/util"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
|
|
@ -86,7 +87,7 @@ func TestF3Model_ForgeDatabase(t *testing.T) {
|
|||
t.Run("Get not found", func(t *testing.T) {
|
||||
unknownURL := "unknown"
|
||||
forge, err := Get(t.Context(), FindOptions{URL: &unknownURL})
|
||||
require.NoError(t, err)
|
||||
require.ErrorIs(t, err, util.ErrNotExist)
|
||||
assert.Nil(t, forge)
|
||||
})
|
||||
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ package mirror
|
|||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"path/filepath"
|
||||
"slices"
|
||||
|
|
@ -14,6 +15,7 @@ import (
|
|||
"forgejo.org/models/db"
|
||||
"forgejo.org/modules/keying"
|
||||
"forgejo.org/modules/timeutil"
|
||||
"forgejo.org/modules/util"
|
||||
|
||||
"xorm.io/builder"
|
||||
)
|
||||
|
|
@ -249,7 +251,7 @@ func findFromPathEquivalents(ctx context.Context, forgeID int64, fromPath string
|
|||
shortestFromPath = fromPath
|
||||
} else {
|
||||
mirror, err := Get(ctx, FindOptions{ID: &equivalents[0].ID})
|
||||
if err != nil {
|
||||
if err != nil && !errors.Is(err, util.ErrNotExist) {
|
||||
return nil, nil, fmt.Errorf("mirror findFromPathEquivalents Get: %w", err)
|
||||
}
|
||||
found = mirror
|
||||
|
|
@ -277,7 +279,7 @@ func Get(ctx context.Context, opts FindOptions) (*Mirror, error) {
|
|||
return nil, fmt.Errorf("mirror Get Find: %w", err)
|
||||
}
|
||||
if len(mirrors) == 0 {
|
||||
return nil, nil //nolint:nilnil
|
||||
return nil, util.ErrNotExist
|
||||
}
|
||||
if len(mirrors) != 1 {
|
||||
return nil, fmt.Errorf("mirror Get expected to find one mirror but found %d instead", len(mirrors))
|
||||
|
|
|
|||
|
|
@ -5,9 +5,11 @@ package resource
|
|||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
|
||||
"forgejo.org/models/db"
|
||||
"forgejo.org/modules/util"
|
||||
|
||||
"xorm.io/builder"
|
||||
)
|
||||
|
|
@ -87,7 +89,7 @@ func Upsert(ctx context.Context, resource *Resource) (*Resource, error) {
|
|||
ResourceID: &resource.ResourceID,
|
||||
Kind: &resource.Kind,
|
||||
})
|
||||
if err != nil {
|
||||
if err != nil && !errors.Is(err, util.ErrNotExist) {
|
||||
return fmt.Errorf("resource Upsert Get: %w", err)
|
||||
}
|
||||
if found == nil {
|
||||
|
|
@ -157,7 +159,7 @@ func Get(ctx context.Context, opts FindOptions) (*Resource, error) {
|
|||
return nil, fmt.Errorf("resource Get Find: %w", err)
|
||||
}
|
||||
if len(resources) == 0 {
|
||||
return nil, nil //nolint:nilnil
|
||||
return nil, util.ErrNotExist
|
||||
}
|
||||
if len(resources) != 1 {
|
||||
return nil, fmt.Errorf("resource Get expected to find one resource but found %d instead", len(resources))
|
||||
|
|
|
|||
|
|
@ -6,17 +6,19 @@ package driver
|
|||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
|
||||
f3_forge_model "forgejo.org/models/f3/forge"
|
||||
user_model "forgejo.org/models/user"
|
||||
"forgejo.org/modules/util"
|
||||
f3_mirror_service "forgejo.org/services/f3/mirror"
|
||||
|
||||
"code.forgejo.org/f3/gof3/v3/f3"
|
||||
f3_id "code.forgejo.org/f3/gof3/v3/id"
|
||||
f3_kind "code.forgejo.org/f3/gof3/v3/kind"
|
||||
"code.forgejo.org/f3/gof3/v3/tree/generic"
|
||||
"code.forgejo.org/f3/gof3/v3/util"
|
||||
f3_util "code.forgejo.org/f3/gof3/v3/util"
|
||||
)
|
||||
|
||||
type forge struct {
|
||||
|
|
@ -36,7 +38,7 @@ func newForge() generic.NodeDriverInterface {
|
|||
func (o *forge) getOwnersKind(ctx context.Context, id string) f3_kind.Kind {
|
||||
kind, ok := o.ownersKind[id]
|
||||
if !ok {
|
||||
user, err := user_model.GetUserByID(ctx, util.ParseInt(id))
|
||||
user, err := user_model.GetUserByID(ctx, f3_util.ParseInt(id))
|
||||
if err != nil {
|
||||
panic(fmt.Errorf("user_repo.GetUserByID: %w", err))
|
||||
}
|
||||
|
|
@ -55,7 +57,7 @@ func (o *forge) getForgejoForge(ctx context.Context) *f3_forge_model.Forge {
|
|||
URL: &o.url,
|
||||
}
|
||||
forge, err := f3_forge_model.Get(ctx, opts)
|
||||
if err != nil {
|
||||
if err != nil && !errors.Is(err, util.ErrNotExist) {
|
||||
panic(err)
|
||||
}
|
||||
o.forge = forge
|
||||
|
|
|
|||
Loading…
Reference in a new issue