Files
zineshop/utils/utils.go
kalipso b75c46ec2f
All checks were successful
Go / build (push) Successful in 13m36s
use pdfcpu for pagecount
2025-07-02 00:50:04 +02:00

33 lines
580 B
Go

package utils
import (
"crypto/rand"
"encoding/hex"
"fmt"
"github.com/pdfcpu/pdfcpu/pkg/api"
)
func GenerateSessionId(length int) string {
bytes := make([]byte, length) // 16 bytes = 128 bits
_, err := rand.Read(bytes)
if err != nil {
panic("failed to generate session ID")
}
return hex.EncodeToString(bytes)
}
func GenerateToken() string {
return GenerateSessionId(16)
}
func CountPagesAtPath(path string) (pages int) {
ctx, err := api.ReadContextFile(path)
if err != nil {
fmt.Println("Error reading PDF:", err)
return
}
pages = ctx.PageCount
return
}