Files
upstream-traggo/user/create.go
upstream-mirror cda7c1a474
Some checks failed
build / build (push) Failing after 3s
snapshot of https://github.com/traggo/server.git (master, 2026-09-16; blobs > 131072B omitted)
2026-09-16 05:24:45 +05:00

29 lines
704 B
Go

package user
import (
"context"
"fmt"
"github.com/jinzhu/copier"
"github.com/traggo/server/generated/gqlmodel"
"github.com/traggo/server/model"
)
// CreateUser creates a user.
func (r *ResolverForUser) CreateUser(ctx context.Context, name string, pass string, admin bool) (*gqlmodel.User, error) {
newUser := &model.User{
Name: name,
Pass: createPassword(pass, r.PassStrength),
Admin: admin,
}
if !r.DB.Where("name = ?", newUser.Name).Find(&model.User{}).RecordNotFound() {
return nil, fmt.Errorf("user with name '%s' does already exist", newUser.Name)
}
create := r.DB.Create(&newUser)
gqlUser := &gqlmodel.User{}
copier.Copy(gqlUser, newUser)
return gqlUser, create.Error
}