import stampit from 'stampit'; import {Meta, Model} from './base'; import {BaseQuerySet, List, Get, Delete, Create, ListAll} from '../querySet'; const PartialBackupQuerySet = stampit().compose( BaseQuerySet, List, Get, Delete, Create, ListAll ); const PartialBackupMeta = Meta({ name: 'partialBackup', pluralName: 'partialBackups', endpoints: { 'detail': { 'methods': ['delete', 'get'], 'path': '/v1.1/instances/{instanceName}/backups/partial/{id}/' }, 'list': { 'methods': ['get', 'post'], 'path': '/v1.1/instances/{instanceName}/backups/partial/' }, 'all': { 'methods': ['get'], 'path': '/v1.1/backups/partial/' } } }); const PartialBackupConstraints = { instanceName: { presence: true, length: { minimum: 5 } }, description: { string: true }, label: { string: true }, query_args: { presence: true, object: true } }; /** * OO wrapper around instance backups {@link # endpoint}. * @constructor * @type {Backup} * @property {Number} id * @property {String} instance * @property {String} created_at * @property {String} updated_at * @property {String} archive - link with zipped backup file * @property {Number} size * @property {String} status * @property {String} status_info * @property {String} description * @property {String} label * @property {Object} [links = {}] */ const PartialBackup = stampit() .compose(Model) .setQuerySet(PartialBackupQuerySet) .setMeta(PartialBackupMeta) .setConstraints(PartialBackupConstraints); export default PartialBackup;