# @dynamatix/gb-schemas 中文文档

规范地址：https://npmcn.com/package/%40dynamatix/gb-schemas/

版本：2\.24\.5
npm 元数据更新时间：2026-11-12T09:28:53.620Z
中文译文更新时间：2026-11-14T16:05:15.332Z
软件包许可：ISC

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40dynamatix/gb-schemas
原文对照：https://npmcn.com/package/%40dynamatix/gb-schemas/?lang=original
项目主页：https://github.com/DynamatixAnalyticsPvtLtd/gb-schemas#readme
源码仓库：https://github.com/DynamatixAnalyticsPvtLtd/gb-schemas

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：1.7 MB，407 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：5 个
- 首次发布：2025-01-15T09:32:32.020Z
- 最新版本发布：2026-11-12T09:28:53.314Z
- 近 30 天下载量：1991（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：842（近 12 个月 141 个）

## 中文简介

所有门房银行的后端计划.

## 安装

```sh
npm install @dynamatix/gb-schemas
```

也可以使用：`pnpm add @dynamatix/gb-schemas`、`yarn add @dynamatix/gb-schemas`、`bun add @dynamatix/gb-schemas`

## README

# GB Schemas (@dynamatix/gb-schemas) (英语)

为Gatehouse Bank后端系统建立一个综合性的TypeScript/Mongoose schema库,为抵押申请、申请人、财产和相关金融服务提供数据模型.

## 项目概况

这个软件包包含了Gatehouse Bank的后端系统所使用的所有计划与数据模型. 它通过有TypeScript支持的明确界定的Mongoose计划,为管理抵押贷款申请、申请人数据、财产信息和各种财务承诺提供了坚实的基础.

## 软件包信息

-   **名称**数字 : `@dynamatix/gb-schemas`
-   **版本**: 1.3.305 (中文(简体) )
-   **说明**: Gatehouse银行的所有后端计划
-   **类型**: ES模块
-   **主要**数字 : `dist/index.js`
-   **类型**数字 : `dist/index.d.ts`

## \* 特性

-   **类型脚本支持**: 完整类型脚本定义和类型安全
-   **山区一体化**: 建于MongoDB的 Mongoose ODM上
-   **中间软件**: 内建审计线索支持 `@dynamatix/cat-shared`
-   **工作流中间软件**: 根据数据库事件自动触发工作流程
-   **自定义值对象**: 财务数据专用类型(Pound、账号、排序代码)
-   **模块结构**: 组织成逻辑域(申请、申请人、属性等)
-   **迁移脚本**: 综合数据迁移和维护工具

## 项目结构

```
gb-schemas-node/
├── applicants/           # Applicant-related schemas and models
├── applications/         # Application management schemas
├── properties/          # Property and security schemas
├── product-catalogues/  # Product definition schemas
├── shared/              # Common/shared schemas and utilities
├── users/               # User management schemas
├── underwriter/         # Underwriting-related schemas
├── value-objects/       # Custom Mongoose types
├── api-models/          # API-specific model definitions
├── entities/            # Entity layer schemas
├── examples/            # Usage examples
├── scripts/             # Migration and utility scripts
└── schema-docs/         # Schema documentation generation
```

## \* 安装

```bash
npm install @dynamatix/gb-schemas
```

## 使用量

### 基本导入

```typescript
import { 
  ApplicantModel, 
  ApplicationModel, 
  PropertyModel 
} from '@dynamatix/gb-schemas';
```

### 模块导入

```typescript
// Import specific modules
import { ApplicantModel } from '@dynamatix/gb-schemas/applicants';
import { ApplicationModel } from '@dynamatix/gb-schemas/applications';
import { PropertyModel } from '@dynamatix/gb-schemas/properties';
```

### 示例:添加申请人收入

```typescript
import mongoose from 'mongoose';
import ApplicantIncomeModel from '@dynamatix/gb-schemas/applicants/applicant-income.model';

// Connect to MongoDB
await mongoose.connect(MONGODB_URI);

// Create new applicant income record
const newIncome = new ApplicantIncomeModel({
  applicantId: 'your-applicant-id',
  selfEmployedIncomeRationale: 'Based on last 2 years of accounts'
});

const savedIncome = await newIncome.save();
```

### 工作流中间软件

库中包括一个强大的工作流程中间软件系统,根据数据库事件自动触发工作流程.

```typescript
import { initializeWorkflowMiddlewareWithCheck } from '@dynamatix/gb-schemas';

// Initialize workflow middleware for ALL schemas with one call
initializeWorkflowMiddlewareWithCheck();
```

**环境变量:**

