@gsb-core/core
Version:
GSB core services and classes for platform-independent web applications
46 lines • 1.62 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.AppInitializerService = void 0;
const gsb_config_1 = require("../config/gsb-config");
const auth_service_1 = require("../services/auth/auth.service");
class AppInitializerService {
constructor(config = {}) {
this.initialized = false;
this.config = {
devMode: (0, gsb_config_1.getEnvVar)('NODE_ENV', 'production') === 'development',
enableMultiTenant: (0, gsb_config_1.getEnvVar)('NEXT_PUBLIC_ENABLE_MULTI_TENANT', 'false') === 'true',
...config
};
}
static getInstance(config) {
if (!AppInitializerService.instance) {
AppInitializerService.instance = new AppInitializerService(config);
}
return AppInitializerService.instance;
}
initialize() {
if (this.initialized) {
console.log('App already initialized');
return;
}
try {
// Initialize authentication service
const authService = auth_service_1.AuthService.getInstance();
authService.initFromStorage();
this.initialized = true;
console.log('App initialization completed successfully');
}
catch (error) {
console.error('Error during app initialization:', error);
throw error;
}
}
isInitialized() {
return this.initialized;
}
getConfig() {
return { ...this.config };
}
}
exports.AppInitializerService = AppInitializerService;
//# sourceMappingURL=app-initializer.service.js.map