diff --git a/cmd/server/main.go b/cmd/server/main.go index 39c9ddf..09de14a 100644 --- a/cmd/server/main.go +++ b/cmd/server/main.go @@ -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 == "" { diff --git a/go.mod b/go.mod index dde352b..a0b336f 100644 --- a/go.mod +++ b/go.mod @@ -3,6 +3,7 @@ module monitoring-tg go 1.25.7 require ( + gitea.estateliga.work/admin/portal-common v0.3.0 github.com/jackc/pgx/v5 v5.9.1 github.com/minio/minio-go/v7 v7.2.0 ) diff --git a/go.sum b/go.sum index 77992d7..239db80 100644 --- a/go.sum +++ b/go.sum @@ -1,3 +1,5 @@ +gitea.estateliga.work/admin/portal-common v0.3.0 h1:xpr9UeLXk5pCcNXcTVGZzJZr0Ni7An7DV0OkuYv9qVM= +gitea.estateliga.work/admin/portal-common v0.3.0/go.mod h1:C860q6g38KVMsv+mKv6k1Vm7smVRCycl+N6r63TElnk= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=