service.go 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. package service
  2. import (
  3. "github.com/lejianwen/rustdesk-api/v2/config"
  4. "github.com/lejianwen/rustdesk-api/v2/lib/jwt"
  5. "github.com/lejianwen/rustdesk-api/v2/lib/lock"
  6. "github.com/lejianwen/rustdesk-api/v2/model"
  7. log "github.com/sirupsen/logrus"
  8. "gorm.io/gorm"
  9. )
  10. type Service struct {
  11. //AdminService *AdminService
  12. //AdminRoleService *AdminRoleService
  13. *UserService
  14. *AddressBookService
  15. *TagService
  16. *PeerService
  17. *GroupService
  18. *OauthService
  19. *LoginLogService
  20. *AuditService
  21. *ShareRecordService
  22. *ServerCmdService
  23. *LdapService
  24. *AppService
  25. }
  26. type Dependencies struct {
  27. Config *config.Config
  28. DB *gorm.DB
  29. Logger *log.Logger
  30. Jwt *jwt.Jwt
  31. Lock *lock.Locker
  32. }
  33. var Config *config.Config
  34. var DB *gorm.DB
  35. var Logger *log.Logger
  36. var Jwt *jwt.Jwt
  37. var Lock lock.Locker
  38. var AllService *Service
  39. func New(c *config.Config, g *gorm.DB, l *log.Logger, j *jwt.Jwt, lo lock.Locker) *Service {
  40. Config = c
  41. DB = g
  42. Logger = l
  43. Jwt = j
  44. Lock = lo
  45. AllService = new(Service)
  46. return AllService
  47. }
  48. func Paginate(page, pageSize uint) func(db *gorm.DB) *gorm.DB {
  49. return func(db *gorm.DB) *gorm.DB {
  50. if page == 0 {
  51. page = 1
  52. }
  53. if pageSize == 0 {
  54. pageSize = 10
  55. }
  56. offset := (page - 1) * pageSize
  57. return db.Offset(int(offset)).Limit(int(pageSize))
  58. }
  59. }
  60. func CommonEnable() func(db *gorm.DB) *gorm.DB {
  61. return func(db *gorm.DB) *gorm.DB {
  62. return db.Where("status = ?", model.COMMON_STATUS_ENABLE)
  63. }
  64. }