TypeORM module for [`appolo`](https://github.com/shmoop207/appolo) built with [`TypeORM`](https://github.com/typeorm/typeorm)
npm install @appolo/typeormTypeORM module for appolo built with TypeORM
``typescript`
npm i @appolo/typeorm
| ModelRepository injection id | string| modelRepository|
| config | typeorm connection options | object | {} |
in config/modules/all.ts
`typescript
import {TypeOrmModule} from '@appolo/typeorm';export = async function (app: App) {
await app.module(new TypeOrmModule({
config: {
type: "postgres",
url: process.env.POSTGRES_URL,
ssl: true,
}}));
}
`Usage
`typescript
import {define, singleton} from 'appolo'
import {Entity,Column,model,Index,PrimaryGeneratedColumn,Repository} from "@appolo/typeorm";@model()
@Entity({name: "user"})
export class User{
@PrimaryGeneratedColumn()
id: number;
@Column({
type: "varchar",
length: 100
})
name: string;
@Column({
type: "varchar",
length: 100
})
@Index()
email: string;
}
@define()
@singleton()
export class SomeManager {
@injectModel(User) userModel: Repository;
async getUser(id:string): Promise {
let user = await this.userModel.findOne(id)
return user;
}
}
`ModelRepository
with modelRepository you can access to the typeorm repositories and db connection.$3
getter return typeorm connection$3
#### getModel(model: typeof Schema): Model
return mongoose model by schema type
`typescript
@define()
@singleton()
export class SomeManager { @inject() modelRepository:ModelRepository;
async getUser(id:string): Promise {
let user = await this.modelRepository.getModel(User).findOne(id)
return user;
}
}
``