stack

Home > @infiniteobjects/models > Repository

Repository class

Base Repository

Signature:

export declare class Repository<EntityType extends BaseFirebaseEntity, CurrentSchema = Schema<EntityType>, AnySchema = CurrentSchema> 

Constructors

Constructor Modifiers Description
(constructor)(entity, migration)   Constructs a new instance of the Repository class

Properties

Property Modifiers Type Description
collectionId readonly string The collection ID in Firebase
createOrUpdate   (entry: EntityType, findFn?: (entry: EntityType) => Promise<EntityType | null>) => Promise<EntityType> Creates or updates a DB Entry
debug readonly DebugInstance A debugger function under the name io:model:name:db
delete   (doc: EntityType) => Promise<EntityType> Deletes an entity from the database
Entity readonly ClassConstructor<EntityType> The Entity this Repository manages
entityName readonly string The name of the entity (kebabCase of Class name)
GoogleCloud <p>protected</p><p>readonly</p> GoogleCloud A reference to the Google Cloud service connection
initializeEntity   (entity: EntityType) => Promise<EntityType> Prepares the entity after is being pulled from firebase. - runs initialize hooks - runs populate hooks
insert   (doc: EntityType) => Promise<EntityType> Inserts a new entity in the database
log readonly LoggerInstance A logger instance under the name io:model:name:db
Migration readonly Migration<EntityType, CurrentSchema, AnySchema> Migrations
projectId readonly string The current google Project id
protectedKeys protected KeysArray<EntityType> Keys that will never be updated
update   (doc: EntityType, merge?: boolean) => Promise<EntityType> Updates an entity in the database
upsert   (doc: EntityType, merge?: boolean) => Promise<EntityType> (BETA) Upsert an entity in the database

Methods

Method Modifiers Description
count()   Returns the number of documents in the collection
create(data, admin)   Creates and Saves an Entity
diffInstances(instanceA, instanceB)   Returns the difference between two instances
exists(id, reject, code)   Check if the document exist
findById(id)   Finds a document by ID
findById(id, reject)    
findById(id, reject, code)    
getAll(limit, offset)   Finds all documents in the collection
getCollectionRef()   A reference to collection with the converter already applied
getDefaultData()   Gets the default data of the collection
getDocumentRef(id)   A reference to a document in a collection
instanceFromModel(data)   Creates and instance of from the given plain object (partial Model)
instanceFromModel(data, admin)    
instanceFromModel(data, admin, useDefaultData)    
instanceFromModel(data, admin, useDefaultData)    
instanceFromSchema(data)   Creates and instance of from the given plain object (partial schema)
instanceFromSchema(data, useDefaultData)    
instanceFromSchema(data, useDefaultData)    
isInstance(obj)   Returns true if the given object is an instance of the Entity
setDefaultData(data)   Sets the default data of the collection
updateInstance(data, instance, admin)   Updates an entity with new data