Livoa LogoLivoa
«component»


DocumentSearchComponent

Core Knowledge Management Functionality

«subcomponent»


AuthenticationService

+ login(username, password)

+ validateCredentials()

+ createSession(userRecord)

+ validateSession(token)

+ getUserRole(): Role

«subcomponent»


SessionManager

+ createSession(user): Token

+ getSession(token): Session

+ invalidateSession(token)

+ refreshSession(token)

+ getPermissions(): Permissions

«subcomponent»


SearchController

+ searchDocuments(keyword, token)

+ applyFilter(type, value)

+ getSearchResults(): Document[]

+ sortResults(criteria)

+ paginateResults(page, size)

«subcomponent»


DocumentService

+ getDocument(docId): Document

+ getDocumentContent(docId)

+ verifyAccess(docId, userId)

+ filterByPermissions(docs, role)

+ filterByClient(docs, clientId)

+ getDocMetadata(docId)

«subcomponent»


IndexService

+ searchIndex(keyword): DocId[]

+ indexDocument(document)

+ updateIndex(docId, content)

+ removeFromIndex(docId)

+ rebuildIndex()

+ getIndexStatus(): Status

«subcomponent»


CacheManager

+ checkCache(key, role): Result

+ updateCache(key, role, data)

+ invalidateCache(key)

+ clearRoleCache(role)

+ getCacheStats(): Stats

+ setTTL(key, duration)

«subcomponent»


AccessControlService

+ checkPermission(user, resource)

+ getClientPermissions(clientId)

+ getEmployeePermissions(empId)

+ isAuthorized(action): boolean

+ getAccessibleResources(role)

«subcomponent»


NotificationService

+ notifyDocumentUpdate(docId)

+ subscribeToProject(projectId)

+ getNotifications(userId)

+ markAsRead(notificationId)

+ setPreferences(userId, prefs)

«interface»


IAuthentication

login(), logout()

«interface»


ISearch

search(), filter()

sort(), paginate()

«interface»


IDocumentAccess

open(), download()

getMetadata()

«interface»


INotification

subscribe(), notify()

«component»


Database

IRepository

hk.net DB

«component»


EmailArchive

IEmailIndex

Intraspect Salsa

«component»


FileStorage

IFileSystem

Document Store

ase2

by hk

0
0 uses