8.1.0 • Published 2 years ago

@appolo/typeorm v8.1.0

Weekly downloads
8
License
MIT
Repository
github
Last release
2 years ago

Appolo TypeOrm Module

TypeORM module for appolo built with TypeORM

Installation

npm i @appolo/typeorm

Options

keyDescriptionTypeDefault
idModelRepository injection idstringmodelRepository
configtypeorm connection optionsobject{}

in config/modules/all.ts

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

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<User>;

    async getUser(id:string): Promise<User> {
        let user = await this.userModel.findOne(id)

        return user;
    }
}

ModelRepository

with modelRepository you can access to the typeorm repositories and db connection.

connection

getter return typeorm connection

getModel

getModel(model: typeof Schema): Model

return mongoose model by schema type

@define()
@singleton()
export class SomeManager {

    @inject() modelRepository:ModelRepository;

    async getUser(id:string): Promise<User> {
        let user = await this.modelRepository.getModel(User).findOne(id)

        return user;
    }
}
8.1.0

2 years ago

8.0.1

3 years ago

8.0.0

4 years ago

7.0.1

4 years ago

7.0.0

4 years ago

0.0.12

5 years ago