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_IDnumberSnowflake 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_URLstringURL 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_HOSTstringTù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_BROKERScsvDanh 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_URLurlEndpoint JWKS của identity service
APP_ENV_BASIC_AUTH_*stringCredential basic cho service-to-service

Mạng sister-service

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

2. Feature Flags

Hiện không có feature flag toàn cục. Toggle policy hủy đơn / pricing v2 nằm trong các bản ghi Configuration per-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
Credential payment provider per-merchant (chỉ đọc ở đây)AES-256-GCM (mã hóa 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 per-merchantCustomerPointService.awardPointsForOrder

Sale đọc từ Configuration; ghi do service phát 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.