本文整理汇总了TypeScript中typeorm.Repository类的典型用法代码示例。如果您正苦于以下问题:TypeScript Repository类的具体用法?TypeScript Repository怎么用?TypeScript Repository使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Repository类的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: createUser
public static async createUser (ctx: BaseContext) {
// get a user repository to perform operations with user
const userRepository: Repository<User> = getManager().getRepository(User);
// build up entity user to be saved
const userToBeSaved: User = new User();
userToBeSaved.name = ctx.request.body.name;
userToBeSaved.email = ctx.request.body.email;
// validate user entity
const errors: ValidationError[] = await validate(userToBeSaved); // errors is an array of validation errors
if (errors.length > 0) {
// return bad request status code and errors array
ctx.status = 400;
ctx.body = errors;
} else {
// save the user contained in the POST body
const user = await userRepository.save(userToBeSaved);
// return created status code and updated user
ctx.status = 201;
ctx.body = user;
}
}
示例2: getUsers
public static async getUsers (ctx: BaseContext) {
// get a user repository to perform operations with user
const userRepository: Repository<User> = getManager().getRepository(User);
// load all users
const users: User[] = await userRepository.find();
// return loaded users
ctx.body = users;
}
示例3: getUser
public static async getUser (ctx: BaseContext) {
// get a user repository to perform operations with user
const userRepository: Repository<User> = getManager().getRepository(User);
// load user by id
const user: User = await userRepository.findOne(ctx.params.id);
if (user) {
// return loaded user
ctx.body = user;
} else {
// return a BAD REQUEST status code and error message
ctx.status = 400;
ctx.body = 'The user you are trying to retrieve doesn\'t exist in the db';
}
}
示例4: updateUser
public static async updateUser (ctx: BaseContext) {
// get a user repository to perform operations with user
const userRepository: Repository<User> = getManager().getRepository(User);
// check if a user with the specified id exists
if (await userRepository.findOne(ctx.params.id)) {
// update the user by specified id
// build up entity user to be updated
const userToBeUpdated: User = new User();
userToBeUpdated.id = +ctx.params.id;
userToBeUpdated.name = ctx.request.body.name;
userToBeUpdated.email = ctx.request.body.email;
// validate user entity
const errors: ValidationError[] = await validate(userToBeUpdated); // errors is an array of validation errors
if (errors.length > 0) {
// return bad request status code and errors array
ctx.status = 400;
ctx.body = errors;
} else {
// save the user contained in the PUT body
const user = await userRepository.save(userToBeUpdated);
// return created status code and updated user
ctx.status = 201;
ctx.body = user;
}
} else {
// return a BAD REQUEST status code and error message
ctx.status = 400;
ctx.body = 'The user you are trying to update doesn\'t exist in the db';
}
}
示例5: persist
async persist(obj: T): Promise<T> {
let id = obj[this.getIdPropName()];
if (id != null) {
let obj2 = await this.repo.findOne(id)
if (obj2 == null) {
let obj3 = this.repo.create([obj as any])[0];
return this.repo.manager.save(obj3);
}
let final = this.repo.merge(obj2, obj as any);
return await this.repo.manager.save(final);
}
return await this.repo.manager.save(obj);
}
示例6: find
async find(req: FindManyOptions<T>): Promise<T[]> {
console.log("find", req);
try {
let res = await this.repo.find(req);
return res;
}
catch (e) {
console.log(e);
throw e;
}
}
示例7: removeById
async removeById(req: { id: any }): Promise<T> {
let x = await this.repo.findOne(req.id)
if (x == null)
return null;
return await this.repo.remove(x);
}
示例8: findOneById
findOneById(req: { id: any, options?: FindOneOptions<T> }): Promise<T | undefined> {
return this.repo.findOne(req.id, req.options);
}