service.go 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  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. }
  25. type Dependencies struct {
  26. Config *config.Config
  27. DB *gorm.DB
  28. Logger *log.Logger
  29. Jwt *jwt.Jwt
  30. Lock *lock.Locker
  31. }
  32. var Config *config.Config
  33. var DB *gorm.DB
  34. var Logger *log.Logger
  35. var Jwt *jwt.Jwt
  36. var Lock lock.Locker
  37. var AllService *Service
  38. func New(c *config.Config, g *gorm.DB, l *log.Logger, j *jwt.Jwt, lo lock.Locker) *Service {
  39. Config = c
  40. DB = g
  41. Logger = l
  42. Jwt = j
  43. Lock = lo
  44. AllService = new(Service)
  45. return AllService
  46. }
  47. func Paginate(page, pageSize uint) func(db *gorm.DB) *gorm.DB {
  48. return func(db *gorm.DB) *gorm.DB {
  49. if page == 0 {
  50. page = 1
  51. }
  52. if pageSize == 0 {
  53. pageSize = 10
  54. }
  55. offset := (page - 1) * pageSize
  56. return db.Offset(int(offset)).Limit(int(pageSize))
  57. }
  58. }
  59. func CommonEnable() func(db *gorm.DB) *gorm.DB {
  60. return func(db *gorm.DB) *gorm.DB {
  61. return db.Where("status = ?", model.COMMON_STATUS_ENABLE)
  62. }
  63. }