Remove deprecated prepaid schema properties

This commit is contained in:
Matt Lott 2015-08-13 11:13:15 -07:00
parent 4804f3965f
commit 05a9013164
3 changed files with 1 additions and 14 deletions
app/schemas/models
scripts/mongodb/migrations
server/payments

View file

@ -10,9 +10,6 @@ PrepaidSchema = c.object({title: 'Prepaid', required: ['creator', 'type']}, {
code: c.shortString(title: "Unique code to redeem")
type: { type: 'string' }
properties: {type: 'object'}
# Deprecated
status: { enum: ['active', 'used'], default: 'active' }
redeemer: c.objectId(links: [ {rel: 'extra', href: '/db/user/{($)}'} ])
})
c.extendBasicProperties(PrepaidSchema, 'prepaid')

View file

@ -31,7 +31,7 @@ function migratePrepaidsToV2() {
redeemer: ""
}
};
if (doc.redeemer) {
if (doc.redeemer && (!doc.redeemers || doc.redeemers.length < 1)) {
operations.$set.redeemers = [{userID: doc.redeemer, date: doc._id.getTimestamp()}]
}

View file

@ -174,11 +174,6 @@ class SubscriptionHandler extends Handler
return done({res: 'Database error.', code: 500})
return done({res: 'Prepaid not found', code: 404}) unless prepaid?
return done({res: 'Prepaid not for subscription', code: 403}) unless prepaid.get('type') is 'subscription'
# Deprecated: status property
if status = prepaid.get('status') and status is 'used'
return done({res: 'Prepaid has already been used', code: 403})
if prepaid.get('redeemers')?.length >= prepaid.get('maxRedeemers')
@logSubscriptionError(user, "Prepaid #{prepaid.id} note active")
return done({res: 'Prepaid not active', code: 403})
@ -192,11 +187,6 @@ class SubscriptionHandler extends Handler
return done({res: 'Prepaid code already redeemed', code: 403})
# Redeem prepaid code
# Deprecated: status and redeemer properties
prepaid.set('status', 'used')
prepaid.set('redeemer', user.get('_id'))
query = Prepaid.$where("'#{prepaid.get('_id').valueOf()}' === this._id.valueOf() && (!this.redeemers || this.redeemers.length < this.maxRedeemers)")
redeemers.push
userID: user.get('_id')