diff --git a/core/server/models/index.js b/core/server/models/index.js index 0b66e5ff62..ed527bdd4a 100644 --- a/core/server/models/index.js +++ b/core/server/models/index.js @@ -29,6 +29,7 @@ const models = [ 'mobiledoc-revision', 'member', 'member-subscribe-event', + 'member-login-event', 'member-payment-event', 'member-status-event', 'posts-meta', diff --git a/core/server/models/member-login-event.js b/core/server/models/member-login-event.js new file mode 100644 index 0000000000..222401b62a --- /dev/null +++ b/core/server/models/member-login-event.js @@ -0,0 +1,24 @@ +const errors = require('@tryghost/errors'); +const ghostBookshelf = require('./base'); + +const MemberLoginEvent = ghostBookshelf.Model.extend({ + tableName: 'members_login_events' +}, { + async edit() { + throw new errors.IncorrectUsageError('Cannot edit MemberLoginEvent'); + }, + + async destroy() { + throw new errors.IncorrectUsageError('Cannot destroy MemberLoginEvent'); + } +}); + +const MemberLoginEvents = ghostBookshelf.Collection.extend({ + model: MemberLoginEvent +}); + +module.exports = { + MemberLoginEvent: ghostBookshelf.model('MemberLoginEvent', MemberLoginEvent), + MemberLoginEvents: ghostBookshelf.collection('MemberLoginEvents', MemberLoginEvents) +}; + diff --git a/core/server/services/members/api.js b/core/server/services/members/api.js index 4bec7e8d3b..098cd17f3d 100644 --- a/core/server/services/members/api.js +++ b/core/server/services/members/api.js @@ -170,6 +170,7 @@ function createApiInstance(config) { StripeCustomerSubscription: models.StripeCustomerSubscription, Member: models.Member, MemberSubscribeEvent: models.MemberSubscribeEvent, + MemberLoginEvent: models.MemberLoginEvent, MemberPaymentEvent: models.MemberPaymentEvent, MemberStatusEvent: models.MemberStatusEvent },