mirror of
https://github.com/lejianwen/rustdesk-api.git
synced 2025-11-29 00:23:18 +00:00
73 lines
1.4 KiB
Go
73 lines
1.4 KiB
Go
package service
|
|
|
|
import (
|
|
"github.com/lejianwen/rustdesk-api/v2/config"
|
|
"github.com/lejianwen/rustdesk-api/v2/lib/jwt"
|
|
"github.com/lejianwen/rustdesk-api/v2/lib/lock"
|
|
"github.com/lejianwen/rustdesk-api/v2/model"
|
|
log "github.com/sirupsen/logrus"
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
type Service struct {
|
|
//AdminService *AdminService
|
|
//AdminRoleService *AdminRoleService
|
|
*UserService
|
|
*AddressBookService
|
|
*TagService
|
|
*PeerService
|
|
*GroupService
|
|
*OauthService
|
|
*LoginLogService
|
|
*AuditService
|
|
*ShareRecordService
|
|
*ServerCmdService
|
|
*LdapService
|
|
*AppService
|
|
}
|
|
|
|
type Dependencies struct {
|
|
Config *config.Config
|
|
DB *gorm.DB
|
|
Logger *log.Logger
|
|
Jwt *jwt.Jwt
|
|
Lock *lock.Locker
|
|
}
|
|
|
|
var Config *config.Config
|
|
var DB *gorm.DB
|
|
var Logger *log.Logger
|
|
var Jwt *jwt.Jwt
|
|
var Lock lock.Locker
|
|
|
|
var AllService *Service
|
|
|
|
func New(c *config.Config, g *gorm.DB, l *log.Logger, j *jwt.Jwt, lo lock.Locker) *Service {
|
|
Config = c
|
|
DB = g
|
|
Logger = l
|
|
Jwt = j
|
|
Lock = lo
|
|
AllService = new(Service)
|
|
return AllService
|
|
}
|
|
|
|
func Paginate(page, pageSize uint) func(db *gorm.DB) *gorm.DB {
|
|
return func(db *gorm.DB) *gorm.DB {
|
|
if page == 0 {
|
|
page = 1
|
|
}
|
|
if pageSize == 0 {
|
|
pageSize = 10
|
|
}
|
|
offset := (page - 1) * pageSize
|
|
return db.Offset(int(offset)).Limit(int(pageSize))
|
|
}
|
|
}
|
|
|
|
func CommonEnable() func(db *gorm.DB) *gorm.DB {
|
|
return func(db *gorm.DB) *gorm.DB {
|
|
return db.Where("status = ?", model.COMMON_STATUS_ENABLE)
|
|
}
|
|
}
|