JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 155
  • Score
    100M100P100Q102806F
  • License MIT

tegg orm decorator

Package Exports

  • @eggjs/orm-decorator
  • @eggjs/orm-decorator/package.json

Readme

@eggjs/orm-decorator

NPM version Known Vulnerabilities npm download Node.js Version

Install

npm i --save @eggjs/orm-decorator

Define Model

import { Model, Attribute } from '@eggjs/orm-decorator';
import leoric from 'leoric';

const { DataTypes, Bone } = leoric;

@Model()
export class App extends Bone {
  @Attribute(DataTypes.STRING)
  name: string;
  @Attribute(DataTypes.STRING)
  desc: string;
}

Use Model

import { SingletonProto, Inject } from '@eggjs/tegg';
import { App } from './model/App';

@SingletonProto()
export class AppService {
  @Inject()
  App: typeof App;

  async createApp(data: { name: string; desc: string }): Promise<App> {
    const bone = await this.App.create(data as any);
    return bone as App;
  }

  async findApp(name: string): Promise<App | null> {
    const app = await this.App.findOne({ name });
    return app as App;
  }
}