new QuerySet()
Base class responsible for all ORM (please) actions.
- Source:
Properties:
| Name | Type | Argument | Default | Description |
|---|---|---|---|---|
model |
Object | |||
endpoint |
String |
<optional> |
'list' | |
method |
String |
<optional> |
'GET' | |
headers |
Object |
<optional> |
{} | |
properties |
Object |
<optional> |
{} | |
query |
Object |
<optional> |
{} | |
payload |
Object |
<optional> |
{} | |
attachments |
Object |
<optional> |
{} | |
_serialize |
Boolean |
<optional> |
true |
Classes
Members
-
<constant> All
-
Allows fetching of all objects of a type (DataObjects, Classes etc.) recursively.
- Source:
Examples
var all = DataObject.please().all({ instanceName: 'test-instace', className: 'test-class' }); all.on('start', function() { console.log('all::start'); }); all.on('stop', function() { console.log('all::stop'); }); all.on('page', function(page) { console.log('all::page', page); }); all.on('error', function(error) { console.log('all::error', error); });
Methods
-
add(properties, field)
-
Adds an array to an array field.
Parameters:
Name Type Description propertiesObject lookup properties used for path resolving
fieldObject to add to.
- Source:
Returns:
- Type
- QuerySet
Example
DataObject.please().add({instanceName: 'my-instance', className: 'my-class', id: 1}, {array_field: [1,2]}) -
add(field, array)
-
Adds an array to an array field.
Parameters:
Name Type Description fieldString name.
arrayArray to add to the field.
- Source:
Returns:
- Type
- QuerySet
Example
Object.add('authors', [1,2,3]); -
addUnique(field, array)
-
Adds an array to an array field without duplicate values.
Parameters:
Name Type Description fieldString name.
arrayArray to add to the field.
- Source:
Returns:
- Type
- QuerySet
Example
Object.add('authors', [1,2,3]); -
addUnique(properties, field)
-
Adds an array to an array field without duplicate values.
Parameters:
Name Type Description propertiesObject lookup properties used for path resolving
fieldObject to add to.
- Source:
Returns:
- Type
- QuerySet
Example
DataObject.please().add({instanceName: 'my-instance', className: 'my-class', id: 1}, {array_field: [1,2]}) -
bulkCreate(objects)
-
Creates many objects based on provied Array of objects.
Parameters:
Name Type Description objectsArray - Source:
Returns:
- Type
- Promise
Example
const objects = [Instance({name: 'test1'}), Instance({name: 'tes21'})]; Instance.please().bulkCreate(objects).then(function(instances) { console.log('instances', instances); }); -
cacheKey(cache_key)
-
Sets the provided cache key in the request query.
Parameters:
Name Type Description cache_keyString the cache key for the result
- Source:
Returns:
- Type
- QuerySet
Example
DataEndpoint.please().DataEndpoint.please().fetchData({name: 'dataViewName', instanceName: 'test-one'}).cacheKey('123').then(function(data) {}); -
contains(field, array)
-
Filters DataObjects using _contains.
Parameters:
Name Type Description fieldString name
arrayArray of ids
- Source:
Returns:
- Type
- QuerySet
Example
DataObject.please().list({instanceName: 'my-instance', className: 'books'}).contains('authors', [1, 2, 3]) -
count()
-
Returns DataObject count.
- Source:
Returns:
- Type
- QuerySet
Example
DataObject.please().list({ instanceName: 'test-instace', className: 'test-class' }).count().then(function(response) {}); -
create(object)
-
A convenience method for creating an object and saving it all in one step.
Parameters:
Name Type Description objectObject - Source:
Returns:
- Type
- Promise
Example
// Thus: Instance .please() .create({name: 'test-one', description: 'description'}) .then(function(instance) {}); // and: var instance = Instance({name: 'test-one', description: 'description'}); instance.save().then(function(instance) {}); // are equivalent. -
currentMonth()
-
Sets the range of Usage query to current month.
- Source:
Returns:
- Type
- QuerySet
Example
DailyUsage.please().list().currentMonth().then(function(usage) {}); -
delete(properties)
-
Removes single object based on provided properties.
Parameters:
Name Type Description propertiesObject lookup properties used for path resolving
- Source:
Returns:
- Type
- QuerySet
Example
Instance.please().delete({name: 'test-instance'}).then(function() {}); Class.please().delete({name: 'test', instanceName: 'test-one'}).then(function() {}); -
endDate(date)
-
Sets end date for Usage.
Parameters:
Name Type Description dateDate - Source:
Returns:
- Type
- QuerySet
Example
DailyUsage.please().list().endDate(new Date()).then(function(usage) {}); -
excludedFields(fields)
-
Removes specified fields from object response.
Parameters:
Name Type Description fieldsObject - Source:
Returns:
- Type
- QuerySet
Example
DataObject.please().list({ instanceName: 'test-instace', className: 'test-class' }).excludedFields(['title', 'author']).then(function(dataobjects) {}); -
fields(fields)
-
Selects specified fields from object.
Parameters:
Name Type Description fieldsObject - Source:
Returns:
- Type
- QuerySet
Example
DataObject.please().list({ instanceName: 'test-instace', className: 'test-class' }).fields(['title', 'author']).then(function(dataobjects) {}); -
filter(filters)
-
Allows to filter the request.
Parameters:
Name Type Description filtersObject object containing the filters.
- Source:
Returns:
- Type
- QuerySet
Example
DataObject.please().list({instanceName: 'INSTANCE_NAME', className: 'CLASS_NAME'}).filter({ title: { _eq: "Star Wars"} }).then(function(dataobjects) {}); -
first( [properties] [, query])
-
Returns the first object matched by the lookup properties or undefined, if there is no matching object.
Parameters:
Name Type Argument Default Description propertiesObject <optional>
{} queryObject <optional>
{} - Source:
Returns:
- Type
- Promise
Example
Instance.please().first().then(function(instance) {}); Class.please().first({instanceName: 'test-one'}).then(function(cls) {}); -
get(properties)
-
Returns the object matching the given lookup properties.
Parameters:
Name Type Description propertiesObject lookup properties used for path resolving
- Source:
Returns:
- Type
- QuerySet
Example
Instance.please().get({name: 'test-one'}).then(function(instance) {}); -
getOrCreate(properties, defaults)
-
A convenience method for looking up an object with the given lookup properties, creating one if necessary.
Successful callback will receive object, created arguments.Parameters:
Name Type Description propertiesObject attributes which will be used for object retrieving
defaultsObject attributes which will be used for object creation
- Source:
Returns:
- Type
- Promise
Example
Instance .please() .getOrCreate({name: 'test-one'}, {description: 'test'}) .then(function(instance, created) {}); // above is equivalent to: Instance .please() .get({name: 'test-one'}) .then(function(instance) { // Get }) .catch(function() { // Create return Instance.please().create({name: 'test-one', description: 'test'}); }); -
getRelatedObjects(field)
-
Gets related objects via relation field name.
Parameters:
Name Type Description fieldString name.
- Source:
Returns:
- Type
- QuerySet
Example
Object.getRelatedObjects('authors'); -
increment(field, value)
-
Increments single object field based on provided arguments.
Parameters:
Name Type Description fieldString name.
valueNumber to increment the field by,
- Source:
Returns:
- Type
- QuerySet
Example
Object.increment('views', 1); -
increment(properties, field)
-
Increments single object based on provided arguments
Parameters:
Name Type Description propertiesObject lookup properties used for path resolving
fieldObject to increment.
- Source:
Returns:
- Type
- QuerySet
Example
DataObject.please().increment({instanceName: 'my-instance', className: 'my-class', id: 1}, {views: 1}) -
is(field, filters)
-
Filters DataObjects using _is.
Parameters:
Name Type Description fieldString name
filtersObject - Source:
Returns:
- Type
- QuerySet
Example
DataObject.please().list({instanceName: 'my-instance', className: 'books'}).is('authors', { name: { _eq: 'Stephen King'}}) -
list( [properties] [, query])
-
Returns list of objects that match the given lookup properties.
Parameters:
Name Type Argument Default Description propertiesObject <optional>
{} lookup properties used for path resolving
queryObject <optional>
{} - Source:
Returns:
- Type
- QuerySet
Example
Instance.please().list().then(function(instances) {}); Class.please().list({instanceName: 'test-one'}).then(function(classes) {}); -
near(coordinates)
-
Filters dataobjects by a geopoint field.
Parameters:
Name Type Description coordinatesObject - Source:
Returns:
- Type
- QuerySet
Examples
DataObject.please().list({ instanceName: 'test-instace', className: 'test-class' }).near({ geopoint_field_name: { latitude: POINT_LATITUDE, longitude: POINT_LONGITUDE }}).then(function(dataobjects) {});DataObject.please().list({ instanceName: 'test-instace', className: 'test-class' }).near({ geopoint_field_name: { latitude: POINT_LATITUDE, longitude: POINT_LONGITUDE, distance_in_kilometers: DISTANCE_IN_KILOMETERS }}).then(function(dataobjects) {});DataObject.please().list({ instanceName: 'test-instace', className: 'test-class' }).near({ geopoint_field_name: { latitude: POINT_LATITUDE, longitude: POINT_LONGITUDE, distance_in_miles: DISTANCE_IN_MILES }}).then(function(dataobjects) {}); -
orderBy(field)
-
Orders DataObject by field.
Parameters:
Name Type Description fieldString - Source:
Returns:
- Type
- QuerySet
Example
DataObject.please().list({ instanceName: 'test-instace', className: 'test-class' }).orderBy('author').then(function(dataobjects) {}); DataObject.please().list({ instanceName: 'test-instace', className: 'test-class' }).orderBy('-author').then(function(dataobjects) {}); -
ordering( [value])
-
Sets order of returned objects.
Parameters:
Name Type Argument Default Description valueString <optional>
'asc' allowed choices are "asc" and "desc"
- Source:
Returns:
- Type
- QuerySet
Example
Instance.please().ordering('desc').then(function(instances) {}); Class.please({instanceName: 'test-one'}).ordering('desc').then(function(classes) {}); -
pageSize(value)
-
Sets page size.
Parameters:
Name Type Description valueNumber - Source:
Returns:
- Type
- QuerySet
Example
Instance.please().pageSize(2).then(function(instances) {}); Class.please({instanceName: 'test-one'}).pageSize(2).then(function(classes) {}); -
poll(options [, start])
-
Allows polling of a channel.
Parameters:
Name Type Argument Default Description optionsObject startBoolean <optional>
true - Source:
Returns:
- Type
- ChannelPoll
Example
var poll = Channel.please().poll({ instanceName: 'test-instace', name: 'test-class' }); poll.on('start', function() { console.log('poll::start'); }); poll.on('stop', function() { console.log('poll::stop'); }); poll.on('message', function(message) { console.log('poll::message', message); }); poll.on('custom', function(message) { console.log('poll::custom', message); }); poll.on('create', function(data) { console.log('poll::create', data); }); poll.on('delete', function(data) { console.log('poll::delete', data); }); poll.on('update', function(data) { console.log('poll::update', data); }); poll.on('error', function(error) { console.log('poll::error', error); }); poll.start(); -
publish(channel, message [, room])
-
Publishes to a channel.
Parameters:
Name Type Argument Default Description channelObject messageObject roomString <optional>
null - Source:
Returns:
- Type
- QuerySet
Example
Channel.please().publish({ instanceName: 'test-instace', name: 'test-class' }, { content: 'my message'}); -
raw()
-
Disables serialization. Callback will will recive raw JavaScript objects.
- Source:
Returns:
- Type
- QuerySet
Example
Instance.please().raw().then(function(response) {}); Class.please({instanceName: 'test-one'}).raw().then(function(response) {}); -
remove(properties, field)
-
Subtracts an array from an array field.
Parameters:
Name Type Description propertiesObject lookup properties used for path resolving
fieldObject to subtract from.
- Source:
Returns:
- Type
- QuerySet
Example
DataObject.please().remove({instanceName: 'my-instance', className: 'my-class', id: 1}, {array_field: [1,2]}) -
remove(field, array)
-
Subtracts an array from an array field.
Parameters:
Name Type Description fieldString name.
arrayArray to subtract from the field.
- Source:
Returns:
- Type
- QuerySet
Example
Object.remove('authors', [1]); -
rename(properties, payload)
-
A convenience method for renaming an object that support the action.
Parameters:
Name Type Description propertiesObject lookup properties used for path resolving
payloadObject object containing the payload to be sent
- Source:
Returns:
- Type
- QuerySet
Example
Model.please().fetchData({name: 'model_name', instanceName: 'test-one'}, { new_name: 'new_name'}).then(function(model) {}); -
request( [requestPath] [, requestOptions])
-
Executes current state of QuerySet
Parameters:
Name Type Argument Default Description requestPathString <optional>
null requestOptionsObject <optional>
{} - Source:
Returns:
- Type
- Promise
Example
Instance.please().list().request().then(function(instance) {}); -
startDate(date)
-
Sets start date for Usage.
Parameters:
Name Type Description dateDate - Source:
Returns:
- Type
- QuerySet
Example
DailyUsage.please().list().startDate(new Date()).then(function(usage) {}); -
templateResponse(name)
-
Renders the api response as a template.
Parameters:
Name Type Description nametemplate_name of template to be rendered
- Source:
Returns:
- Type
- QuerySet
Example
DataObject .please() .list({instanceName: 'my-instance', className: 'my-class'}) .templateResponse('objects_html_table') .then(function(objects) {}); -
then(callback)
-
Wrapper around Queryset.request method
Parameters:
Name Type Description callbackfunction - Source:
Returns:
- Type
- Promise
-
total()
-
Sets grouping for Usage.
- Source:
Returns:
- Type
- QuerySet
Example
DailyUsage.please().list().total().then(function(usage) {}); -
update(properties, object)
-
Updates single object based on provided arguments
Parameters:
Name Type Description propertiesObject lookup properties used for path resolving
objectObject attributes to update
- Source:
Returns:
- Type
- QuerySet
Example
Instance .please() .update({name: 'test-instance'}, {description: 'new one'}) .then(function(instance) {}); Class .please() .update({name: 'test', instanceName: 'test-one'}, {description: 'new one'}) .then(function(cls) {}); -
updateOrCreate(properties [, object] [, defaults])
-
A convenience method for updating an object with the given properties, creating a new one if necessary.
Successful callback will receive object, updated arguments.Parameters:
Name Type Argument Default Description propertiesObject lookup properties used for path resolving
objectObject <optional>
{} object with (field, value) pairs used in case of update
defaultsObject <optional>
{} object with (field, value) pairs used in case of create
- Source:
Returns:
- Type
- Promise
Example
Instance .please() .updateOrCreate({name: 'test-one'}, {description: 'new-test'}, {description: 'create-test'}) .then(function(instance, updated) {}); // above is equivalent to: Instance .please() .update({name: 'test-one'}, {description: 'new-test'}) .then(function(instance) { // Update }) .catch(function() { // Create return Instance.please().create({name: 'test-one', description: 'create-test'}); });