Core Data
Handles registering plugin data models and establishing connections with the database. Provides a datastore-agnostic JavaScript ORM designed for ease of use and peace of mind. Exposes a unified data API that works on both server and client.
Installation
npm install nodewrite-core-data --save
This is a core package and is installed by default.
Usage
Provides access to data store models that have been registered by plugins.
Plugins
When developing a plugin that depends on this package:
server;
Learn more about how to build a plugin.
Helper Methods
server.store()
Plugin models are each assigned to their own namespace within the store. The store contains a top-level namespace for both core and plugin packages.
// Get reference to data store.const store = server; // store.Core.[Package].[Model]const User = storeCoreUsersUser; // store.Plugin.[Package].[Model]const Post = storePluginPostsPost;
Learn more about how to use JSData models.
server.paginate(data)
The paginate method will return a standardized pagination object when given the total number of items, items per page and current page.
data
- an object used for generating the pagination object.total
- total number of items in the data set.limit
- total number of items per page.page
- current page position.
const data = total: 100 limit: 15 page: 3 ;const pagination = server;
Resulting pagination object:
currentPage: 3 itemsPerPage: 15 nextPage: 4 previousPage: 2 totalItems: 100 totalPages: 7
server.registerPluginModels(path)
Registers plugin models with the data store. The models will be expected to be
found within the plugin's /model
directory. Registration of plugin models may
become automatic in the future.
path
- base directory of a plugin that has data models to be registered.
server;
Getting Help
Open an issue on this repository!