Overview
The JSMA categories provides functionality for finding, creating and deleting categories.
What can JSMA categories do for me?
The JSMA categories provides access to all the categories (JSMA category) in the database.
Index
Usage
writing data
Here is an example on how to write data to a JSMA categories:
... var newCategory = categories.create({ name: 'Anhänger', flexAttributes: { description: 'Ein Anhänger' } }) // => category ...
reading data
Here is an example on how to read data from a JSMA categories:
function doGetCategoryEntries () { var result = { status : "OK", results : [] }; var filter = "*" + request.parameter("filter") + "*"; var filteredCategories = categories.find(filter); var imageId; filteredCategories.forEach( function (category) { if (category.image) { imageId = category.image.uuid; } else { imageId = undefined; } result.results.push({ display : category.title, imageId : imageId, value : category.name }); }); return result; };
Methods
The JSMA categories provides the following methods:
category categories.create(attributes)
Creates a new category in the database and returns it as a JSMA category.
Example
... var newCategory = categories.create({ name: 'Anhänger', flexAttributes: { description: 'Ein Anhänger' } }) // => category ...
Parameter attributes:object (required)
An object that may have the following optional keys:
- namespace (the title of a namespace to which this category will be linked)
- name
- description
- shortDescription
- flexAttributes
categories.delete(category)
Deletes a category from the database.
Example
... categories.delete(category) ...
Parameter category:category (required)
category[] categories.find(query, [options])
Searches and returns a list of JSMA category from the Sphinx index.
Example
... var filter = "*" + request.parameter("filter") + "*"; var filteredCategories = categories.find(filter, { limit: 5 }); // => [category0, category1, ...] ...
Parameter query:string (required)
The search term. May use Extended Sphinx Syntax (http://sphinxsearch.com/docs/archives/1.10/extended-syntax.html)
Parameter options:object (optional)
An object that may have the following optional keys:
- limit:int (optional, default: 8)
category categories.findByName(name)
Retrieves a single JSMA category by name.
Example
... function Category ( categoryName ) { this.categoryJsma = categories.findByName(categoryName); if (!this.categoryJsma) { throw Error("Category " + categoryName + " could not get resolved"); ... } ...
Parameter name:string (required)
The name of a JSMA category in the database.
category categories.findByUuid(uuid)
Retrieves a single JSMA category by uuid
Example
... var categorySearched = categories.findByUuid('246E353D-D6C6-46CB-968E-164DF5CB679C'); // => category ...
Parameter uuid (required)
The uuid of a JSMA category.