DocumentSearchComponent
Core Knowledge Management Functionality
AuthenticationService
+ login(username, password)
+ validateCredentials()
+ createSession(userRecord)
+ validateSession(token)
+ getUserRole(): Role
SessionManager
+ createSession(user): Token
+ getSession(token): Session
+ invalidateSession(token)
+ refreshSession(token)
+ getPermissions(): Permissions
SearchController
+ searchDocuments(keyword, token)
+ applyFilter(type, value)
+ getSearchResults(): Document[]
+ sortResults(criteria)
+ paginateResults(page, size)
DocumentService
+ getDocument(docId): Document
+ getDocumentContent(docId)
+ verifyAccess(docId, userId)
+ filterByPermissions(docs, role)
+ filterByClient(docs, clientId)
+ getDocMetadata(docId)
IndexService
+ searchIndex(keyword): DocId[]
+ indexDocument(document)
+ updateIndex(docId, content)
+ removeFromIndex(docId)
+ rebuildIndex()
+ getIndexStatus(): Status
CacheManager
+ checkCache(key, role): Result
+ updateCache(key, role, data)
+ invalidateCache(key)
+ clearRoleCache(role)
+ getCacheStats(): Stats
+ setTTL(key, duration)
AccessControlService
+ checkPermission(user, resource)
+ getClientPermissions(clientId)
+ getEmployeePermissions(empId)
+ isAuthorized(action): boolean
+ getAccessibleResources(role)
NotificationService
+ notifyDocumentUpdate(docId)
+ subscribeToProject(projectId)
+ getNotifications(userId)
+ markAsRead(notificationId)
+ setPreferences(userId, prefs)
IAuthentication
login(), logout()
ISearch
search(), filter()
sort(), paginate()
IDocumentAccess
open(), download()
getMetadata()
INotification
subscribe(), notify()
Database
IRepository
hk.net DB
EmailArchive
IEmailIndex
Intraspect Salsa
FileStorage
IFileSystem
Document Store
by hk