method.go 925 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package basic
  2. import (
  3. "errors"
  4. "net/http"
  5. "github.com/gin-gonic/gin"
  6. "gorm.io/driver/sqlite"
  7. "gorm.io/gorm"
  8. )
  9. var FileDirPath = "/home/ubuntu/prime_server/files/"
  10. var db *gorm.DB
  11. func DB() *gorm.DB {
  12. return db
  13. }
  14. var r *gin.Engine
  15. func R() *gin.Engine {
  16. return r
  17. }
  18. var ErrFriendExist = errors.New("Friend already exists.")
  19. var ErrForbidden = errors.New("Forbidden.")
  20. var ErrApplicationAlreadyReplied = errors.New("Already replied.")
  21. func ErrCode(err error) (code int) {
  22. switch err {
  23. case ErrForbidden, ErrApplicationAlreadyReplied:
  24. code = http.StatusForbidden
  25. case gorm.ErrRecordNotFound:
  26. code = http.StatusNotFound
  27. case ErrFriendExist:
  28. code = http.StatusConflict
  29. default:
  30. code = http.StatusInternalServerError
  31. }
  32. return code
  33. }
  34. func init() {
  35. _db, err := gorm.Open(sqlite.Open("test.db"), &gorm.Config{})
  36. if err != nil {
  37. panic("failed to connect database")
  38. }
  39. db = _db
  40. r = gin.Default()
  41. }