Files
a301_server/internal/auth/repository.go
tolelom 17983ad775 feat: 유저 관리 API 추가 (목록 조회, 권한 변경, 삭제)
- GET /api/users - 전체 유저 목록 (admin only)
- PATCH /api/users/:id/role - 권한 변경 (admin only)
- DELETE /api/users/:id - 유저 삭제 (admin only)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-24 14:52:45 +09:00

42 lines
913 B
Go

package auth
import "gorm.io/gorm"
type Repository struct {
db *gorm.DB
}
func NewRepository(db *gorm.DB) *Repository {
return &Repository{db: db}
}
func (r *Repository) FindByUsername(username string) (*User, error) {
var user User
err := r.db.Where("username = ?", username).First(&user).Error
return &user, err
}
func (r *Repository) Create(user *User) error {
return r.db.Create(user).Error
}
func (r *Repository) FindAll() ([]User, error) {
var users []User
err := r.db.Order("created_at asc").Find(&users).Error
return users, err
}
func (r *Repository) FindByID(id string) (*User, error) {
var user User
err := r.db.First(&user, id).Error
return &user, err
}
func (r *Repository) UpdateRole(id string, role Role) error {
return r.db.Model(&User{}).Where("id = ?", id).Update("role", role).Error
}
func (r *Repository) Delete(id string) error {
return r.db.Delete(&User{}, id).Error
}