Skip to content

Cấu hình

1. Biến môi trường

Nguồn: EnvironmentKeys trong @nx/core/src/common/environments.ts. Service đọc qua applicationEnvironment.get<T>(key).

Core runtime

TênKiểuMặc địnhBắt buộcMô tả
APP_ENV_PORTnumber3000Cổng lắng nghe HTTP (container)
APP_ENV_HOSTstring0.0.0.0Địa chỉ bind
APP_ENV_BASE_PATHstring/v1/api/saleTiền tố route
APP_ENV_NODE_IDnumber-Snowflake worker ID - phải là 3 cho sale
APP_ENV_LOG_LEVELinfo|debug|warn|errorinfoCấp độ logger
APP_ENV_NODE_ENVstringdevelopmentNạp qua dotenv-flow
RUN_MODEmigrate|servermigrate chuyển sang entry migration

Database

TênKiểuMặc địnhBắt buộcMô tả
APP_ENV_DB_URLstring-URL kết nối PostgreSQL
APP_ENV_DB_POOL_MAXnumber10Kích thước pool tối đa

Redis (chỉ cache auth)

TênKiểuMặc địnhBắt buộcMô tả
APP_ENV_REDIS_HOSTstring-Tùy chọn - auth cache tắt khi không đặt
APP_ENV_REDIS_PORTnumber6379-
APP_ENV_REDIS_PASSWORDstring--
APP_ENV_REDIS_DBnumber0-

Kafka (chỉ producer)

TênKiểuMặc địnhBắt buộcMô tả
APP_ENV_KAFKA_BROKERScsv-Danh sách broker, phân tách bằng dấu phẩy
APP_ENV_KAFKA_CLIENT_IDstringSVC-00030-SALE_PRODUCERClient id của producer
APP_ENV_KAFKA_SASL_ENABLE'true'|'false'falseBật/tắt xác thực SASL
APP_ENV_KAFKA_SASL_MECHANISMenumNAKhi SASL bật
APP_ENV_KAFKA_SASL_USERNAMEstringNAKhi SASL bật
APP_ENV_KAFKA_SASL_PASSWORDstringNAKhi SASL bật

Sale chỉ đăng ký Producer - không có Kafka consumer trong package này.

Authentication

TênKiểuMặc địnhBắt buộcMô tả
APP_ENV_JWKS_URLurl-Endpoint JWKS của identity service
APP_ENV_BASIC_AUTH_*string-Thông tin xác thực basic cho service-to-service

Mạng các service anh em

TênKiểuMặc địnhBắt buộcMô tả
APP_ENV_PRICING_BASE_URLurl-Base HTTP @nx/pricing cho PricingNetworkService
APP_ENV_COMMERCE_BASE_URLurl-Base HTTP @nx/commerce (đọc liên package)

2. Feature Flags

Hiện không có feature flag toàn cục. Các công tắc policy huỷ đơn / pricing v2 nằm trong các bản ghi Configuration theo từng merchant (xem §4).

3. Dữ liệu Seed

Process migration trong src/migrations/processes/. Chạy khi bootstrap (prestartbun run rebuildmigrate.ts).

FilePhạm viIdempotency KeyGhi chú
sale-0001-seed-permissions.tsPermission (catalogue RBAC)codeTổng hợp tất cả nhóm permission của sale (controllers/permissions.ts)
sale-0002-create-pos-session-report.tsBootstrap schema DB cho PosSessionReportn/a (DDL)Tạo bảng report nếu chưa có - tách khỏi runner migration chính

4. Lưu trữ Configuration (bảng Configuration)

Loại configurationMã hóaĐọc bởi
Thông tin xác thực nhà cung cấp thanh toán theo từng merchant (ở đây chỉ đọc)AES-256-GCM (mã hoá bởi @nx/payment)PaymentWebhookService (hiếm - phần lớn đọc tại MQ-Pay; sale chủ yếu dùng webhook payload)
Tỷ lệ quy đổi điểm loyalty theo từng merchant-CustomerPointService.awardPointsForOrder

Sale đọc từ Configuration; việc ghi do service phát hành cấu hình sở hữu (vd: payment).

5. Thứ tự Boot

6. Trang liên quan

Proprietary and Confidential. Unauthorized copying, distribution, or use of this software is strictly prohibited.