1.0.0 • Published 4 months ago

mikro-orm-plus v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
4 months ago

mikro-orm-plus

Some useful features for MikroORM

Installation

$ npm install mikro-orm-plus
$ yarn add mikro-orm-plus
$ pnpm install mikro-orm-plus

@CreateDateProperty

Special property that is automatically set to the entity's insertion time. You don't need to write a value into this property - it will be automatically set.

import { Entity, PrimaryKey, Property } from '@mikro-orm/core';
import { CreateDateProperty } from 'mikro-orm-plus';

@Entity()
export class User {

  @PrimaryKey()
  id!: number;

  @Property()
  name!: string;

  @CreateDateProperty()
  createdAt: Date;

}

@UpdateDateProperty

Special property that is automatically set to the entity's update time. You don't need to write a value into this property - it will be automatically set.

import { Entity, PrimaryKey, Property } from '@mikro-orm/core';
import { UpdateDateProperty } from 'mikro-orm-plus';

@Entity()
export class User {

  @PrimaryKey()
  id: number;

  @Property()
  name: string;

  @UpdateDateProperty()
  updatedAt: Date;

}

@DeleteDateProperty

Special property that is automatically set to the entity's delete time. You don't need to write a value into this property - it will be automatically set.

This feature is base on mikro-orm-soft-delete, modified as a property decorator implementation.

Soft deletable entity define:

import { Entity, PrimaryKey, Property } from '@mikro-orm/core';
import { DeleteDateProperty } from 'mikro-orm-plus';

@Entity()
export class User {

  @PrimaryKey()
  id: number;

  @Property()
  name: string;

  @DeleteDateProperty()
  deletedAt: Date;

}

how to softly delete?

Consistent with mikroOrm's api, just use em.remove() or em.removeAndFlush() to delete entity.

await em.removeAndFlush(user);

How to find soft deleted entity?

You need disabled soft delete filter, and then you can find soft deleted entity.

em.find(User, {...}, { filters: { [SOFT_DELETABLE_FILTER]: false } });
em.find(User, {...}, { filters: false }); // if you are sure that there are no other filters enabled

How to hard delete entity?

You can use em.nativeDelete() to hard delete entity.

License

MIT licensed.

1.0.0

4 months ago

0.1.1

1 year ago

0.1.0

1 year ago