mitragyna
Version:
A library for managing ActiveResources as React components
53 lines (39 loc) • 1.43 kB
JavaScript
import ActiveResource from 'active-resource'
var resourceLibrary = ActiveResource.createResourceLibrary('http://example.com', {
immutable: true
});
/* ANSWER */
resourceLibrary.Answer = class Answer extends resourceLibrary.Base {
static className = 'Answer';
static queryName = 'answers';
};
resourceLibrary.Answer.belongsTo('question');
resourceLibrary.Answer.belongsTo('order');
/* CUSTOMER */
resourceLibrary.Customer = class Customer extends resourceLibrary.Base {
static className = 'Customer';
static queryName = 'customers';
};
resourceLibrary.Customer.hasMany('orders', { inverseOf: 'customer' });
/* ORDER */
resourceLibrary.Order = class Order extends resourceLibrary.Base {
static className = 'Order';
static queryName = 'orders';
};
resourceLibrary.Order.belongsTo('customer', { autosave: true, inverseOf: 'orders' });
resourceLibrary.Order.belongsTo('product');
resourceLibrary.Order.hasMany('answers', { autosave: true });
/* PRODUCT */
resourceLibrary.Product = class Product extends resourceLibrary.Base {
static className = 'Product';
static queryName = 'products';
};
resourceLibrary.Product.hasMany('orders');
/* QUESTION */
resourceLibrary.Question = class Question extends resourceLibrary.Base {
static className = 'Question';
static queryName = 'questions';
};
library.Question.belongsTo('product');
library.Question.hasMany('answers');
export default resourceLibrary;