Fetch the repository succeeded.
npm install -g @notadd/magnus
{
"inputs": [ "demo/src/app.resolver.ts" ],
"output": "demo/src/magnus",
"temp": "demo/src/magnus/temp",
"debug": true,
"copyTo": []
}
// 开发模式
magnus
// 生产模式 自动复制生成的配置文件到指定的文件夹
magnus --prod
@Magnus({
entities: [
User,Post
],
})
export class Controller<T> extends MagnusBase<T> {
// 自动生成 getUser,getPost
get repository() {
return getRepository<T>(this.tablename);
}
@Query()
async get(entity: T): Promise<T> {
return this.repository.findOne({
where: entity,
});
}
// 自动生成 addUser,addPost
@Mutation()
async add(entity: Partial<T>): Promise<T> {
return {
id: 1,
} as any;
}
// 自动生成 insertUser,insertPost
@Mutation()
async insert(entity: T): Promise<InsertResult<T>> {
return {
id: 1,
} as any;
}
}
@Magnus()
export class Controller2 extends MagnusBase<User> {
tablename: string = 'User';
/**
* 覆盖Controller中的getUser,单独处理
**/
@Query()
getUser(): User {
return {
id: 1,
};
}
}
import { createRunner } from '@notadd/magnus-core';
import { Controller, Controller2 } from './index';
import { join } from 'path';
import { Query } from '../magnus/magnus'
import { parse } from '@notadd/magnus-graphql';
const map = require(join(__dirname, '..', 'magnus/magnus.metadata.json'));
const context = require(join(__dirname, '..', 'magnus/magnus.server.json'));
const run = createRunner(map, context, {
Controller,
Controller2,
});
const query: Query = run.query;
async function run2() {
const res1 = await run(`{
getUser{
id
}
}`);
const res = await query.getUser(`{
id
}`);
}
run2();
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
Activity
Community
Health
Trend
Influence
:Code submit frequency
:React/respond to issue & PR etc.
:Well-balanced team members and collaboration
:Recent popularity of project
:Star counts, download counts etc.