29 lines
770 B
Go
29 lines
770 B
Go
|
package devicemngt
|
||
|
|
||
|
import (
|
||
|
"context"
|
||
|
"fmt"
|
||
|
|
||
|
"github.com/Selly-Modules/logger"
|
||
|
)
|
||
|
|
||
|
// GetDevicePermissionsByToken ...
|
||
|
func (s Service) GetDevicePermissionsByToken(token string) (doc StaffDevicePermissions) {
|
||
|
ctx := context.Background()
|
||
|
|
||
|
stm, args, _ := s.Builder.
|
||
|
Select("dm.id, s.account_type, sr.permissions").
|
||
|
From(fmt.Sprintf("%s AS dm", TableDeviceMngt)).
|
||
|
Join(fmt.Sprintf("LEFT JOIN %s s ON s.id = dm.owner_id", TableStaff)).
|
||
|
Join(fmt.Sprintf("LEFT JOIN %s sr ON s.role_id = sr.id", TableStaffRole)).
|
||
|
Where("dm.auth_token = ?", token).
|
||
|
ToSql()
|
||
|
if err := s.DB.GetContext(ctx, &doc, stm, args...); err != nil {
|
||
|
logger.Error("devicemngt - GetDevicePermissionsByToken", logger.LogData{
|
||
|
"token": token,
|
||
|
"error": err.Error(),
|
||
|
})
|
||
|
}
|
||
|
return
|
||
|
}
|