diff --git a/internal/mappers/voucher_mapper.go b/internal/mappers/voucher_mapper.go index fdf85fc..7efa032 100644 --- a/internal/mappers/voucher_mapper.go +++ b/internal/mappers/voucher_mapper.go @@ -107,14 +107,21 @@ func maskPhoneNumber(phone *string) string { } phoneStr := *phone - if len(phoneStr) <= 4 { - return strings.Repeat("*", len(phoneStr)) + + // Normalize: replace leading "62" with "0" + if strings.HasPrefix(phoneStr, "62") { + phoneStr = "0" + phoneStr[2:] } - // Show first 2 and last 2 characters, mask the middle - start := phoneStr[:2] - end := phoneStr[len(phoneStr)-2:] - middle := strings.Repeat("*", len(phoneStr)-4) + // If phone length <= 8, just mask the middle + if len(phoneStr) <= 8 { + return phoneStr + } + + // Show first 4 and last 4 characters + start := phoneStr[:4] + end := phoneStr[len(phoneStr)-4:] + middle := strings.Repeat("*", len(phoneStr)-8) return start + middle + end }