2024-08-11 10:23:20 +07:00
|
|
|
package converts
|
2024-08-05 23:06:32 +07:00
|
|
|
|
|
|
|
import (
|
2024-08-15 10:23:56 +07:00
|
|
|
"strings"
|
|
|
|
|
|
|
|
"github.com/tigorlazuardi/bluemage/go/api"
|
2024-08-15 09:36:06 +07:00
|
|
|
"github.com/tigorlazuardi/bluemage/go/gen/jet/model"
|
2024-08-05 23:06:32 +07:00
|
|
|
"github.com/tigorlazuardi/bluemage/go/gen/models"
|
|
|
|
device "github.com/tigorlazuardi/bluemage/go/gen/proto/device/v1"
|
|
|
|
)
|
|
|
|
|
|
|
|
// goverter:converter
|
|
|
|
// goverter:extend BoolToInt8
|
|
|
|
// goverter:extend Int8ToBool
|
2024-08-08 10:40:22 +07:00
|
|
|
// goverter:extend PtrBoolToOmitInt8
|
2024-08-13 14:26:19 +07:00
|
|
|
// goverter:extend BoolToOmitInt8
|
2024-08-08 10:40:22 +07:00
|
|
|
// goverter:extend PtrStringToOmitString
|
|
|
|
// goverter:extend PtrFloat64ToOmitFloat64
|
|
|
|
// goverter:extend PtrInt32ToOmitInt32
|
2024-08-13 14:26:19 +07:00
|
|
|
// goverter:extend PtrInt64ToOmitInt64
|
|
|
|
// goverter:extend PtrIntToOmitInt
|
|
|
|
// goverter:extend PtrInt8ToOmitInt8
|
|
|
|
// goverter:extend IntToOmitInt
|
|
|
|
// goverter:extend Int8ToOmitInt8
|
|
|
|
// goverter:extend Int32ToOmitInt32
|
|
|
|
// goverter:extend Int64ToOmitInt64
|
|
|
|
// goverter:extend Float64ToOmitFloat64
|
|
|
|
// goverter:extend StringToOmitString
|
2024-08-15 10:23:56 +07:00
|
|
|
// goverter:extend DeviceDisabledFilterToPtrBool
|
|
|
|
// goverter:extend DeviceOrderByToString
|
|
|
|
// goverter:extend DeviceSortToAPISort
|
2024-08-05 23:06:32 +07:00
|
|
|
type DeviceConverter interface {
|
2024-08-13 14:26:19 +07:00
|
|
|
// goverter:ignore CreatedAt UpdatedAt
|
2024-08-05 23:06:32 +07:00
|
|
|
// goverter:map Nsfw NSFW
|
2024-08-13 14:26:19 +07:00
|
|
|
CreateDeviceRequestToModelsDeviceSetter(*device.CreateDeviceRequest) *models.DeviceSetter
|
2024-08-05 23:06:32 +07:00
|
|
|
// goverter:ignore state sizeCache unknownFields
|
|
|
|
ModelsDeviceToCreateDeviceResponse(*models.Device) *device.CreateDeviceResponse
|
|
|
|
// goverter:ignore state sizeCache unknownFields
|
2024-08-15 09:36:06 +07:00
|
|
|
// goverter:useZeroValueOnPointerInconsistency
|
2024-08-15 10:23:56 +07:00
|
|
|
JetModelDeviceToProtoDevice(model.Devices) *device.Device
|
|
|
|
|
|
|
|
// goverter:useZeroValueOnPointerInconsistency
|
2024-08-15 10:40:35 +07:00
|
|
|
ProtoListDevicesRequestToAPIListDevicesRequest(*device.ListDevicesRequest) api.ListDevicesRequest
|
2024-08-08 10:40:22 +07:00
|
|
|
|
|
|
|
// goverter:ignore Slug SingleFolderMode CreatedAt UpdatedAt
|
|
|
|
// goverter:map Nsfw NSFW
|
|
|
|
DeviceSetterProtoToModelsDeviceSetter(*device.DeviceSetter) *models.DeviceSetter
|
2024-08-05 23:06:32 +07:00
|
|
|
}
|
|
|
|
|
2024-08-15 10:23:56 +07:00
|
|
|
func DeviceDisabledFilterToPtrBool(f device.DisabledFilter) *bool {
|
|
|
|
switch f {
|
|
|
|
case device.DisabledFilter_DISABLED_FILTER_TRUE:
|
|
|
|
b := true
|
|
|
|
return &b
|
|
|
|
case device.DisabledFilter_DISABLED_FILTER_FALSE:
|
|
|
|
b := false
|
|
|
|
return &b
|
|
|
|
default:
|
|
|
|
return nil
|
2024-08-05 23:06:32 +07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-08-15 10:23:56 +07:00
|
|
|
func DeviceOrderByToString(order device.OrderBy) string {
|
|
|
|
if order == device.OrderBy_ORDER_BY_UNSPECIFIED {
|
|
|
|
return ""
|
2024-08-08 10:40:22 +07:00
|
|
|
}
|
2024-08-15 10:23:56 +07:00
|
|
|
field, _ := strings.CutPrefix(device.OrderBy_name[int32(order)], "ORDER_BY_")
|
|
|
|
field = strings.ToLower(field)
|
|
|
|
return field
|
2024-08-08 10:40:22 +07:00
|
|
|
}
|
|
|
|
|
2024-08-15 10:23:56 +07:00
|
|
|
func DeviceSortToAPISort(sort device.Sort) api.Sort {
|
|
|
|
if sort == device.Sort_SORT_DESCENDING {
|
|
|
|
return api.SortDesc
|
2024-08-13 14:26:19 +07:00
|
|
|
}
|
2024-08-15 10:23:56 +07:00
|
|
|
return api.SortDesc
|
2024-08-05 23:06:32 +07:00
|
|
|
}
|