chore: use common header parsing
This commit is contained in:
@@ -23,6 +23,7 @@ import (
|
||||
"monitoring-tg/internal/aiservice"
|
||||
"monitoring-tg/internal/dbretry"
|
||||
|
||||
commonmw "gitea.estateliga.work/admin/portal-common/middleware"
|
||||
"github.com/jackc/pgx/v5"
|
||||
"github.com/jackc/pgx/v5/pgxpool"
|
||||
"github.com/minio/minio-go/v7"
|
||||
@@ -1515,12 +1516,12 @@ func (a *app) readScope(w http.ResponseWriter, r *http.Request, manage bool) (ac
|
||||
}
|
||||
|
||||
func readAccess(r *http.Request) accessScope {
|
||||
admin := r.Header.Get("X-User-Is-Admin") == "1"
|
||||
deptHead := r.Header.Get("X-User-Is-Department-Head") == "1"
|
||||
canManage := r.Header.Get("X-Monitoring-TG-Can-Manage") == "1"
|
||||
canAuth := r.Header.Get("X-Monitoring-TG-Can-Auth") == "1"
|
||||
admin := commonmw.HeaderBool(r, "X-User-Is-Admin")
|
||||
deptHead := commonmw.HeaderBool(r, "X-User-Is-Department-Head")
|
||||
canManage := commonmw.HeaderBool(r, "X-Monitoring-TG-Can-Manage")
|
||||
canAuth := commonmw.HeaderBool(r, "X-Monitoring-TG-Can-Auth")
|
||||
deptID := strings.TrimSpace(r.Header.Get("X-User-Department-Id"))
|
||||
deptIDs := parseCSVHeader(r.Header.Get("X-User-Department-Ids"))
|
||||
deptIDs := commonmw.HeaderCSV(r, "X-User-Department-Ids")
|
||||
if deptID != "" {
|
||||
deptIDs = appendUniqueString(deptIDs, deptID)
|
||||
}
|
||||
@@ -1533,19 +1534,6 @@ func readAccess(r *http.Request) accessScope {
|
||||
}
|
||||
}
|
||||
|
||||
func parseCSVHeader(raw string) []string {
|
||||
raw = strings.TrimSpace(raw)
|
||||
if raw == "" {
|
||||
return nil
|
||||
}
|
||||
parts := strings.Split(raw, ",")
|
||||
out := make([]string, 0, len(parts))
|
||||
for _, part := range parts {
|
||||
out = appendUniqueString(out, strings.TrimSpace(part))
|
||||
}
|
||||
return out
|
||||
}
|
||||
|
||||
func appendUniqueString(items []string, value string) []string {
|
||||
value = strings.TrimSpace(value)
|
||||
if value == "" {
|
||||
|
||||
Reference in New Issue
Block a user