-
Notifications
You must be signed in to change notification settings - Fork 0
2) Configuration
Ionut Marchis edited this page Nov 15, 2017
·
1 revision
angular-hook-orm seeks for a configuration factory called 'HookConfig' to get particular details need for the overall functionality, things like database adapters, special entities attributes, database connections, entities repository details, debugging level settings.
An example of required details is written into the Configuration Template file.
The Configuration Template file ('HookConfigTemplate.js') is where you define your configuration details, like this:
// HookConfigTemplate.js
angular.module('angular-hook-orm').factory('HookConfigTemplate', HookConfigTemplate);
function HookConfigTemplate(){
function HookConfigTemplate(){
var c = this;
// What database adapter to use. Check in the adapters folder.
c.adapter = 'PouchDBAdapter';
// Database configuration.
c.database = {
name: 'myDB',
adapter: 'websql',
auto_compaction: true,
revs_limit: 1
};
// Database debug options.
c.db_debug = false;//'pouchdb:find';
// Database connections options. Backup and sync.
c.connections = {
backupDB: {
path:'path/to/backup/db',
options: {
live: true,
retry: true
}
},
syncDB: {
path:'path/to/live/db',
options: {
live: true,
retry: true
}
},
backup_on_destroy: false
};
// Entities configuration
c.entities = {
// The primary key of your entities. '_id' is specific to PouchDB.
key: '_id',
// The name of a column that will hold the table name, the type distinction between your entities.
table: 'table_column_name',
// The name of a column that will hold the entities relations.
relations: 'relations_column_name',
// The name of a column that will hold the entities hooks (think of them as joins).
hooks: 'hooks_column_name',
// The name of a column that will be used to mark the entities as deleted.
deleted: '_deleted'
};
// Entities repositories options
c.repo = {
suffix: 'Repo'
};
}
return HookConfigTemplate;
}