cc1-admin-api
v0.0.10
Published
我来助你-后台管理系统-后端接口
Readme
落叶🍂 - nestjs 微服务集成系统(MongoDB 默认 / 自定义 SQL 适配)
使用nestjs 构建的权限认证,默认使用 MongoDB;如果宿主项目要接入 sqlite、mysql、postgres 等其他数据库,可通过外部 SqlConnection 适配器接入,支持多商户(租户)系统,快速构建nestjs应用
- 一键token认证
- 支持多数据库、多租户、多商户
- 自动导入模块信息,抛弃传统声明模块,减少重复代码
- 自带后台管理,一键配置按钮级权限
数据库模式
默认使用 MongoDB。可以通过配置或启动参数切换:
// config/init.js
module.exports = {
db: 'mongodb', // 默认值
sqlUrl: 'mongodb://localhost:27017/nest-auth'
}如果要使用 sqlite / mysql / postgres / 其他 SQL 数据库,需要显式传入 SqlConnection:
const SqlConnection = {
async create(source, schemas) {
// 在宿主项目中返回你自己的连接对象
// 该对象需要实现:
// close / getModel / getModelByCollection / getTableNames / readTable / transaction
// model 需要支持:
// find / findOne / create / insertMany / updateOne / updateMany / deleteOne / deleteMany / countDocuments
// 并兼容 sort / skip / limit / select / lean / exec 链式调用
return customConnection
}
}
module.exports = {
db: 'mysql', // 只要不是 mongo/mongodb,就会进入 SQL 适配模式
sqlUrl: 'mysql://root:[email protected]:3306/nest_auth',
SqlConnection
}启动时也可以传参覆盖配置:
node dist/main db=mongodb
node dist/main db=mysql
node dist/main db=sqliteSQL 适配模式会复用现有 service 中的 Mongoose 风格调用,支持当前项目使用到的 find/findOne/create/insertMany/updateOne/updateMany/deleteOne/deleteMany/countDocuments,以及 sort/skip/limit/select/lean/exec 链式调用。首次 SQL 模式启动且用户表为空时,会自动导入项目根目录 db/init.json 的默认数据。
使用示例(值班系统)
https://gitee.com/veigarchen/nestjs-auth-mongo-demo.git
联系作者
- 作者QQ/微信:1518079148
