75 lines
2.0 KiB
Go
75 lines
2.0 KiB
Go
package transformer
|
|
|
|
import (
|
|
"apskel-pos-be/internal/contract"
|
|
"apskel-pos-be/internal/models"
|
|
)
|
|
|
|
func RegisterUserDeviceRequestToModel(req *contract.RegisterUserDeviceRequest) *models.RegisterUserDeviceRequest {
|
|
return &models.RegisterUserDeviceRequest{
|
|
DeviceID: req.DeviceID,
|
|
DeviceName: req.DeviceName,
|
|
DeviceType: req.DeviceType,
|
|
Platform: req.Platform,
|
|
FCMToken: req.FCMToken,
|
|
AppVersion: req.AppVersion,
|
|
OsVersion: req.OsVersion,
|
|
}
|
|
}
|
|
|
|
func UpdateUserDeviceRequestToModel(req *contract.UpdateUserDeviceRequest) *models.UpdateUserDeviceRequest {
|
|
return &models.UpdateUserDeviceRequest{
|
|
DeviceName: req.DeviceName,
|
|
DeviceType: req.DeviceType,
|
|
Platform: req.Platform,
|
|
FCMToken: req.FCMToken,
|
|
AppVersion: req.AppVersion,
|
|
OsVersion: req.OsVersion,
|
|
}
|
|
}
|
|
|
|
func ListUserDevicesRequestToModel(req *contract.ListUserDevicesRequest) *models.ListUserDevicesRequest {
|
|
return &models.ListUserDevicesRequest{
|
|
Page: req.Page,
|
|
Limit: req.Limit,
|
|
UserID: req.UserID,
|
|
Platform: req.Platform,
|
|
}
|
|
}
|
|
|
|
func UserDeviceModelResponseToResponse(device *models.UserDeviceResponse) *contract.UserDeviceResponse {
|
|
if device == nil {
|
|
return nil
|
|
}
|
|
return &contract.UserDeviceResponse{
|
|
ID: device.ID,
|
|
UserID: device.UserID,
|
|
DeviceID: device.DeviceID,
|
|
DeviceName: device.DeviceName,
|
|
DeviceType: device.DeviceType,
|
|
Platform: device.Platform,
|
|
FCMToken: device.FCMToken,
|
|
AppVersion: device.AppVersion,
|
|
OsVersion: device.OsVersion,
|
|
IPAddress: device.IPAddress,
|
|
LastActiveAt: device.LastActiveAt,
|
|
CreatedAt: device.CreatedAt,
|
|
UpdatedAt: device.UpdatedAt,
|
|
}
|
|
}
|
|
|
|
func UserDeviceModelResponsesToResponses(devices []*models.UserDeviceResponse) []contract.UserDeviceResponse {
|
|
if devices == nil {
|
|
return nil
|
|
}
|
|
|
|
responses := make([]contract.UserDeviceResponse, len(devices))
|
|
for i, device := range devices {
|
|
response := UserDeviceModelResponseToResponse(device)
|
|
if response != nil {
|
|
responses[i] = *response
|
|
}
|
|
}
|
|
return responses
|
|
}
|