2026-03-17 19:25:35 +08:00
|
|
|
package service
|
|
|
|
|
|
|
|
|
|
import "strings"
|
|
|
|
|
|
|
|
|
|
func optionalTrimmedStringPtr(raw string) *string {
|
|
|
|
|
trimmed := strings.TrimSpace(raw)
|
|
|
|
|
if trimmed == "" {
|
|
|
|
|
return nil
|
|
|
|
|
}
|
|
|
|
|
return &trimmed
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// optionalNonEqualStringPtr returns a pointer to value if it is non-empty and
|
|
|
|
|
// differs from compare; otherwise nil. Used to store upstream_model only when
|
|
|
|
|
// it differs from the requested model.
|
|
|
|
|
func optionalNonEqualStringPtr(value, compare string) *string {
|
|
|
|
|
if value == "" || value == compare {
|
|
|
|
|
return nil
|
|
|
|
|
}
|
|
|
|
|
return &value
|
|
|
|
|
}
|
2026-03-21 01:22:16 +08:00
|
|
|
|
|
|
|
|
func forwardResultBillingModel(requestedModel, upstreamModel string) string {
|
2026-03-28 16:22:06 +08:00
|
|
|
if trimmed := strings.TrimSpace(requestedModel); trimmed != "" {
|
|
|
|
|
return trimmed
|
2026-03-21 01:22:16 +08:00
|
|
|
}
|
2026-03-28 16:22:06 +08:00
|
|
|
return strings.TrimSpace(upstreamModel)
|
2026-03-21 01:22:16 +08:00
|
|
|
}
|
2026-03-30 13:26:05 +08:00
|
|
|
|
|
|
|
|
func optionalInt64Ptr(v int64) *int64 {
|
|
|
|
|
if v == 0 {
|
|
|
|
|
return nil
|
|
|
|
|
}
|
|
|
|
|
return &v
|
|
|
|
|
}
|