add not found condition

This commit is contained in:
kenneth 2025-06-16 10:26:31 +08:00
parent b6aff77084
commit 396192ce6e
5 changed files with 35 additions and 0 deletions

View File

@ -3,6 +3,7 @@ package system
import (
"context"
"encoding/json"
"fmt"
"management/internal/erpserver/model/dto"
"management/internal/erpserver/model/system"
@ -55,6 +56,9 @@ func (r *configRepository) Get(ctx context.Context, id int32) (*system.Config, e
var obj system.Config
err := r.repo.DB(ctx).First(&obj, id).Error
if err != nil {
if database.IsNoRows(err) {
return nil, fmt.Errorf("config %d not found: %w", id, err)
}
return nil, err
}
return &obj, nil
@ -64,6 +68,9 @@ func (r *configRepository) GetByKey(ctx context.Context, key string) (*system.Co
var obj system.Config
err := r.repo.DB(ctx).Where("key = ?", key).First(&obj).Error
if err != nil {
if database.IsNoRows(err) {
return nil, fmt.Errorf("config key %s not found: %w", key, err)
}
return nil, err
}
return &obj, nil
@ -73,6 +80,9 @@ func (r *configRepository) GetValueByKey(ctx context.Context, key string) ([]byt
var obj system.Config
err := r.repo.DB(ctx).Where("key = ?", key).First(&obj).Error
if err != nil {
if database.IsNoRows(err) {
return nil, fmt.Errorf("config key value %s not found: %w", key, err)
}
return nil, err
}
return obj.Value, nil

View File

@ -2,11 +2,13 @@ package system
import (
"context"
"fmt"
"time"
"management/internal/erpserver/model/dto"
"management/internal/erpserver/model/system"
"management/internal/erpserver/repository"
"management/internal/pkg/database"
)
type departmentRepository struct {
@ -51,6 +53,9 @@ func (r *departmentRepository) Get(ctx context.Context, id int32) (*system.Depar
var obj system.Department
err := r.repo.DB(ctx).First(&obj, id).Error
if err != nil {
if database.IsNoRows(err) {
return nil, fmt.Errorf("department %d not found: %w", id, err)
}
return nil, err
}
return &obj, nil

View File

@ -2,9 +2,11 @@ package system
import (
"context"
"fmt"
"management/internal/erpserver/model/system"
"management/internal/erpserver/repository"
"management/internal/pkg/database"
)
type menuRepository struct {
@ -33,6 +35,9 @@ func (r *menuRepository) Get(ctx context.Context, id int32) (*system.Menu, error
var menu system.Menu
err := r.repo.DB(ctx).Where("id = ?", id).First(&menu).Error
if err != nil {
if database.IsNoRows(err) {
return nil, fmt.Errorf("menu %d not found: %w", id, err)
}
return nil, err
}
return &menu, nil
@ -42,6 +47,9 @@ func (r *menuRepository) GetByUrl(ctx context.Context, url string) (*system.Menu
var menu system.Menu
err := r.repo.DB(ctx).Where("url = ?", url).First(&menu).Error
if err != nil {
if database.IsNoRows(err) {
return nil, fmt.Errorf("menu by url %s not found: %w", url, err)
}
return nil, err
}
return &menu, nil

View File

@ -8,6 +8,7 @@ import (
"management/internal/erpserver/model/dto"
"management/internal/erpserver/model/system"
"management/internal/erpserver/repository"
"management/internal/pkg/database"
)
type roleRepository struct {
@ -76,6 +77,9 @@ func (r *roleRepository) Get(ctx context.Context, id int32) (*system.Role, error
var role system.Role
err := r.repo.DB(ctx).Where("id = ?", id).First(&role).Error
if err != nil {
if database.IsNoRows(err) {
return nil, fmt.Errorf("role %d not found: %w", id, err)
}
return nil, err
}
return &role, nil

View File

@ -2,12 +2,14 @@ package system
import (
"context"
"fmt"
"time"
"management/internal/erpserver/model/dto"
"management/internal/erpserver/model/system"
"management/internal/erpserver/repository"
"management/internal/pkg/crypto"
"management/internal/pkg/database"
"management/internal/pkg/rand"
"github.com/google/uuid"
@ -78,6 +80,9 @@ func (s *userRepository) Get(ctx context.Context, id int32) (*system.User, error
var user system.User
err := s.repo.DB(ctx).Where("id = ?", id).First(&user).Error
if err != nil {
if database.IsNoRows(err) {
return nil, fmt.Errorf("user %d not found: %w", id, err)
}
return nil, err
}
return &user, nil
@ -87,6 +92,9 @@ func (s *userRepository) GetByEmail(ctx context.Context, email string) (*system.
var user system.User
err := s.repo.DB(ctx).Where("email = ?", email).First(&user).Error
if err != nil {
if database.IsNoRows(err) {
return nil, fmt.Errorf("user by email %s not found: %w", email, err)
}
return nil, err
}
return &user, nil