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 }