partial implement (Save)

This commit is contained in:
2026-04-16 07:01:57 +02:00
parent d571f156a6
commit d808b0289f
8 changed files with 363 additions and 105 deletions

View File

@@ -160,6 +160,9 @@ Login-flöde (gäst):
Session-storage: in-memory map[token]*Session (försvinner vid omstart)
Session-livstid: 24 timmar (konfigurerat i auth.go)
**Rollbaserad UI-synlighet:**
Frontendens Pinia-store (`app.ts`) lagrar den inloggade användarens roll (`admin`, `user`, `guest`) via query `currentUserRole` som körs direkt efter inloggning. Admin-panelslänken i sidofältet visas bara om `role === 'admin'`.
```
**Viktigt:** Sessions lagras enbart i minnet. Vid server-omstart måste alla klienter logga in igen. LDAP-konfigurationsändringar (via admin-panelen) nollställer **inte** sessioner — befintliga sessioner är fortfarande giltiga.
@@ -419,13 +422,14 @@ Archivum/
type Query {
systemStatus: SystemStatus!
userAuthType(username: String!): String! # "local" | "ldap" | "guest"
currentUserRole: String! # Returnerar rollen för inloggad session ("admin" | "user" | "guest")
documents(prefix: String): [DocumentMeta!]!
document(slug: String!): Document
folders: [String!]!
history(slug: String!): [CommitEntry!]!
diff(slug: String!, fromHash: String!, toHash: String!): String!
acl(path: String!): [ACLEntry!]!
aclSubjects: ACLSubjects! # Användare + grupper för ACL-picker
aclSubjects: ACLSubjects! # Användare + grupper för ACL-picker (inkl. guest)
ldapBrowse(url: String, baseDN: String, adminUser: String, adminPass: String): LDAPTree!
}