UNPKG

clayful

Version:

JavaScript & Node.js SDK for Clayful API

419 lines (334 loc) 11.8 kB
const assign = require('../util/assign'); module.exports = request => { const Subscription = { name: 'Subscription', path: 'subscriptions', authenticate: function() { return request(assign(Subscription._authenticate(), { args: Array.prototype.slice.call(arguments) })); }, cancel: function() { return request(assign(Subscription._cancel(), { args: Array.prototype.slice.call(arguments) })); }, cancelForMe: function() { return request(assign(Subscription._cancelForMe(), { args: Array.prototype.slice.call(arguments) })); }, count: function() { return request(assign(Subscription._count(), { args: Array.prototype.slice.call(arguments) })); }, countForMe: function() { return request(assign(Subscription._countForMe(), { args: Array.prototype.slice.call(arguments) })); }, delete: function() { return request(assign(Subscription._delete(), { args: Array.prototype.slice.call(arguments) })); }, deleteInventoryOperation: function() { return request(assign(Subscription._deleteInventoryOperation(), { args: Array.prototype.slice.call(arguments) })); }, deleteMetafield: function() { return request(assign(Subscription._deleteMetafield(), { args: Array.prototype.slice.call(arguments) })); }, fulfillSchedule: function() { return request(assign(Subscription._fulfillSchedule(), { args: Array.prototype.slice.call(arguments) })); }, get: function() { return request(assign(Subscription._get(), { args: Array.prototype.slice.call(arguments) })); }, getForMe: function() { return request(assign(Subscription._getForMe(), { args: Array.prototype.slice.call(arguments) })); }, increaseMetafield: function() { return request(assign(Subscription._increaseMetafield(), { args: Array.prototype.slice.call(arguments) })); }, list: function() { return request(assign(Subscription._list(), { args: Array.prototype.slice.call(arguments) })); }, listForMe: function() { return request(assign(Subscription._listForMe(), { args: Array.prototype.slice.call(arguments) })); }, listInventoryOperations: function() { return request(assign(Subscription._listInventoryOperations(), { args: Array.prototype.slice.call(arguments) })); }, markAsDone: function() { return request(assign(Subscription._markAsDone(), { args: Array.prototype.slice.call(arguments) })); }, markAsUndone: function() { return request(assign(Subscription._markAsUndone(), { args: Array.prototype.slice.call(arguments) })); }, pullFromMetafield: function() { return request(assign(Subscription._pullFromMetafield(), { args: Array.prototype.slice.call(arguments) })); }, pushToMetafield: function() { return request(assign(Subscription._pushToMetafield(), { args: Array.prototype.slice.call(arguments) })); }, schedule: function() { return request(assign(Subscription._schedule(), { args: Array.prototype.slice.call(arguments) })); }, scheduleForMe: function() { return request(assign(Subscription._scheduleForMe(), { args: Array.prototype.slice.call(arguments) })); }, syncInventory: function() { return request(assign(Subscription._syncInventory(), { args: Array.prototype.slice.call(arguments) })); }, update: function() { return request(assign(Subscription._update(), { args: Array.prototype.slice.call(arguments) })); }, updateCancellation: function() { return request(assign(Subscription._updateCancellation(), { args: Array.prototype.slice.call(arguments) })); }, updateCancellationForMe: function() { return request(assign(Subscription._updateCancellationForMe(), { args: Array.prototype.slice.call(arguments) })); }, updateForMe: function() { return request(assign(Subscription._updateForMe(), { args: Array.prototype.slice.call(arguments) })); }, updateItem: function() { return request(assign(Subscription._updateItem(), { args: Array.prototype.slice.call(arguments) })); }, }; Subscription._authenticate = function() { return { modelName: Subscription.name, methodName: 'authenticate', httpMethod: 'POST', path: '/v1/subscriptions/{subscriptionId}/auth', params: ['subscriptionId', ], }; }; Subscription._cancel = function() { return { modelName: Subscription.name, methodName: 'cancel', httpMethod: 'POST', path: '/v1/subscriptions/{subscriptionId}/cancellation', params: ['subscriptionId', ], }; }; Subscription._cancelForMe = function() { return { modelName: Subscription.name, methodName: 'cancelForMe', httpMethod: 'POST', path: '/v1/me/subscriptions/{subscriptionId}/cancellation', params: ['subscriptionId', ], }; }; Subscription._count = function() { return { modelName: Subscription.name, methodName: 'count', httpMethod: 'GET', path: '/v1/subscriptions/count', params: [], }; }; Subscription._countForMe = function() { return { modelName: Subscription.name, methodName: 'countForMe', httpMethod: 'GET', path: '/v1/me/subscriptions/count', params: [], }; }; Subscription._delete = function() { return { modelName: Subscription.name, methodName: 'delete', httpMethod: 'DELETE', path: '/v1/subscriptions/{subscriptionId}', params: ['subscriptionId', ], }; }; Subscription._deleteInventoryOperation = function() { return { modelName: Subscription.name, methodName: 'deleteInventoryOperation', httpMethod: 'DELETE', path: '/v1/subscriptions/{subscriptionId}/inventory/operations/{operationId}', params: ['subscriptionId', 'operationId', ], }; }; Subscription._deleteMetafield = function() { return { modelName: Subscription.name, methodName: 'deleteMetafield', httpMethod: 'DELETE', path: '/v1/subscriptions/{subscriptionId}/meta/{field}', params: ['subscriptionId', 'field', ], }; }; Subscription._fulfillSchedule = function() { return { modelName: Subscription.name, methodName: 'fulfillSchedule', httpMethod: 'POST', path: '/v1/subscriptions/{subscriptionId}/schedules/orders', params: ['subscriptionId', ], }; }; Subscription._get = function() { return { modelName: Subscription.name, methodName: 'get', httpMethod: 'GET', path: '/v1/subscriptions/{subscriptionId}', params: ['subscriptionId', ], }; }; Subscription._getForMe = function() { return { modelName: Subscription.name, methodName: 'getForMe', httpMethod: 'GET', path: '/v1/me/subscriptions/{subscriptionId}', params: ['subscriptionId', ], }; }; Subscription._increaseMetafield = function() { return { modelName: Subscription.name, methodName: 'increaseMetafield', httpMethod: 'POST', path: '/v1/subscriptions/{subscriptionId}/meta/{field}/inc', params: ['subscriptionId', 'field', ], }; }; Subscription._list = function() { return { modelName: Subscription.name, methodName: 'list', httpMethod: 'GET', path: '/v1/subscriptions', params: [], }; }; Subscription._listForMe = function() { return { modelName: Subscription.name, methodName: 'listForMe', httpMethod: 'GET', path: '/v1/me/subscriptions', params: [], }; }; Subscription._listInventoryOperations = function() { return { modelName: Subscription.name, methodName: 'listInventoryOperations', httpMethod: 'GET', path: '/v1/subscriptions/{subscriptionId}/inventory/operations', params: ['subscriptionId', ], }; }; Subscription._markAsDone = function() { return { modelName: Subscription.name, methodName: 'markAsDone', httpMethod: 'POST', path: '/v1/subscriptions/{subscriptionId}/done', params: ['subscriptionId', ], withoutPayload: true, }; }; Subscription._markAsUndone = function() { return { modelName: Subscription.name, methodName: 'markAsUndone', httpMethod: 'DELETE', path: '/v1/subscriptions/{subscriptionId}/done', params: ['subscriptionId', ], }; }; Subscription._pullFromMetafield = function() { return { modelName: Subscription.name, methodName: 'pullFromMetafield', httpMethod: 'POST', path: '/v1/subscriptions/{subscriptionId}/meta/{field}/pull', params: ['subscriptionId', 'field', ], }; }; Subscription._pushToMetafield = function() { return { modelName: Subscription.name, methodName: 'pushToMetafield', httpMethod: 'POST', path: '/v1/subscriptions/{subscriptionId}/meta/{field}/push', params: ['subscriptionId', 'field', ], }; }; Subscription._schedule = function() { return { modelName: Subscription.name, methodName: 'schedule', httpMethod: 'POST', path: '/v1/subscriptions/{subscriptionId}/scheduled', params: ['subscriptionId', ], }; }; Subscription._scheduleForMe = function() { return { modelName: Subscription.name, methodName: 'scheduleForMe', httpMethod: 'POST', path: '/v1/me/subscriptions/{subscriptionId}/scheduled', params: ['subscriptionId', ], }; }; Subscription._syncInventory = function() { return { modelName: Subscription.name, methodName: 'syncInventory', httpMethod: 'POST', path: '/v1/subscriptions/{subscriptionId}/synced', params: ['subscriptionId', ], withoutPayload: true, }; }; Subscription._update = function() { return { modelName: Subscription.name, methodName: 'update', httpMethod: 'PUT', path: '/v1/subscriptions/{subscriptionId}', params: ['subscriptionId', ], }; }; Subscription._updateCancellation = function() { return { modelName: Subscription.name, methodName: 'updateCancellation', httpMethod: 'PUT', path: '/v1/subscriptions/{subscriptionId}/cancellation', params: ['subscriptionId', ], }; }; Subscription._updateCancellationForMe = function() { return { modelName: Subscription.name, methodName: 'updateCancellationForMe', httpMethod: 'PUT', path: '/v1/me/subscriptions/{subscriptionId}/cancellation', params: ['subscriptionId', ], }; }; Subscription._updateForMe = function() { return { modelName: Subscription.name, methodName: 'updateForMe', httpMethod: 'PUT', path: '/v1/me/subscriptions/{subscriptionId}', params: ['subscriptionId', ], }; }; Subscription._updateItem = function() { return { modelName: Subscription.name, methodName: 'updateItem', httpMethod: 'PUT', path: '/v1/subscriptions/{subscriptionId}/items/{itemId}', params: ['subscriptionId', 'itemId', ], }; }; return Subscription; };