feat(backend): update Square integration, validators, and image validation

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
2026-06-18 16:26:47 +01:00
co-authored by Sisyphus
parent bc6a5461c1
commit 2dbb1486b0
7 changed files with 91 additions and 34 deletions
+15
View File
@@ -1,10 +1,12 @@
package validators
import (
"fmt"
"github.com/go-playground/validator/v10"
"reflect"
"regexp"
"strings"
"time"
)
var Validate *validator.Validate
@@ -31,3 +33,16 @@ func IsValidID(id string) bool {
}
return validIDRegex.MatchString(id)
}
// ParseCursor splits a "createdAt|id" cursor string into its components.
func ParseCursor(cursor string) (time.Time, string, error) {
parts := strings.SplitN(cursor, "|", 2)
if len(parts) != 2 {
return time.Time{}, "", fmt.Errorf("invalid cursor format")
}
t, err := time.Parse(time.RFC3339, parts[0])
if err != nil {
return time.Time{}, "", fmt.Errorf("invalid cursor created_at: %w", err)
}
return t, parts[1], nil
}