chore: adjust packages
This commit is contained in:
parent
d1367ca1ab
commit
c6436125ef
8
Makefile
8
Makefile
@ -7,8 +7,9 @@ LDFLAGS += -X main.Version=$(shell cat VERSION)+$(shell git rev-parse HEAD)
|
||||
LDFLAGS += -s -w
|
||||
|
||||
GOBUILD := $(GO) build -o $(PROJECT) -ldflags '$(LDFLAGS)' ./cmd/app
|
||||
GOBIN := $(shell go env GOPATH)/bin
|
||||
|
||||
.PHONY: all build clean run dep swagger
|
||||
.PHONY: all build clean run dep swagger fmt
|
||||
|
||||
default: all
|
||||
|
||||
@ -28,4 +29,7 @@ dep:
|
||||
|
||||
swagger:
|
||||
go install github.com/swaggo/swag/cmd/swag@latest
|
||||
swag init -g internal/router/api.go -o internal/router/docs
|
||||
$(GOBIN)/swag init -g internal/router/api.go -o internal/router/docs
|
||||
|
||||
fmt:
|
||||
go fmt ./...
|
||||
|
@ -7,7 +7,7 @@ import (
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
// randomString godoc
|
||||
// randomString
|
||||
// @Summary random string
|
||||
// @Description generate random string with length = 32
|
||||
// @Tags debug
|
||||
|
@ -4,8 +4,6 @@ import (
|
||||
"github.com/WHUPRJ/woj-server/internal/e"
|
||||
"github.com/WHUPRJ/woj-server/internal/service/user"
|
||||
"github.com/gin-gonic/gin"
|
||||
"go.uber.org/zap"
|
||||
"golang.org/x/crypto/bcrypt"
|
||||
)
|
||||
|
||||
type createRequest struct {
|
||||
@ -14,7 +12,7 @@ type createRequest struct {
|
||||
Password string `form:"password" binding:"required"`
|
||||
}
|
||||
|
||||
// Create godoc
|
||||
// Create
|
||||
// @Summary create a new user
|
||||
// @Description create a new user
|
||||
// @Accept application/x-www-form-urlencoded
|
||||
@ -32,18 +30,12 @@ func (h *handler) Create(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
hashed, err := bcrypt.GenerateFromPassword([]byte(req.Password), bcrypt.DefaultCost)
|
||||
if err != nil {
|
||||
h.log.Debug("bcrypt error", zap.Error(err), zap.String("password", req.Password))
|
||||
e.Pong(c, e.InternalError, err.Error())
|
||||
return
|
||||
createData := &user.CreateData{
|
||||
Username: req.Username,
|
||||
Nickname: req.Nickname,
|
||||
Password: req.Password,
|
||||
}
|
||||
|
||||
createData := new(user.CreateData)
|
||||
createData.Nickname = req.Nickname
|
||||
createData.Username = req.Username
|
||||
createData.Password = hashed
|
||||
|
||||
id, err := h.service.Create(createData)
|
||||
if err != nil {
|
||||
e.Pong(c, e.DatabaseError, err.Error())
|
||||
|
@ -1,8 +1,8 @@
|
||||
package e
|
||||
|
||||
const (
|
||||
Fallback Err = 0
|
||||
Success Err = 1
|
||||
Success Err = 0
|
||||
Unknown Err = 1
|
||||
InternalError Err = 100
|
||||
InvalidParameter Err = 101
|
||||
NotFound Err = 102
|
||||
@ -11,6 +11,7 @@ const (
|
||||
|
||||
var msgText = map[Err]string{
|
||||
Success: "Success",
|
||||
Unknown: "Unknown error",
|
||||
InternalError: "Internal Error",
|
||||
InvalidParameter: "Invalid Parameter",
|
||||
NotFound: "Not Found",
|
||||
|
@ -33,7 +33,7 @@ func (m *Metrics) Handler() gin.HandlerFunc {
|
||||
err, ok := errCode.(e.Err)
|
||||
if !ok {
|
||||
success = false
|
||||
err = e.Fallback
|
||||
err = e.Unknown
|
||||
}
|
||||
|
||||
m.Record(method, url, success, status, err, elapsed)
|
||||
|
@ -1,4 +1,4 @@
|
||||
package postgresql
|
||||
package model
|
||||
|
||||
import (
|
||||
"gorm.io/gorm"
|
@ -5,6 +5,7 @@ import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"github.com/WHUPRJ/woj-server/internal/global"
|
||||
"github.com/WHUPRJ/woj-server/internal/repo/model"
|
||||
"go.uber.org/zap"
|
||||
"gorm.io/driver/postgres"
|
||||
"gorm.io/gorm"
|
||||
@ -80,9 +81,10 @@ func (r *PgRepo) Setup(g *global.Global) {
|
||||
func (r *PgRepo) migrateDatabase() {
|
||||
r.log.Info("Auto Migrating database...")
|
||||
|
||||
_ = r.db.AutoMigrate(&User{})
|
||||
_ = r.db.AutoMigrate(&model.User{})
|
||||
}
|
||||
|
||||
// checkAlive deprecated
|
||||
func (r *PgRepo) checkAlive(retry int) (*sql.DB, error) {
|
||||
if retry <= 0 {
|
||||
return nil, errors.New("all retries are used up. failed to connect to database")
|
||||
|
@ -1,28 +1,35 @@
|
||||
package user
|
||||
|
||||
import (
|
||||
"github.com/WHUPRJ/woj-server/internal/repo/postgresql"
|
||||
"github.com/WHUPRJ/woj-server/internal/repo/model"
|
||||
"github.com/pkg/errors"
|
||||
"go.uber.org/zap"
|
||||
"golang.org/x/crypto/bcrypt"
|
||||
)
|
||||
|
||||
type CreateData struct {
|
||||
Username string
|
||||
Nickname string
|
||||
Password []byte
|
||||
Password string
|
||||
}
|
||||
|
||||
func (s *service) Create(data *CreateData) (id uint, err error) {
|
||||
model := &postgresql.User{
|
||||
hashed, err := bcrypt.GenerateFromPassword([]byte(data.Password), bcrypt.DefaultCost)
|
||||
if err != nil {
|
||||
s.log.Debug("bcrypt error", zap.Error(err), zap.String("password", data.Password))
|
||||
return 0, errors.Wrap(err, "bcrypt error")
|
||||
}
|
||||
|
||||
user := &model.User{
|
||||
UserName: data.Username,
|
||||
Password: data.Password,
|
||||
Password: hashed,
|
||||
NickName: data.Nickname,
|
||||
IsEnabled: true,
|
||||
}
|
||||
|
||||
if err = s.db.Get().Create(model).Error; err != nil {
|
||||
if err := s.db.Get().Create(user).Error; err != nil {
|
||||
s.log.Debug("create user error", zap.Error(err), zap.Any("data", data))
|
||||
return 0, errors.Wrap(err, "create error")
|
||||
}
|
||||
return model.ID, nil
|
||||
return user.ID, nil
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user