package controllers

import (
	"strconv"
	"strings"

	"github.com/gin-gonic/gin"
)

func parsePagination(c *gin.Context) (limit, offset int32) {
	l, err := strconv.Atoi(c.DefaultQuery("limit", "50"))
	if err != nil || l <= 0 {
		l = 50
	}
	if l > 500 {
		l = 500
	}
	o, err := strconv.Atoi(c.DefaultQuery("offset", "0"))
	if err != nil || o < 0 {
		o = 0
	}
	return int32(l), int32(o)
}

func parseSearch(c *gin.Context) string {
	q := strings.TrimSpace(c.Query("q"))
	if len(q) > 100 {
		q = q[:100]
	}
	return q
}
