Files
bssapp/svc/internal/authz/mssql.go
2026-03-10 17:51:47 +03:00

31 lines
582 B
Go

package authz
import (
"bssapp-backend/auth"
"context"
"fmt"
)
func BuildMSSQLPiyasaFilter(
ctx context.Context,
column string,
) string {
claims, ok := auth.GetClaimsFromContext(ctx)
if ok && claims != nil && claims.IsAdmin() {
return "1=1"
}
codes := GetPiyasaCodesFromCtx(ctx)
if len(codes) == 0 {
return "1=0"
}
return BuildMSSQLPiyasaFilterWithCodes(column, codes)
}
func BuildMSSQLPiyasaFilterWithCodes(column string, codes []string) string {
normalizedCol := fmt.Sprintf("UPPER(LTRIM(RTRIM(%s)))", column)
return BuildINClause(normalizedCol, codes)
}