85 lines
2.0 KiB
Go
85 lines
2.0 KiB
Go
package management
|
|
|
|
import (
|
|
d "playback-device-server/data"
|
|
)
|
|
|
|
type DeviceManager struct {
|
|
deviceDatabase *d.DeviceDatabase
|
|
}
|
|
|
|
func (um *DeviceManager) Initialize(deviceDatabase *d.DeviceDatabase) error {
|
|
um.deviceDatabase = deviceDatabase
|
|
return nil
|
|
}
|
|
|
|
func (um *DeviceManager) CreateDevice(device *d.PlaybackDevice) (string, error) {
|
|
id, error := um.deviceDatabase.CreateDevice(device.Name, device.Description)
|
|
if error != nil {
|
|
return "", error
|
|
}
|
|
return id, nil
|
|
}
|
|
|
|
func (um *DeviceManager) DeviceIdExists(id string) (bool, error) {
|
|
exists, error := um.deviceDatabase.DeviceIdExists(id)
|
|
if error != nil {
|
|
return false, error
|
|
}
|
|
return exists, nil
|
|
}
|
|
|
|
//func (um *DeviceManager) Register(code string) (string, error) {
|
|
// device, error := um.GetDeviceByCode(code)
|
|
// if error != nil {
|
|
// return "", error
|
|
// }
|
|
//
|
|
// expiryDate := time.Now().AddDate(0, 0, 30)
|
|
// token, error := um.deviceDatabase.CreateSession(device.ID, expiryDate)
|
|
// if error != nil {
|
|
// return "", error
|
|
// }
|
|
//
|
|
// return token, nil
|
|
//}
|
|
|
|
func (um *DeviceManager) GetSession(sessionToken string) (*d.DeviceSession, error) {
|
|
session, error := um.deviceDatabase.GetSession(sessionToken)
|
|
if error != nil {
|
|
return nil, error
|
|
}
|
|
return session, nil
|
|
}
|
|
|
|
func (um *DeviceManager) GetDeviceById(id string) (*d.PlaybackDevice, error) {
|
|
device, error := um.deviceDatabase.GetDeviceById(id)
|
|
if error != nil {
|
|
return nil, error
|
|
}
|
|
return device, nil
|
|
}
|
|
|
|
func (um *DeviceManager) UpdateDevice(device *d.PlaybackDevice) error {
|
|
error := um.deviceDatabase.UpdateDevice(device)
|
|
return error
|
|
}
|
|
|
|
func (um *DeviceManager) DeleteSession(token string) error {
|
|
error := um.deviceDatabase.DeleteSessionByToken(token)
|
|
if error != nil {
|
|
return error
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (um *DeviceManager) GetDevices() (*[]d.PlaybackDevice, error) {
|
|
users, error := um.deviceDatabase.GetDevices()
|
|
return users, error
|
|
}
|
|
|
|
func (um *DeviceManager) DeleteDevice(ID string) error {
|
|
error := um.deviceDatabase.DeleteDevice(ID)
|
|
return error
|
|
}
|