You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

29 lines
714 B

// user-subscription.js
// Copyright (C) 2022 DTP Technologies, LLC
// License: Apache-2.0
'use strict';
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const SubscriptionSchema = new Schema({
client: { type: Schema.ObjectId, required: true, ref: 'OAuth2Client' },
emitterId: { type: Schema.ObjectId },
});
SubscriptionSchema.index({
client: 1,
emitterId: 1,
}, {
name: 'subscription_client_emitter',
});
const UserSubscriptionSchema = new Schema({
user: { type: Schema.ObjectId, required: true, unique: true, ref: 'User' },
subscriptions: { type: [SubscriptionSchema] },
});
module.exports = (conn) => {
return conn.model('UserSubscription', UserSubscriptionSchema);
};