0.5.3 • Published 6 years ago

egg-orm-mysql v0.5.3

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

egg-orm-ts

dep: egg-typed-di

Install

npm i egg-orm-ts --save

Example

a simple example

service:

@context()
export class ActivityService {
  @lazyInject()
  private acitvityDomain: ActivityDomain;

  async getById(id: number) {
    return await this.acitvityDomain.getById(id);
  }
}

domain:

@context()
export class ActivityDomain extends BaseDomain {
  @lazyInject()
  repository: ActivityRepository;

  async getById(id: number) {
    return await this.repository.getById(id);
  }
}

repository:

@repository(ActivityModel)
export class ActivityRepository extends BaseRepository<ActivityModel> {
}

@repository(UserModel)
export class UserRepository extends BaseRepository<UserModel> {

  @bindSql()
  async getByUsername(username: string) {
  }

  async add(model: UserModel) { }

  async updateByUsername(username: string, model: UserModel) { }

  async deleteByUsername(username: string) { }
}

domain:

export class ActivityModel extends BaseModel {
  id: number;

  @manyToOne('owner', UserModel, 'getByUsername')
  user: Promise<UserModel>;

  @manyToOne('teamId', TeamModel)
  team: Promise<TeamModel>;
}

export class UserModel extends BaseModel {
  @column()
  id: number;

  @column()
  username: string;
}
0.5.3

6 years ago

0.5.2

6 years ago

0.5.1

6 years ago

0.5.0

6 years ago

0.4.0

6 years ago

0.3.2

6 years ago

0.3.1

6 years ago

0.3.0

6 years ago

0.2.7

6 years ago

0.2.6

6 years ago

0.2.5

6 years ago

0.2.4

6 years ago

0.2.3

6 years ago

0.2.2

6 years ago

0.2.1

6 years ago