Class: Entity

Entity(settings)

Construction d'une entité. Passez par la méthode Component#entity pour créer une entité.

Constructor

new Entity(settings)

Parameters:
Name Type Description
settings Object
Source:

Methods

attributeHasChanged(attribute) → {boolean}

Retourne true si l'attribut suivi a changé

Parameters:
Name Type Description
attribute string
Source:
Throws:

si y'a pas eu de EntityDefinitiontrackAttribute(attribute) sur cette Entity

Returns:

true si l'attribut a changé (toujours le cas sur une création)

Type
boolean

attributeWas(attribute) → {*}

Retourne la valeur de l'attribut au dernier chargement depuis la base

Parameters:
Name Type Description
attribute string
Source:
Throws:

si y'a pas eu de EntityDefinition.trackAttribute(attribute) sur cette Entity pour cet attribut

Returns:

null si l'entity ne sort pas de la db

Type
*

changedAttributes() → {Array.<string>}

Retourne la liste des attributs suivis qui ont changés depuis la sortie de la bdd

Source:
Returns:
Type
Array.<string>

db() → {Db}

Retourne l'objet db de mongo. À réserver à des cas très particuliers,
à priori il faut utiliser les méthodes de EntityQuery pour toutes vos requêtes

Source:
Returns:
Type
Db

delete(callback)

Efface cette instance d'entité en base (et ses index) puis appelle callback
avec une éventuelle erreur

Parameters:
Name Type Description
callback simpleCallback
Source:

isDeleted() → {boolean}

Répond true si l'instance de cette Entity est "soft deleted"

Source:
Returns:
Type
boolean

isNew() → {boolean}

Répond true si l'instance de cette Entity n'a jamais été insérée en base de donnée

Source:
Returns:

true si l'instance n'a jamais été sauvegardée

Type
boolean

isValid(cb, optionsopt)

Lance une validation de l'entity. Par défaut on parcourt toutes les validations :
validate(), validateJsonSchema() et validateOnChange()

Parameters:
Name Type Attributes Description
cb errorCallback

rappelée avec la première erreur de validation (ou rien si c'est valide)

options object <optional>
Properties
Name Type Attributes Default Description
schema boolean <optional>
true

passer false pour ne pas tester le schéma éventuel

onlyChangedAttributes boolean <optional>
false

passer true pour ne tester que les attributs modifiés

Source:

markToRestore() → {Entity}

Imposera la restauration au prochain store si c'était un objet softDeleted
(ne fait rien sinon)

Source:
Returns:
Type
Entity

reindex(callback)

Reconstruit les index (en fait un simple store avec $byPassDuplicate)

Parameters:
Name Type Description
callback Entity~entityCallback
Source:

restore(callback)

Restore un élément supprimé par Entity#softDelete.
ATTENTION, cela n'affecte que la propriété __deletedAt et n'enregistre pas
d'éventuelle modifications faites sur l'entity (dans ce cas
il faut faire un Entity#markToRestore suivi d'un Entity#store

Parameters:
Name Type Description
callback Entity~entityCallback
Source:

softDelete(callback)

Effectue une suppression "douce" de l'entité (Entity#restore pour la récupérer)

Parameters:
Name Type Description
callback Entity~entityCallback
Source:

store(optionsopt)

Stockage d'une instance d'entité

Parameters:
Name Type Attributes Description
options Object <optional>
Properties
Name Type Attributes Description
skipValidation boolean <optional>
Entity~entityCallback
Source:

values() → {Object}

Retourne une shallow copy de l'entity en filtrant certaines de ses données :

  • les attributs de 1er niveau ayant un nom commençant par "_"
  • les attributs ayant un nom commençant par $ (récursion sur les plain object seulement, pas les Date RegExp & co)
  • les attributs étant function
  • les attributs ayant des valeurs null, undefined ou NaN (en profondeur)
Source:
Returns:
Type
Object

Type Definitions

entityCallback(error, entity)

Parameters:
Name Type Description
error Error
entity Entity
Source: