diff --git a/core/server/data/migrations/versions/2.32/01-add-members-stripe-info-table.js b/core/server/data/migrations/versions/2.32/01-add-members-stripe-customers-table.js similarity index 62% rename from core/server/data/migrations/versions/2.32/01-add-members-stripe-info-table.js rename to core/server/data/migrations/versions/2.32/01-add-members-stripe-customers-table.js index a8498a9e3a..ede5c402d1 100644 --- a/core/server/data/migrations/versions/2.32/01-add-members-stripe-info-table.js +++ b/core/server/data/migrations/versions/2.32/01-add-members-stripe-customers-table.js @@ -8,27 +8,27 @@ module.exports = { async up(options){ const conn = options.transacting || options.connection; - const hasTable = await conn.schema.hasTable('members_stripe_info'); + const hasTable = await conn.schema.hasTable('members_stripe_customers'); if (hasTable) { - common.logging.warn('Adding table: members_stripe_info'); + common.logging.warn('Adding table: members_stripe_customers'); return; } - common.logging.info('Adding table: members_stripe_info'); - return commands.createTable('members_stripe_info', conn); + common.logging.info('Adding table: members_stripe_customers'); + return commands.createTable('members_stripe_customers', conn); }, async down(options){ const conn = options.transacting || options.connection; - const hasTable = await conn.schema.hasTable('members_stripe_info'); + const hasTable = await conn.schema.hasTable('members_stripe_customers'); if (!hasTable) { - common.logging.warn('Dropping table: members_stripe_info'); + common.logging.warn('Dropping table: members_stripe_customers'); return; } - common.logging.info('Dropping table: members_stripe_info'); - return commands.deleteTable('members_stripe_info', conn); + common.logging.info('Dropping table: members_stripe_customers'); + return commands.deleteTable('members_stripe_customers', conn); } }; diff --git a/core/server/data/schema/schema.js b/core/server/data/schema/schema.js index c0a2ffc5b8..99a81c224e 100644 --- a/core/server/data/schema/schema.js +++ b/core/server/data/schema/schema.js @@ -391,7 +391,7 @@ module.exports = { updated_at: {type: 'dateTime', nullable: true}, updated_by: {type: 'string', maxlength: 24, nullable: true} }, - members_stripe_info: { + members_stripe_customers: { id: {type: 'string', maxlength: 24, nullable: false, primary: true}, member_id: {type: 'string', maxlength: 24, nullable: false, unique: false}, customer_id: {type: 'string', maxlength: 255, nullable: false, unique: true}, diff --git a/core/server/models/index.js b/core/server/models/index.js index 4a96ba07ef..6a7e32454b 100644 --- a/core/server/models/index.js +++ b/core/server/models/index.js @@ -38,7 +38,7 @@ models = [ 'api-key', 'mobiledoc-revision', 'member', - 'member-stripe-info', + 'member-stripe-customer', 'action' ]; diff --git a/core/server/models/member-stripe-customer.js b/core/server/models/member-stripe-customer.js new file mode 100644 index 0000000000..d5580fcb11 --- /dev/null +++ b/core/server/models/member-stripe-customer.js @@ -0,0 +1,9 @@ +const ghostBookshelf = require('./base'); + +const MemberStripeCustomer = ghostBookshelf.Model.extend({ + tableName: 'members_stripe_customers' +}); + +module.exports = { + MemberStripeCustomer: ghostBookshelf.model('MemberStripeCustomer', MemberStripeCustomer) +}; diff --git a/core/server/models/member-stripe-info.js b/core/server/models/member-stripe-info.js deleted file mode 100644 index a63be321ee..0000000000 --- a/core/server/models/member-stripe-info.js +++ /dev/null @@ -1,9 +0,0 @@ -const ghostBookshelf = require('./base'); - -const MemberStripeInfo = ghostBookshelf.Model.extend({ - tableName: 'members_stripe_info' -}); - -module.exports = { - MemberStripeInfo: ghostBookshelf.model('MemberStripeInfo', MemberStripeInfo) -}; diff --git a/core/server/models/member.js b/core/server/models/member.js index 2f702593a0..2532218625 100644 --- a/core/server/models/member.js +++ b/core/server/models/member.js @@ -3,17 +3,17 @@ const ghostBookshelf = require('./base'); const Member = ghostBookshelf.Model.extend({ tableName: 'members', - relationships: ['stripe_info'], + relationships: ['stripe_customers'], relationshipBelongsTo: { - stripe_info: 'members_stripe_info' + stripe_customers: 'members_stripe_customers' }, permittedAttributes(...args) { return ghostBookshelf.Model.prototype.permittedAttributes.apply(this, args).concat(this.relationships); }, - stripe_info() { - return this.hasMany('MemberStripeInfo', 'member_id'); + stripe_customers() { + return this.hasMany('MemberStripeCustomer', 'member_id'); } }, { permittedOptions(...args) { diff --git a/core/server/services/members/api.js b/core/server/services/members/api.js index a4097683bc..6475c48905 100644 --- a/core/server/services/members/api.js +++ b/core/server/services/members/api.js @@ -32,8 +32,8 @@ async function setMemberMetadata(member, module, metadata) { return; } await models.Member.edit({ - stripe_info: metadata - }, {id: member.id, withRelated: ['stripe_info']}); + stripe_customers: metadata + }, {id: member.id, withRelated: ['stripe_customers']}); return; } @@ -41,8 +41,8 @@ async function getMemberMetadata(member, module) { if (module !== 'stripe') { return; } - const model = await models.Member.where({id: member.id}).fetch({withRelated: ['stripe_info']}); - const metadata = await model.related('stripe_info'); + const model = await models.Member.where({id: member.id}).fetch({withRelated: ['stripe_customers']}); + const metadata = await model.related('stripe_customers'); return metadata.toJSON(); } diff --git a/core/test/unit/data/schema/integrity_spec.js b/core/test/unit/data/schema/integrity_spec.js index cffff0014a..afa3788b9e 100644 --- a/core/test/unit/data/schema/integrity_spec.js +++ b/core/test/unit/data/schema/integrity_spec.js @@ -19,7 +19,7 @@ var should = require('should'), */ describe('DB version integrity', function () { // Only these variables should need updating - const currentSchemaHash = 'a503d46e2333202f00fa2bc835b064d2'; + const currentSchemaHash = '9b7ef61ae828987fe52e3a7ab1e1d835'; const currentFixturesHash = 'c7b485fe2f16517295bd35c761129729'; // If this test is failing, then it is likely a change has been made that requires a DB version bump,