UNPKG

evrythng

Version:

Official Javascript SDK for the EVRYTHNG API.

45 lines (41 loc) 1.13 kB
import Entity from './Entity' import ReactorScript from './ReactorScript' import ReactorSchedule from './ReactorSchedule' import ReactorLog from './ReactorLog' import Redirector from './Redirector' import Resource from '../resource/Resource' import SecretKey from './SecretKey' import Scope from '../scope/Scope' import { mixinResources } from '../util/mixin' const path = '/applications' const ApplicationResources = mixinResources([ ReactorScript, ReactorSchedule, ReactorLog, Redirector, SecretKey ]) /** * Represents an Application entity. * * @extends Entity */ export default class Application extends ApplicationResources(Entity) { /** * Return simple resource factory for Applications. * * @static * @return {{application: Function}} */ static resourceFactory () { return { application (id) { // Only allowed on Entities and Resources. if (this instanceof Scope) { throw new Error('Application is not a top-level resource.') } return Resource.factoryFor(Application, path, ApplicationResources).call(this, id) } } } }