管理员类型
这是官员 行政部门 集成的适配器 类型ORM (原始内容来自 Arteha/admin-bro-typeorm 阿尔特哈/Admin-bro-typeorm 阿尔特哈/阿特哈/阿特哈/阿特纳-布罗-布罗-多克多克多克多克多克(中文(简体) )
安装 : yarn add @adminjs/typeorm
使用量
插件可以使用标准注册 AdminJS.registerAdapter 方法.
import { Database, Resource } from '@adminjs/typeorm'
import AdminJS from 'adminjs'
AdminJS.registerAdapter({ Database, Resource });
// Optional: if you use class-validator you have to inject this to resource.
import { validate } from 'class-validator'
Resource.validate = validate
示例
import {
BaseEntity,
Entity, PrimaryGeneratedColumn, Column,
ManyToOne,
RelationId
} from 'typeorm'
import { MyDataSource } from './my-data-source'
import * as express from 'express'
import { Database, Resource } from '@adminjs/typeorm'
import { validate } from 'class-validator'
import AdminJS from 'adminjs'
import * as AdminJSExpress from '@adminjs/express'
Resource.validate = validate
AdminJS.registerAdapter({ Database, Resource })
@Entity()
export class Person extends BaseEntity
{
@PrimaryGeneratedColumn()
public id: number;
@Column({type: 'varchar'})
public firstName: string;
@Column({type: 'varchar'})
public lastName: string;
@ManyToOne(type => CarDealer, carDealer => carDealer.cars)
organization: Organization;
// in order be able to fetch resources in adminjs - we have to have id available
@RelationId((person: Person) => person.organization)
organizationId: number;
// For fancy clickable relation links:
public toString(): string
{
return `${firstName} ${lastName}`;
}
}
( async () =>
{
await MyDataSource.initialize();
const adminJs = new AdminJS({
// databases: [MyDataSource],
resources: [
{ resource: Person, options: { parent: { name: 'foobar' } } }
],
rootPath: '/admin',
})
const app = express()
const router = AdminJSExpress.buildRouter(adminJs)
app.use(adminJs.options.rootPath, router)
app.listen(3000)
})()
多个“ 一个”
管理者支持 ManyToOne 关系, 但您也必须定义 @ RealationId , 如上例所示 .
捐款
运行示例应用程序
如果您想要在本地设置此程序, 这就是建议的过程 :
- 叉子还原
- 安装依赖关系
yarn install
- 将此软件包登记为(链接软件包)[https://classic.yarnpkg.com/en/docs/cli/link/ (中文(简体) )[ . ]
yarn link
- 设置示例应用程序
安装所有依赖和使用先前链接的版本 @adminjs/typeorm。 。 。 .
cd example-app
yarn install
yarn link @adminjs/typeorm
可以选择,您可能想要链接您的本地版本 adminjs 软件包
-
确定您拥有所有嵌入( 定义在
example-app/ormconfig.js(中文(简体) ) -
以监视模式构建软件包
(在根文件夹中)
yarn dev
- 在 dev 模式下运行应用程序
cd example-app
yarn dev
调取请求
在你做公关之前 确定所有的测试都通过 并且代码不会引起错误. 你可以通过运行来做到这一点:
yarn lint
yarn test
或带有适当的嵌入: POSTGRES_USER=yourtestuser POSTGRES_DATABASE="database_test" yarn test
许可证
AdminJS拥有2023rst.software的版权. 它是一种自由软件,可按下列规定重新分配: 自由主义 文档.
关于 rst. 软件
我们是一个开放、友好的团队.