2018-12-10 16:20:54 +07:00
|
|
|
const ghostBookshelf = require('./base');
|
|
|
|
|
|
|
|
const Member = ghostBookshelf.Model.extend({
|
2019-09-19 11:50:55 +08:00
|
|
|
tableName: 'members',
|
|
|
|
|
2019-09-26 12:07:52 +07:00
|
|
|
relationships: ['stripe_customers'],
|
2019-09-19 11:50:55 +08:00
|
|
|
relationshipBelongsTo: {
|
2019-09-26 12:07:52 +07:00
|
|
|
stripe_customers: 'members_stripe_customers'
|
2019-09-19 11:50:55 +08:00
|
|
|
},
|
|
|
|
|
|
|
|
permittedAttributes(...args) {
|
|
|
|
return ghostBookshelf.Model.prototype.permittedAttributes.apply(this, args).concat(this.relationships);
|
|
|
|
},
|
|
|
|
|
2019-09-26 12:07:52 +07:00
|
|
|
stripe_customers() {
|
|
|
|
return this.hasMany('MemberStripeCustomer', 'member_id');
|
2019-09-19 11:50:55 +08:00
|
|
|
}
|
|
|
|
}, {
|
|
|
|
permittedOptions(...args) {
|
|
|
|
return ghostBookshelf.Model.permittedOptions.apply(this, args).concat(['withRelated']);
|
|
|
|
}
|
2018-12-10 16:20:54 +07:00
|
|
|
});
|
|
|
|
|
|
|
|
const Members = ghostBookshelf.Collection.extend({
|
|
|
|
model: Member
|
|
|
|
});
|
|
|
|
|
|
|
|
module.exports = {
|
|
|
|
Member: ghostBookshelf.model('Member', Member),
|
|
|
|
Members: ghostBookshelf.collection('Members', Members)
|
|
|
|
};
|