UNPKG

mitragyna

Version:

A library for managing ActiveResources as React components

53 lines (39 loc) 1.43 kB
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;