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
* 安装
npm install @dynamatix/gb-schemas
使用量
基本导入
import {
ApplicantModel,
ApplicationModel,
PropertyModel
} from '@dynamatix/gb-schemas';
模块导入
// Import specific modules
import { ApplicantModel } from '@dynamatix/gb-schemas/applicants';
import { ApplicationModel } from '@dynamatix/gb-schemas/applications';
import { PropertyModel } from '@dynamatix/gb-schemas/properties';
示例:添加申请人收入
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();
工作流中间软件
库中包括一个强大的工作流程中间软件系统,根据数据库事件自动触发工作流程.
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 页面存档备份,存于互联网档案馆(中文(简体) )WORKFLOW_TIMEOUT: 以毫秒计的可选超时( 默认: 3000)WORKFLOW_RETRY_ATTEMPTS: 可选重试尝试( 默认: 3)WORKFLOW_RETRY_DELAY: 可选重试延迟以毫秒计( 默认: 1000)
详细文件见 工作流程中间软件指南。 。 。 .
核心课程
申请人
- 申请人: 核心申请人资料(个人详情、地址、就业状况)
- 申请人收入:各种收入类型(就业、自营职业、养恤金、财产)
- 申请人承诺财务承诺(抵押、贷款、信用卡)
- 申请人信用数据信用概况和信用报告信息
- 申请人支出支出模式和财务支出
应用程序
- 应用: 主要应用记录,包括工作流程和状态跟踪
- 应用程序抵押: 特定抵押贷款应用程序细节
- 应用程序信用配置: 信用评估信息
- 法律应用: 法律文件和合规数据
- 应用程序注释: 与应用程序有关的说明和评论
属性
- 财产: 财产细节和特征
- 警卫安全和附带信息
产品目录
- 产品目录: 产品定义和变体
- 产品定义: 产品详细规格
- 产品变体: 产品定制选项
共享模式
- 查询: 参考数据和查找值
- 系统参数: 配置和系统设置
- 任务: 工作流程任务管理
- 警报: 系统通知系统
- 工作流触发器: 自动工作流程执行配置
自定义值对象
英镑类型
自定义 Mongoose 类型,用于自动格式化和验证处理英国货币值.
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)
具有验证功能的英国银行信息专用类型.
迁移脚本
该项目包括全面的迁移和维护脚本:
可用的脚本
# 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+
设置
# Install dependencies
npm install
# Build the project
npm run build
# Generate documentation
npm run generate-docs
# Run examples
npm run example:income
构建配置
该项目使用带有ES2020模块的TypeScript并生成声明文件:
{
"target": "ES2020",
"module": "ES2020",
"outDir": "./dist",
"declaration": true,
"declarationMap": true
}
API 参考
主要出口
// 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: 创建申请人收入记录的演示- 迁移脚本: 显示真实世界数据迁移模式
运行示例
# Run income example
npm run example:income
# Generate documentation
npm run generate-docs
页:1
- Schema 文档: 自动生成通过
npm run generate-docs - 移徙指南: 详细 README 文件
scripts/目录 - API 模型: 类型安全 API 模型定义
捐款
- 叉子存储器
- 创建特性分支
- 做你的改变
- 确保类型Script编译通行证
- 提交拉动请求
许可证
ISC 许可证 - 详情见 package.json
++ 辅助
QQ 版本历史
- 当前: 1.3.305 (中文(简体) )
- 依赖关系数字 :
@dynamatix/cat-shared时间:0.0.119mongoose页:1mongodb: ^6.14.2 (中文(简体) )
这个软件包为Gatehouse Bank的抵押和金融服务后端系统提供了基础数据层.