-   `WORKFLOW_API_KEY`: 工作流程服务认证所需的 API 密钥
-   `WORKFLOW_API_URL`: 可选工作流程 API URL( 默认 ): [https://your-workflow-api.com/api/v1/workflows/execute 页面存档备份,存于互联网档案馆](https://your-workflow-api.com/api/v1/workflows/execute)(中文(简体) )
-   `WORKFLOW_TIMEOUT`: 以毫秒计的可选超时( 默认: 3000)
-   `WORKFLOW_RETRY_ATTEMPTS`: 可选重试尝试( 默认: 3)
-   `WORKFLOW_RETRY_DELAY`: 可选重试延迟以毫秒计( 默认: 1000)

详细文件见 [工作流程中间软件指南](https://npmcn.com/package/%40dynamatix/gb-schemas/docs/WORKFLOW_MIDDLEWARE.md)。 。 。 .

## 核心课程

### 申请人

-   **申请人**: 核心申请人资料(个人详情、地址、就业状况)
-   **申请人收入**:各种收入类型(就业、自营职业、养恤金、财产)
-   **申请人承诺**财务承诺(抵押、贷款、信用卡)
-   **申请人信用数据**信用概况和信用报告信息
-   **申请人支出**支出模式和财务支出

### 应用程序

-   **应用**: 主要应用记录,包括工作流程和状态跟踪
-   **应用程序抵押**: 特定抵押贷款应用程序细节
-   **应用程序信用配置**: 信用评估信息
-   **法律应用**: 法律文件和合规数据
-   **应用程序注释**: 与应用程序有关的说明和评论

### 属性

-   **财产**: 财产细节和特征
-   **警卫**安全和附带信息

### 产品目录

-   **产品目录**: 产品定义和变体
-   **产品定义**: 产品详细规格
-   **产品变体**: 产品定制选项

### 共享模式

-   **查询**: 参考数据和查找值
-   **系统参数**: 配置和系统设置
-   **任务**: 工作流程任务管理
-   **警报**: 系统通知系统
-   **工作流触发器**: 自动工作流程执行配置

## 自定义值对象

### 英镑类型

自定义 Mongoose 类型,用于自动格式化和验证处理英国货币值.

```typescript
import { Pound, formatPound } from '@dynamatix/gb-schemas/value-objects/pound';

// Automatically handles currency formatting and validation
const amount = new Pound('1,234.56'); // Returns 1234.56
const formatted = formatPound(1234.56); // Returns "£1,234.56"
```

### 帐号排序代码( S)

具有验证功能的英国银行信息专用类型.

## 迁移脚本

该项目包括全面的迁移和维护脚本:

### 可用的脚本

```bash
# Income migration
npm run migrate:applicant-income

# Self-employed ID migration
npm run migrate:self-employed-id

# Employment verification
npm run check:applicants-employment

# Application cleanup
npm run delete:applications-by-type

# API config updates
npm run update:apiconfigs-paths
```

### 密钥迁移脚本

-   **`migrate-applicant-income.js`**: 从旧收入模式到新的分离模式的偏好
-   **`migrate-self-employed-id.js`**: 更新自营职业申请人的参考资料
-   **`check-applicants-without-employment.js`**: 验证就业数据的完整性
-   **`update-apiconfigs-paths.js`**: 更新 API 配置路径

## 发展

### 先决条件

-   节点.js (v18+)
-   类型脚本 5.3+
-   蒙戈DB 6.14+

### 设置

```bash
# Install dependencies
npm install

# Build the project
npm run build

# Generate documentation
npm run generate-docs

# Run examples
npm run example:income
```

### 构建配置

该项目使用带有ES2020模块的TypeScript并生成声明文件:

```json
{
  "target": "ES2020",
  "module": "ES2020",
  "outDir": "./dist",
  "declaration": true,
  "declarationMap": true
}
```

## API 参考

### 主要出口

```typescript
// Core models
export * from './applications';
export * from './applicants';
export * from './properties';
export * from './shared';
export * from './users';
export * from './product-catalogues';
export * from './underwriter';
```

### 模式关系

-   **应用程序** → **申请人** (一对多)
-   **应用程序** → **属性** (一对多)
-   **应用程序** → **产品** (多为一
-   **申请人** → **收入模式** (一对多)
-   **申请人** → **承诺模式** (一对多)

## 安全合规

-   **GDPR 支助**: 内建的GDPR同意跟踪
-   **审计轨迹**: 通过中间软件进行全面审计记录
-   **数据验证**: 严格计划验证和类型检查
-   **访问控制**:用户权限和角色访问模式

## 测试实例( E)

### 示例脚本

-   **`add-applicant-income.ts`**: 创建申请人收入记录的演示
-   **迁移脚本**: 显示真实世界数据迁移模式

### 运行示例

```bash
# Run income example
npm run example:income

# Generate documentation
npm run generate-docs
```

## 页:1

-   **Schema 文档**: 自动生成通过 `npm run generate-docs`
-   **移徙指南**: 详细 README 文件 `scripts/` 目录
-   **API 模型**: 类型安全 API 模型定义

## 捐款

1.  叉子存储器
2.  创建特性分支
3.  做你的改变
4.  确保类型Script编译通行证
5.  提交拉动请求

## 许可证

ISC 许可证 - 详情见 package.json

## ++ 辅助

-   **问题**数字 : [GitHub 问题](https://github.com/DynamatixAnalyticsPvtLtd/gb-schemas/issues)
-   **仓库**数字 : [GitHub 仓库](https://github.com/DynamatixAnalyticsPvtLtd/gb-schemas)
-   **作者**: 动态

## QQ 版本历史

-   **当前**: 1.3.305 (中文(简体) )
-   **依赖关系**数字 :
    -   `@dynamatix/cat-shared`时间:0.0.119
    -   `mongoose`页:1
    -   `mongodb`: ^6.14.2 (中文(简体) )

* * *

_这个软件包为Gatehouse Bank的抵押和金融服务后端系统提供了基础数据层._

## 常见问题

### @dynamatix/gb-schemas 是什么？

所有门房银行的后端计划\.

### 如何安装 @dynamatix/gb-schemas？

在项目目录运行 npm install @dynamatix/gb-schemas，或使用 pnpm add / yarn add / bun add。

### @dynamatix/gb-schemas 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @dynamatix/gb-schemas 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @dynamatix/gb-schemas 可以商用吗？

@dynamatix/gb-schemas 使用 ISC 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @dynamatix/gb-schemas 的下载量有多少？

根据 npm 官方下载统计，@dynamatix/gb-schemas 在 2026/10/13 – 2026/11/11 这 30 天内被下载 1,991 次，日均约 66 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @dynamatix/gb-schemas 还在维护吗？

最新版本 2\.24\.5 发布于 2026/11/12（2 天前）；至今共发布 842 个版本，其中过去 12 个月发布了 141 个；首次发布于 2025/01/15。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

