Get the name of the current Lime CRM application.
The application name identifies which Lime CRM database/application the user is currently connected to.
The application name
Get the currently logged in user.
Returns the User object containing information about the authenticated user, including their username, full name, email, groups, and associated coworker record if applicable.
The current User object, or undefined if not authenticated
Get the current interface language.
Returns the two-letter ISO 639-1 language code for the current user interface language. This should be used for localizing component text and formatting locale-specific data like dates and numbers.
A two-letter language code (e.g., "en", "sv", "de", "fi")
Get the current session information.
The session contains detailed information about the current user session including login time, session timeout, enabled features, database connection details, and whether the user has administrative privileges.
The current Session object, or undefined if no active session
const session = appRepo.getSession();
// Check if session is about to expire
const expirationTime = new Date(session?.expirationTime);
const minutesLeft = (expirationTime.getTime() - Date.now()) / 60000;
if (minutesLeft < 5) {
// Warn user about session expiration
}
// Check for admin privileges
if (session?.admin) {
// Enable admin features
}
Subscribe to state changes with optional transformation and filtering.
The subscription will immediately invoke the callback with the current state (if any), then continue to call it whenever the state changes. The map and filter options allow you to transform and selectively receive updates.
Function called with state updates (after map/filter applied)
Optionaloptions: StateOptionsOptional transformations and filters for the subscription
Unsubscribe function - call this to stop receiving updates
Repository for accessing application-level state and metadata.
The ApplicationRepository provides access to global application information including the current user, session details, application name, and language settings. It extends StateRepository to provide reactive subscriptions to these values, allowing components to automatically update when application state changes.
This repository is typically available immediately when a component loads and provides essential context about the running application and the authenticated user.
Example: Use decorators for reactive state management
Example: Direct repository access (useful for one-time reads)