import { IOffice365Pkce } from './pkce.service'; import * as i0 from "@angular/core"; export declare class AppConfigService { APP_TYPE: string; DEFAULT_IANA_TIMEZONE_ID: string; CANONICAL_IANA_TIMEZONES: string[]; DOM_VERSION: string; /** * 🔧 HU_ORGANIZATION_ACTIVE_FIELD * ------------------------------------------------------------ * Xác định tên field dùng để kiểm tra trạng thái "active" của * bản ghi HU_ORGANIZATION (và các entity tương tự). * * ⚠️ Lý do tồn tại: * - Hệ thống đã trải qua nhiều đời database schema * - Một số môi trường dùng: * + "active" * + "isActive" * - Không thể hardcode vì gây sai lệch dữ liệu giữa các môi trường * * 🎯 Cách hoạt động: * - Field này sẽ được dùng dynamic trong code: * * const isActive = node[HU_ORGANIZATION_ACTIVE_FIELD]; * * - Cho phép hệ thống tương thích đa schema mà không cần refactor logic * * 📌 Ví dụ cấu hình: * * HU_ORGANIZATION_ACTIVE_FIELD = "isActive" * // hoặc * HU_ORGANIZATION_ACTIVE_FIELD = "active" * * 🚨 Lưu ý: * - Field phải tồn tại trong dataset trả về từ backend * - Giá trị phải là boolean hoặc truthy/falsy tương đương * - Nếu sai config → có thể dẫn đến: * + sai subtree count (121 ↔ 243) * + hiển thị sai node * * 💡 Khuyến nghị: * - Chuẩn hóa backend về 1 field duy nhất ("isActive") * - Config này chỉ nên là giải pháp tương thích tạm thời */ HU_ORGANIZATION_ACTIVE_FIELD: string; APP_UIID: string; ALLOW_IN_APP_NOTIFICATION: boolean; SHOW_LOGIN_NOTIFICATION: boolean; IS_TRUSTED_SSL: boolean; /** * ID trạng thái của nhân viên đã nghỉ việc (terminated). * * ⚠️ KHÔNG hardcode trong code: * - Mỗi tenant / khách hàng có thể dùng ID khác nhau cho trạng thái nghỉ việc * - Có hệ coi TERMINATED = 3, có hệ lại là 5, 7 hoặc tập nhiều trạng thái * * Giá trị này được load từ app.config.json (theo tenant), * và chỉ đóng vai trò là DATA POLICY, không phải logic UI. * * UI (seeker) sẽ dùng giá trị này để quy đổi sang NOT IN operator * nhằm ẩn nhân viên đã nghỉ việc ngay từ tầng query, * thay vì fetch rồi lọc lại ở frontend. * * 👉 Thiết kế này cố tình: * - Tránh abstraction dư thừa * - Tránh assumption sai về business rule * - Dễ debug, dễ thay đổi theo tenant */ EMPLOYEE_TERMINATED_STATUS_ID: number; EMPLOYEE_TERMINATED_STATUS_ID_CAMEL_CASE_FIELD: string; USE_BUILTIN_OTP: boolean; USE_CAPTCHA: boolean; BASE_URL: string; BASE_URL_FOR_STATISTIC: string; BASE_URL_FOR_CONTENT: string; EVOLUTION_UseAuditAndTimeZoneContext: boolean; EVOLUTION_UseSysActionOrderNum: boolean; EVOLUTION_UseQueryOrgWithPositionsAndQuotas: boolean; GOLIVE_URL: string; DEBUG_ENABLED: boolean; USE_DEMO_AVATAR: boolean; USE_GRPC: boolean; UI_VERSION_OrgChart: 'ORIGINAL' | 'TENMA'; IGNORE_PARTIAL_URL_MATCH_FOR_FUNCTION: boolean; IGNORE_PARTIAL_URL_MATCH_FOR_PROFILE_CENTER: boolean; LOGO_LOGIN: string; LOGO_HEADER: string; HOME_BACKGROUND_IMAGE: string; FORM_CONTROL_REQUIRED_HIGHLIGHT_COLOR: string; OAUTH2_OIDC_ENABLED: boolean; OAUTH2_OIDC_CLIENT_ID: string; OAUTH2_OIDC_LOGIN_URI: string; OAUTH2_OIDC_REDIRECT_URI: string; OAUTH2_OIDC_SCOPE: string; OFFICE365_DEV: IOffice365Pkce | undefined; OFFICE365_PROD: IOffice365Pkce | undefined; SAML2ADFS_ENABLED: boolean; SAML2ADFS_IDP: string; SAML2ADFS_IDENTIFIER: string; SAML2ADFS_WA_SIGNIN: string; SAML2ADFS_WA_SIGNOUT: string; SAML2ADFS_WREPLY: string; HANGFIRE_PATH: string; STATIC_FOLDER: string; AVATAR_FOLDER: string; APP_DEMO_FOLDER: string; ATTACHMENT_FOLDER: string; NEWSFEED_FOLDER: string; WORKFLOW_ENABLE_DEBUG_MODE: boolean; WORKFLOW_CALCULATED_FIELD_DEPENDS_ON_REQUIRED_FIELDS: boolean; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }