| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- mongoose = require 'mongoose'
- Settings = require 'settings-sharelatex'
- TeamInviteSchema = require('./TeamInvite').TeamInviteSchema
- Schema = mongoose.Schema
- ObjectId = Schema.ObjectId
- SubscriptionSchema = new Schema
- admin_id : {type:ObjectId, ref:'User', index: {unique: true, dropDups: true}}
- member_ids : [ type:ObjectId, ref:'User' ]
- invited_emails: [ String ]
- teamInvites : [ TeamInviteSchema ]
- recurlySubscription_id : String
- planCode : {type: String}
- groupPlan : {type: Boolean, default: false}
- membersLimit: {type:Number, default:0}
- customAccount: Boolean
- freeTrial:
- expiresAt: Date
- downgraded: Boolean
- planCode: String
- allowed: {type: Boolean, default: true}
- overleaf:
- id:
- type: Number
- index:
- unique: true,
- partialFilterExpression: {'overleaf.id': {$exists: true}}
- SubscriptionSchema.statics.findAndModify = (query, update, callback)->
- self = @
- this.update query, update, ->
- self.findOne query, callback
- conn = mongoose.createConnection(Settings.mongo.url, {
- server: {poolSize: Settings.mongo.poolSize || 10},
- config: {autoIndex: false}
- })
- Subscription = conn.model('Subscription', SubscriptionSchema)
- mongoose.model 'Subscription', SubscriptionSchema
- exports.Subscription = Subscription
- exports.SubscriptionSchema = SubscriptionSchema
|